[
  {
    "path": ".gitignore",
    "content": ".DS_Store\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2018 Loveletter\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "Other/Install.sh",
    "content": "#!/bin/bash\n\napp_name=\"BaiduNetdisk_mac\"\nshell_path=\"$(dirname \"$0\")\"\nwechat_path=\"/Applications/BaiduNetdisk_mac.app\"\nframework_name=\"libBaiduNetdiskPlugin\"\napp_bundle_path=\"/Applications/${app_name}.app/Contents/MacOS\"\napp_executable_path=\"${app_bundle_path}/${app_name}\"\napp_executable_backup_path=\"${app_executable_path}_backup\"\nframework_path=\"${app_bundle_path}/${framework_name}.framework\"\n\n# 备份原始可执行文件\nif [ ! -f \"$app_executable_backup_path\" ]\nthen\ncp \"$app_executable_path\" \"$app_executable_backup_path\"\nresult=\"y\"\nelse\nread -t 150 -p \"已安装补丁包，是否覆盖？[y/n]:\" result\nfi\n\nif [[ \"$result\" == 'y' ]]; then\n    cp -r \"${shell_path}/Products/Debug/${framework_name}.framework\" ${app_bundle_path}\n    ${shell_path}/insert_dylib --all-yes \"${framework_path}/${framework_name}\" \"$app_executable_backup_path\" \"$app_executable_path\"\n    echo -e \"\\n\\tDone！\"\nfi\n\n\n"
  },
  {
    "path": "Other/Products/Debug/libBaiduNetdiskPlugin.framework/Headers/libBaiduNetdiskPlugin.h",
    "content": "//\n//  libBaiduNetdiskPlugin.h\n//  libBaiduNetdiskPlugin\n//\n//  Copyright © 2018 CodeTips. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\n//! Project version number for libBaiduNetdiskPlugin.\nFOUNDATION_EXPORT double libBaiduNetdiskPluginVersionNumber;\n\n//! Project version string for libBaiduNetdiskPlugin.\nFOUNDATION_EXPORT const unsigned char libBaiduNetdiskPluginVersionString[];\n\n@interface BandwidthManager : NSObject\n@property(nonatomic) unsigned long long maxBytesPerSecond; // @synthesize maxBytesPerSecond=_maxBytesPerSecond;\n- (void)request:(long long)arg1 increaseBytesTransferred:(unsigned long long)arg2;\n@end\n\n@interface BDUserPersonalInfo : NSObject\n@property(nonatomic) double svipExpireTime; // @synthesize\n@end\n\n@interface BDUser : NSObject\n- (BOOL)isSVip;\n@end\n\n@interface FileTransSpeedUpTrialManager : NSObject\n@property(nonatomic) long long probationaryDuration;\n+ (id)sharedInstance;\n\n- (id)trialToken;\n- (void)resetTrialStatus;\n- (void)checkProbationary;\n- (void)startTrial;\n@end\n\n@interface ALModel : NSObject\n@end\n\n@interface SpeedUpTrialModel : ALModel\n@property(copy, nonatomic) NSString *token; // @synthesize token=_token;\n@end\n\n@interface AppVersionManager : NSObject\n- (unsigned long long)checkUpdate;\n@end\n"
  },
  {
    "path": "Other/Products/Debug/libBaiduNetdiskPlugin.framework/Modules/module.modulemap",
    "content": "framework module libBaiduNetdiskPlugin {\n  umbrella header \"libBaiduNetdiskPlugin.h\"\n\n  export *\n  module * { export * }\n}\n"
  },
  {
    "path": "Other/Products/Debug/libBaiduNetdiskPlugin.framework/Resources/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>BuildMachineOSBuild</key>\n\t<string>18G1012</string>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>libBaiduNetdiskPlugin</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>Net.CodeTips.libBaiduNetdiskPlugin</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>libBaiduNetdiskPlugin</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSupportedPlatforms</key>\n\t<array>\n\t\t<string>MacOSX</string>\n\t</array>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>DTCompiler</key>\n\t<string>com.apple.compilers.llvm.clang.1_0</string>\n\t<key>DTPlatformBuild</key>\n\t<string>11B52</string>\n\t<key>DTPlatformVersion</key>\n\t<string>GM</string>\n\t<key>DTSDKBuild</key>\n\t<string>19B81</string>\n\t<key>DTSDKName</key>\n\t<string>macosx10.15</string>\n\t<key>DTXcode</key>\n\t<string>1120</string>\n\t<key>DTXcodeBuild</key>\n\t<string>11B52</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>10.13</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2018 CodeTips. All rights reserved.</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Headers/libBaiduNetdiskPlugin.h",
    "content": "//\n//  libBaiduNetdiskPlugin.h\n//  libBaiduNetdiskPlugin\n//\n//  Copyright © 2018 CodeTips. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\n//! Project version number for libBaiduNetdiskPlugin.\nFOUNDATION_EXPORT double libBaiduNetdiskPluginVersionNumber;\n\n//! Project version string for libBaiduNetdiskPlugin.\nFOUNDATION_EXPORT const unsigned char libBaiduNetdiskPluginVersionString[];\n\n@interface BandwidthManager : NSObject\n@property(nonatomic) unsigned long long maxBytesPerSecond; // @synthesize maxBytesPerSecond=_maxBytesPerSecond;\n- (void)request:(long long)arg1 increaseBytesTransferred:(unsigned long long)arg2;\n@end\n\n@interface BDUserPersonalInfo : NSObject\n@property(nonatomic) double svipExpireTime; // @synthesize\n@end\n\n@interface BDUser : NSObject\n- (BOOL)isSVip;\n@end\n\n@interface FileTransSpeedUpTrialManager : NSObject\n@property(nonatomic) long long probationaryDuration;\n+ (id)sharedInstance;\n\n- (id)trialToken;\n- (void)resetTrialStatus;\n- (void)checkProbationary;\n- (void)startTrial;\n@end\n\n@interface ALModel : NSObject\n@end\n\n@interface SpeedUpTrialModel : ALModel\n@property(copy, nonatomic) NSString *token; // @synthesize token=_token;\n@end\n\n@interface AppVersionManager : NSObject\n- (unsigned long long)checkUpdate;\n@end\n"
  },
  {
    "path": "Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Modules/module.modulemap",
    "content": "framework module libBaiduNetdiskPlugin {\n  umbrella header \"libBaiduNetdiskPlugin.h\"\n\n  export *\n  module * { export * }\n}\n"
  },
  {
    "path": "Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/A/Resources/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>BuildMachineOSBuild</key>\n\t<string>18G1012</string>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>libBaiduNetdiskPlugin</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>Net.CodeTips.libBaiduNetdiskPlugin</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>libBaiduNetdiskPlugin</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSupportedPlatforms</key>\n\t<array>\n\t\t<string>MacOSX</string>\n\t</array>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>DTCompiler</key>\n\t<string>com.apple.compilers.llvm.clang.1_0</string>\n\t<key>DTPlatformBuild</key>\n\t<string>11B52</string>\n\t<key>DTPlatformVersion</key>\n\t<string>GM</string>\n\t<key>DTSDKBuild</key>\n\t<string>19B81</string>\n\t<key>DTSDKName</key>\n\t<string>macosx10.15</string>\n\t<key>DTXcode</key>\n\t<string>1120</string>\n\t<key>DTXcodeBuild</key>\n\t<string>11B52</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>10.13</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2018 CodeTips. All rights reserved.</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Headers/libBaiduNetdiskPlugin.h",
    "content": "//\n//  libBaiduNetdiskPlugin.h\n//  libBaiduNetdiskPlugin\n//\n//  Copyright © 2018 CodeTips. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\n//! Project version number for libBaiduNetdiskPlugin.\nFOUNDATION_EXPORT double libBaiduNetdiskPluginVersionNumber;\n\n//! Project version string for libBaiduNetdiskPlugin.\nFOUNDATION_EXPORT const unsigned char libBaiduNetdiskPluginVersionString[];\n\n@interface BandwidthManager : NSObject\n@property(nonatomic) unsigned long long maxBytesPerSecond; // @synthesize maxBytesPerSecond=_maxBytesPerSecond;\n- (void)request:(long long)arg1 increaseBytesTransferred:(unsigned long long)arg2;\n@end\n\n@interface BDUserPersonalInfo : NSObject\n@property(nonatomic) double svipExpireTime; // @synthesize\n@end\n\n@interface BDUser : NSObject\n- (BOOL)isSVip;\n@end\n\n@interface FileTransSpeedUpTrialManager : NSObject\n@property(nonatomic) long long probationaryDuration;\n+ (id)sharedInstance;\n\n- (id)trialToken;\n- (void)resetTrialStatus;\n- (void)checkProbationary;\n- (void)startTrial;\n@end\n\n@interface ALModel : NSObject\n@end\n\n@interface SpeedUpTrialModel : ALModel\n@property(copy, nonatomic) NSString *token; // @synthesize token=_token;\n@end\n\n@interface AppVersionManager : NSObject\n- (unsigned long long)checkUpdate;\n@end\n"
  },
  {
    "path": "Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Modules/module.modulemap",
    "content": "framework module libBaiduNetdiskPlugin {\n  umbrella header \"libBaiduNetdiskPlugin.h\"\n\n  export *\n  module * { export * }\n}\n"
  },
  {
    "path": "Other/Products/Debug/libBaiduNetdiskPlugin.framework/Versions/Current/Resources/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>BuildMachineOSBuild</key>\n\t<string>18G1012</string>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>libBaiduNetdiskPlugin</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>Net.CodeTips.libBaiduNetdiskPlugin</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>libBaiduNetdiskPlugin</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSupportedPlatforms</key>\n\t<array>\n\t\t<string>MacOSX</string>\n\t</array>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>DTCompiler</key>\n\t<string>com.apple.compilers.llvm.clang.1_0</string>\n\t<key>DTPlatformBuild</key>\n\t<string>11B52</string>\n\t<key>DTPlatformVersion</key>\n\t<string>GM</string>\n\t<key>DTSDKBuild</key>\n\t<string>19B81</string>\n\t<key>DTSDKName</key>\n\t<string>macosx10.15</string>\n\t<key>DTXcode</key>\n\t<string>1120</string>\n\t<key>DTXcodeBuild</key>\n\t<string>11B52</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>10.13</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2018 CodeTips. All rights reserved.</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Other/Uninstall.sh",
    "content": "# !/bin/bash\n\napp_name=\"BaiduNetdisk_mac\"\nframework_name=\"libBaiduNetdiskPlugin\"\napp_bundle_path=\"/Applications/${app_name}.app/Contents/MacOS\"\napp_executable_path=\"${app_bundle_path}/${app_name}\"\napp_executable_backup_path=\"${app_executable_path}_backup\"\nframework_path=\"${app_bundle_path}/${framework_name}.framework\"\n\nif [ -f \"$app_executable_backup_path\" ]\nthen\nrm \"$app_executable_path\"\nrm -rf \"$framework_path\"\nmv \"$app_executable_backup_path\" \"$app_executable_path\"\necho -e \"\\n\\t卸载成功\"\nelse\necho -e \"\\n\\t未发现补丁包\"\nfi\n"
  },
  {
    "path": "README.md",
    "content": "# BaiduNetdiskPlugin-macOS\n\n![platform](https://img.shields.io/badge/platform-macos-lightgrey.svg)  [![GitHub license](https://img.shields.io/github/license/CodeTips/BaiduNetdiskPlugin-macOS.svg)](https://github.com/CodeTips/BaiduNetdiskPlugin-macOS/blob/master/LICENSE)\n\n![baidubetdiskplugin](./Other/Screenshots/baidubetdiskplugin.png)\n![baidubetdiskplugin_1](./Other/Screenshots/baidubetdiskplugin_1.png)\n### 说明\n* **20191118更新，去掉自动检查更新功能。由于个人精力和能力有限，此项目不再更新支持新版网盘。如使用，请下载2.2.2版本 [官方下载地址][1]。**\n\n* **连续下载10G数据后，会被限制速度到单文件20kb。所以，这个补丁偶尔用用就行，别一直用。**\n\n* **免责声明：本项目旨在学习macOS 逆向的一点实践，不可使用于商业和个人其他意图。若使用不当，均由个人承担。**\n\n* **本项目只用于学习和交流，有能力的请购买官方VIP服务。**\n\n* **包含功能：本地SVIP图标显示，去除本地下载速度限制（服务端已添加限制单文件200kb左右），去除本地极速下载试用时长限制，倒计时永久显示8秒（服务的token大概3分钟过期。意思就是虽然不倒计时，但是3分钟后速度还是会降下来）。**\n\n* **破解完成后，下载速度还是没有变化，可能是资源热度问题，或者是你已经进入百度网盘黑名单。**\n\n* **此项目不再更新，有问题请Issue中找答案，或者添加我微信（博客关于有二维码），很高兴能帮到你。**\n\n* **不会用的伸手狗请滚粗，别出问题后在这里乱咬人。**\n\n### 安装\n\n1. 懒人安装\n* 打开`应用程序`->`实用工具`->`Terminal(终端)`，执行以下命令即可。(需要git支持)\n`cd ~/Downloads && git clone https://github.com/CodeTips/BaiduNetdiskPlugin-macOS.git && ./BaiduNetdiskPlugin-macOS/Other/Install.sh`\n2. 普通安装\n* 点击`clone or download`下载项目并解压，打开`Terminal(终端)`，拖动解压后`Install.sh` 文件(在 Other 文件夹中)到 Terminal 回车即可。\n3. 重编译安装\n* 点击`clone or download`下载项目，解压运行`libBaiduNetdiskPlugin.xcodeproj`，然后`Edit Schemes`->`Executable`->`Other`->选择`百度网盘`。然后运行工程，因为百度网盘有 VMProtect加壳，运行后会有以下提示：\n![baidubetdiskplugin_2](./Other/Screenshots/baidubetdiskplugin_2.png)\n直接点击OK。\n* 然后运行或者重启`百度网盘`，如果用户VIP状态改变，证明成功。\n\n### 卸载\n\n 1. 如果第一种方法安装的。\n * 打开`应用程序`->`实用工具`->`Terminal(终端)`，执行以下命令即可。`cd ~/Downloads && ./BaiduNetdiskPlugin-macOS/Other/Uninstall.sh`\n 2. 通用卸载方法。\n * 打开`应用程序`->`实用工具`->`Terminal(终端)`，执行以下命令即可。`cd /Applications/BaiduNetdisk_mac.app/Contents/MacOS/ && rm -rf BaiduNetdisk_mac libBaiduNetdiskPlugin.framework && mv BaiduNetdisk_mac_backup BaiduNetdisk_mac`\n\n**以上方法可以完全卸载此功能。如果还是不行的话，那么抱歉，可能您需要重新安装了**\n \n### 依赖\n\n* [insert_dylib](https://github.com/Tyilo/insert_dylib)\n\n### 最后\n* 使用愉快~\n\n\n  [1]: http://issuecdn.baidupcs.com/issue/netdisk/MACguanjia/BaiduNetdisk_mac_2.2.2.dmg\n"
  },
  {
    "path": "Sources/BaiduNetdisk+Hook.h",
    "content": "#import <Foundation/Foundation.h>\n\n@interface NSObject (BaiduNetdisk)\n\n+ (void)hookBaiduNetdisk;\n\n@end\n"
  },
  {
    "path": "Sources/BaiduNetdisk+Hook.m",
    "content": "#import \"BaiduNetdisk+Hook.h\"\n#import \"libBaiduNetdiskPlugin.h\"\n#import \"CTSwizzledHelper.h\"\n\n@implementation NSObject (BaiduNetdisk)\n\n+ (void)hookBaiduNetdisk\n{\n    ct_hookMethod(objc_getClass(\"BandwidthManager\"), @selector(request:increaseBytesTransferred:), [self class], @selector(hook_request:increaseBytesTransferred:));\n    ct_hookMethod(objc_getClass(\"BandwidthManager\"), @selector(setMaxBytesPerSecond:), [self class], @selector(hook_setMaxBytesPerSecond:));\n    \n    ct_hookMethod(objc_getClass(\"BDUser\"), @selector(isSVip), [self class], @selector(hook_isSVip));\n    ct_hookMethod(objc_getClass(\"BDUserPersonalInfo\"), @selector(setSvipExpireTime:), [self class], @selector(hook_setSvipExpireTime:));\n    \n    [[objc_getClass(\"FileTransSpeedUpTrialManager\") sharedInstance] resetTrialStatus];\n    [[objc_getClass(\"FileTransSpeedUpTrialManager\") sharedInstance] checkProbationary];\n    [[objc_getClass(\"FileTransSpeedUpTrialManager\") sharedInstance] startTrial];\n\n    ct_hookMethod(objc_getClass(\"FileTransSpeedUpTrialManager\"), @selector(setProbationaryDuration:), [self class], @selector(hook_setProbationaryDuration:));\n    ct_hookMethod(objc_getClass(\"FileTransSpeedUpTrialManager\"), @selector(trialToken), [self class], @selector(hook_trialToken));\n    \n    ct_hookMethod(objc_getClass(\"SpeedUpTrialModel\"), @selector(setToken:), [self class], @selector(hook_setToken:));\n    \n    ct_hookMethod(objc_getClass(\"AppVersionManager\"), @selector(checkUpdate), [self class], @selector(hook_checkUpdate));\n}\n\n- (void)hook_request:(long long)arg1 increaseBytesTransferred:(unsigned long long)arg2;\n{\n    [self hook_request:MAXFLOAT increaseBytesTransferred:MAXFLOAT];\n}\n\n- (void)hook_setMaxBytesPerSecond:(unsigned long long)arg1\n{\n    [self hook_setMaxBytesPerSecond:MAXFLOAT];\n}\n\n- (BOOL)hook_isSVip\n{\n    return YES;\n}\n\n- (void)hook_setSvipExpireTime:(double)arg1\n{\n    NSTimeInterval expireTime = [[NSDate dateWithTimeIntervalSinceNow:10 * 365 * 24 * 60 * 60] timeIntervalSince1970];\n    [self hook_setSvipExpireTime:expireTime];\n}\n\n- (void)hook_setProbationaryDuration:(long long)probationaryDuration\n{\n    [self hook_setProbationaryDuration:MAXFRAG];\n}\n\n- (id)hook_trialToken\n{\n    id token = [self hook_trialToken];\n    NSLog(@\"trialtoken = %@\",token);\n//    if (!token) {\n//        token = [[NSUserDefaults standardUserDefaults] objectForKey:@\"token\"];\n//        NSLog(@\"localtrialtoken = %@\",token);\n//    }\n    return token;\n}\n\n- (void)hook_setToken:(NSString*)token\n{\n    if (token.length) {\n        [[NSUserDefaults standardUserDefaults] setObject:token forKey:@\"token\"];\n        [[NSUserDefaults standardUserDefaults] synchronize];\n    }\n    NSLog(@\"token = %@\",token);\n    [self hook_setToken:token];\n}\n\n- (unsigned long long)hook_checkUpdate\n{\n    return NO;\n}\n\n@end\n"
  },
  {
    "path": "Sources/CTSwizzledHelper.h",
    "content": "#import <Foundation/Foundation.h>\n#import <objc/runtime.h>\n\n@interface CTSwizzledHelper : NSObject\n\nvoid ct_hookMethod(Class originalClass, SEL originalSelector, Class swizzledClass, SEL swizzledSelector);\nvoid ct_hookClassMethod(Class originalClass, SEL originalSelector, Class swizzledClass, SEL swizzledSelector);\nvoid ct_addMethod(Class originalClass,Class swizzledClass, SEL swizzledSelector);\n\n@end\n"
  },
  {
    "path": "Sources/CTSwizzledHelper.m",
    "content": "#import \"CTSwizzledHelper.h\"\n\n@implementation CTSwizzledHelper\n\nvoid ct_hookMethod(Class originalClass, SEL originalSelector, Class swizzledClass, SEL swizzledSelector) {\n    Method originalMethod = class_getInstanceMethod(originalClass, originalSelector);\n    Method swizzledMethod = class_getInstanceMethod(swizzledClass, swizzledSelector);\n    if(originalMethod && swizzledMethod) {\n        method_exchangeImplementations(originalMethod, swizzledMethod);\n    }\n}\n\nvoid ct_hookClassMethod(Class originalClass, SEL originalSelector, Class swizzledClass, SEL swizzledSelector) {\n    Method originalMethod = class_getClassMethod(originalClass, originalSelector);\n    Method swizzledMethod = class_getClassMethod(swizzledClass, swizzledSelector);\n    if(originalMethod && swizzledMethod) {\n        method_exchangeImplementations(originalMethod, swizzledMethod);\n    }\n}\n\nvoid ct_addMethod(Class originalClass,Class swizzledClass, SEL swizzledSelector)\n{\n    Method swizzledMethod = class_getInstanceMethod(swizzledClass, swizzledSelector);\n    class_addMethod(originalClass,swizzledSelector,method_getImplementation(swizzledMethod),method_getTypeEncoding(swizzledMethod));\n}\n\n@end\n"
  },
  {
    "path": "libBaiduNetdiskPlugin/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>$(DEVELOPMENT_LANGUAGE)</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2018 CodeTips. All rights reserved.</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "libBaiduNetdiskPlugin/libBaiduNetdiskPlugin.h",
    "content": "//\n//  libBaiduNetdiskPlugin.h\n//  libBaiduNetdiskPlugin\n//\n//  Copyright © 2018 CodeTips. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\n//! Project version number for libBaiduNetdiskPlugin.\nFOUNDATION_EXPORT double libBaiduNetdiskPluginVersionNumber;\n\n//! Project version string for libBaiduNetdiskPlugin.\nFOUNDATION_EXPORT const unsigned char libBaiduNetdiskPluginVersionString[];\n\n@interface BandwidthManager : NSObject\n@property(nonatomic) unsigned long long maxBytesPerSecond; // @synthesize maxBytesPerSecond=_maxBytesPerSecond;\n- (void)request:(long long)arg1 increaseBytesTransferred:(unsigned long long)arg2;\n@end\n\n@interface BDUserPersonalInfo : NSObject\n@property(nonatomic) double svipExpireTime; // @synthesize\n@end\n\n@interface BDUser : NSObject\n- (BOOL)isSVip;\n@end\n\n@interface FileTransSpeedUpTrialManager : NSObject\n@property(nonatomic) long long probationaryDuration;\n+ (id)sharedInstance;\n\n- (id)trialToken;\n- (void)resetTrialStatus;\n- (void)checkProbationary;\n- (void)startTrial;\n@end\n\n@interface ALModel : NSObject\n@end\n\n@interface SpeedUpTrialModel : ALModel\n@property(copy, nonatomic) NSString *token; // @synthesize token=_token;\n@end\n\n@interface AppVersionManager : NSObject\n- (unsigned long long)checkUpdate;\n@end\n"
  },
  {
    "path": "libBaiduNetdiskPlugin/main.mm",
    "content": "//\n//  main.c\n//  libBaiduNetdiskPlugin\n//\n//  Copyright © 2018 CodeTips. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n#import \"BaiduNetdisk+Hook.h\"\nstatic void __attribute__((constructor)) initialize(void) {\n    [NSObject hookBaiduNetdisk];\n}\n"
  },
  {
    "path": "libBaiduNetdiskPlugin.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 48;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\tE5A74336204E2B8D00FE63B1 /* libBaiduNetdiskPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = E5A74334204E2B8D00FE63B1 /* libBaiduNetdiskPlugin.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tE5A7433D204E2BE200FE63B1 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = E5A7433C204E2BE200FE63B1 /* main.mm */; };\n\t\tE5A74347204E2F0900FE63B1 /* BaiduNetdisk+Hook.h in Headers */ = {isa = PBXBuildFile; fileRef = E5A74345204E2F0900FE63B1 /* BaiduNetdisk+Hook.h */; };\n\t\tE5A74348204E2F0900FE63B1 /* BaiduNetdisk+Hook.m in Sources */ = {isa = PBXBuildFile; fileRef = E5A74346204E2F0900FE63B1 /* BaiduNetdisk+Hook.m */; };\n\t\tE5A7434B204E2FEC00FE63B1 /* CTSwizzledHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = E5A74349204E2FEC00FE63B1 /* CTSwizzledHelper.m */; };\n\t\tE5A7434C204E2FEC00FE63B1 /* CTSwizzledHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = E5A7434A204E2FEC00FE63B1 /* CTSwizzledHelper.h */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\tE5A74331204E2B8D00FE63B1 /* libBaiduNetdiskPlugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libBaiduNetdiskPlugin.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tE5A74334204E2B8D00FE63B1 /* libBaiduNetdiskPlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libBaiduNetdiskPlugin.h; sourceTree = \"<group>\"; };\n\t\tE5A74335204E2B8D00FE63B1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tE5A7433C204E2BE200FE63B1 /* main.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = \"<group>\"; };\n\t\tE5A74345204E2F0900FE63B1 /* BaiduNetdisk+Hook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"BaiduNetdisk+Hook.h\"; sourceTree = \"<group>\"; };\n\t\tE5A74346204E2F0900FE63B1 /* BaiduNetdisk+Hook.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = \"BaiduNetdisk+Hook.m\"; sourceTree = \"<group>\"; };\n\t\tE5A74349204E2FEC00FE63B1 /* CTSwizzledHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTSwizzledHelper.m; sourceTree = \"<group>\"; };\n\t\tE5A7434A204E2FEC00FE63B1 /* CTSwizzledHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTSwizzledHelper.h; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tE5A7432D204E2B8D00FE63B1 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tE5A74327204E2B8D00FE63B1 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5A74344204E2F0900FE63B1 /* Sources */,\n\t\t\t\tE5A74333204E2B8D00FE63B1 /* libBaiduNetdiskPlugin */,\n\t\t\t\tE5A74332204E2B8D00FE63B1 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5A74332204E2B8D00FE63B1 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5A74331204E2B8D00FE63B1 /* libBaiduNetdiskPlugin.framework */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5A74333204E2B8D00FE63B1 /* libBaiduNetdiskPlugin */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5A74334204E2B8D00FE63B1 /* libBaiduNetdiskPlugin.h */,\n\t\t\t\tE5A7433C204E2BE200FE63B1 /* main.mm */,\n\t\t\t\tE5A74335204E2B8D00FE63B1 /* Info.plist */,\n\t\t\t);\n\t\t\tpath = libBaiduNetdiskPlugin;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5A74344204E2F0900FE63B1 /* Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5A7434A204E2FEC00FE63B1 /* CTSwizzledHelper.h */,\n\t\t\t\tE5A74349204E2FEC00FE63B1 /* CTSwizzledHelper.m */,\n\t\t\t\tE5A74345204E2F0900FE63B1 /* BaiduNetdisk+Hook.h */,\n\t\t\t\tE5A74346204E2F0900FE63B1 /* BaiduNetdisk+Hook.m */,\n\t\t\t);\n\t\t\tpath = Sources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\tE5A7432E204E2B8D00FE63B1 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE5A74347204E2F0900FE63B1 /* BaiduNetdisk+Hook.h in Headers */,\n\t\t\t\tE5A7434C204E2FEC00FE63B1 /* CTSwizzledHelper.h in Headers */,\n\t\t\t\tE5A74336204E2B8D00FE63B1 /* libBaiduNetdiskPlugin.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\tE5A74330204E2B8D00FE63B1 /* libBaiduNetdiskPlugin */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = E5A74339204E2B8D00FE63B1 /* Build configuration list for PBXNativeTarget \"libBaiduNetdiskPlugin\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tE5A7432C204E2B8D00FE63B1 /* Sources */,\n\t\t\t\tE5A7432D204E2B8D00FE63B1 /* Frameworks */,\n\t\t\t\tE5A7432E204E2B8D00FE63B1 /* Headers */,\n\t\t\t\tE5A7432F204E2B8D00FE63B1 /* Resources */,\n\t\t\t\tE5A7433E204E2C7300FE63B1 /* ShellScript */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = libBaiduNetdiskPlugin;\n\t\t\tproductName = libBaiduNetdiskPlugin;\n\t\t\tproductReference = E5A74331204E2B8D00FE63B1 /* libBaiduNetdiskPlugin.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tE5A74328204E2B8D00FE63B1 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0920;\n\t\t\t\tORGANIZATIONNAME = CodeTips;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tE5A74330204E2B8D00FE63B1 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 9.2;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = E5A7432B204E2B8D00FE63B1 /* Build configuration list for PBXProject \"libBaiduNetdiskPlugin\" */;\n\t\t\tcompatibilityVersion = \"Xcode 8.0\";\n\t\t\tdevelopmentRegion = en;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = E5A74327204E2B8D00FE63B1;\n\t\t\tproductRefGroup = E5A74332204E2B8D00FE63B1 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tE5A74330204E2B8D00FE63B1 /* libBaiduNetdiskPlugin */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tE5A7432F204E2B8D00FE63B1 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\tE5A7433E204E2C7300FE63B1 /* ShellScript */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"#!/bin/bash\\napp_name=\\\"BaiduNetdisk_mac\\\"\\nframework_name=\\\"libBaiduNetdiskPlugin\\\"\\napp_bundle_path=\\\"/Applications/${app_name}.app/Contents/MacOS\\\"\\napp_executable_path=\\\"${app_bundle_path}/${app_name}\\\"\\napp_executable_backup_path=\\\"${app_executable_path}_backup\\\"\\nframework_path=\\\"${app_bundle_path}/${framework_name}.framework\\\"\\n# 备份原始可执行文件\\nif [ ! -f \\\"$app_executable_backup_path\\\" ]\\nthen\\ncp \\\"$app_executable_path\\\" \\\"$app_executable_backup_path\\\"\\nfi\\n\\nrm -rf \\\"./Other/Products/Debug/${framework_name}.framework\\\"\\ncp -r \\\"${BUILT_PRODUCTS_DIR}/${framework_name}.framework\\\" \\\"./Other/Products/Debug/${framework_name}.framework\\\"\\ncp -r \\\"${BUILT_PRODUCTS_DIR}/${framework_name}.framework\\\" ${app_bundle_path}\\n./Other/insert_dylib --all-yes \\\"${framework_path}/${framework_name}\\\" \\\"$app_executable_backup_path\\\" \\\"$app_executable_path\\\"\";\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tE5A7432C204E2B8D00FE63B1 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE5A7433D204E2BE200FE63B1 /* main.mm in Sources */,\n\t\t\t\tE5A74348204E2F0900FE63B1 /* BaiduNetdisk+Hook.m in Sources */,\n\t\t\t\tE5A7434B204E2FEC00FE63B1 /* CTSwizzledHelper.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\tE5A74337204E2B8D00FE63B1 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++14\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"Mac Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu11;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.13;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tE5A74338204E2B8D00FE63B1 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++14\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"Mac Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu11;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.13;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tE5A7433A204E2B8D00FE63B1 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCODE_SIGN_IDENTITY = \"\";\n\t\t\t\tCODE_SIGN_STYLE = Automatic;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDEVELOPMENT_TEAM = HSF5STP9ZR;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tINFOPLIST_FILE = libBaiduNetdiskPlugin/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = Net.CodeTips.libBaiduNetdiskPlugin;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME:c99extidentifier)\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tE5A7433B204E2B8D00FE63B1 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCODE_SIGN_IDENTITY = \"\";\n\t\t\t\tCODE_SIGN_STYLE = Automatic;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDEVELOPMENT_TEAM = HSF5STP9ZR;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tINFOPLIST_FILE = libBaiduNetdiskPlugin/Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = Net.CodeTips.libBaiduNetdiskPlugin;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME:c99extidentifier)\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tE5A7432B204E2B8D00FE63B1 /* Build configuration list for PBXProject \"libBaiduNetdiskPlugin\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tE5A74337204E2B8D00FE63B1 /* Debug */,\n\t\t\t\tE5A74338204E2B8D00FE63B1 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tE5A74339204E2B8D00FE63B1 /* Build configuration list for PBXNativeTarget \"libBaiduNetdiskPlugin\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tE5A7433A204E2B8D00FE63B1 /* Debug */,\n\t\t\t\tE5A7433B204E2B8D00FE63B1 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = E5A74328204E2B8D00FE63B1 /* Project object */;\n}\n"
  },
  {
    "path": "libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:libBaiduNetdiskPlugin.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "libBaiduNetdiskPlugin.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEDidComputeMac32BitWarning</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "libBaiduNetdiskPlugin.xcodeproj/xcshareddata/xcschemes/libBaiduNetdiskPlugin.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"1120\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"E5A74330204E2B8D00FE63B1\"\n               BuildableName = \"libBaiduNetdiskPlugin.framework\"\n               BlueprintName = \"libBaiduNetdiskPlugin\"\n               ReferencedContainer = \"container:libBaiduNetdiskPlugin.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <PathRunnable\n         runnableDebuggingMode = \"0\"\n         FilePath = \"/Applications/BaiduNetdisk_mac.app\">\n      </PathRunnable>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5A74330204E2B8D00FE63B1\"\n            BuildableName = \"libBaiduNetdiskPlugin.framework\"\n            BlueprintName = \"libBaiduNetdiskPlugin\"\n            ReferencedContainer = \"container:libBaiduNetdiskPlugin.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "libBaiduNetdiskPlugin.xcodeproj/xcuserdata/linden.xcuserdatad/xcschemes/libBaiduNetdiskPlugin.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0920\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"E5A74330204E2B8D00FE63B1\"\n               BuildableName = \"libBaiduNetdiskPlugin.framework\"\n               BlueprintName = \"libBaiduNetdiskPlugin\"\n               ReferencedContainer = \"container:libBaiduNetdiskPlugin.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <PathRunnable\n         runnableDebuggingMode = \"0\"\n         FilePath = \"/Applications/BaiduNetdisk_mac.app\">\n      </PathRunnable>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5A74330204E2B8D00FE63B1\"\n            BuildableName = \"libBaiduNetdiskPlugin.framework\"\n            BlueprintName = \"libBaiduNetdiskPlugin\"\n            ReferencedContainer = \"container:libBaiduNetdiskPlugin.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5A74330204E2B8D00FE63B1\"\n            BuildableName = \"libBaiduNetdiskPlugin.framework\"\n            BlueprintName = \"libBaiduNetdiskPlugin\"\n            ReferencedContainer = \"container:libBaiduNetdiskPlugin.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "libBaiduNetdiskPlugin.xcodeproj/xcuserdata/linden.xcuserdatad/xcschemes/xcschememanagement.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>SchemeUserState</key>\n\t<dict>\n\t\t<key>libBaiduNetdiskPlugin.xcscheme</key>\n\t\t<dict>\n\t\t\t<key>orderHint</key>\n\t\t\t<integer>0</integer>\n\t\t</dict>\n\t</dict>\n\t<key>SuppressBuildableAutocreation</key>\n\t<dict>\n\t\t<key>E5A74330204E2B8D00FE63B1</key>\n\t\t<dict>\n\t\t\t<key>primary</key>\n\t\t\t<true/>\n\t\t</dict>\n\t</dict>\n</dict>\n</plist>\n"
  },
  {
    "path": "libBaiduNetdiskPlugin.xcodeproj/xcuserdata/loveletter.xcuserdatad/xcschemes/xcschememanagement.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>SchemeUserState</key>\n\t<dict>\n\t\t<key>libBaiduNetdiskPlugin.xcscheme_^#shared#^_</key>\n\t\t<dict>\n\t\t\t<key>orderHint</key>\n\t\t\t<integer>0</integer>\n\t\t</dict>\n\t</dict>\n\t<key>SuppressBuildableAutocreation</key>\n\t<dict>\n\t\t<key>E5A74330204E2B8D00FE63B1</key>\n\t\t<dict>\n\t\t\t<key>primary</key>\n\t\t\t<true/>\n\t\t</dict>\n\t</dict>\n</dict>\n</plist>\n"
  },
  {
    "path": "libBaiduNetdiskPlugin.xcodeproj/xcuserdata/timeaside.xcuserdatad/xcschemes/libBaiduNetdiskPlugin.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0920\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"E5A74330204E2B8D00FE63B1\"\n               BuildableName = \"libBaiduNetdiskPlugin.framework\"\n               BlueprintName = \"libBaiduNetdiskPlugin\"\n               ReferencedContainer = \"container:libBaiduNetdiskPlugin.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <PathRunnable\n         runnableDebuggingMode = \"0\"\n         FilePath = \"/Applications/BaiduNetdisk_mac.app\">\n      </PathRunnable>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5A74330204E2B8D00FE63B1\"\n            BuildableName = \"libBaiduNetdiskPlugin.framework\"\n            BlueprintName = \"libBaiduNetdiskPlugin\"\n            ReferencedContainer = \"container:libBaiduNetdiskPlugin.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5A74330204E2B8D00FE63B1\"\n            BuildableName = \"libBaiduNetdiskPlugin.framework\"\n            BlueprintName = \"libBaiduNetdiskPlugin\"\n            ReferencedContainer = \"container:libBaiduNetdiskPlugin.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "libBaiduNetdiskPlugin.xcodeproj/xcuserdata/timeaside.xcuserdatad/xcschemes/xcschememanagement.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>SchemeUserState</key>\n\t<dict>\n\t\t<key>libBaiduNetdiskPlugin.xcscheme</key>\n\t\t<dict>\n\t\t\t<key>orderHint</key>\n\t\t\t<integer>0</integer>\n\t\t</dict>\n\t</dict>\n\t<key>SuppressBuildableAutocreation</key>\n\t<dict>\n\t\t<key>E5A74330204E2B8D00FE63B1</key>\n\t\t<dict>\n\t\t\t<key>primary</key>\n\t\t\t<true/>\n\t\t</dict>\n\t</dict>\n</dict>\n</plist>\n"
  }
]