先说结论:

    • EP:原名EnterPointer,就是入口点的意思,对应的是PE文件中的AddressOfEntryPoint字段,这里的字段是一个RVA(理解就是在内存中从ImageBase(依旧是PE文件中的字段)开始算起的偏移大小),这里是程序的入口点 ;
    • OEP:原名OriginEnterPointer,就是原始入口点的意思;

    有了入口点,为什么还要有一个原始入口点呢?
    一般有两种情况:

    • 一种就是程序被加壳了,EP的位置被写成了别的地址,在运行程序之前,先跳转运行解壳或者检测程序,然后再跳转到原本我们正确的程序入口地址(OEP);
    • 一种情况就是入口点被hook(劫持),同样的道理


    原帖:https://bbs.pediy.com/thread-266919.htm