Open arielelkin opened 2 years ago
@kam800 any thoughts?
Thanks @arielelkin for reporting that.
Look like MachObfuscator crashes:
App/Mach+Replacing.swift:67: Fatal error
zsh: illegal hardware instruction ./foldername/App/MachObfuscator -v ./foldername/App/MyApp.app
Unfortunately I identified two problems.
First problem
MachObfuscator does not recognize new export trie command (LC_DYLD_EXPORTS_TRIE
). MachObfuscator currently only recognizes old LC_DYLD_INFO_ONLY
command. This involves implementing new export trie format parsing.
The simple workaround for this seems to be choosing older Deployment Target: 11.X should does the job.
Second problem
These all WARN: Unable to resolve dylib path
are caused by system libraries being moved to a single shared dyld cache file. MachObfuscator does not use dyld shared cache in this moment. There is no simple workaround now. I need to implement dyld cache parsing in MachObfuscator.
I will update README.md that MachObfuscator:
I will try to fix both problems, but I can not provide you any timeline.
@kam800 thanks for looking into this. Note that our app is already targeting macOS 11.0, so it could be that the issue has to do with some other factor...
Interesting. I will start with solving the Second problem. I the mean time I will reverify the deployment target workaround. Thank you for writing this.
Hello @kam800 any updates on the deployment target workaround?
I'm trying to obfuscate a universal binary (arm64+x86) for macOS, but running MachObfuscator has no effect. Here's the output:
Despite the output saying that there "2534 mangled selectors", I can still see them in cleartext if I check the binary on MachOView.
Related to https://github.com/kam800/MachObfuscator/issues/115 ?