逆向工程
- 软件使用限制的去除或功能的添加
- 软件源代码的再获得
- 硬件的复制和模拟
一个逆向工程大师具备的特征:
- 永远保持好奇心,崇尚自由
- 勤奋与毅力
- 精通至少一门编程语言
- 扎实的汇编功底与系统编程知识
逆向分析技术
- 通过软件使用说明和操作格式分析软件
- 静态分析技术,如IDA工具等
- 动态分析技术,如OllyDbg工具等
- 对软件进行粗跟踪
- 对关键部分进行细跟踪
文本字符
- ASCII与Unicode字符集
- 字节存储顺序
- Big-endian:高位字节存入低地址,低位字节存入高地址
- Little-endian:低位字节存入低地址,高位字节存入高地址
Windows操作系统
- Win32 API 函数
- Windows的主要部分在3个动态链接库中
- Kenel(KENEL32.DLL):操作系统核心功能服务,包括进程与线程控制、内存管理、文件访问等
- User(USER32.DLL):负责处理用户接口,包括键盘和鼠标输入、窗口和菜单管理等
- GDI(GDI32.DLL):图形设备接口,允许程序在屏幕和打印机上显示文本和图形
- 对象安全性、注册表操作(ADVAPI32.DLL)、通用控件(COMCTL32.DLL)、公共对话框(COMDLG32.DLL)、用户界面外壳(SHELL32.DLL)和网络(NETAPI32.DLL)
- WOW64是64位Windows操作系统的子系统,可以使大多数32位应用程序在不进行修改的情况下运行在64位操作系统上
- Windows是一个消息驱动式系统
- 系统消息队列
- 应用程序消息队列
- 虚拟内存