逆向,目前我在业余时间刚刚开始。有一部分是爱好,有一部分是行业形势所逼迫,所以就慢慢的搞起来。在整个过程中,遇到好多问题,但现在还没达到目标。我先把自己逆向过程中碰到的问题尽量记录下,有朋友遇到了,可以参考下。
朋友们注意下,以下遇到的问题,是我在我的测试机iPhone 6、国行、iOS12.4上遇到的。有些问题的解决方案可能因为系统不一致,方案也不一样。
一、动态调试过程中遇到的问题:
1.在给debugserver添加权限时,提示无法用Xcode打开
解决方案:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.springboard.debugapplications</key>
<true/>
<key>com.apple.backboardd.launchapplications</key>
<true/>
<key>com.apple.backboardd.debugapplications</key>
<true/>
<key>com.apple.frontboard.launchapplications</key>
<true/>
<key>com.apple.frontboard.debugapplications</key>
<true/>
<key>seatbelt-profiles</key>
<array>
<string>debugserver</string>
</array>
<key>com.apple.diagnosticd.diagnostic</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.private.memorystatus</key>
<true/>
<key>com.apple.private.cs.debugger</key>
<true/>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.springboard.debugapplications</key>
<true/>
<key>com.apple.backboardd.launchapplications</key>
<true/>
<key>com.apple.backboardd.debugapplications</key>
<true/>
<key>com.apple.frontboard.launchapplications</key>
<true/>
<key>com.apple.frontboard.debugapplications</key>
<true/>
<key>seatbelt-profiles</key>
<array>
<string>debugserver</string>
</array>
<key>com.apple.diagnosticd.diagnostic</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.private.memorystatus</key>
<true/>
<key>com.apple.private.cs.debugger</key>
<true/>
</dict>
</plist>
右击用txt文档打开,发现<?xml开头处,上下两部分完全重复,删除一部分即可,用Xcode打开。
2. Debugserver时,自动提示: Failed to get connection from a remote gdb process. Exiting
解决方案:
删除Debugserver文件下的
com.apple.security.network.server
com.apple.security.network.client
seatbelt-profiles
然后重新签名
3.在我遇到上面2的问题时,解决后,又遇到
debugserver crash Killed: 9
解决方案:
重启手机,重启服务,重新连接手机和mac
4.lldb逆向调试 Mac终端进行调试的时候,出现error:failed to get reply to handshake packet
解决方案:
debugserver *:1234 -a “name”,将* 改为localhost,
即debugserver localhost:1234 -a “name”就能解决