Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Note: All of this is experimental software and it should only be referred to for the purpose of testing.
Note: All of this is experimental software and it should only be referred to for the purpose of testing.
This project stems directly from the excellent guide made by tomnic over at the MacOS86 forums.
Since userland patching is not possible with Lilu on Big Sur+, manual patching of libraries of certain programs is needed to get them to work reliably on AMD hackintoshes.
Tomnic did outline some general bit patterns to search for, but then he admitted that a crude find and replace wouldn't be viable. This project uses regular expressions to find those patterns and patch them.
Only use this if you know what you're doing. Also, this is incomplete software.
You will need:
brew install nodejs
brew install yarn
Install (and update) AMDFriend on your system with this command:
$ npm install -g amdfriend
Or, if you've installed yarn
$ yarn global add amdfriend
Use it with:
$ amdfriend "/path/to/your/library.dylib"
Argument | Type | Default value | Description |
---|---|---|---|
--in-place | Boolean | false | Directly patch the library, as opposed to creating a patched library with .patched appended to the file name. |
--backup | Boolean | false | Only works in conjunction with --in-place ; it backs up the original library by copying it and appending .bak on its extension. |
--sign | Boolean | false | Automatically invoke codesign on patched libraries. |
--dry-run | Boolean | false | Do all checking and patching, but DO NOT write anything to disk. This is useful to test performance and to scan for matches in a given library. |
--directories | Array | Not set | Scan directories alongside files. It will search for any file with no extension and with extension .dylib , as they are the common ones to patch. |
--jobs | Number | N. of threads available | The number of jobs that will be spawned to process the libraries. |
If you want to contribute to this project, clone it to your computer!
$ git clone https://github.com/NyaomiDEV/AMDFriend
$ cd AMDFriend
$ yarn
$ yarn test "/path/to/your/library.dylib"
Scan for patchable files in a directory:
$ amdfriend --dry-run --directories /path/to/dir /path/to/another/dir | grep "Routines found"
Scan for patchable files and patch them (NOT recommended):
$ amdfriend --in-place --backup --sign --directories /path/to/dir /path/to/another/dir
Refer to the LICENSE file.
Tomnic, Tomnic and Tomnic again. You don't know him? He's this guy.
FAQs
Note: All of this is experimental software and it should only be referred to for the purpose of testing.
We found that amdfriend demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.