小试牛刀 逆向迅雷
准备工具:hopper disassembler , 迅雷 3.0.9
第一次逆向,先拿迅雷开刀,最终的目标是获取迅雷的会员加速功能。
查看迅雷汇编
右键点击迅雷图标,show package contents,然后进入contents目录。可以看到如下目录。
Left Aligned | Center Aligned |
---|---|
_CodeSignature | 签名相关文件 |
BrowserPlugins | 迅雷的浏览器插件 |
Bundles | 资源文件 但是迅雷居然把XLPlayer放在里面 |
Frameworks | 迅雷的动态库 |
Library | 迅雷的静态库 |
MacOS | 迅雷的主程序可执行文件 |
Plugins | 迅雷的各种组件,看来迅雷的组件化做的很好 |
Resources | 迅雷的各种图片,网页资源 |
我们进入MacOS选中可执行文件Thunder,拖入hopper等待解析完成。
在Proc中搜索isVip(程序员的命名竟然如此相似)
hopper_isvip.png
发现3个函数
[4X2XLXH3O3STBRATSECONDT7R3OL4L34E1R isVip]
[UserController isVip]
[XLUserInformation isVip]
选中[4X2XLXH3O3STBRATSECONDT7R3OL4L34E1R isVip]代码
在菜单栏中modify->Assemble Instruction
将汇编代码改为
mov rax, 0x1
ret
寄存器放入0x1,然后直接return代表返回值为真,跳过下面的验证逻辑
同样修改剩下的两个函数,然后File->Produce New Executable用新的可执行文件替换旧的,大功告成。
被迅雷摆了一道
完成以上步骤后点开迅雷-----崩溃>_<|||
反复检查自己改的地方,没有发现问题,纠结了一个晚上发现在[AppDelegate applicationWillFinishLaunching:]中有效验代码,在启动的时候使用MD5来检查自己有没有被修改,被修改后就call exit,知道这个就好办了
修改如下
WillFinish.png
这次真的大功告成,任意账号登陆后都可以使用会员加速。
网友评论