Exetools

Exetools (https://forum.exetools.com/index.php)
-   Community Tools (https://forum.exetools.com/forumdisplay.php?f=47)
-   -   VM decompiler tool (VMProtect, CodeVirtualizer) (https://forum.exetools.com/showthread.php?t=13084)

Vam 02-26-2011 01:15

Quote:

I will send the target to ur PM
Has not understood in what a problem. At me Analyse all VM references passes successfully. Truth IAT restores not completely. Finds some inputs in VM. Decompiling goes, but there are errors, the code of functions is desirable for decompiling, that the point of an entry in VM was in a way of execution of a code.
When you give the information from trc or log a file that inform their address.

ahmadmansoor 02-26-2011 02:16

yes ... yes . it is VMware problem .
olly fail - maybe out of memory -
I try it on Vista -My OS- without Vmware .
it reach to 100 % and found all reference .
then olly hang .

ahmadmansoor 02-26-2011 04:35

now it not work as well .
it reach 21.5% then hange .
dose OS affect on this plugin.
can u share ur olly which u make the tests on ?
Thanks

Vam 02-26-2011 21:44

Use clean WinXp SP3 or VMWare with WinXP SP3 then problems should not be.
Some options of assembler Olly influence quality of a code and analysis VMSweeper. Look the configuration on which the plugin was created and tested. Options which result in error at analysis/decompiling of a code are selected.
[Settings]
IDEAL disassembling mode=0
Disassemble in lowercase=0
Separate arguments with TAB=0
Extra space between arguments=0
Show default segments=1
Always show memory size=1
NEAR jump modifiers=0
Show local module names=1
Show symbolic addresses=0
Use short form of string commands=0
Use RET instead of RETN=0
SSE size decoding mode=0
Size sensitive mnemonics=1
Top of FPU stack=1
Decode registers for any IP=0
Automatically select register type=0
Decode SSE registers=0

Vam 02-26-2011 22:17

Quote:

Originally Posted by ahmadmansoor (Post 71720)
can u share ur olly which u make the tests on ?

Has checked up your program with WMSweeper v1.4 beta 9 (before checked with last version modified on today), it is valid at the end of the analysis there is an exception. So wait the following version of a plugin....

ahmadmansoor 02-27-2011 20:59

Ok VAM .. so my Olly still life and not aged :p .
so I have to wait for next version ... pls I can't wait -longing to see the new one - :rolleyes: ....when it will be :D .
many thanks for ur nice work

Vam 02-27-2011 23:30

New version VMSweeper v1.4 beta 10

Added:
1. Improved layout is completely erased IAT.
2. Improved detection of the names of API functions.
3. Resizing Virtual Segment intermediate code (VMS size option in the ini file).
4. Tracking the memory contents and the entire stack to create intermediate code.
5. Improved devirtualization conditional jumps.
6. Code analyzer detects two types of code: a clean and obfuscate. They were previously in the group "Cancelled".
7. Devirtualization instruction sub esp without flags.
8. Processing of the entry to VM type call xx (can decompile any intermediate input in the VM).
9. Automatic mode code analysis VM. Go to this mode on demand after the first restart the application.
Code obtained in this mode can be worse than the code obtained in manual mode (Ctrl+F2 -> [F9] -> Shift+F1), but
allows you to quickly check whether the decompiled code. In this mode works only static code analyzer.
Fixed:
1. Processing of transit (blank) out of the VM.
2. Fixed exception when restoring compliance VM registers and CPU.
3. Determining the number of arguments obfuscate function.
4. Pikode can be detected in any segment of the analyzed application.

w_antoni 02-28-2011 01:10

this tool doesnt open in win7 or compilation wrong.
please fix.
thank.

Vam 02-28-2011 01:27

Quote:

Originally Posted by w_antoni (Post 71742)
this tool doesnt open in win7 or compilation wrong.

The problem here is not in the plugin VMSweeper, but in the OllyDbg.
Use clean WinXp SP3 or VMWare with WinXP SP3 then problems should not be.

ahmadmansoor 03-02-2011 03:09

2 Attachment(s)
Hi Vam ....
I have this problem now !!!
pls can u check it again :rolleyes:
Thanks

Vam 03-02-2011 14:15

1. Sweeper not yet able to fully restore multisection IAT with a partially erased sections where functions one API library are located in different sections.
2. Tell me a range of segments of code and the VM and address of the decoded function on which this error occurs.

ahmadmansoor 03-02-2011 17:25

I will provide u with details when I go back to home .
and I will make a small flash movie .
Thanks for support ... great work from the best Coder .

ahmadmansoor 03-02-2011 17:25

@Vam :Check ur PM
I think when it need to rebuild the IAt it fail ...

Vam 03-03-2011 14:49

At OEP 42E441 perform decoding (F1) makes no sense, there is no VM. Decoding functions may only address the status of Postponed. In your program, three of these addresses and they are decompiled successfully (until the section a12 final).
For the beginning we decompile the test example, if before it did, and learn ways to manage Sweeper.
Processing of import will be done in the next version Sweeper.

peexe 03-28-2011 20:11

it support themida vm?

progopis 03-28-2011 20:48

For Themida look here (but only CISC VM):

http://forum.exetools.com/showpost.php?p=72196&postcount=5

estelle 04-19-2011 13:13

wait for update ������

V0ldemAr 05-17-2011 19:03

beta 11
 
http://rghost.net/6720721

Added:
1) Handlers of FPU instructions fclex, fldcw, fstcw, fldz, fld1, fistp
2) Window with code segments input and VM has 3 buttons now:
- Analyze - Start analysis of VM entries and import restoration.
- Accept - Apply entered values of segments without analysis
- Cancel - Exit without saving any changes

3) Display API names in p-code maps, relocations and function callings
4) Devirtualization of add esp, xx instruction
5) Improved restoration of partially wiped IAT
6) Import recovery such as: push reg; call vm -> call [api].
7) push/pop reg; call vm -> mov reg,[api].
8) Improved recognition of VM entries
9) Improved detection of VM loop

Fixed:
1) Code conversion: pop xx; jmp xx into retn.
2) Restructure of intermediate code. Blocks intersections.
3) Installed several exceptions during code devirtualization.
4) Removal of anti-dump code.

Translated from Russian

����ҧѧӧݧ֧ߧ�:
1. ���ҧ�ѧҧ���ڧܧ� FPU �ڧߧ����ܧ�ڧ�: fclex, fldcw, fstcw, fldz, fld1, fistp.
2. ���ܧߧ� �ӧӧ�է� �٧ߧѧ�֧ߧڧ� ��֧ԧާ֧ߧ��� �ܧ�է� �� ���� ��֧�֧�� �ڧާ֧֧� ���� �ܧߧ��ܧ�:
- Analyze - �ߧѧ�ѧ�� �ѧߧѧݧڧ� ����֧� �ӧ��է� �� ���� �� �ӧ����ѧߧ�ӧݧ֧ߧڧ� �ڧާ�����.
- Accept - ���ڧߧ��� �ӧӧ֧է֧ߧߧ��� �٧ߧѧ�֧ߧڧ� ��֧ԧާ֧ߧ��� �ҧ֧� �ӧ����ݧߧ֧ߧڧ� �ѧߧѧݧڧ٧�.
- Cancel - �ӧ��ۧ�� �ߧ� ����ڧ٧ӧ�է� �ߧڧܧѧܧڧ� �ڧ٧ާ֧ߧ֧ߧڧ�.
3. �����ӧ�� �ڧާ֧� API ���ߧܧ�ڧ� �� �ܧѧ��ѧ� ��ڧܧ�է�, ��֧ݧ�ܧ�� �� �ӧ��٧�ӧ�� ���ߧܧ�ڧ�.
4. ���֧ӧڧ���ѧݧڧ٧ѧ�ڧ� �ڧߧ����ܧ�ڧ� add esp, xx
5. ���ݧ���֧ߧ� �ӧ����ѧߧ�ӧݧ֧ߧڧ� ��ѧ��ڧ�ߧ� �٧ѧ�֧���� IAT.
6. �������ѧߧ�ӧݧ֧ߧڧ� �ڧާ����� ��ڧ��: push reg; call vm -> call [api].
7. �������ѧߧ�ӧݧ֧ߧڧ� �ڧާ����� ��ڧ��: push/pop reg; call vm -> mov reg,[api].
8. ���ݧ���֧ߧ� ��ѧ���٧ߧѧӧѧߧڧ� ����֧� �ӧ��է� �� ����.
9. ���ݧ���֧ߧ� ��ѧ���٧ߧѧӧѧߧڧ� ��ڧܧݧ� ����.
������ѧӧݧ֧ߧ�:
1. ����֧�ҧ�ѧ٧�ӧѧߧڧ� �ܧ�է� pop xx; jmp xx �� retn.
2. ���֧����ܧ���ڧ٧ѧ�ڧ� ����ާܧ�է�. ���֧�֧�֧�֧ߧڧ� �ҧݧ�ܧ��.
3. ������ѧߧ֧ߧ� �ߧ֧�ܧ�ݧ�ܧ� �ڧ�ܧݧ��֧ߧڧ� ���� �է֧ӧڧ���ѧݧڧ٧ѧ�ڧ� �ܧ�է�.
4. ���էѧݧ֧ߧڧ� �ܧ�է� �ѧߧ�ڧէѧާ��.

PS: Vam correct me if I translated it incorrectly and you meant something else :)

estelle 05-18-2011 13:07

antidebuger function can only be used in windowsxp system

BiTdEcOdE 06-14-2011 10:29

Quote:

Originally Posted by Vam (Post 71729)
Use clean WinXp SP3 or VMWare with WinXP SP3 then problems should not be.
Some options of assembler Olly influence quality of a code and analysis VMSweeper.

thx for Vam's useful tips. vmsweeper,powerful tool! :)

Av0id 06-19-2011 22:42

There is update for this tool

Download link:
Code:

http://rghost.ru/11532971
Original thread:
Code:

http://www.exelab.ru/f/index.php?action=vthread&forum=13&topic=15906&page=10#14
What was fixed:
Code:

������ѧӧݧ֧ߧ�:
1. fixed some errors with CodeVirtualizer decompiler, introduced with VMProtect decompiler development

Credits goes to Vamit

estelle 06-29-2011 17:08

Hope of a tut on vms plug to use and set

Vam 06-29-2011 23:48

Quote:

Originally Posted by estelle (Post 73788)
Hope of a tut on vms plug to use and set

Read and look here
Read a topic, decompile a test example, all is detail written, even from video...
Do not forget to read also chm help file.

estelle 07-06-2011 18:58

thank vam:p:p:p

fiy 07-08-2011 17:34

good,great tools.

orchid88 07-25-2011 16:49

Dear Vam,
I used the beta12,the iat of my application recovered successfully.But none of the Ponsponed can be decoded,such as 0x00411dfe.
When I tried to decode 0x0040DE5F where was labeled False code VM entry point,there came an error,
"Extra input after operand in push dword ptr ds:[0x0043905c]+0x7ddb8235+0x48899ea0".

PS:I can send you my application,which the oep is 0x0041E7EB at your wish.

JeRRy 08-03-2011 17:51

1 Attachment(s)
VMSweeper v1.4 beta 13

Quote:

Fixed:
1. Overflow the text buffer in the formation of long expressions, which led to the exclusion of the stage of code analysis.

arnix 10-28-2011 06:02

1 Attachment(s)
New version VMSweeper v1.4 beta 14

Quote:

Added:
1. CodeVirtualizer: Removing of initialized, but unused register RVM_TMP.
2. CodeVirtualizer: Correction of the top of the VM stack on its extension
3. CodeVirtualizer: Correction of the bottom of the VM stack on entering into the intermediate session of the VM.
4. CodeVirtualizer: Output into trc file the entry address of the next VM session.
5. Processing the neg operation in the constant expressions
6. Handling overflow exceptions when emulating div and idiv.
7. Improved the procedure of determinating the number of arguments in the called functions because OllyDbg sometimes makes errors doing that.
8. Simultaneous handling of constant expressions placed in the pair of registers xL - xH.
9. Minimization of the size of the generated code by removing the unnecessary ds: prefix.
10. VmProtect: Improved the p-code encoding algorithm (in the VM loop) analyzer.
11. VmProtect: Handler for FPU operation fsubr.
12. Removed the "Stop on EntryCall" window in manual mode.

Fixed:
1. Conditional jump from the VM primitive to the beginning of the VM loop is not the end of the primitive.
2. Analyze the OF flag on the extended byte-variables.

BoRoV 11-03-2011 21:53

1 Attachment(s)
03.11.2011 VMSweeper 1.4 beta 15
Posted:
1. CodeVirtualizer: Improved detection of primitive CMC.
2. CodeVirtualizer: Added handling setne.
3. CodeVirtualizer: Improved detection of upper byte registers (ah, ch, dh, bh).
4. VmProtect: Implemented processing bias VM code (relocation VM code).
5. VmProtect: Handlers FPU instructions fst, fisub.
Fixed:
1. CodeVirtualizer: Inserting a direct asm instruction in the source code.
2. VmProtect: Moving operator changes the flags to show their flag.
3. VmProtect: Restoration of imports, sometimes instead call [api] restored jmp [api].

estelle 11-05-2011 12:55

very nice tools

BiT-H@cK 11-06-2011 23:45

Thank you for this tool, guys!

cnbragon 11-12-2011 00:35

For VMSweeper 1.4 beta 15, it still can't process some CodeVirtulizer VM.
Such as the vmcode in EmEditor.

sendersu 11-12-2011 02:33

cnbragon
from what time EmEditor (by Emurasoft?) uses vm?

cnbragon 11-12-2011 18:11

Quote:

Originally Posted by sendersu (Post 75814)
cnbragon
from what time EmEditor (by Emurasoft?) uses vm?

About one year ago, from v10

phongvucba 11-18-2011 19:00

I can't donwload file Attached..:(. Please upload from Mediafire for everybody..
Thank much :)

niculaita 11-20-2011 00:35

I try to aply to this http://forum.exetools.com/showthread.php?t=13884 could anybody do more?

niculaita 01-02-2012 03:44

please make a tutorial applying VMSweeper

Vam 01-05-2012 03:18

Read a WMSwweeper.chm or look a video in the beginning of this topic

FoxB 04-12-2012 22:08

New: VMSweeper v1.5 beta 0
http://rghost.ru/37543927

JeRRy 04-13-2012 02:13

1 Attachment(s)
VMSweeper 1.5 Beta 0 (12.04.2012)
Quote:

Added:
1. Process handler of the primitive simple function call without arguments and return values.
2. Recognition of primitive Push/Pop RvmLong p-code with indexation.
3. Handling of multiple VMs on a single function and a batch as well as separate call of the function ("Decompilate packet" option in the ini file).
It is recommended to disable it, but if there are difficulties finding entry points in the batch function, then you should enable it.
4. Decompiling the code in the areas of change registers ("Decompilate change register zones" option in the ini file). When enabled this option creates an additional "junk" in the log file. Its recommend to enable this option only if the generated code without this option has missing instructions.
5. Many small cosmetic changes.

Fixed:
1. Restructuring of a code.
2. Determining the size of the arguments of called functions.
Download:
http://www.mediafire.com/?6a6vrjya141cqyg


All times are GMT +8. The time now is 18:37.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX