【发布时间】:2011-05-30 20:15:02
【问题描述】:
我丢失了我的源代码,我有 vb6 exe,我反编译了 exe,然后我得到了如下所示的反编译代码。现在我想把这段代码转换成vb6源代码或可读格式。
反编译代码:想转成vb6格式
'N 004048D0 55 push ebp
'N 004048D1 8BEC mov ebp, esp
'N 004048D3 83EC0C sub esp, 0Ch
'N 004048D6 6806114000 push L00401106
'N * ref: __vbaExceptHandler
'N 004048DB 64A100000000 mov eax, dword ptr fs:[L00000000]
'N 004048E1 50 push eax
'N 004048E2 64892500000000 mov dword ptr fs:[L00000000], esp
'N 004048E9 83EC08 sub esp, 8
'N 004048EC 53 push ebx
'N 004048ED 56 push esi
'N 004048EE 57 push edi
'N 004048EF 8965F4 mov dword ptr [ebp-0Ch], esp
'N 004048F2 C745F8C0104000 mov dword ptr [ebp-8], L004010C0
'N 004048F9 8B4508 mov eax, dword ptr [ebp+8]
'N 004048FC 8BC8 mov ecx, eax
【问题讨论】:
-
祝你好运。下次,使用源代码控制和备份。
-
编译后的 VB 很难反汇编,而且可能无法重新组装。也许这种工具会有所帮助:vb-decompiler.org
-
类似于this question - 也没有人可以帮忙:(
-
这个 asm 除了在函数开始时加载一些 args 并保存一些调用保留寄存器之外没有做任何事情。我想你可以从中得到一个函数签名。 (IDK 它对
fs:做了什么,也许是某种带有堆栈帧链的异常处理?)
标签: assembly vb6 reverse-engineering decompiling hexdump