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中实现。

    上一篇:ARM汇编学习一
    下一篇:unicorn教程二

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年05月03日 04时45分03秒