博客> iOS逆向工程——微信添加启动密码
iOS逆向工程——微信添加启动密码
1小时前 评论:0 阅读:379 zhousen05
ios 逆向

一、准备工作: 1、一个已经砸了壳的微信ipa。 2、动态库 libsubstrate.dylib 。 3、安装theos: brew install dpkg ldid export THEOS=/opt/theos sudo git clone --recursive https://github.com/theos/theos.git $THEOS sudo chown -R $(id -u):$(id -g) /opt/theos 成功后,vi ~/.bash_profile,在最后加上下面两行: export PATH=/opt/theos/bin:$PATH export THEOS=/opt/theos 二、动手。 1、创建tweak: 终端敲下 nic.pl 不行的话用这个 /opt/theos/bin/nic.pl 接着会让你输入一些信息: Choose a Template (required) 选 iphone/tweak:11 Project Name (required): 项目名,这个可以随便写:StartUpPassword Package Name:相当于最终的bundle identifier,最后重签名的证书需要与这个关联:com.xx.xxx Author/Maintainer Name:作者,随便写 [iphone/tweak] MobileSubstrate Bundle filter :这个写微信的 bundle identifier:com.tencent.xin [iphone/tweak] List of applications to terminate upon installation:写WeChat  pic1.png

2、修改代码 cd 到上面新建的文件夹里,看到有几个文件:Makefile StartUpPassword.plist Tweak.xm control。 cd StartUpPassword ls -a 编辑 Tweak.xm文件: vi Tweak.xm  pic5.png

3、生成动态库 新建一个文件夹src,将自己写的代码和Tweak.xm移动到src里面。 编辑Makefile文件,改为下面的样子:  pic7.png 接着 make  pic3.png 成功了之后 ls -a会发现多了一个.theos隐藏文件夹,cd进去有我们想要的动态库StartUpPassword.dylib: cd .theos/obj/debug 检查动态库的依赖项: otool -L StartUpPassword.dylib  pic4.png 看到有CydiaSubstrate.framework,这是越狱系统才有的,由于机器没有越狱,需要用下面这行命令改掉 install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/libsubstrate.dylib StartUpPassword.dylib 再次otool -L StartUpPassword.dylib,能看到有@loader_path/libsubstrate.dylib就可以了。

4、注入动态库 我们需要把上面生成的动态库StartUpPassword.dylib注入到微信的二进制文件中。 将已经砸了壳的微信ipa(本文用的版本为6.6.7)改为zip,解压,在Payload里面的WeChat.app拷贝。新建文件夹WeChat,将WeChat.app丢进去。WeChat.app显示包内容,将StartUpPassword.dylib和libsubstrate.dylib(第一步准备工作中提到)丢进去。
注入开始之前,如果你的证书不支持手表扩展,先把WeChat.app 里面的 Watch 目录删除!!! 注入工具有optool和insert_dylib。这里使用optool。 没有optool的话要先去下载: git clone --recursive https://github.com/alexzielenski/optool.git 下载后用Xcode打开项目,command + b,在工程目录下的Products中拷贝optool,放在 /usr/local/bin 目录中。 用下面的命令注入,格式是optool install -c load -p "@executable_path/自己的动态库.dylib" -t WeChat文件的路径 : optool install -c load -p "@executable_path/StartUpPassword.dylib" -t /Users/hbxu/Desktop/WeChat/WeChat.app/WeChat

5、重签名 下载 ios-app-signer 。运行后是下面这样子,选择证书和对应的描述文件就可以start了,证书记得和第二步第1点的Package Name有关联。描述文件不要写Re-Sign Only。  pic6.png

6、安装签名后的ipa就行了。

参考 https://www.jianshu.com/p/04495a429324 https://github.com/buginux/WeChatRedEnvelop

收藏
0
sina weixin mail 回到顶部