本文为本人在大神论坛破解脱壳学习笔记之一,为本人对以往所学的回顾和总结,可能会有谬误之处,欢迎大家指出。
陆续将不断有笔记放出,希望能对想要入门的萌新有所帮助,一起进步
反汇编分析C语言
环境:VC6.0
为什么不使用Visual Studio?
Visual Studio的反汇编代码更复杂一些,如下为VS2019的空函数反汇编代码
可以看到有CheckForDebuggerJustMyCode
等一些额外的函数
为了便于理解和学习,便采用VC6.0来进行学习
空函数反汇编
#include "stdafx.h"
//空函数
void function(){
}
int main(int argc, char* argv[])
{
//调用空函数
function();
return 0;
}
我们通过反汇编来分析这段空函数
函数外部
12: function();
00401048 call @ILT+5(function) (0040100a)
13: return 0;
0040104D xor eax,eax
14: }
0040104F pop edi
00401050 pop esi
00401051 pop ebx
00401052 add esp,40h
00401055 cmp ebp,esp
00401057 call __chkesp (004010e0)
0040105C mov esp,ebp
0040105E pop ebp
0040105F ret
函数内部