首页
社区
课程
招聘
[旧帖] [求助]Win32 Application 启动时调用GetStdHandle的疑惑 0.00雪花
发表于: 2008-10-28 14:39 5687

[旧帖] [求助]Win32 Application 启动时调用GetStdHandle的疑惑 0.00雪花

2008-10-28 14:39
5687
在学习《加密解密(第三版)》第四章 4.1节 启动函数时有个疑问:

我在逆向ReverseMe时,详细的跟踪了程序启动时的每一个call,发现程序调用了GetStdHandle这个函数,这个函数不是用来获得标准输入输出的句柄吗,就是控制台程序才需要,请问为什么Win32应用程序启动时也要调用它?

希望大家不吝赐教,谢谢啦~~

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
没人知道吗??
2008-10-28 18:31
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不清楚具体在这里什么用途。不过GUI的程序也可以有控制台窗口。链接的时候指定/SUBSYSTEM:WINDOWS /SUBSYSTEM:CONSOLE就可以了。可能为了调试用的,输出一些调试信息?这样正式版的程序只要在链接的时候改一下参数就看不到控制台窗口了。
2008-10-28 19:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢楼上的回答
不过楼上说的链接时指定/SUBSYSTEM:CONSOLE  的程序属于Win32 Console Application,其主函数是main 不是WinMain。
我调试的那个是Win32 Application程序,而且程序运行时不会出现控制台窗口的
所以我感到很疑惑。
2008-10-28 21:56
0
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
http://www.qiongzhu.com.cn/blog/article.asp?id=186

网上搜一下有很多相关的文章。以前看的《软件加密技术内幕》好像也提到过。
2008-10-29 02:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我链接选项指定的是/SUBSYSTEM:WINDOWS  然后在Release 和Debug下分别链接了一下,并逆了下,发现Release版的程序启动时调用了GetStdHandle,但Debug版的没有调用。

在网上搜了下Debug版和Release版的差别,没有谈到这个问题的

期待解答~~~
2008-10-30 13:01
0
游客
登录 | 注册 方可回帖
返回
//