草庐IT

windows - 在 Windows 中对 exe 文件进行代码签名时,数字签名存储在哪里?

如问题标题所述。但是,我使用了一个“技巧”,我在运行时使用的可执行文件之后存储额外的数据(参见here)。然而,签署我的可执行文件似乎打破了这个“技巧”,所以我的问题是签名存储在exe(PE)文件中的什么位置?我正在使用signtool从微软签署我的可执行文件。 最佳答案 嵌入式数字签名总是附加到可执行文件的末尾,无论您是否附加了自定义数据。附加数据包含在签名的哈希中。签名的位置和大小保存在PE头的security目录中。提取该信息是这样的:找到并阅读IMAGE_OPTIONAL_HEADERPE文件。IMAGE_OPTIONAL_

c++ - 使用 ShellExecute 打开不带 ".exe"扩展名的可执行文件

我想用ShellExecute打开一个没有“.exe”扩展名的可执行文件。我可以使用CreateProcess,但我更喜欢使用ShellExecute。有什么办法吗?我使用C++和win32api函数。谢谢。 最佳答案 您使用thelpClassmemberoftheSHELLEXECUTEINFOstructure说,“我希望你把这个文件当作一个EXE,即使它看起来不像扩展名。”int_tmain(intargc,_TCHAR*argv[]){SHELLEXECUTEINFOsei={0};sei.cbSize=sizeof(se

c++ - 将可执行文件重命名为 game.exe 会导致运行时延迟 15 秒——奇怪的问题

这动摇了我对计算机和操作系统的理解,让我感到非常不安。我刚刚花了大约一个小时将编译命令的不同迭代输入到g++并且在我的愤怒中我重命名了可执行文件,该可执行文件一直有延迟从game.exe到gameg.exe突然间问题消失了。这里有更多背景知识:我最近注意到,当我运行Eclipse单元测试构建时,当我开始启用SDL的测试时,它会打开SDL窗口并卡住大约20秒,然后才能开始测试.在后续测试(调用SDL_Quit()并重新初始化SDL作为测试过程的一部分)中不存在此延迟。现在我已经确定只有当可执行文件被命名为“game.exe”时才会发生这种情况!我将它重命名为任何其他文件名,它会愉快地运行

c++ - 以有限的生命周期运行 .exe?

我想知道是否可以通过cmd运行程序,除了程序只有5秒才能完成其任务的限制。原因是因为我正在调用的程序可以很快完成(例如,cd"c:/temp"countfiles.exe-loopIfMoreThan2Filesecho"Done"# 最佳答案 只要不需要运行具有相同文件名的其他程序,下面的代码就应该执行此操作,但修复您正在调用的exe确实会更好。cd"c:/temp"start"""countfiles.exe"ping-n5localhosttaskkill/f/imcountfiles.exeecho"Done"编辑:将/im

c++ - exe 可以小于其最大的声明缓冲区吗?

我问的原因:#includeusingnamespacestd;intmain(){unsignedcharfile[512000];unsignedcharkey[512000];for(inti=0;i当我在Windows上使用cl.exe编译它时,我得到一个大小约为31kb的可执行文件。每个缓冲区本身都是500kb。这有什么意义?它的一部分会分配在堆上吗?如果我用数据初始化它们,那么大小是否正确? 最佳答案 在这种情况下,缓冲区将在程序的stackspace上分配。在运行时。无需将它们静态内置到exe文件中。

windows - cmd.exe 是 shell、终端仿真器还是两者兼而有之?

在Linux中,我有shell(例如bash、csh等)和终端仿真器(例如xterm)。Shell执行命令,终端仿真器显示带有白色字母的黑色窗口。它在Windows中的表现如何?我知道那里有cmd.exe,但它是什么?它是一个shell,还是一个终端仿真器,或者两者兼而有之?执行bat文件的解释器又是如何调用的呢?它们是由cmd.exe还是其他东西执行的? 最佳答案 Linux和Windows的架构不同。确实如此-你不应该在没有相似之处的情况下寻找相似之处。Linux基于UNIX,可以追溯到哑终端时代。图形设备高度特化(且昂贵)且不

c++ - 如何告诉 link.exe 使用 wmain 作为入口点。 LNK2019 : unresolved external symbol main referenced in function __tmainCRTStartup

我有一个通过visualstudio构建和链接的项目,但不是通过我们的构建系统。据我所知,如果定义了UNICODE,tchar.h包含一个将_tmain转换为wmain的宏。我检查了预处理器输出,确实_tmain已被wmain替换。包含wmain的文件随后编译得很好,但链接器提示main未定义。LNK2019:函数__tmainCRTStartup中引用的未解析外部符号mainwmain是否被我没有正确包含的另一组宏转换为main(由于缺少-D选项等),或者link.exe是否有一个指定入口点的特殊标志。谢谢。手动指定/entry:mainCRTStartup修复了它。编辑:我刚刚检查

windows - 使用 iscsicli.exe 和 powershell 删除最喜欢的目标并断开 iSCSI 目标

大家好,我想使用iscsicli.exe和MicrosoftiSCSI启动器的powershell删除收藏目标并断开iSCSI目标,有人可以帮我解决这个问题吗? 最佳答案 我继续展示了我为此目的创建的iSCSI模块:http://poshcode.org/3066文档正在处理中,但如果您了解如何使用iscsicli,则使用此iSCSI模块应该没有问题。 关于windows-使用iscsicli.exe和powershell删除最喜欢的目标并断开iSCSI目标,我们在StackOverfl

windows - exe在C#windows服务中运行

我是用c#windows服务写的。当它正常工作时以这种方式显示。boolprocessIsRunning(stringprocess){return(System.Diagnostics.Process.GetProcessesByName(process).Length!=0);}if(!processIsRunning("notepad")){Process.Start("notepad.exe");}当代码无法以这种方式工作时。StreamReaderread=newStreamReader(Environment.GetEnvironmentVariable("appdata"

windows - Windows 上的 Bash - exe 文件的别名

我在Windows上的Ubuntu上使用Bash,这是在Windows10上运行bash的方式。我安装了Creators更新,Ubuntu版本是16.04。我最近在玩npm、node.js和Docker,对于docker,我发现可以在Windows中安装和运行它,只需使用bash的客户端部分,直接调用docker.exe文件Windows的ProgramFiles文件夹。我只是更新我的路径变量以将docker的路径包含为PATH=$PATH:~/mnt/e/Program\Files/Docker/(放入.bashrc)然后我就可以运行来自bash的docker调用docker.exe