手机控制软件[wormhole] 破解
前言
平时我们开发过程中,难免会要进行真机的调试。有没有一款应用能让真机和模拟器一样方便使用呢? 我在搜索了一番后,发现一款应用叫 Wormhole ,免费使用3天,后续升级Pro 45元。
破解
方式1
本想通过抓包分析下应用协议,然后进行拦截替换,但是发现协议包都是加密的,而且是双向证书认证,无法进行中间者模式攻击。该方式在尝试后放弃。
方式2
直接进行硬核破解,修改汇编指令集,替换可执行2进制文件
第一步
安装相关程序包 Wormhole ,将程序包安装到 Applications
第二步
将 /Applications/Wormhole.app/Contents/MacOS/Wormhole 二进制文件拖到 Hopper
选择 Debug -> Select Debugger
启动应用后,我们可以通过LLDB 或者 Hopper工具 调试挂载进去。接下来我们分析汇编的一些代码逻辑,我们省略中间过程直接讲结果。
搜索关键字 active , 双击打开 CheckActiveResponse函数
if (*(int32_t *)(rsi + 0x10) == 0xc8) //判断返回Code是否是200
if (ChoosePlatformWidget::UpdateProState(rdi) == 0x0) //判断该用户状态是否 激活状态
所以我们只需要修改下面这个判断,让他永久成立即可。
找到对应的汇编代码,修改 je => jne ,然后重新生成二进制文件,替换原先的文件。