先说结论:
- EP:原名EnterPointer,就是入口点的意思,对应的是PE文件中的AddressOfEntryPoint字段,这里的字段是一个RVA(理解就是在内存中从ImageBase(依旧是PE文件中的字段)开始算起的偏移大小),这里是程序的入口点 ;
- OEP:原名OriginEnterPointer,就是原始入口点的意思;
有了入口点,为什么还要有一个原始入口点呢?
一般有两种情况:
- 一种就是程序被加壳了,EP的位置被写成了别的地址,在运行程序之前,先跳转运行解壳或者检测程序,然后再跳转到原本我们正确的程序入口地址(OEP);
- 一种情况就是入口点被hook(劫持),同样的道理