开始运行

Unicorn中,真正触发开始模拟代码,是调用函数emu_start

emu_start举例

之前官网例子

比如之前:官网测试代码 中的触发开始运行的代码就是:

    # emulate machine code in infinite time
    mu.emu_start(ADDRESS, ADDRESS + len(ARM_CODE))

自己的实例

模拟akd函数symbol2575 为例,其中的触发开始运行的代码是:

        # emulate machine code in infinite time
        mu.emu_start(CODE_ADDRESS, CODE_ADDRESS + len(ARM64_CODE_akd_symbol2575))

其中:

  • 代码起始地址:CODE_ADDRESS
    • 最开始映射的代码的最初位置
  • 代码结束地址:CODE_ADDRESS + len(ARM64_CODE_akd_symbol2575)
    • 映射的代码起始位置,加上对应代码长度后的,结束位置

-》这样可以合理的限定Unicorn要模拟运行的代码指令,而不会额外多去运行(本身是其他数据的)无用的指令

results matching ""

    No results matching ""