熟悉工作环境和相关工具
基础知识
1、数据结构基础知识,比如栈顶存取元素
2、汇编基础知识,寻址方式和指令调用
3、C/C++ 语言基础知识,指针,虚函数,继承等概念
环境和工具
一、调试工具 Microsoft VC++ 6.0
VC6很经典,但是这样的老古董,在win7或者win10有各种问题,需要配置一下
1、显示行号插件
2、注释的宏,注释快捷键
3、解决VC6 无法在win10关闭debug窗口的问题
4、visual assis x 代码提示插件
5、visual assis x 过期 需破解
6、插入文件到工程
使用V6,将C++源码反汇编,DEBUG 方便学习
二、OllyDBG
Release版的exe,用OD进行调试分析
Tips1: 汇编指令对应的机器码可以查询Intel的指令帮助手册
Tips2: Win32API查询MSDN文档
三、反汇编静态分析工具IDA
动态调试 VC6和OD
静态调试分析适用的场合,比如无法单独运行的模块,病毒分析,设备环境不兼容导致无法运行,那么就需要直接把程序的二进制代码翻译成汇编语言,方便阅读。由目标软件的二进制代码到汇编代码的翻译过程,就称之为反汇编。OD可以反汇编,但它毕竟是调试工具,反汇编分析功能有限,不适用静态分析。
IDA函数名称识别。是因为存在ida的安装目录有sig文件
如果自己写的程序想让ida识别出函数名称,需要自己制作sig文件,并放置到ida的安装目录。使用快捷键shift+F5加载到分析工程,方便调试