目录

  • 打开hopper后拖拽app包里的mach-o文件后,让你选择框架,默认就是下面的
  • 点击上面的4种视图,切换汇编代码和伪代码
  • 找出是哪里调用了当前代码.右键选择一个函数,选择References to selector show.可以找出都有哪里调用了当前位置
  • 用空指令Nop填充指令
  • 修改汇编指令
  • 保存成可执行文件
  • 左上角 labels ,proc
  • References to查看哪里使用了当前地址
  • 跟踪字符串
  • 想olydbg那样动态调试


打开hopper后拖拽app包里的mach-o文件后,让你选择框架,默认就是下面的

ios 反编译 静态库 ios反编译软件hopper_ios 反编译 静态库

点击上面的4种视图,切换汇编代码和伪代码

ios 反编译 静态库 ios反编译软件hopper_ios_02

找出是哪里调用了当前代码.右键选择一个函数,选择References to selector show.可以找出都有哪里调用了当前位置

ios 反编译 静态库 ios反编译软件hopper_ios 反编译 静态库_03


如下图,当执行touchesBegan点击屏幕方法以后执行show方法

ios 反编译 静态库 ios反编译软件hopper_ios 反编译 静态库_04


ios 反编译 静态库 ios反编译软件hopper_Disassembler_05

用空指令Nop填充指令

modify-> NOP Region ,可以用空指令填充之前的指令

ios 反编译 静态库 ios反编译软件hopper_Disassembler_06

修改汇编指令

Modify->Assemble Instruction… 默认快捷键option+A

可以自己写汇编指令修改之前的汇编指令

ios 反编译 静态库 ios反编译软件hopper_Disassembler_07

保存成可执行文件

把编辑后的文件,保存成可执行文件.

File->Produce New Executable…

ios 反编译 静态库 ios反编译软件hopper_Hopper_08

左上角 labels ,proc

ios 反编译 静态库 ios反编译软件hopper_ios_09

  • labels列出所有自定义函数名,系统函数名,字符串,变量等
  • proc列出所有函数名
  • Str列出的是字符串
  • 五角星符号是:是你收藏的代码行,如下图,点击代码左边位置会出现五角星.在左上角五角星里会看到这些代码
  • ios 反编译 静态库 ios反编译软件hopper_ios 反编译 静态库_10

  • 左边第5个圆形是断点
  • ios 反编译 静态库 ios反编译软件hopper_Hopper_11

References to查看哪里使用了当前地址

跟踪字符串

str里面点击一个字符串,然后在右边地址出,选择 References to ,快捷键是X,可以跟踪这个地址被哪里使用

ios 反编译 静态库 ios反编译软件hopper_ios 反编译 静态库_12


ios 反编译 静态库 ios反编译软件hopper_Disassembler_13


跳转到下面代码:

ios 反编译 静态库 ios反编译软件hopper_ios 反编译 静态库_14


选中这行,再次按x跟踪

ios 反编译 静态库 ios反编译软件hopper_Disassembler_15


找到代码如下图:

发现是setText方法调用了这个字符串,说明是oc代码是: xxx.text = @“请输入密码”;

ios 反编译 静态库 ios反编译软件hopper_Disassembler_16

想olydbg那样动态调试

ios 反编译 静态库 ios反编译软件hopper_ios_17


付费版的这个按钮点击后可以运行程序以后调试,破解mac程序