Xcode Ghost Checker.
不想编译的就下载这个:XcodeGhostChecker.zip
自己开发的应用已经提交到AppStore了,我提交了很多个版本,要一个个去安装抓网络包才能检测我的应用有没有包含XcodeGhost代码。幸好我手头有上线前备份的ipa包,使用XcodeGhostChecker瞬间就能帮你检测所有ipa包!
- 检测ipa包中是否包含
XcodeGhost代码 - 批量处理,可以一次性处理多个文件或目录下的
*.ipa文件
- 自己编译出来的
ipa包都可以; - 归档提交到
AppStore的包也可以; - 从
AppStore下载下来的包不可以检测!因为被加过壳,需要破解后才可以用本工具检测。
- XcodeGhost的源码已经开放出来,将它编译到自己的程序里;
- 使用class-dump工具,输出程序的头文件,定位到中毒的程序会包含的头文件信息,采集这个头文件信息作为对比样本A;
- 再次使用class-dump,输出需要检测的程序的头文件信息B;
- 查找B中是否包含样本A来判断
ipa包是否包含XcodeGhost代码。 - 从第三方平台下载未加壳的
网易云音乐联通客户端,运行工具验证后证明工具有效!
- 安装CocoaPods
- 进入
Code/目录 - 执行明令: pod update
- 打开
XcodeGhostChecker.xcworkspace进行编译
Release/XcodeGhostSample.ipa文件是一个中毒的样本,可以可以用来测试校验
- 对
OS X应用开发不是很熟悉,搞界面浪费了很多时间,要花点时间熟悉 - 优化界面上的显示,特别是等待指示器
- 可以优化解压,不需要解压所有文件
- 对加壳应用的检测方式需要优化(了解加壳后的二进制结构)
再次感谢class-dump
