打开hopper后拖拽app包里的mach-o文件后,让你选择框架,默认就是下面的
点击上面的4种视图,切换汇编代码和伪代码
找出是哪里调用了当前代码.右键选择一个函数,选择References to selector show.可以找出都有哪里调用了当前位置
如下图,当执行touchesBegan点击屏幕方法以后执行show方法
用空指令Nop填充指令
modify-> NOP Region ,可以用空指令填充之前的指令
修改汇编指令
Modify->Assemble Instruction… 默认快捷键option+A
可以自己写汇编指令修改之前的汇编指令
保存成可执行文件
把编辑后的文件,保存成可执行文件.
File->Produce New Executable…
左上角 labels ,proc
-
labels列出所有自定义函数名,系统函数名,字符串,变量等
-
proc列出所有函数名
-
Str列出的是字符串
-
五角星符号是:是你收藏的代码行,如下图,点击代码左边位置会出现五角星.在左上角五角星里会看到这些代码
-
左边第5个圆形是断点
References to查看哪里使用了当前地址
跟踪字符串
str里面点击一个字符串,然后在右边地址出,选择 References to ,快捷键是X,可以跟踪这个地址被哪里使用
跳转到下面代码:
选中这行,再次按x跟踪
找到代码如下图:
发现是setText方法调用了这个字符串,说明是oc代码是: xxx.text = @“请输入密码”;
想olydbg那样动态调试
付费版的这个按钮点击后可以运行程序以后调试,破解mac程序