iOS HOOK 注入与重签名

来源:互联网 发布:查看数据库字符集 编辑:程序博客网 时间:2024/05/13 03:55

起因是在虾神的公众号上看到一篇文章 《Pokemon Go 锁区破解》,正好周围几个小伙伴正在玩这游戏,便仔细研究了下所谓的破解锁区。这次锁区其实是 GPS 锁区,游戏开发商为了缩小初始运营范围,在中国范围内都无法正常游戏,也就是服务端通过客户端发送的定位位置数据来判断是否让该玩家继续游戏。文章中介绍的原理就是利用 OC Runtime Method Swizzling 对原应用进行重写 CLLocation 的 coordinate 方法返回自己想要的经纬度信息,以达到欺骗服务端进行游戏,然后进行重签名打包。最让人激动的是最终的应用可以在非越狱的设备上运行,于是已阻止不了向前探索的脚步。

游戏作弊是不支持的,但是技术研究可以有!

流程

大致流程如下,后面会详细讲解每一步:

  1. 脱壳:拿到解密后的 .ipa
  2. 注入:对原应用修改和注入
  3. 重签名:用自己的证书签名
  4. 打包:压缩成 .ipa 进行安装

脱壳

由于手里没有越狱机子,也没有进行脱壳试验,按 [Urinx/iOSAppHook] 中提到的方法直接从 xx助手 市场里下载越狱应用可用。如果自己有越狱设备的话可以用 dumpdecrypted 进行砸壳。

MachOView

注入

如果是拿到 .ipa,进行解压即可找到 Payload 文件夹,可安装 iOSOpenDev 来创建工程,使用 CaptainHook 轻松方便写 Hook 代码,iOSOpenDev 中已经集成了 CaptainHook ,具体相关代码可以参考 [PokemonHook] 。

生成动态库(.dylib)后使用 yololib 工具进行注入,不知为何使用 [KJCracks/yololib] Release 中的 yololib-Mac 最终会在设备上闪退,使用 Urinx/iOSAppHook 则没有问题,一条命令对 .app 中的二进制进行 .dylib 注入,再把注入的 .dylib 拖到目录里即可。注入成功后可以用 MachOView 程序查看整个 MachO 文件的结构,便可看到注入的 dylib 会在 Load Commands 区段中。

yololib xxx.app/xxx LocationFaker.dylib

重签名

ios-app-signer

重签名也是很重要的一个步骤,签名错误或者失败都会导致应用无法安装使用。我比较喜欢用图形化界面的 iOS App Signer 来重签名,自动加载出本机的证书和 PP 文件,相当方便;当然也有命令行工具,比如 Urinx/iOSAppHook 中的 AppResign 或者 Fastlane sign ,前提还是一样需要把设备的 UDID 加进 Provisioning Profile 中,一般来说 Bundle identifier 不需要改变即可,也有应用内做了相关检测手段导致重签名或者更改 Bundle identifier 后无法使用的情况,那就需要更多其他的手段进行反攻了。

打包

对 Payload 文件夹右键压缩,改名 xx.ipa 即可,推荐用 Xcode (Window->Device) 安装,失败还有错误信息可看。

另外在这里推荐一个 Quick Look 插件用来快速预览 .mobileprovis 和 .ipa 的证书、签名、设备等信息,对着文件按下空格就能看到非常方便。 chockenberry/Provisioning

provisioning-quick-look

参考

  • Urinx/iOSAppHook
  • iOS冰与火之歌番外篇 - 在非越狱手机上进行App Hook
  • iosOpenDev 安装教程

推荐

  • iOSRE - iOS逆向论坛,学习逆向有很多干货
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 18年科目四缺考怎么办 个人医保卡欠费怎么办 医保欠费不想交怎么办 怀化市驾考绿色通道怎么办? 签注易不能办理怎么办 网上怎么办护照和签证 意大利被偷护照怎么办 户口在学校 怎么办签证 户口换了身份证怎么办 广州在校大学生怎么办护照 民间借贷无法还怎么办 退伍档案没接收怎么办 档案被单位扣住怎么办 公积金提不出来怎么办 公积金还贷款怎么办手续 科一预约失败怎么办 科四忘记预约怎么办 我科目一缺考了怎么办? 无可选考试场地怎么办 早产儿脑部发育不好怎么办 宝宝脑部发育不好怎么办 小孩脑部发育不好怎么办 8岁儿童智力低下怎么办 儿童食物不耐受怎么办 忘记就诊卡号怎么办 nt检查预约不到怎么办 听力不好科目三怎么办 青岛公安不立案怎么办 长春驾照丢了怎么办 驾照超期一个月怎么办 太原暂住证丢了怎么办 太原居住证丢了怎么办 太原自行车丢了怎么办 太原身份证丢了怎么办 在太原健康证怎么办 学车体检色盲怎么办 驾照到期有色弱怎么办 入户体检备孕怎么办 去驾校体检散光怎么办 报考警校视力不合格怎么办 违章网上扣分怎么办呢