-
-
[讨论]反编译一段汇编代码
-
发表于:
2007-12-19 21:49
9111
-
fun(int a1)
{
int v1;//地址在:ebp-4
PUSH EBP
MOV EBP,ESP
PUSH ECX
MOV DWORD PTR SS:[EBP-4],3
MOV EAX,DWORD PTR SS:[EBP+8]
CDQ
IDIV DWORD PTR SS:[EBP-4]
MOV EAX,EDX
MOV ESP,EBP
POP EBP
RETN
}
在提供函数原型和局部变量信息的情况下,谁能写一个程序将上面的汇编代码自动反编译为C代码?
输入的标准格式为:
int fun(int a1 = [ebp+8])
{
int v1 = [ebp-4];
__asm{
PUSH EBP
MOV EBP,ESP
PUSH ECX
MOV DWORD PTR SS:[EBP-4],3
MOV EAX,DWORD PTR SS:[EBP+8]
CDQ
IDIV DWORD PTR SS:[EBP-4]
MOV EAX,EDX
MOV ESP,EBP
POP EBP
RETN
}
}
提示:可以编写词法分析器和语法分析器对上面的代码进行分析,给出算法即可,不必实际编写程序。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课