可以从程序里找一些call的调用最终都会走到上面核心代码图位置(文字不太好表达),这个方法可以区分和VC的区别,非独立编译比较容易识别,入口特征和模块特征都有krnln.fnr。
拿到手一个exe 首先看他有没有加壳,要知道其是否加壳我们就得知道不同编译器编译出来的标准OEP是什么样子的。主流语言编译器包括VC,易语言,.net,delphi等等,及不常见得VB,asm等等。
一:VC6 标准OEP:
入口点代码是固定的代码(55 PUSH EBP),入口调用的API也是相同的,其中有的push地址不同程序可能不同;区段有四个也是固定的.text、.rdata、.data和.rsrc。
二:VS13之前标准OEP:
入口点只有两行代码,一个CALL后直接JMP,第一个CALL进去后调用的API也是相同的;区段相对于VC6多了一个.reloc。
三:易语言标准OEP:
(本人没学过E语言,目前也没逆过e程序,不太了解)可以从程序里找一些call的调用最终都会走到上面核心代码图位置(文字不太好表达),这个方法可以区分和VC的区别,非独立编译比较容易识别,入口特征和模块特征都有krnln.fnr。