逆向集录_00_不同程序OEP特征总结

  • 在分析/逆向 程序时,如果事先知道这类程序的一些特征,那将会是事半功倍的;
  • 分析/逆向 程序,和写程序不同,比喻的话:写程序像在作案,分析/逆向 程序就像是在破案,对破案来讲,重在假想和推理;

特征1:VC链接器版本

VS版本链接器版本
VS201714.12
VS201514.0, 14.1
VS201312.0
VS201211.0
VS201010.0
VS20089.0
VS20058.0
VC20037.0, 7.1
VC6/VB6/E语言6.0
VC5/BC++5.0
Delphi2.25
VB5

4.20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

特征2:OEP

a0) VB5:

【VB5】的OEP平衡堆栈是 sub esp,0x54

【VB5】的OEP第一个API调用是GetStartupInfoA

【VB5】程序的IAT引用,都是FF15型的

a1) VB6

【VB6】的OEP平衡堆栈是 sub esp,0x4C

【VB6】的OEP第一个API调用是GetStartupInfoA

【VB6】程序的IAT引用,都是FF15型的

 

b0) Delphi

【Delphi】OEP上面是一个地址
【Delphi】OEP处 有5个CALL
【Delphi】OEP 5个CALL之后,全是0
【Delphi】OEP处第一个CALL有GetModuleHandleA调用
【Delphi】的IAT调用是 FF25形式的

b1) BC++

【BC++】 二进制特征:EB1066623A432B2B484F4F4B90
【BC++】 OEP的第一个API调用是 GetModuleHandleA
【BC++】 IAT调用是 FF25形式的

c) VC6/E语言(通过分析,发现二者特征一致,可以判定E语言和VC6如出一辙)

【VC6】的OEP平衡堆栈是 sub esp,0x58 或 sub esp,0x68或add esp, -0x5C

【VC6】的OEP第一个API调用是GetVersion

【VC6】程序的IAT引用,都是FF15型的

d) VS2013

【VS2013】开始处,call xxx; jmp xxx;
【VS2013】的OEP平衡堆栈是sub esp, 0x44
【VS2013】的OEP第一个API调用是GetStartupInfoW
【VS2013】程序的IAT引用,都是FF15型的

 

这些特征,会对分析程序起到一定的帮助作用,这里,并没有完全列出全部的主流程序,希望抛砖引玉吧;

转载于:https://www.cnblogs.com/Reginald-S/p/8727040.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值