22 lines
466 B
Python
22 lines
466 B
Python
from unicorn import *
|
|
from unicorn.x86_const import *
|
|
|
|
count = 0
|
|
|
|
def cb(uc, addr, sz, data):
|
|
global count
|
|
count += 1
|
|
print(f"addr: {hex(addr)} count: {count}")
|
|
if count == 5:
|
|
uc.emu_stop()
|
|
else:
|
|
uc.reg_write(UC_X86_REG_RIP, 0x2000)
|
|
|
|
mu = Uc(UC_ARCH_X86, UC_MODE_64)
|
|
|
|
mu.mem_map(0x1000, 0x4000)
|
|
mu.mem_write(0x1000, b"\x90" * 5)
|
|
mu.mem_write(0x2000, b"\x90" * 5)
|
|
mu.hook_add(UC_HOOK_CODE, cb)
|
|
mu.emu_start(0x1000, 0x2000+1, 0, 0)
|