예제 #1
0
def run(segments, args, addresses, interpreter=None, **kwargs):
    arch = eval(args.arch)
    mode = eval(args.mode)

    if args.bele:
        mode |= KS_MODE_BIG_ENDIAN if \
            interpreter.endianity == '>' else KS_MODE_LITTLE_ENDIAN

    ks = Ks(arch, mode)
    compiled_buf = bytearray(ks.asm(args.code)[0])

    setattr(args, 'hex_str', binascii.hexlify(compiled_buf).decode('utf8'))
    return verify_bytes.run(segments, args, addresses, **kwargs)
예제 #2
0
def run(segments, args, addresses, interpreter=None, **kwargs):
    hex_str = binascii.hexlify(args.hex_str)
    hex_str += '00' if args.null_terminated else ''

    setattr(args, 'hex_str', hex_str)
    return verify_bytes.run(segments, args, addresses, **kwargs)