Skip to content

About

Xcode Ghost Checker.

Resources

Stars

19 stars

Watchers

2 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XcodeGhostChecker

Xcode Ghost Checker.

Release

不想编译的就下载这个:XcodeGhostChecker.zip

解决的问题

自己开发的应用已经提交到AppStore了,我提交了很多个版本,要一个个去安装抓网络包才能检测我的应用有没有包含XcodeGhost代码。幸好我手头有上线前备份的ipa包,使用XcodeGhostChecker瞬间就能帮你检测所有ipa包!

功能

  • 检测ipa包中是否包含XcodeGhost代码
  • 批量处理,可以一次性处理多个文件或目录下的*.ipa文件

处理范围

  • 自己编译出来的ipa包都可以;
  • 归档提交到AppStore的包也可以;
  • 从AppStore下载下来的包不可以检测!因为被加过壳,需要破解后才可以用本工具检测。

原理/检验

  • XcodeGhost的源码已经开放出来,将它编译到自己的程序里;
  • 使用class-dump工具,输出程序的头文件,定位到中毒的程序会包含的头文件信息,采集这个头文件信息作为对比样本A;
  • 再次使用class-dump,输出需要检测的程序的头文件信息B;
  • 查找B中是否包含样本A来判断ipa包是否包含XcodeGhost代码。
  • 从第三方平台下载未加壳的 网易云音乐 联通客户端,运行工具验证后证明工具有效!

Build

  • 安装CocoaPods
  • 进入Code/目录
  • 执行明令: pod update
  • 打开XcodeGhostChecker.xcworkspace进行编译

Test

Release/XcodeGhostSample.ipa文件是一个中毒的样本,可以可以用来测试校验

TODO

  • 对OS X应用开发不是很熟悉,搞界面浪费了很多时间,要花点时间熟悉
  • 优化界面上的显示,特别是等待指示器
  • 可以优化解压,不需要解压所有文件
  • 对加壳应用的检测方式需要优化(了解加壳后的二进制结构)

感谢

再次感谢class-dump

About

Xcode Ghost Checker.

Resources

Stars

19 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages