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.
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.
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,. vmpassertdemo1.zip (40 KB)
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