Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Decompiler for Code Virtualizer 1.3.8 (Oreans)
Branch: master
Pull request Compare This branch is even with pakt:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
clean_handlers
PyFlags.py
bb.py
common.py
config.py
decompiler.py
decv.py
dump_clean.py
emu.py
example_recover.txt
gen_vmi.py
matcher.py
op.py
op_classes.py
opt.py
pickler.py
readme.txt
recover_x86.py
vm_classes.py
vm_instructions.py
vmi_auto_gen.py
vmi_top_common.py
vmis.txt

readme.txt

DeCV 1.0b 
---------

- What is it
- Usage
- Possible problems

About
-----
DeCV is a decompiler for files protected with Code Virtualizer v1.3.8.0 by 
Oreans Technologies (www.oreans.com).

It's able to devirtualize macro-protected code back to a stack language used
by CV. If anyone is interested enough to write a CVL -> x86 converter, take
a look at recover_x86.py -- it it's not hard to extend this code to handle
more opcodes, but it's quite a bit of work. 

Usage
-----
DeCV was tested on IDA 6.2.x with IDAPython.

To use, open the file you want to deprotect and load decv.py script and wait.
DeCV will automatically perform all tasks.

Possible problems
-----------------
DeCV relies on IDA to correctly disassemble code. If you encounter problems 
during the handler parsing (basic block creation), manifested in errors like:
- outside handler: *address*
- Problem with getting mnemonic @ *address*
they are most likely caused by incorrect disasm generated by IDA. 

To fix, go to the address you see in the error message. If you see garbage
instructions or data mixed with code (DB xxh), undefine whole block by 
pressing 'u', and then directly convert to code, by pressing 'c'. Resulting
code should be cleaner and should not have garbage instructions, or DB xxh
stuff in it.

p_k
gdtr.wordpress.com
twitter.com/pa_kt

Something went wrong with that request. Please try again.