VMProtect for ARM64 released

is it supposed to work for Android arm64 native libs?


kind of… but after processing, llvm-strip gives:

error: section [index 1] has a sh_offset (0x8bd4e1edd9d13e7d) + sh_size (0x3d17aec82328b195) that is greater than the file size (0xccba78)

and all the APK packaging seems to go wrong

Dear VMP Team,

I hope this message finds you well.

I am writing to report a couple of issues I’ve encountered with the latest version of VMP when targeting the Android platform.

Firstly, it appears that the generated ELF files are not compatible with the Android linker, even when no virtualization features are enabled. The execution of a minimally protected binary results in the following error:

CANNOT LINK EXECUTABLE "/data/local/tmp/core_vmp": empty/missing DT_HASH/DT_GNU_HASH in "/data/local/tmp/core_vmp" (new hash type from the future?)

Secondly, I have identified that some specific instructions are not supported. The following BTI (Branch Target Identification) instructions, in particular, seem to be problematic:

9F 24 03 D5      BTI      j
5F 24 03 D5      BTI      c

Could you please advise if these are known issues or if there are any potential workarounds?

Thank you for your time and assistance.

[quote=Admin post_id=39038 time=1758294194 user_id=2]
VMProtect doesn’t support binaries for Android.
[/quote]

我做了一些测试,在Android ARM64 ELF 动态链接库是可以正常被运行的,但是可执行程序的话会有些问题 应该是ELF 的一些格式有关 我相信很容易就能兼容的。



目前已知不支持的指令

02 E2 84 72 | movk w2,#10000

9F 24 03 D5 | BTI j

5F 24 03 D5 | BTI c

Fixed in the 2429 build.

The support of native Android binaries was added in 3.10.1