musl support

Issues related to VMProtect
Post Reply
brucee
Posts: 7
Joined: Sat Sep 28, 2024 3:09 pm

musl support

Post by brucee »

Is there any version of vmp lib for musl ? or a way to compile it I'm trying adding a version of my program with full static musl linking, and VMP lib is the only thing i can't migrate, i even considered not linking the lib and only using the GUI to protect, but i do use some functions of the lib in my code.
If i try compiling at Alpine with vmp lib, it requires glibc for example, and my idea is to don't deppend anyway on glibc.
Admin
Site Admin
Posts: 2729
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: musl support

Post by Admin »

VMProtect uses glibc for SDK/runtime and doesn't know anything about third-party libraries like musl.
DiklosGroupLtd
Posts: 16
Joined: Fri May 27, 2022 12:49 pm
Contact:

Re: musl support

Post by DiklosGroupLtd »

Are you planning to support musl? There is a certain part of systems that is based on Musl and its support would be very useful.
Especially if you plan to support aarch64 under Linux. Thanks!
Admin
Site Admin
Posts: 2729
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: musl support

Post by Admin »

Are you planning to support musl?
It seems you didn't understand what the topic starter wants.
brucee
Posts: 7
Joined: Sat Sep 28, 2024 3:09 pm

Re: musl support

Post by brucee »

Admin wrote: Thu Aug 21, 2025 12:10 pm
Are you planning to support musl?
It seems you didn't understand what the topic starter wants.

How sad, I really needed the vmp lib that didn't depend on glibc, if at least the vmp lib code were public, I could try to build it directly on Alpine Linux and solve the building problems. Or maybe someday you'll decide to support versions that are based on musl and not glibc.
lach
Posts: 33
Joined: Sat Mar 23, 2019 1:18 pm

Re: musl support

Post by lach »

> if at least the vmp lib code were public, I could try to build it directly on Alpine Linux and solve the building problems

You can easily recreate this library, as it only contains empty functions, i.e write this into a file:

void VMProtectBeginUltra(char* name) {}

Build it into a VMProtectSDK64.so, and it will work the same way as the libraries included in VMProtect SDK

It won't, however, work with musl, because musl doesn't allow for dynamic linking of libraries, and vmprotect won't find uses of those markers if you link those functions statically

Instead you can use vmprotect lua api to mark functions for protection

(E.g, I use this script: https://github.com/CertainLach/vmprotec ... script.lua, which allows me to name any functions I want to protect in a way such as vmprotect_ultra_NAME_123123123)

And then you need to be careful to not use any of the vmprotect functionality which depend on vmprotect runtime to be available, as its runtime uses glibc for everything, libcurl for activation stuff, etc.
Only this way you can use vmprotect with musl.
Post Reply