解密后的exe无法运行
Decrypted exe wont run
我正在编写一个c++程序,它将输入作为exe文件,加密它(只是xoring)并将加密的exe作为资源添加到另一个exe(存根)。
存根解密exe并保存它。问题是解密后的exe无法运行。字节是相同的,我可以在PE编辑器中打开解密的exe,但它就是不能运行。
有什么建议吗?
如果原始的。exe和解密的。exe真的是相同,并且假设解密的可执行文件是带有。exe扩展名的Windows。exe文件(正如您提到的。exe和PE格式似乎表明的那样),这可能意味着您已经陷入了某种安全功能。
程序的行为是单级恶意软件滴入器的行为。如果解密的文件是而不是实际上是恶意的并不重要:系统无法知道它;它看到一个可执行文件创建了另一个可执行文件并试图执行它,并将其标记为"永远不要执行这个"(例如通过DisallowRun)。
也有可能(并且,不要把这个错了,但更有可能),你实际上做错了:扩展名不是。exe,文件不是完全相同(你检查了原始和解密文件的MD5/SHA校验和吗?),你试图运行文件,而它仍然打开写入…
尝试查看事件查看器和/或防病毒软件日志(如果有的话),看看这是否可以提供一些启示。这是您自己的开发机器吗?以防万一,您是否拥有检查策略的完全管理员权限?此外,检查并报告错误状态和/或尝试执行时可能得到的任何错误消息。
相关文章:
- 使用参数在 C# 的C++上运行.exe
- C++程序编译器在使用g++命令编译后自动运行exe文件
- 从 CMD 运行.exe并自动向其传递参数
- 如何使用管理员权限运行 EXE
- 操作系统如何决定如何运行.exe
- 在不同的计算机上运行.exe文件.(视觉工作室)
- 在 Windows 命令行中运行.exe在使用 2 种相同方式执行时会产生不同的输出
- 在Visual Studio 2017中使用Qt库的CMake项目:运行exe时找不到Qt dll
- 使用 qprocess 运行.exe
- 运行EXE形成另一个EXE并传递参数
- 运行 exe - C++ 时找不到入口点
- 在服用 PATH C++后运行.exe
- 在 Node.JS 中运行.EXE
- 运行.exe的 main(),作为.dll的一部分
- 在win2k3上运行.exe时发生"The procedure entry point GetErrorMode could not be located in the dynamic link l
- 在另一台计算机上运行.exe文件时"Missing MSCVP140.dll"和"Missing VCRUNTIME140.dll"
- 在Linux中运行exe
- 从另一个 exe 运行 Exe
- 如何编译项目后不运行exe文件
- 如何在任何Windows计算机上运行.exe文件