Study how macOS dynamic library injection works by examining a real-world example that patches a running app.
Learn the basics of macOS reverse engineering by reading how this plugin modifies Baidu Netdisk behavior without changing the original app file.
Unmaintained since 2019, macOS security hardening changes may prevent injection on modern systems.
Baidu Netdisk (also called Baidu Pan) is a popular Chinese cloud storage service, similar to Google Drive or Dropbox. The free tier of Baidu Netdisk throttles download speeds significantly, and the faster speeds are reserved for paying SVIP subscribers. This project is a macOS plugin, written in Objective-C, that patches the Baidu Netdisk desktop application to remove those local speed limits. The README is in Chinese. The plugin works by injecting a dynamic library into the Baidu Netdisk app at launch, modifying its behavior without changing the original application file permanently. According to the README, it removes the local client-side speed cap and the trial time limit for high-speed downloads, and shows the SVIP status icon in the app. The author notes that Baidu's servers have their own limits (around 200 KB per file), and that after downloading 10 GB continuously the service will throttle speeds to around 20 KB per file regardless of client-side changes. Installation is done by running a shell script from the terminal, which handles the injection automatically. There is also an option to build from source using Xcode. The project depends on a separate open-source tool called insert_dylib for the injection step. The project has not been updated since November 2019 and the author states it will no longer receive updates. The README includes a disclaimer that the project was intended for learning about macOS reverse engineering and should not be used for commercial or other unintended purposes. The author recommends purchasing an official Baidu SVIP subscription if you rely on the service regularly.
← codetips on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.