如何在不实际运行的情况下测试可执行文件?

克里斯

我想知道如何在不运行可执行文件的情况下测试可执行文件。

我正在尝试编写一个返回布尔值的函数,该函数指示程序是否将运行。

我的问题是,运行无法运行的程序会导致Windows错误消息“ 16位应用程序与Windows的64位版本不兼容”,这根本不是所希望的。

我需要有关如何修改代码以编程方式而不是手动跳过消息的建议(按OK关闭弹出窗口太慢)。

我目前的代码:

        try
        {
            Process.Start(exePath);
            return true;
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
            return false;
        }

我希望这个错误会在99.9%的时间内出现,因为我的代码旨在反复测试随机生成的可执行文件,直到其中一个可执行为止。

夹克

假设16位程序永远不会运行,则可以读取exe标头并确定它是否是PE映像。如果没有,甚至不要尝试运行它。以下是exe文件的十六进制转储。0x3c处的字节是PE标头的偏移量。如果您再看那里,应该会看到e0。现在,在偏移量e0处,您将找到字母“ PE”。

00000000  4d 5a 90 00 03 00 00 00  04 00 00 00 ff ff 00 00  |MZ..............|
00000010  b8 00 00 00 00 00 00 00  40 00 00 00 00 00 00 00  |........@.......|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 e0 00 00 00  |................|
00000040  0e 1f ba 0e 00 b4 09 cd  21 b8 01 4c cd 21 54 68  |........!..L.!Th|
00000050  69 73 20 70 72 6f 67 72  61 6d 20 63 61 6e 6e 6f  |is program canno|
00000060  74 20 62 65 20 72 75 6e  20 69 6e 20 44 4f 53 20  |t be run in DOS |
00000070  6d 6f 64 65 2e 0d 0d 0a  24 00 00 00 00 00 00 00  |mode....$.......|
00000080  2e 1c ae 49 6a 7d c0 1a  6a 7d c0 1a 6a 7d c0 1a  |...Ij}..j}..j}..|
00000090  6a 7d c1 1a e2 7d c0 1a  1c e0 bb 1a 65 7d c0 1a  |j}...}......e}..|
000000a0  1c e0 bd 1a 6b 7d c0 1a  1c e0 ad 1a 77 7d c0 1a  |....k}......w}..|
000000b0  a9 72 9e 1a 6b 7d c0 1a  1c e0 b8 1a 6b 7d c0 1a  |.r..k}......k}..|
000000c0  52 69 63 68 6a 7d c0 1a  00 00 00 00 00 00 00 00  |Richj}..........|
000000d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000e0  50 45 00 00 64 86 04 00  30 04 ba 49 00 00 00 00  |PE..d...0..I....|

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不使用Java -jar的情况下运行Java可执行文件

来自分类Dev

如何在不添加 ./ 的情况下运行可执行文件

来自分类Dev

如何在不安装cabal或ghc的情况下运行haskell可执行文件(cabal项目)

来自分类Dev

如何在不显式指定.exe扩展名的情况下从终端运行Windows可执行文件?

来自分类Dev

如何在不使用 cd 或修改 PATH 的情况下从不同目录运行可执行文件?

来自分类Dev

默认情况下如何通过JRE运行可执行文件?

来自分类Dev

如何在不实际导航至登录页面和输入凭证的情况下登录验收测试?

来自分类Dev

如何在不实际执行ssh的情况下查找是否可以通过SSH访问远程主机

来自分类Dev

如何在不实际执行ssh的情况下查找是否可以通过SSH访问远程主机

来自分类Dev

如何在不实际运行reboot命令的情况下检查是否具有重启权限?

来自分类Dev

如何在不实际使用通配符或shell扩展的情况下进入foo- *文件夹?

来自分类Dev

在没有sudo的情况下运行可执行文件

来自分类Dev

如何在不运行.exe的情况下从.exe(可执行文件)获取版本,作者,发布者等以及其他元数据

来自分类Dev

如何在不使用Cabal的情况下使用Chart-diagrams的标准字体部署可执行文件

来自分类Dev

如何在不使用Cabal的情况下使用Chart-diagrams的标准字体部署可执行文件

来自分类Dev

如何在不实际单击按钮的情况下触发Button Click事件?

来自分类Dev

如何在不实际滚动的情况下确定滚动方向

来自分类Dev

如何在不实际使用<form>的情况下使用引导表单布局?

来自分类Dev

如何在不实际显示地图的情况下拍摄Google地图快照

来自分类Dev

如何在不实际合并的情况下“合并” git分支

来自分类Dev

如何在不实际下载资源的情况下获得资源的大小?

来自分类Dev

如何在不实际渲染我的网页的情况下渲染 404?

来自分类Dev

默认情况下如何配置cmake以获取可执行文件

来自分类Dev

在软件名称与可执行文件不同的情况下,如何找到软件的PID?

来自分类Dev

如何在不实际调用REST API的情况下测试我的应用程序方法是否处理REST API的HTTP状态404

来自分类Dev

Windows命令行:有什么方法可以在不实际运行的情况下检查bat文件的语法?

来自分类Dev

如何在不实际转换的情况下确定转换后的音频文件的理论文件大小(即,将mp3转换为wav)

来自分类Dev

可以在不引导的情况下运行已安装发行版磁盘上的可执行文件吗?

来自分类Dev

如何在不压缩的情况下将RAR文件添加到使用Inno Setup创建的安装可执行文件中?

Related 相关文章

  1. 1

    如何在不使用Java -jar的情况下运行Java可执行文件

  2. 2

    如何在不添加 ./ 的情况下运行可执行文件

  3. 3

    如何在不安装cabal或ghc的情况下运行haskell可执行文件(cabal项目)

  4. 4

    如何在不显式指定.exe扩展名的情况下从终端运行Windows可执行文件?

  5. 5

    如何在不使用 cd 或修改 PATH 的情况下从不同目录运行可执行文件?

  6. 6

    默认情况下如何通过JRE运行可执行文件?

  7. 7

    如何在不实际导航至登录页面和输入凭证的情况下登录验收测试?

  8. 8

    如何在不实际执行ssh的情况下查找是否可以通过SSH访问远程主机

  9. 9

    如何在不实际执行ssh的情况下查找是否可以通过SSH访问远程主机

  10. 10

    如何在不实际运行reboot命令的情况下检查是否具有重启权限?

  11. 11

    如何在不实际使用通配符或shell扩展的情况下进入foo- *文件夹?

  12. 12

    在没有sudo的情况下运行可执行文件

  13. 13

    如何在不运行.exe的情况下从.exe(可执行文件)获取版本,作者,发布者等以及其他元数据

  14. 14

    如何在不使用Cabal的情况下使用Chart-diagrams的标准字体部署可执行文件

  15. 15

    如何在不使用Cabal的情况下使用Chart-diagrams的标准字体部署可执行文件

  16. 16

    如何在不实际单击按钮的情况下触发Button Click事件?

  17. 17

    如何在不实际滚动的情况下确定滚动方向

  18. 18

    如何在不实际使用<form>的情况下使用引导表单布局?

  19. 19

    如何在不实际显示地图的情况下拍摄Google地图快照

  20. 20

    如何在不实际合并的情况下“合并” git分支

  21. 21

    如何在不实际下载资源的情况下获得资源的大小?

  22. 22

    如何在不实际渲染我的网页的情况下渲染 404?

  23. 23

    默认情况下如何配置cmake以获取可执行文件

  24. 24

    在软件名称与可执行文件不同的情况下,如何找到软件的PID?

  25. 25

    如何在不实际调用REST API的情况下测试我的应用程序方法是否处理REST API的HTTP状态404

  26. 26

    Windows命令行:有什么方法可以在不实际运行的情况下检查bat文件的语法?

  27. 27

    如何在不实际转换的情况下确定转换后的音频文件的理论文件大小(即,将mp3转换为wav)

  28. 28

    可以在不引导的情况下运行已安装发行版磁盘上的可执行文件吗?

  29. 29

    如何在不压缩的情况下将RAR文件添加到使用Inno Setup创建的安装可执行文件中?

热门标签

归档