itswenb

非越狱iOS逆向,破解《黑匣子Player》之 实现逻辑2️⃣
继以下文章,后续:非越狱iOS逆向,破解《黑匣子Player》之 实现逻辑1️⃣非越狱iOS逆向,破解《黑匣子Pl...
扫描右侧二维码阅读全文
12
2019/04

非越狱iOS逆向,破解《黑匣子Player》之 实现逻辑2️⃣

继以下文章,后续:

本文只做学习用途,切勿用于商业。使用本文以及本文相关的代码、产品产生的后果自行承担。

1、使用Reveal

根据上文中提到的配置完证书就可以直接运行到真机上,这里用到了一个XCode的重签名机制,以后我会发文解释。
运行到真机上之后,Reveal上面可以看到如下界面:

这个界面不是我们最终要看到的界面,通过分析可以看到,当我们点击首页功能的时候,需要登录的地方都会弹窗提示登录。如图

以此猜想是不是有一个公用的方法来识别是否登录。说干就干,打开 IDA64 把脱壳后的 app 拖进去。

  • 从这里打开文件夹

  • 从这里打开脱壳后的.app文件

  • 打开 IDA64 把这个文件拖进去

  • 这里让我们选择对应的指令集,指令集对应不同的机型,网上整理下来:
arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)
armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display)
armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4

i386是针对intel通用微处理器32位处理器
x86_64是针对x86架构的64位处理器

模拟器32位处理器测试需要i386架构,
模拟器64位处理器测试需要x86_64架构,
真机32位处理器需要armv7,或者armv7s架构,
真机64位处理器需要arm64架构。
  • 这里我直接点了 OK

  • 等待漫长的分析,在他分析的这段时间里面,我们可以找找他的界面逻辑,刚刚说到,要选择一个触发了登录和激活会员的地方当做入口来着手,这里我们选择首页,使用 Reveal 来找到他的 Controller:

这里我们可以看到首页的 Controller 是RA_RouteViewController ,现在我们就可以在 IDA64里面分析一下这个 Controller 的代码,IDA64 分析完成时是这样的:

  • 在途中区域单击,按下快捷键 ctrl+F 输入 RA_RouteViewController

既然是点击事件,从上面可以看到,首页是一个 TableView ,那么他的点击时间应该是 tableView:didSelectRowAtIndexPath:,双击上图位置

  • 按下F5格式化伪代码

分析:这个方法里面总共只有两个 if 语句,所以此时根据手机端的逻辑来看,在登录之后还需要再进行会员激活,所以此时可以猜测,这两个是不是就是控制了登录和会员的两个判断语句。

暂且完结

Last modification:April 12th, 2019 at 08:44 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment