wechat逆向工程探索与学习期间遇到了一些坑并且总结了经验,分享
需求:在非越狱的iphone环境,wechat用户登录界面,当用户在登录页面输入完用户名和密码之后点击登录,获取用户名和密码并且发送到指定服务器存储数据库。
工程需要用到的工具:
1:Xcode
2:砸壳的Wechat App(可通过PP助手下载越狱应用,下载WeChat)
3:yololib
4.class-dump
5.MachOView
6.一台非越狱iphone
首先需要一个砸壳的Wechat应用,这里可以通过PP助手下载越狱应用获得
使用Xcode创建项目工程,命名为 HackWechat
创建好项目后将空的工程使用真机运行在手机上
Products文件夹下 .app 将会变为黑色,选中 HackWeChat.app showInFinder,选中App,显示包内容,即可看到该App下资源和部分框架,插件,但是该App为空的App,我们所想要看到和修改的是WeChat的内容,下面开始真正的内容。
一.将 WeChat ipa 重签名运行在 iphone 上
1.找到下载好的砸壳后的 WeChat ipa 解压缩,得到文件夹
2.进入payload文件夹下复制Wechat
3.打开工程中Products/HackWeChat.app showInFinder,将复制的Wechat粘贴,并且改名为HackWeChat替换原来的文件
4.显示包内容,修改文件夹下 info.plist 中的 bundleId ,修改为项目的bundleId
5.删除插件,跳过对插件的签名,直接删除。删除文件夹下 PlugIns 文件夹和 Watch 文件夹。
6.对Framework重签名。打开Frameworks 文件夹可以看到6个Frameworks文件,下面要对这6个文件分别签名
打开终端cd该文件夹下,查看所有开发者命令 security find-identity -v -p codesigning
复制当前项目的对应开发者,包含引号和引号内全部内容
使用 codesign -fs "xxxxx" ./xxxxx 命令对以上frameworks分别签名
7.选择真机,运行!
至此,微信ipa成功运行在手机上,可以看到微信的页面
二.创建自定义动态库
-- 编辑于 2018年10月,mark一下,由于工作关系暂停更新