码迷,mamicode.com
首页 > 系统相关 > 详细

用Hopper搞定Mac迅雷的会员以及离线下载功能

时间:2015-07-30 16:55:47      阅读:386      评论:0      收藏:0      [点我收藏+]

标签:

 

转自 用Hopper搞定Mac迅雷的会员以及离线下载功能

先定位Mac迅雷的可执行文件

snakeninnys-iMac:~ snakeninny$ ls /Applications/Thunder.app/Contents/MacOS
Thunder            libetm.dylib       libiniparser.dylib

如果你的迅雷也是放在了/Applications下,那么可执行文件的位置应该跟上面一样??

用Hopper分析可执行文件

技术分享

定位要修改的函数

可执行文件尺寸不大,Hopper很快就可以完成对它的分析。在Label搜索栏中输入“ is”(注意,是“空格is”),在搜索结果中,找到如图所示的4个方法:
技术分享 
它们分别是

 

1. -[LocalTask isValidLixianTask]
2. -[UserController isVip]
3. -[UserController isPlatinum]
4. -[UserController isDiamond]

用Hopper静态patch这4个方法

首先patch-[LocalTask isValidLixianTask]
把鼠标焦点放在-[LocalTask isValidLixianTask]的第一行汇编代码上,然后选择Hopper菜单栏的Modify -> Assemble Instruction,并在弹出的文本框里输入mov eax, 0x1,如图所示:


然后点击“Assemble and Go Next”,再在文本框里输入ret。patch之后的-[LocalTask isValidLixianTask]长这样:
技术分享 
为什么要这么patch呢?简单解释一下:在x86汇编里,函数的返回值存放在eax寄存器里。1对应BOOL类型的YES,因此我们的patch让-[LocalTask isValidLixianTask]永远返回YES,告诉迅雷这是一个有效的离线任务 技术分享
同理,用完全相同的输入来patch掉另外的3个方法,即把它们的前2条汇编指令都改成mov eax, 0x1ret,修改结果如图所示:

 

用Hopper生成一个patch过的新可执行文件

在Hopper的菜单里选择File -> Produce New Executable...,然后在弹框中选择YES,即可生成一个新的Thunder文件。用这个新的Thunder替换掉原来的/Applications/Thunder.app/Contents/MacOS/Thunder,然后重启迅雷,看看效果:


打完收工 技术分享

 

 

亲测可以,今天尝试破解了下QQ音乐,试了半天,没点亮绿钻(在手机上之前破解成功过,mac上估计没找对地方)

但是把HQ标志点亮了

技术分享

效果如图,但是没听出有啥变化,所以应该还是一个假的状态。。。

用Hopper搞定Mac迅雷的会员以及离线下载功能

标签:

原文地址:http://www.cnblogs.com/cc412/p/4689602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!