美文网首页
iOS逆向 Hopper

iOS逆向 Hopper

作者: 不简单的风度 | 来源:发表于2020-03-04 17:48 被阅读0次

    前言

    iOS逆向中使用Hopper可以帮助我们分析目标APP的方法地址来实现动态调试,本文只是简单介绍一个Hopper的基本用法

    下载Hopper

    Hopper目前在最新的Mac系统上没有破解版,每次可以试用半小时,不过对于一般的分析也是够用了,这里贴一下Hopper的官网Hopper

    分析目标APP

    这里主要是用自己新建的Demo用来分析,我Demo里就写了两个方法


    image.png

    工程编译之后把.app文件拖到Hopper的窗口


    image.png

    然后点击OK就行了


    image.png

    然后就可以进行分析了,我首先是在viewdidload里加了断点


    image.png

    可以先用image list 打印文件的基地址,由于iOS的ASLR特性,需要用基地址来计算其他地址,上图第一条就是可执行文件加载的基地址


    image.png

    上图右边Hopper选中的部分是say方法的地址,不过这里自己新建的工程拉到Hopper里面Hopper也有一个基地址0x100000000
    可以在控制台用p/x指令计算一下say方法的实际地址,计算方法是(可执行文件的基地址+Hopper中方法的偏移-Hoper加载的基地址),计算出结果后用b指令下断点,可以看到已经对say方法下了断点了,这时候让程序继续执行就会断到say方法了

    截屏2020-03-04下午5.02.28.png Hopper展示的都是汇编,我们也可以让xcode展示汇编, 截屏2020-03-04下午5.11.27.png

    选中Always Show Disassembly之后就可以看到汇编代码了


    截屏2020-03-04下午5.01.41.png
    Xcode的汇编代码和Hopper的汇编代码相差的就是基地址了

    Hopper和MachOView

    MachO文件是iOS的可执行文件,里面的地址也可以跟Hopper反汇编出来的对应


    截屏2020-03-04下午5.10.07.png 截屏2020-03-04下午5.15.02.png

    Hopper还有很多用法,我这里只是做个基本的介绍。我是逆向初学者,如果文中有什么不对的地方,欢迎各位提出宝贵意见。

    相关文章

      网友评论

          本文标题:iOS逆向 Hopper

          本文链接:https://www.haomeiwen.com/subject/dqjblhtx.html