diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index bc2f865..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/Other/.DS_Store b/Other/.DS_Store deleted file mode 100644 index cbc2a1b..0000000 Binary files a/Other/.DS_Store and /dev/null differ diff --git a/Other/Products/.DS_Store b/Other/Products/.DS_Store deleted file mode 100644 index 76cf431..0000000 Binary files a/Other/Products/.DS_Store and /dev/null differ diff --git a/Other/Products/Debug/.DS_Store b/Other/Products/Debug/.DS_Store deleted file mode 100644 index fbff5e6..0000000 Binary files a/Other/Products/Debug/.DS_Store and /dev/null differ diff --git a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Headers/libBaiduNetdiskPlugin.h b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Headers/libBaiduNetdiskPlugin.h index 5321b88..84bf85a 100644 --- a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Headers/libBaiduNetdiskPlugin.h +++ b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Headers/libBaiduNetdiskPlugin.h @@ -28,5 +28,21 @@ FOUNDATION_EXPORT const unsigned char libBaiduNetdiskPluginVersionString[]; @interface FileTransSpeedUpTrialManager : NSObject @property(nonatomic) long long probationaryDuration; ++ (id)sharedInstance; + +- (id)trialToken; +- (void)resetTrialStatus; +- (void)checkProbationary; +- (void)startTrial; +@end + +@interface ALModel : NSObject @end +@interface SpeedUpTrialModel : ALModel +@property(copy, nonatomic) NSString *token; // @synthesize token=_token; +@end + +@interface AppVersionManager : NSObject +- (unsigned long long)checkUpdate; +@end diff --git a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Resources/Info.plist b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Resources/Info.plist index 0a60f39..517050c 100644 --- a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Resources/Info.plist +++ b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 17D102 + 18G1012 CFBundleDevelopmentRegion en CFBundleExecutable @@ -27,17 +27,19 @@ DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 9C40b + 11B52 DTPlatformVersion GM DTSDKBuild - 17C76 + 19B81 DTSDKName - macosx10.13 + macosx10.15 DTXcode - 0920 + 1120 DTXcodeBuild - 9C40b + 11B52 + LSMinimumSystemVersion + 10.13 NSHumanReadableCopyright Copyright © 2018 CodeTips. All rights reserved. diff --git a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Headers/libBaiduNetdiskPlugin.h b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Headers/libBaiduNetdiskPlugin.h index 5321b88..84bf85a 100644 --- a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Headers/libBaiduNetdiskPlugin.h +++ b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Headers/libBaiduNetdiskPlugin.h @@ -28,5 +28,21 @@ FOUNDATION_EXPORT const unsigned char libBaiduNetdiskPluginVersionString[]; @interface FileTransSpeedUpTrialManager : NSObject @property(nonatomic) long long probationaryDuration; ++ (id)sharedInstance; + +- (id)trialToken; +- (void)resetTrialStatus; +- (void)checkProbationary; +- (void)startTrial; +@end + +@interface ALModel : NSObject @end +@interface SpeedUpTrialModel : ALModel +@property(copy, nonatomic) NSString *token; // @synthesize token=_token; +@end + +@interface AppVersionManager : NSObject +- (unsigned long long)checkUpdate; +@end diff --git a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Resources/Info.plist b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Resources/Info.plist index 0a60f39..517050c 100644 --- a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Resources/Info.plist +++ b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 17D102 + 18G1012 CFBundleDevelopmentRegion en CFBundleExecutable @@ -27,17 +27,19 @@ DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 9C40b + 11B52 DTPlatformVersion GM DTSDKBuild - 17C76 + 19B81 DTSDKName - macosx10.13 + macosx10.15 DTXcode - 0920 + 1120 DTXcodeBuild - 9C40b + 11B52 + LSMinimumSystemVersion + 10.13 NSHumanReadableCopyright Copyright © 2018 CodeTips. All rights reserved. diff --git a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/libBaiduNetdiskPlugin b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/libBaiduNetdiskPlugin index 4103480..bc88416 100755 Binary files a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/libBaiduNetdiskPlugin and b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/libBaiduNetdiskPlugin differ diff --git a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Headers/libBaiduNetdiskPlugin.h b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Headers/libBaiduNetdiskPlugin.h index 5321b88..84bf85a 100644 --- a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Headers/libBaiduNetdiskPlugin.h +++ b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Headers/libBaiduNetdiskPlugin.h @@ -28,5 +28,21 @@ FOUNDATION_EXPORT const unsigned char libBaiduNetdiskPluginVersionString[]; @interface FileTransSpeedUpTrialManager : NSObject @property(nonatomic) long long probationaryDuration; ++ (id)sharedInstance; + +- (id)trialToken; +- (void)resetTrialStatus; +- (void)checkProbationary; +- (void)startTrial; +@end + +@interface ALModel : NSObject @end +@interface SpeedUpTrialModel : ALModel +@property(copy, nonatomic) NSString *token; // @synthesize token=_token; +@end + +@interface AppVersionManager : NSObject +- (unsigned long long)checkUpdate; +@end diff --git a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Resources/Info.plist b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Resources/Info.plist index 0a60f39..517050c 100644 --- a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Resources/Info.plist +++ b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 17D102 + 18G1012 CFBundleDevelopmentRegion en CFBundleExecutable @@ -27,17 +27,19 @@ DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 9C40b + 11B52 DTPlatformVersion GM DTSDKBuild - 17C76 + 19B81 DTSDKName - macosx10.13 + macosx10.15 DTXcode - 0920 + 1120 DTXcodeBuild - 9C40b + 11B52 + LSMinimumSystemVersion + 10.13 NSHumanReadableCopyright Copyright © 2018 CodeTips. All rights reserved. diff --git a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/libBaiduNetdiskPlugin b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/libBaiduNetdiskPlugin index 4103480..bc88416 100755 Binary files a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/libBaiduNetdiskPlugin and b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/libBaiduNetdiskPlugin differ diff --git a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/libBaiduNetdiskPlugin b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/libBaiduNetdiskPlugin index 4103480..bc88416 100755 Binary files a/Other/Products/Debug/libBaiduNetdiskPlugin.framework/libBaiduNetdiskPlugin and b/Other/Products/Debug/libBaiduNetdiskPlugin.framework/libBaiduNetdiskPlugin differ diff --git a/Other/Screenshots/.DS_Store b/Other/Screenshots/.DS_Store deleted file mode 100644 index 5e0538c..0000000 Binary files a/Other/Screenshots/.DS_Store and /dev/null differ diff --git a/Other/Screenshots/baidubetdiskplugin.png b/Other/Screenshots/baidubetdiskplugin.png old mode 100755 new mode 100644 index 1beab58..4dbfa67 Binary files a/Other/Screenshots/baidubetdiskplugin.png and b/Other/Screenshots/baidubetdiskplugin.png differ diff --git a/Other/Screenshots/baidubetdiskplugin_1.png b/Other/Screenshots/baidubetdiskplugin_1.png old mode 100755 new mode 100644 index 3729b01..4b825d1 Binary files a/Other/Screenshots/baidubetdiskplugin_1.png and b/Other/Screenshots/baidubetdiskplugin_1.png differ diff --git a/README.md b/README.md index 7f78eb4..a937745 100644 --- a/README.md +++ b/README.md @@ -5,26 +5,50 @@ ![baidubetdiskplugin](./Other/Screenshots/baidubetdiskplugin.png) ![baidubetdiskplugin_1](./Other/Screenshots/baidubetdiskplugin_1.png) ### 说明 -* 免责声明:本项目旨在学习macOS 逆向的一点实践,不可使用于商业和个人其他意图。若使用不当,均由个人承担。 -* 包含功能:百度网盘 SVIP破解和速度限制破解。 -* 若使用中遇到遇到问题, **Issue me!** +* **20191118更新,去掉自动检查更新功能。由于个人精力和能力有限,此项目不再更新支持新版网盘。如使用,请下载2.2.2版本 [官方下载地址][1]。** + +* **连续下载10G数据后,会被限制速度到单文件20kb。所以,这个补丁偶尔用用就行,别一直用。** + +* **免责声明:本项目旨在学习macOS 逆向的一点实践,不可使用于商业和个人其他意图。若使用不当,均由个人承担。** + +* **本项目只用于学习和交流,有能力的请购买官方VIP服务。** + +* **包含功能:本地SVIP图标显示,去除本地下载速度限制(服务端已添加限制单文件200kb左右),去除本地极速下载试用时长限制,倒计时永久显示8秒(服务的token大概3分钟过期。意思就是虽然不倒计时,但是3分钟后速度还是会降下来)。** + +* **破解完成后,下载速度还是没有变化,可能是资源热度问题,或者是你已经进入百度网盘黑名单。** + +* **此项目不再更新,有问题请Issue中找答案,或者添加我微信(博客关于有二维码),很高兴能帮到你。** + +* **不会用的伸手狗请滚粗,别出问题后在这里乱咬人。** ### 安装 - 1. 懒人安装 +1. 懒人安装 * 打开`应用程序`->`实用工具`->`Terminal(终端)`,执行以下命令即可。(需要git支持) `cd ~/Downloads && git clone https://github.com/CodeTips/BaiduNetdiskPlugin-macOS.git && ./BaiduNetdiskPlugin-macOS/Other/Install.sh` - 2. 普通安装 +2. 普通安装 * 点击`clone or download`下载项目并解压,打开`Terminal(终端)`,拖动解压后`Install.sh` 文件(在 Other 文件夹中)到 Terminal 回车即可。 - 3. 重编译安装 +3. 重编译安装 * 点击`clone or download`下载项目,解压运行`libBaiduNetdiskPlugin.xcodeproj`,然后`Edit Schemes`->`Executable`->`Other`->选择`百度网盘`。然后运行工程,因为百度网盘有 VMProtect加壳,运行后会有以下提示: ![baidubetdiskplugin_2](./Other/Screenshots/baidubetdiskplugin_2.png) 直接点击OK。 -* 然后运行`百度网盘`,如果用户VIP状态改变,证明成功。 +* 然后运行或者重启`百度网盘`,如果用户VIP状态改变,证明成功。 + +### 卸载 + + 1. 如果第一种方法安装的。 + * 打开`应用程序`->`实用工具`->`Terminal(终端)`,执行以下命令即可。`cd ~/Downloads && ./BaiduNetdiskPlugin-macOS/Other/Uninstall.sh` + 2. 通用卸载方法。 + * 打开`应用程序`->`实用工具`->`Terminal(终端)`,执行以下命令即可。`cd /Applications/BaiduNetdisk_mac.app/Contents/MacOS/ && rm -rf BaiduNetdisk_mac libBaiduNetdiskPlugin.framework && mv BaiduNetdisk_mac_backup BaiduNetdisk_mac` +**以上方法可以完全卸载此功能。如果还是不行的话,那么抱歉,可能您需要重新安装了** + ### 依赖 * [insert_dylib](https://github.com/Tyilo/insert_dylib) ### 最后 * 使用愉快~ + + + [1]: http://issuecdn.baidupcs.com/issue/netdisk/MACguanjia/BaiduNetdisk_mac_2.2.2.dmg diff --git a/Sources/BaiduNetdisk+Hook.m b/Sources/BaiduNetdisk+Hook.m index 82e4426..8e0c8dd 100644 --- a/Sources/BaiduNetdisk+Hook.m +++ b/Sources/BaiduNetdisk+Hook.m @@ -11,8 +11,17 @@ + (void)hookBaiduNetdisk ct_hookMethod(objc_getClass("BDUser"), @selector(isSVip), [self class], @selector(hook_isSVip)); ct_hookMethod(objc_getClass("BDUserPersonalInfo"), @selector(setSvipExpireTime:), [self class], @selector(hook_setSvipExpireTime:)); - ct_hookMethod(objc_getClass("FileTransSpeedUpTrialManager"), @selector(setProbationaryDuration:), [self class], @selector(hook_setProbationaryDuration:)); + + [[objc_getClass("FileTransSpeedUpTrialManager") sharedInstance] resetTrialStatus]; + [[objc_getClass("FileTransSpeedUpTrialManager") sharedInstance] checkProbationary]; + [[objc_getClass("FileTransSpeedUpTrialManager") sharedInstance] startTrial]; + ct_hookMethod(objc_getClass("FileTransSpeedUpTrialManager"), @selector(setProbationaryDuration:), [self class], @selector(hook_setProbationaryDuration:)); + ct_hookMethod(objc_getClass("FileTransSpeedUpTrialManager"), @selector(trialToken), [self class], @selector(hook_trialToken)); + + ct_hookMethod(objc_getClass("SpeedUpTrialModel"), @selector(setToken:), [self class], @selector(hook_setToken:)); + + ct_hookMethod(objc_getClass("AppVersionManager"), @selector(checkUpdate), [self class], @selector(hook_checkUpdate)); } - (void)hook_request:(long long)arg1 increaseBytesTransferred:(unsigned long long)arg2; @@ -41,4 +50,30 @@ - (void)hook_setProbationaryDuration:(long long)probationaryDuration [self hook_setProbationaryDuration:MAXFRAG]; } +- (id)hook_trialToken +{ + id token = [self hook_trialToken]; + NSLog(@"trialtoken = %@",token); +// if (!token) { +// token = [[NSUserDefaults standardUserDefaults] objectForKey:@"token"]; +// NSLog(@"localtrialtoken = %@",token); +// } + return token; +} + +- (void)hook_setToken:(NSString*)token +{ + if (token.length) { + [[NSUserDefaults standardUserDefaults] setObject:token forKey:@"token"]; + [[NSUserDefaults standardUserDefaults] synchronize]; + } + NSLog(@"token = %@",token); + [self hook_setToken:token]; +} + +- (unsigned long long)hook_checkUpdate +{ + return NO; +} + @end diff --git a/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/linden.xcuserdatad/UserInterfaceState.xcuserstate b/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/linden.xcuserdatad/UserInterfaceState.xcuserstate index 974bccf..1b3417c 100644 Binary files a/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/linden.xcuserdatad/UserInterfaceState.xcuserstate and b/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/linden.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/loveletter.xcuserdatad/UserInterfaceState.xcuserstate b/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/loveletter.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..ce18289 Binary files /dev/null and b/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/loveletter.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/timeaside.xcuserdatad/UserInterfaceState.xcuserstate b/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/timeaside.xcuserdatad/UserInterfaceState.xcuserstate index 22b19ed..63ed86a 100644 Binary files a/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/timeaside.xcuserdatad/UserInterfaceState.xcuserstate and b/libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcuserdata/timeaside.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/libBaiduNetdiskPlugin.xcodeproj/xcshareddata/xcschemes/libBaiduNetdiskPlugin.xcscheme b/libBaiduNetdiskPlugin.xcodeproj/xcshareddata/xcschemes/libBaiduNetdiskPlugin.xcscheme new file mode 100644 index 0000000..583b131 --- /dev/null +++ b/libBaiduNetdiskPlugin.xcodeproj/xcshareddata/xcschemes/libBaiduNetdiskPlugin.xcscheme @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libBaiduNetdiskPlugin.xcodeproj/xcuserdata/loveletter.xcuserdatad/xcschemes/xcschememanagement.plist b/libBaiduNetdiskPlugin.xcodeproj/xcuserdata/loveletter.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..bdae97b --- /dev/null +++ b/libBaiduNetdiskPlugin.xcodeproj/xcuserdata/loveletter.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + libBaiduNetdiskPlugin.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + E5A74330204E2B8D00FE63B1 + + primary + + + + + diff --git a/libBaiduNetdiskPlugin/libBaiduNetdiskPlugin.h b/libBaiduNetdiskPlugin/libBaiduNetdiskPlugin.h index 5321b88..84bf85a 100644 --- a/libBaiduNetdiskPlugin/libBaiduNetdiskPlugin.h +++ b/libBaiduNetdiskPlugin/libBaiduNetdiskPlugin.h @@ -28,5 +28,21 @@ FOUNDATION_EXPORT const unsigned char libBaiduNetdiskPluginVersionString[]; @interface FileTransSpeedUpTrialManager : NSObject @property(nonatomic) long long probationaryDuration; ++ (id)sharedInstance; + +- (id)trialToken; +- (void)resetTrialStatus; +- (void)checkProbationary; +- (void)startTrial; +@end + +@interface ALModel : NSObject @end +@interface SpeedUpTrialModel : ALModel +@property(copy, nonatomic) NSString *token; // @synthesize token=_token; +@end + +@interface AppVersionManager : NSObject +- (unsigned long long)checkUpdate; +@end