开发APP的另一扇窗--逆向
逆向是打开第三方 APP 的一扇窗,本项目主要总结利用逆向做的一些有意义的事情。
一、给微信添加聊天记录截图功能
有时候,知识小集群里讨论的技术问题,比较有价值,我们会把有价值的内容整理出来供大家查阅。但为了保护群友隐私,需要把昵称和头像都打码,如果碰到几百条聊天记录,这样做简直要吐血。而且也不能截一张长图,只能一张一张截取,然后拼接起来。群聊记录只能在微信内分享,这也限制了传播的渠道。为了提高小集成员工作效率,想着能不能给微信做个插件,解决这些问题。我们一直在追求如何更有效率做我们的工作,比如使用脚本自动整理每周小集内容,使用微信小程序给读者更好阅读体验。(呀,还有脚本,如果你还不知道,那肯定没有点 star 吧,传送门)
二、查看第三方APP使用的第三方库
有时候想研究某个竞品APP时,需要了解其使用的第三方库,使用 class-dump 导出的头文件非常多,刚靠肉眼查看时,耗时耗力。为了解决这个痛点,便发明了这个工具。下面是获取某个第三方 APP 使用的第三方库,可以查看 pod 库的 star 数,源地址。
- AFNetworking - (30982)
- Masonry - (16318)
- MJRefresh - (11823)
- Mantle - (10984)
- iCarousel - (10440)
- CocoaAsyncSocket - (9991)
- YYText - (7245)
- SWTableViewCell - (7041)
- Reachability - (6626)
- SSKeychain - (4808)
- NJKWebViewProgress - (3863)
- SSZipArchive - (3443)
- MMWormhole - (3414)
- HMSegmentedControl - (3322)
- YapDatabase - (3046)
- hpple - (2534)
- TYAttributedLabel - (2366)
使用
本工具基于 python 写的,在这里可以找到源码。下载源码后修改 main.py
文件的 IPA_HEADER_PATH
为 class-dump 导出的头文件目录。执行 python main.py
IPA_HEADER_PATH = '/Users/lefex/Desktop/header/xxx'
三、分类第三方 APP 头文件
利用 class-dump 导出的头文件,根据前缀整理成不同的文件夹。
使用
本工具基于 python 写的,在这里可以找到源码。下载源码后修改 file_catagory.py
文件的 IPA_HEADER_PATH
为 class-dump 导出的头文件目录。执行 python file_catagory.py
IPA_HEADER_PATH = '/Users/lefex/Desktop/header/xxx'