参考链接: https://floodli.github.io/2017/01/12/%E5%85%8D%E8%B6%8A%E7%8B%B1%E7%89%88iOS%E6%8A%A2%E7%BA%A2%E5%8C%85%E6%8F%92%E4%BB%B6/ http://iosre.com/t/ios/6119 https://github.com/theos/theos/wiki/Installation 最近在看《iOS应用逆向工程》这本书,就在github上找了些关于免越狱微信抢红包的资料,结合着各位大神的教程,于是就开始了一步步尝试,此篇主要的目的是为了防止自己忘记。 原理 虽然这里并不深入讲解,但是最基本的原理我们还是要理解的,因为后面所做的工作,都是基于这个原理来进行开发的。越狱机器之所以能使用 tweak,主要是因为在越狱的时候,手机里就安装了 mobilesubstrate 这个库,这个库的作用就是能在程序运行的时候动态加载我们自己写的 dylib 动态运行库。而由于非越狱手机系统里面是没有这个库的,所以我们需要直接将这个库打包进 ipa 当中,使用它的 API 实现注入。 关于注入的原理,可以参考这篇文章: 移动App入侵与逆向破解技术-iOS篇 。 获取砸壳版本的微信 IPA 因为在 AppStore 上面下载得到的应用都是经过加密的,可以执行文件上已经被加过一层壳,所以我们需要先拿到砸过壳版本的微信应用。 有两种方法: 直接在爱思助手下载 使用 Clutch 对越狱手机上应用进行砸壳 由于手上没有越狱的设备,于是选择了第一种,在爱思助手上下载了微信6.5.3版本。(尝试过使用pp助手下载越狱版微信,但是发现还是被加密了) 确认app是否加密 第一步,解压获得二进制文件,并查看包含的架构 1 2 3 4 5 6 7 $ unzip WeChat.ipa -d wechat ... $ cd wechat/Payload/WeChat.app/ $ file Wechat Wechat: Mach-O universal binary with 2 architectures Wechat ( for architecture armv7): Mach-O e...