iOS 逆向开发--配置Theos

今早7点多,在微信公众号上看到一遍文章,《iOS 教你如何修改微信运动步数》,然后刚好昨天看《iOS应用逆向工程》的第三章,OSX工具集,第一个工具将的就是THEOS, 其实之前按照书上的教程,成功使用Reveal 窥探其它的App, 和dump 头文件。但是每次看到配置Theos 就觉得挺难的,一直没去试试,直到今天看到这遍文章,不得不说,兴趣是最好的老师啊。在遇到多次配置配置THEOS 等环境失败加上查了很多资料和实践后,这里记录下刚刚成功的配置步骤:(在《iOS应用逆向工程》步骤基础上结合实际,改了几步)

基本配置

1.指定THEOS 的安装路径,

export THEOS=/opt/theos

2.从Github 上下载Theos。

Gapyear:~ gap$ sudo git clone --recursive git://github.com/DHowett/theos.git $THEOS

3.配置ldid,从 http://joedj.net/ldid 下载ldid , 然后移至“/opt/theos/bin” 下,然后以下命令赋予可执行权限:
  • Gapyear:~ gap$ sudo mv Downloads/ldid /opt/theos/bin/
  • Gapyear:~ gap$ sudo chmod 777 /opt/theos/bin/ldid
4.配置CydiaSubstrate
  • 最简单的方法,将越狱后的手机,连上Mac ,然后使用打开iFunBox,将 “文件系统下的 /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate“ 拷贝到OSX 中,
  • 并且将其重命名为libsubstrate.dylib 后放到"/opt/theos/lib/" 中。
5. 配置dpkg-deb ,这是我花最长时间配置的一步。先从 github download dm.pl 文件 ,然后将这里面的 "dm.pl" 重新命名为 “dpkg-deb” , 这里,一定要记住,OS X 中默认的隐藏了文件的扩展属性,这里一定要注意扩展属性,是文件名全部替换,包括扩展后缀。 同样,将dpkg-deb 放到"/opt/theos/bin" 目录下
  • Gapyear:~ gap$ sudo mv Downloads/dm.pl-master/dpkg-deb /opt/theos/bin/

  • Gapyear:~ gap$ sudo chmod 777 /opt/theos/bin/dpkg-deb


以上配置都成功,然后就可以 使用Theos,Theos 教程很多,只要配置没问题,最后基本都是成功,当然,前提是,你创建的tweak中的Makefile,tweak.xm 都格式正确的情况下。

这里在tweak 写好,make 的时候,遇到了一个问题,是关于xcode 插件的问题,当我们升级xcode 后,旧有的插件都会失效,make 时会输出信息“..for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AutoHighlightSymbol.xcplugin' not present in DVTPlugInCompatibilityUUIDs” 这里其实也不会影响结果。

Note

Makefile 最上一行加上iphone 的IP ,

THEOS_DEVICE_IP = Your IP Address.

Theos/Getting_Started#Setting_Up_Dependencies

dpkg-bed Q

推荐阅读更多精彩内容