
unicorn教程三
发布日期:2021-05-24 23:13:09
浏览次数:17
分类:精选文章
本文共 363 字,大约阅读时间需要 1 分钟。
我们可以看到,函数的逻辑是当a等于5且b指向“batman”字符串时,返回1。因此,为了使程序返回1,我们需要确保在调用super_function时,a的值为5,b的值为指向“batman”字符串的指针。
首先,我们需要修改程序的逻辑,使得当a为5且b指向“batman”字符串时,返回1。我们可以通过以下步骤实现:
准备所需的数据:
- 将“batman”字符串写入内存,假设其地址为
0x40000000
。 - 将a的值设置为5。
设置堆栈地址和参数:
- 确定程序执行的起始和结束地址。
- 使用 Unicorn 模拟器准备堆栈,并将函数的参数设置为所需的值。
执行程序:
- 使用
mu.emu_start
启动模拟器,并执行程序。 - 检查返回值,确保返回1。
通过以上步骤,我们可以确保程序在满足条件时返回1。
完整代码在7.py中实现。