arm64 protected macho crashes

I don’t know why the previous thread is locked, but:

  • Running the protected macho results in an instant killed: 9 before even reaching the protected code, toggling between mutation and virtualization doesn’t prevent the crash.
  • Trying to codesign the protected MachO results in internal error in Code Signing subsystem

Try to disable “System Integrity Protection” for testing of protected binaries:

dyld[2132]: section '__text' end address 0x103577DE4 is beyond containing segment's end address 0x100004000 in /Users/REDACTED/MYBIN
dyld[2132]: section '__text' end address 0x103577DE4 is beyond containing segment's end address 0x100004000
[1]    2132 abort

that 0x100004000 belongs to __TEXT,__text, for some reason after vmp protecting just one function, the entire __TEXT,__text is only one page size.


The segment names are also completely invalid:

oad command 5
cmd LC_SEGMENT_64
cmdsize 72
segname .85_
...
Load command 6
cmd LC_SEGMENT_64
cmdsize 72
segname .6Mt
...
Load command 7
cmd LC_SEGMENT_64
cmdsize 552
segname .#GT
...
Section
sectname __la_symbol_ptr
segname .#GT

VMProtect works the same for x86, x86_64 and ARM64.

What I meant is your packing step seems to produce invalid / malformed macho, so the OS refuses to load that MachO at all.

Just tried with the latest 2431 build and still the same error

ping, any update?

Try to switch off the packing feature.

turning off packing seems to work for now, hope packing gets fixed in the next release

Try the 2461 build.