├── addrinfo.h
├── waitfordisasm.qrc
├── dbg_res.rc
├── main_ico.ico
├── icons
├── Virus-50.ico
└── Virus-50.png
├── sdk
├── TitanEngine_x64.a
├── TitanEngine_x86.a
├── memdump.h
├── interfacedisasm.h
├── vm_instruction_set.h
├── old
│ └── SDK.h
└── SDK.h
├── resources.qrc
├── README.md
├── main.cpp
├── memdump.h
├── types.h
├── dialogboxwaitfordisasm.cpp
├── _global.h
├── dialogboxwaitfordisasm.h
├── interfacedisasm.h
├── interfacememory.h
├── dialogboxwaitfordisasm.ui
├── interfacedisasm.cpp
├── interface_dbg.pro
├── core_decompiler.h
├── interfacememory.cpp
├── mainwindow.h
├── debugger.h
├── vm_instruction_set.h
├── core_decompiler.cpp
├── mainwindow.ui
├── debugger.cpp
└── mainwindow.cpp
/addrinfo.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/waitfordisasm.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/dbg_res.rc:
--------------------------------------------------------------------------------
1 | IDI_ICON1 ICON DISCARDABLE "main_ico.ico"
--------------------------------------------------------------------------------
/main_ico.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uvbs/VMPDBG2/HEAD/main_ico.ico
--------------------------------------------------------------------------------
/icons/Virus-50.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uvbs/VMPDBG2/HEAD/icons/Virus-50.ico
--------------------------------------------------------------------------------
/icons/Virus-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uvbs/VMPDBG2/HEAD/icons/Virus-50.png
--------------------------------------------------------------------------------
/sdk/TitanEngine_x64.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uvbs/VMPDBG2/HEAD/sdk/TitanEngine_x64.a
--------------------------------------------------------------------------------
/sdk/TitanEngine_x86.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uvbs/VMPDBG2/HEAD/sdk/TitanEngine_x86.a
--------------------------------------------------------------------------------
/sdk/memdump.h:
--------------------------------------------------------------------------------
1 | #ifndef MEMDUMP_H
2 | #define MEMDUMP_H
3 |
4 | #endif // MEMDUMP_H
5 |
6 |
--------------------------------------------------------------------------------
/sdk/interfacedisasm.h:
--------------------------------------------------------------------------------
1 | #ifndef INTERFACEDISASM_H
2 | #define INTERFACEDISASM_H
3 |
4 | #endif // INTERFACEDISASM_H
5 |
6 |
--------------------------------------------------------------------------------
/sdk/vm_instruction_set.h:
--------------------------------------------------------------------------------
1 | #ifndef VM_INSTRUCTION_SET_H
2 | #define VM_INSTRUCTION_SET_H
3 |
4 | #endif // VM_INSTRUCTION_SET_H
5 |
6 |
--------------------------------------------------------------------------------
/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | icons/Virus-50.png
4 | icons/Virus-50.ico
5 |
6 |
7 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # VMPDBG2
2 |
3 | VMPDBG is a (GUI included) debugger and devirtualizer for x86 obfuscted code that was obfuscated by VMProtect. This project was designed only for scientific purposes and / or malware analysis.
4 |
--------------------------------------------------------------------------------
/main.cpp:
--------------------------------------------------------------------------------
1 | #include "mainwindow.h"
2 | #include
3 |
4 | int main(int argc, char *argv[])
5 | {
6 | QApplication a(argc, argv);
7 | MainWindow w;
8 | w.show();
9 |
10 | return a.exec();
11 | }
12 |
--------------------------------------------------------------------------------
/memdump.h:
--------------------------------------------------------------------------------
1 | #ifndef MEMDUMP_H
2 | #define MEMDUMP_H
3 |
4 | #include
5 |
6 | class memdump{
7 | public:
8 | uint32_t page_size;
9 | uint32_t current_address;
10 |
11 | };
12 |
13 |
14 | #endif // MEMDUMP_H
15 |
16 |
--------------------------------------------------------------------------------
/types.h:
--------------------------------------------------------------------------------
1 | #ifndef TYPES_H
2 | #define TYPES_H
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 |
10 | typedef std::vector type_handler;
11 | typedef std::tuple> hashmap;
12 | #endif // TYPES_H
13 |
14 |
--------------------------------------------------------------------------------
/dialogboxwaitfordisasm.cpp:
--------------------------------------------------------------------------------
1 | #include "dialogboxwaitfordisasm.h"
2 | #include "ui_dialogboxwaitfordisasm.h"
3 |
4 | DialogBoxWaitForDisasm::DialogBoxWaitForDisasm(QWidget *parent) :
5 | QDialog(parent),
6 | ui(new Ui::DialogBoxWaitForDisasm)
7 | {
8 | ui->setupUi(this);
9 | }
10 |
11 | DialogBoxWaitForDisasm::~DialogBoxWaitForDisasm()
12 | {
13 | delete ui;
14 | }
15 |
--------------------------------------------------------------------------------
/_global.h:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include