作者:Proteas@360 Nirvan Team
苹果大概从 2013 年开始就不再维护 iOS 版的 GDB,iOS 平台一直没有好用的本地调试器,造成调试 iOS 应用相对繁琐。为了解决本地调试的问题,2015 年我们将 lldb 移植到了 iOS 平台,在一定程度上提高了工作效率。现在,360 Nirvan Team 决定将 iOS 版的 LLDB 公开,也算为行业做点小贡献。
项目地址:https://github.com/Proteas/native-lldb-for-ios
2017 ISC 大会演讲 PPT 下载: 《手把手教你突破iOS9.x的用户空间防护》
Warning: !!! ON YOUR OWN RISK !!!
- Only tested on iOS 8.4/9.0.2, ARM64, untethered jailbreak.
- Do not use it on tethered jailbreak device, it may break the system, and cause white apple.
- If you do want to use it on tethered jailbreak device, I suggest that unpacking the deb and install it manually, make sure not overriding any system library(libncurses.5.4.dylib, libpanel.5.4.dylib).
Install
dpkg -i python-v2.7.6-proteas-2015-11-30.deb
dpkg -i lldb-v3.8.0-proteas-2016-05-06.deb
Uninstall
dpkg -r python
dpkg -r lldb
Known Issues
discard messages which outputting to stdout & stderr.
Hash
- python-v2.7.6-proteas-2015-11-30.deb: 50d3fa7d260e2d5f5fab071bfff3e7e4
- lldb-v3.8.0-proteas-2015-12-16.deb: 27b951e2464746227dd9f984832afa97
- lldb-v3.8.0-proteas-2016-05-06.deb: 01de06f36baaf7b484a7c2080c74b3cf
Note
- Python: you should first install Python in Cydia, then install the deb from cmd.
- Any dylib loaded by lldb should be codesigned.
- My lldb compiling env is broken, so I can't fix any issue.
- You can write your debugger or security tools based on lldb in Python, demo: https://github.com/llvm-mirror/lldb/blob/master/examples/python/process_events.py
- The deb contains: armv7, armv7s, arm64, so you can thin it to use less storage.
Contact
本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/419/
暂无评论