Page 1 of 2
Address is already used by function error
Posted: Sat Feb 17, 2018 11:46 pm
by skiselkov
I'm building a Windows DLL on Linux and using VMProtect on Linux to protect the resulting DLL. But for some reason, some functions seemingly are generating address conflicts (see screenshot). The only way I can work around this is to turn off protection for the conflicting functions, which is not really something I'd want to do. Checking the load addresses, the functions clearly don't use the same addresses, so this must be something internal to VMProtect. Doesn't matter if I use Virtualization, or Virtualization + Mutation. This only happens when trying to protect the windows DLL. The Linux shared library version of the same code is working perfectly OK.
I saw another topic on the forum regarding this, but the thread contained no resolution information. How do I work around this issue?
Re: Address is already used by function error
Posted: Sun Feb 18, 2018 5:41 am
by Admin
Could you send us a test example (original DLL+VMP files) that shows your problem?
Re: Address is already used by function error
Posted: Sun Feb 18, 2018 1:03 pm
by skiselkov
Certainly. Do you have an e-mail or FTP server I can upload this to? I saw
[email protected] being used by some others. Is that a valid target?
Re: Address is already used by function error
Posted: Sun Feb 18, 2018 1:25 pm
by Admin
Re: Address is already used by function error
Posted: Sun Feb 18, 2018 3:05 pm
by skiselkov
E-mail sent. Thank you for your help!
Re: Address is already used by function error
Posted: Mon Feb 19, 2018 9:47 am
by Admin
Please try the 938 build.
Re: Address is already used by function error
Posted: Mon Feb 19, 2018 12:33 pm
by skiselkov
The new version works perfectly! Thank you very much, I'm very impressed at the speed of your support!
Re: Address is already used by function error
Posted: Mon Feb 19, 2018 12:44 pm
by Admin
Thanks

)
Re: Address is already used by function error
Posted: Fri Mar 02, 2018 5:50 pm
by skiselkov
I believe I've run into the same issue when trying to compile a Mac build of my library using VMProtect 3.1.2.938 on Linux. It's not detecting the end marker and reading past the VMProtectEnd marker, resulting in multiple protected code segments overlapping. I've sent the binary to
[email protected]. If you could please take a look at this, I'd very much appreciate any help.
Re: Address is already used by function error
Posted: Mon Mar 05, 2018 4:13 pm
by Admin
Try the 939 build.
Re: Address is already used by function error
Posted: Tue Mar 06, 2018 3:35 am
by skiselkov
Thank you. Now I can compile the file, but when I try to load the dylib into the application, I get this error:
Code: Select all
dlerror:dlopen(.../mac.xpl, 6): no suitable image found. Did find:
.../mac.xpl: malformed mach-o image: segment .vmp1 file content overlaps segment .vmp
.../mac.xpl: malformed mach-o image: segment .vmp1 file content overlaps segment .vmp
I used the compilation defaults in VMProtect, just to make sure I didn't break something on my own.
Re: Address is already used by function error
Posted: Wed Mar 07, 2018 6:47 pm
by skiselkov
Just FYI, I've been able to get the dylib to load into the application when by disabling output packing in the VMProtect options. Is that a known limitation for dynamic libraries on Mac?
Re: Address is already used by function error
Posted: Thu Mar 15, 2018 4:23 am
by Admin
Re: Address is already used by function error
Posted: Wed Mar 21, 2018 10:58 am
by skiselkov
Thank you for clearing that up. Unfortunately I can't change the library loading routines (they're done by a 3rd application), so I had to disable output packing on Mac.
Re: Address is already used by function error
Posted: Tue Apr 03, 2018 6:58 am
by Admin
Try the 947 build.