吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1925|回复: 10
上一主题 下一主题
收起左侧

[Windows] 获取VC++真的入口函数,也是OEP的位置

  [复制链接]
跳转到指定楼层
楼主
zmbilx 发表于 2024-8-22 11:37 回帖奖励
链接:https://www.bilibili.com/video/BV1MJeueDEQg/?spm_id_from=333.788.recommend_more_video.0&vd_source=ed7e1573fed2129df22621f1fcf7fceb
在咱们逆向过程中,经常遇到OEP这个词,也就是程序入口点。其实在C/C++里面,OEP并不是main函数,有另外一个个函数mainCRTStartUP,那么究竟做了什么事情呢?这就是我这个视频讲述的东西。如果有更好的理解和没有讲到的东西,大家可以跟帖子,咱们一起完善。

免费评分

参与人数 7吾爱币 +12 热心值 +7 收起 理由
huiyichenjiyi + 1 + 1 用心讨论,共获提升!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
asciibase64 + 1 谢谢@Thanks!
Qq1169648682 + 1 + 1 热心回复!
liyitong + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
CHIEFLY123 + 1 + 1 我很赞同!
朱朱你堕落了 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
qq465881818 发表于 2024-8-22 14:40
vc编译生成的exe文件,双击运行后,建立新进程的地址空间,然后主线程开始运行。


mainCRTStartup() ANSI + 控制台程序
wmainCRTStartup() UNICODE + 控制台程序
WinMainCRTStartup() ANSI + GUI程序
wWinMainCRTStartup() UNICODE + GUI程序
程序一进来通过jmp指令来到前面列出的四个启动函数,它们再调用最终的启动器_tmainCRTStartup。

这个启动器干了几件大事,分别是,使用GetStartupInfo获取进程启动信息,然后使用_inititem初始化全局变量和对象,最后调用我们main、wmain、WinMain、wWinMain进入我们的程序。。。

所以,从编程语言的角度来说,main函数就是入口函数,这一点毋庸置疑。至于mainCRTStartup,则是VC++这个编译器额外增加的包含C/C++运行时库初始化操作在内的封装函数,可以算可执行文件的入口函数。
3#
cnmingxing 发表于 2024-8-22 16:42
4#
AuroraVerses 发表于 2024-8-22 18:17
5#
justwz 发表于 2024-8-22 21:02
跟着大佬学逆向
6#
ycb510725 发表于 2024-8-23 09:35
对函数解剖很深刻,向大佬学习
7#
gusong125 发表于 2024-8-23 21:15
感谢大佬分享
8#
521423 发表于 2024-8-24 11:44
很好,厉害
9#
 楼主| zmbilx 发表于 2024-8-26 17:00 |楼主
qq465881818 发表于 2024-8-22 14:40
vc编译生成的exe文件,双击运行后,建立新进程的地址空间,然后主线程开始运行。

坛友,说的非常明白,逆向角度的OEP和编程角度的OEP确实是两个不同的概念。给坛友点赞!
10#
AuroraVerses 发表于 2024-9-2 22:01
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 00:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表