开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第4天,点击查看活动详情
引言
I 、基础操作
1.1 修改汇编代码
Hopper的功能是非常强大的,在Hopper中你可以对ARM指令进行修改,并且生成一个新的可执行文件
使用快捷键
option+a
直接修改汇编代码:(在菜单Modify - Assemble Instruction 进行汇编代码的修改)
1.2 逻辑图的查看
Hopper会根据ARM汇编生成相关的逻辑图
红线表明条件不成立时的跳转,蓝线则表明条件成立时的跳转。
1.3 伪代码的查看
Hopper的功能强大到可以将ARM汇编生成相应的伪代码,如果你看ARM指令不直观的话,那么伪代码对你来说会更好一些
II、交叉引用的查看
将光标放在一个交叉引用的目标地址上,使用快捷键x
查看引用列表
2.1 CODE XREF
CODE XREF=EntryPoint+3433
代码交叉引用类型
o 普通流 ,表示一条指令到另一条指令的顺序流 p 调用流,表示控制权被转交给目标函数,如BL等命令 j 跳转流,表示分支操作,常见于if/switch等操作
2.2 DATA XREF
00000001013f656a db "_placeholderLabel", 0 ; DATA XREF=cfstring__placeholderLabel
数据交叉引用类型
r 读取交叉引用,表示访问的是某个内存位置的内容 w 写入交叉引用,指出了修改变量内容的程序位置 o 偏移量交叉引用,表示引用的是某个位置的地址(而非内容)
see also
How can you catch a process that is about to be launched, if you don’t know the PID yet?
———————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:kunnan.blog.csdn.net/article/det…
iOS逆向之【借助LLDB调试第三方App】