朽木自雕 发表于 2018-2-1 12:40

破解 XX网盘MacOS版 会员权限 解析出真实下载地址, 破解限速

本帖最后由 zjh16529 于 2019-6-6 18:39 编辑

破解成功 先上图展示破解成果



登录任意账户 显示svip 及到期时间都是2030年


具体分析。。

首先用class-dump -H导出百度网盘所有头文件信息。。。如图





自己观察一下 找到可疑类文件   如图







(BOOL)isNormalVip;- (BOOL)isSVip;- (BOOL)isVip;


这个应该是储存用户信息的类。。 看到这3个属性。。 太好了直接hook 返回 true代码如下
      Class tarClass = NSClassFromString(@"BDUser");      Method srcMethod = class_getInstanceMethod(, @selector(isSVip_hook));      Method tarMethod = class_getInstanceMethod(tarClass, @selector(isSVip));      method_exchangeImplementations(srcMethod, tarMethod);      if (srcMethod != nil && tarMethod != nil) {            NSLog(@"Registration Hook sucessed");      }else{            NSLog(@"Registration Hook error");      }

- (BOOL)isSVip_hook{    return YES;}
- (BOOL)isVip_hook{    return YES;}
- (BOOL)isNormalVip_hook{    return YES;}


这个只是储存了简单的是否是vip下面我们找一下vip有效期的时间戳   

找到了@property(nonatomic) double expVipExpireTime; // @synthesize expVipExpireTime=_expVipExpireTime;@property(nonatomic) double svipExpireTime; // @synthesize svipExpireTime=_svipExpireTime;@property(nonatomic) double vipExpireTime;
直接拦截这3个属性。。。。





这个时候 界面上面 登录任意账户 都会显示svip截至日期2030年

下面分析如何 破解限速。。

继续找 看看百度下载管理的类经过分析找到了 百度下载文件的实现类 TransLogRecorder下面看看这个类的属性方法


@Class NSMutableString, NSString;
@interface TransLogRecorder :

很明显这个类记录了 下载文件的必要信息   注意看下面几个属性
@property(copy, nonatomic) NSString *requestURL; // @synthesize requestURL=_requestURL;@property(copy, nonatomic) NSString *serverHost; // @synthesize serverHost=_serverHost;@property(copy, nonatomic) NSString *clientIP; // @synthesize clientIP=_clientIP;


这三个属性记录了 下载服务器地址客户端ip和 下载文件的url我们可以hookrequestUrl 这个属性 拿到文件的真实下载路径。。。



CDNDownloadLocateListModel这个类记录了 cdn下载的相关信息找到这个属性maximumBytesPerSecond记录了最大下载速度。。所有速度都是10k 每秒。直接更改10*1024*102410m每秒。。看看效果。。

结果很失望。。。百度网盘采取的是 服务端限速所以更改客户端限速是无效的。。。不过我们可以采取多线程并发方式来提速。。直接在百度下载类里面完成添加请求user-agent:1-1000000每个线程下载10m 然后创建1000个线程。。经过测试网速可以达到10m每秒直接附上代码
此代码不包含 下载模块单线程 改成多线程 下载部分


咕咚陛下 发表于 2018-2-1 15:10

你好,我是百度网盘开发者,我已经学会了

Hmily 发表于 2018-2-1 14:40

结果很失望。。。百度网盘采取的是 服务端限速所以更改客户端限速是无效的。。。不过我们可以采取多线程并发方式来提速。。直接在百度下载类里面完成添加请求user-agent:1-1000000每个线程下载10m 然后创建1000个线程。。经过测试网速可以达到10m每秒直接附上代码

这个最早的时候可以把vip那hook改下返回值就满速了,后来改成服务端限速就没法弄了,直接改线程思路很新颖,代码丢了?

hekang110322 发表于 2018-2-1 14:53

大哥有没有成品

朽木自雕 发表于 2018-2-1 14:56

Hmily 发表于 2018-2-1 14:40
这个最早的时候可以把vip那hook改下返回值就满速了,后来改成服务端限速就没法弄了,直接改线程思路很 ...

服务器限速的 ,所以客户端破解是无效的。。。我的思路是 重写了客户端的下载方法,,然后把单线程改成多线程。。每个线程请求后台数据的时候 user-agent 这个字段 要写清楚数据段。然后所有线程完毕 合并数据。。

这个实现起来比较麻烦。。。代码我我重新传一下。。不过不包含多线程下载部分的代码 。。。

cao_jf 发表于 2018-2-1 14:38

感觉好神奇,先支持起来

woshihongke2014 发表于 2018-2-1 14:47

@朽木自雕 有没有成品?还有能不能SVIP破解永不到期?

朽木自雕 发表于 2018-2-1 14:52

woshihongke2014 发表于 2018-2-1 14:47
@朽木自雕 有没有成品?还有能不能SVIP破解永不到期?

有成品,, 用不到期可以实现

slk 发表于 2018-2-1 14:53

第一次离大神这么近,可惜我不是macOS系统

woshihongke2014 发表于 2018-2-1 14:54

朽木自雕 发表于 2018-2-1 14:52
有成品,, 用不到期可以实现

那就发出来吧!

ptau 发表于 2018-2-1 14:56

膜拜大佬,希望有大大把多线程并发的思路能搬到win下做个实现
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 破解 XX网盘MacOS版 会员权限 解析出真实下载地址, 破解限速