查找vs2015编译的OEP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找vs2015编译的OEP相关的知识,希望对你有一定的参考价值。

1.写个简单的main函数
···
#include<iostream>
using namespace std;
int main() {
int a = 0;
int b = 3;
int c = 4;
float aq = 44.4;
double c3 = 3432.423432;

return 0;

}
···
下断到return 0
技术分享图片
2.运行到断点
技术分享图片
3.反汇编运行到真下的ret指令
技术分享图片
4.单步走进去 旁边就多了个文件
技术分享图片
5.点击文件
技术分享图片
发现不管是main还是winmain 都是 invoke_main() 调用的
···
static int __cdecl invoke_main() throw()
{
return main(argc, argv, _get_initial_narrow_environment());
}

static int __cdecl invoke_main() throw()
{
    return wWinMain(
        reinterpret_cast<HINSTANCE>(&__ImageBase),
        nullptr,
        _get_wide_winmain_command_line(),
        __scrt_get_show_window_mode());
}

···
技术分享图片
///////////////////////////通过ida查找///////////////////////////////

以上是关于查找vs2015编译的OEP的主要内容,如果未能解决你的问题,请参考以下文章

VS2015 代码片段整理

VS2015使用技巧 打开代码片段C#部分

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

VS2015编译GEOS的debug和release版本

VS2015编译使用Boost库遇到的问题及正确编译使用教程

内嵌补丁(洞穴代码)