Virtual machine: .map file

Post here messages if you have any problems with working of Enigma Protector
Post Reply
iaanus
Posts: 24
Joined: Tue Feb 03, 2009 12:08 pm

Virtual machine: .map file

Post by iaanus » Thu Feb 19, 2009 10:38 am

Hi,

I was trying to use the virtual machine in 1.63 (but the issue may occur even in previous versions). If I don't have a .map file, the function list only contains the function addresses, it's not practically usable, but at least it works. However, if I provide a .map file, I get this error:
Access violation at address 005466F0 in module 'Enigma.exe'. Read of address 02206E70.
In case it's useful: the exe is written in C++ with heavy use of templates, so there are a lot of symbols in the map with 800+ characters in their name.

Enigma
Site Admin
Posts: 2557
Joined: Wed Aug 20, 2008 2:24 pm

Re: Virtual machine: .map file

Post by Enigma » Thu Feb 19, 2009 10:50 am

Yes, it seems may occurs, again, send me (at support@enigmaprotector.com) please your file and map file, any bugs will be solved soon.

Enigma
Site Admin
Posts: 2557
Joined: Wed Aug 20, 2008 2:24 pm

Re: Virtual machine: .map file

Post by Enigma » Thu Feb 19, 2009 11:44 am

Yes, really, there was a limitation in Enigma that maximum length of function in MAP file could not exceed 767 symbols... Problem is now solved. 1.64 version will be bug fixed. My apologies...

iaanus
Posts: 24
Joined: Tue Feb 03, 2009 12:08 pm

Re: Virtual machine: .map file

Post by iaanus » Mon Feb 23, 2009 11:43 am

I actually noticed that a few symbols down several template instantiation levels can easily reach 1500+ characters. However, most of them are related with EH stack unwinding, so virtualizing those functions is not very useful. So if it's too much of a hassle to keep such long symbols, truncation might be an option.

If I can add a feature to the wish list, C++ symbols should be undecorated in the GUI. C++ symbols are easily recognized because the first character is a question mark (?) and the undecorated version can be obtained by calling the WinApi function UnDecorateSymbolName from Dbghelp.dll.

Enigma
Site Admin
Posts: 2557
Joined: Wed Aug 20, 2008 2:24 pm

Re: Virtual machine: .map file

Post by Enigma » Mon Feb 23, 2009 3:03 pm

I actually noticed that a few symbols down several template instantiation levels can easily reach 1500+ characters.
Yes, thanks for the advice, really, I already solved this issue. String maybe any chars length now. And regarding formating, I had the same thoughts that long function names are little non useful and wrote a little function for "undecorating" such long functions. The decision appeared to be very easy, while reading the function name Enigma misses all characters except digits, letters, symbols _ and . Now, VM functions for C++ looks very good!
However, most of them are related with EH stack unwinding, so virtualizing those functions is not very useful. So if it's too much of a hassle to keep such long symbols, truncation might be an option.
Regarding this I have good news too, next version of Enigma VM will fully support SEH! Already done about 70% of work, so hope that after a week or 2 new version will be released!

iaanus
Posts: 24
Joined: Tue Feb 03, 2009 12:08 pm

Re: Virtual machine: .map file

Post by iaanus » Mon Feb 23, 2009 3:46 pm

Enigma wrote:
I actually noticed that a few symbols down several template instantiation levels can easily reach 1500+ characters.
Yes, thanks for the advice, really, I already solved this issue. String maybe any chars length now. And regarding formating, I had the same thoughts that long function names are little non useful and wrote a little function for "undecorating" such long functions. The decision appeared to be very easy, while reading the function name Enigma misses all characters except digits, letters, symbols _ and . Now, VM functions for C++ looks very good!
However, most of them are related with EH stack unwinding, so virtualizing those functions is not very useful. So if it's too much of a hassle to keep such long symbols, truncation might be an option.
Regarding this I have good news too, next version of Enigma VM will fully support SEH! Already done about 70% of work, so hope that after a week or 2 new version will be released!
These are really good news! You are amazing. Enigma is getting better and better. Thanks!

Post Reply