-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for arm64 #7
Comments
Hey there, thanks for the comment. I'm not doing low-level system programming anymore so it's not that interesting for me to work on arm64 targets support. I'd be happy to merge a PR tho! |
Mhh... I am currently trying to make I am currently using it with this code:
Gives me this error:
|
I strongly suspect that making arbitrary pages both writable and executable is not allowed for arm64. Could be even a macOS restriction nowadays. While it's not clear from the error message which of two |
Thanks 👍 This was indeed necessary to make the |
Glad it helped. Unfortunately I have zero knowledge of arm64 assembly so can't help with the jump opcodes here... |
The old branch instruction was indeed wrong... gave me This is the "jump" code used on ChickenHook...
translating this...
Since this is tested code from another repository, it should work. Tho code still faisl, but I do have crash reports from running the build file... lldb
console |
First partial success 🎉 Doing the usage example:
does actually print |
Yay! So what was the issue with the jump instruction? |
Nothing wrong with these opcodes now... think it's |
Have you been able to fix the rd_duplicate_function yet? If so, could you let me know? |
@T-thanha I think you might be interested in https://github.com/trueToastedCode/rd_route which contains a bunch of ARM-specific fixes. Not sure how functional this whole fork is tho |
Thank you for the information! I’ll check out the link and see if it helps. |
test fail, but I never had issues using rd_duplicate_function in real world applications. however https://github.com/jmpews/Dobby is the better choice overall. I use commit 0932d69 (newer wouldn't compile for me but maybe that has a changed) and then you can use the dylib, assuming you have a "HelloWorld.m" and "HelloWorld.h"
That's how I do my patches currently. |
Apple doesn't make x86_64 machines anymore, it would be nice, if we could update this code for Apple Silicon. Thx!
The text was updated successfully, but these errors were encountered: