VMProtect 3.0.6 stuck on saving and cost over 19GB ram

Issues related to VMProtect
Post Reply
banxian
Posts: 8
Joined: Thu Jun 26, 2014 11:11 am

VMProtect 3.0.6 stuck on saving and cost over 19GB ram

Post by banxian »

the input file is a mach-o executable, about 34.6MB. after I click compile, a 34.7MB temporary file appeared (with cx5lm8 extension), and progress is keep at "Saving 100%" after 30 minutes.
in windows task manager, memory used by vmprotect increase to 19.9G
when I click "cancel" on progress popup, vmprotect is still eating my memory and refuse to cancel the "saving" processes.
seems cancel signal was losted from UI to backend threads.

project options:
Memory protection: Yes
Pack the output file: Yes
Detection: Nither
Strip debug information: Yes

only one function is protected in this project.

other settings seems using default value.
I am using VMProtect Ultimate 3.0.6 on Windows 7 x64, and have 32GB physics memory.
Attachments
VMPSaving.png
VMPSaving.png (2.19 KiB) Viewed 12219 times
VMPMemory.png
VMPMemory.png (66.72 KiB) Viewed 12219 times
drlai
Posts: 63
Joined: Tue Sep 27, 2011 2:29 pm

Re: VMProtect 3.0.6 stuck on saving and cost over 19GB ram

Post by drlai »

where did you get the vmp 3.0.6 ?

I only have 3.0.5

I want to try new versions as well :)
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: VMProtect 3.0.6 stuck on saving and cost over 19GB ram

Post by Admin »

Could you send us a test example (original binary + VMP files) that shows your problem?
banxian
Posts: 8
Joined: Thu Jun 26, 2014 11:11 am

Re: VMProtect 3.0.6 stuck on saving and cost over 19GB ram

Post by banxian »

my original app is a unreleased jailbreak tool.
but I got it reproduced on an empty demo.
I guess problem is LC_UNIXTHREAD load command.

this demo app have two extra sections and build with xcode 6.3.2 on yosemite with deploy target 10.7.

here is the link
https://www.sendspace.com/file/uhqxqa
I'll send your pw by PrivateMessage later
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: VMProtect 3.0.6 stuck on saving and cost over 19GB ram

Post by Admin »

The fixed version (3.0.6.530) sent to your email. Please check it.
banxian
Posts: 8
Joined: Thu Jun 26, 2014 11:11 am

Re: VMProtect 3.0.6 stuck on saving and cost over 19GB ram

Post by banxian »

Thank you, it's working on my app now.
and then I found a new bug.

I have two function, funca, funcb.
funca have lower address and funcb followed by funca. (verified in IDA Pro)

my funca is ending with a _assert_rtn call in assembler,
and when I try to encrypt both funca and funcb, the disassembler in VMProtect will try to assign funca+funcb's code space to funca, and then stop with "funcb: address already used by funica" error.
if I only encrypt funca, there no error generated, but output file seems freezed on execute funcb.
manually set end of funca will generate wrong files too.
Admin
Site Admin
Posts: 2566
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: VMProtect 3.0.6 stuck on saving and cost over 19GB ram

Post by Admin »

Please send us a test example that shows your problem.
banxian
Posts: 8
Joined: Thu Jun 26, 2014 11:11 am

Re: VMProtect 3.0.6 stuck on saving and cost over 19GB ram

Post by banxian »

both _assert_rtn and _stack_chk_fail will break VMProtect's analyser.
same password used for this file.

by the way, if I use "set end of function" on body, seems external address at tail automatic grayed out (with - mark) in same time.
but I think only the external item not used in function should be gray out,.
Attachments
vmpassertdemo1.zip
simplest demo
(39.97 KiB) Downloaded 382 times
banxian
Posts: 8
Joined: Thu Jun 26, 2014 11:11 am

Re: VMProtect 3.0.6 stuck on saving and cost over 19GB ram

Post by banxian »

I have a version of my app given a "Runtime error at WriteToFile" error durning saving startup code step.
I can't reproduced it by demo binary. maybe something wrong on mach-o header alternative process, for eg, no space to inject new segment/section
Post Reply