一个EXE的问题!

Topfortune 2003-10-10 09:26:17
一个EXE文件,如何判断它是Console App还是Windows App?
...全文
31 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Topfortune 2003-10-13
  • 打赏
  • 举报
回复
问题已解决,感谢Kingore
LocalVar 2003-10-10
  • 打赏
  • 举报
回复
忘了说了,pe文件头的c++名字是
IMAGE_NT_HEADERS
在winnt.h中定义
LocalVar 2003-10-10
  • 打赏
  • 举报
回复
首先定位pe文件头,通过IMAGE_DOS_HEADER(从文件的开始位置开始)的e_lfnew字段定位pe文件头
pe文件头.OptionalHeader.SubSystem字段决定了是gui还是console,它可能有下面两个值

IMAGE_SUBSYSTEM_WINDOWS_GUI
IMAGE_SUBSYSTEM_WINDOWS_CUI
JetGeng 2003-10-10
  • 打赏
  • 举报
回复
你可以使用vc中带的DEPENDS.EXE工具察看该程序调用了那些dll,如果有user32.dll的话,那他一般就是Windows App。(一般是这样)
Topfortune 2003-10-10
  • 打赏
  • 举报
回复
哪位高手指点一下?!
Topfortune 2003-10-10
  • 打赏
  • 举报
回复
to AlwaysS(傲微氏):
头两个字节是一样的。
to yintongshun(踏雪有痕):
我不想让EXE运行起来,只想open这个EXE文件就能判断。
yintongshun 2003-10-10
  • 打赏
  • 举报
回复
GetStdHandle ,GetStartupInfo ,GetConsoleMode
AlwaysS 2003-10-10
  • 打赏
  • 举报
回复
你判断EXE文件的头两个字节,不同的文件类型有不同的标志,具体是什么我忘了
Topfortune 2003-10-10
  • 打赏
  • 举报
回复
我需要在程序里面判断。
在我的程序中,以二进制打开一个EXE文件,如何根据他的内容判断它是一个CUI还是GUI?
AlwaysS 2003-10-10
  • 打赏
  • 举报
回复
运行一下不就看出来了吗?
Topfortune 2003-10-10
  • 打赏
  • 举报
回复
哪位高手指点一下?!
allenq 2003-10-10
  • 打赏
  • 举报
回复
也给我一个!
allenq@163.com
Kingore 2003-10-10
  • 打赏
  • 举报
回复
已发。
Topfortune 2003-10-10
  • 打赏
  • 举报
回复
我的e-mail是:topfortune@sohu.com
感谢Kingore
Kingore 2003-10-10
  • 打赏
  • 举报
回复
或者你发程序过来。
我帮你改动一下。
zhonghui-panda@sohu.com
Kingore 2003-10-10
  • 打赏
  • 举报
回复
LocalVar的方法行得通/。

我做过一个EXE(DLL)文件分析的工具/
你可以拿去参考一下。
给我EMAIL?》
Topfortune 2003-10-10
  • 打赏
  • 举报
回复
LocalVar能给些代码吗?这方面我没设计过。
wwww2 2003-10-10
  • 打赏
  • 举报
回复
呵呵,刚好来晚了一步,LocalVar的方法完全正确

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧