Contents
  1. 1. dumpdecrypted
  2. 2. grep
  3. 3. 查看syslog
  4. 4. 查看某个类中方法的真实地址
  5. 5. 找到按钮调用的响应函数
  6. 6. otool查看可执行文件是否砸壳

dumpdecrypted

ps命令定位可执行文件

1
ps -e | grep Application

找出document路径

1
[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]

将dumpdecrypted.dylib拷入document目录后开始砸壳(拷进document目录是因为在其他目录不一定有生成文件的权限,不过关于这点在不同版本的iOS上有不同表现,很迷)

1
DYLD_INSERT_LIBRARIES=/path/to/dumpdecrypted.dylib /path/to/executable

grep

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
命令1:grep 800 log.txt
作用:从log.txt中找出800位置的数据

命令2:grep -n 800 log.txt
作用:从log.txt中找出800位置的数据,并在前面加上行号

命令3:grep (-n) Hello * (是否加上行号)
作用:从当前目录下的所有文件中找出出现过Hello的文件

命令4:ls /usr/bin | grep ls
作用:查看/usr/bin目录下面带ls的目录

命令5:wc
与命令4的组合:ls /usr/bin | grep ls | wc
作用:计算出单词的数量

查看syslog

1
socat - UNIX-CONNECT:/var/run/lockdown/syslog.sock

查看某个类中方法的真实地址

1
po [SOMECLASS _shortMethodDescription]

找到按钮调用的响应函数

1
2
3
4
5
6
cy# [button allTargets]
[NSSet setWithArray:@[#"<ComposeButtonItem: 0x14609d00>"]]
cy# [button allControlEvents]
64
cy# [button actionForTargets:#xxxxxxx forControlEvent:64]
...

otool查看可执行文件是否砸壳

1
otool -arch arm64 -l xxx | grep crypt
Contents
  1. 1. dumpdecrypted
  2. 2. grep
  3. 3. 查看syslog
  4. 4. 查看某个类中方法的真实地址
  5. 5. 找到按钮调用的响应函数
  6. 6. otool查看可执行文件是否砸壳