不同opCode,Call的作用是不同的。
E8 Call Offset(调用普通函数)(VS)
FF 15 Call Dword ptr [ 地址 ] (调用IAT)(VS)
如何确定目标程序的语言?
1.OEP特征
2.链接器版本
3.区段信息
Borland C++程序 ( BC++ )
1.OEP特征
- OEP是一个短跳转,之后是一个字符串:fb:C++Hook
- 第一个调用的函数:GetModuleHandle
- 二进制特征:
EB 10 66 62 3A 43 2B 2B 48 4F 4F 4B
- IAT函数的调用通常都是 E8 跳转表 + FF25 IAT 地址
2.链接器版本 5.0
3.区段信息
Borland Delphi程序(Delphi)
1.OEP特征
- 二进制特征:
55 8B EC 83 C4 F0 B8 ?? ?? ?? ?? E8 ?? ?? ?? ?? A1 ?? ?? ?? ?? 8B 0