运行 来自 .zip 的 powershell 中的 .png 作为 .exe
Running a .png as .exe in powershell from a .zip
我正在尝试伪装一个可执行文件,但遇到了一些问题,但只有一个我需要帮助,我正在 运行从 cmd:
PowerShell -ExecutionPolicy bypass -noprofile -windowstyle hidden start-process C:\Users\b0nke\AppData\Roaming\.minecraft\resourcepacks\§4VotPack§cOverlay.zip\assets\minecraft\textures\items\clock.png
您可以看到我正在尝试 运行 在 .zip 中添加 .png。但是我想将 .png 作为可执行文件打开,这可能吗?
额外信息:我可以从 cmd 运行 .png 作为 .exe,但我使用的是 powershell,因为它可以 运行 存档内的文件,如果我要运行 它在存档之外,应该是这样的:
C:\Users\b0nke\AppData\Roaming\.minecraft\resourcepacks\clock.png
请回复一些提示或解决方案。
它与 运行 一个 exe 基本相同 -
start G:\image.png
或
start $usbDriveLetter"image.png"
或
image.png
您需要将其更改为 $env:USERNAME
而不是 $USERNAME
不,在 PowerShell 中 - 明智地 - 你 不能 使用 non-executable 文件扩展名,例如 .png
来直接执行文件那是一个可执行文件(伪装) - PowerShell 遵从 Windows (GUI) shell,它使用为手头的文件扩展名注册的应用程序打开文件(在.png
的情况默认为 Photos
- 这只会抱怨无法识别的图像格式。
令人难以置信 - 正如你所说,相比之下 - cmd.exe
显然在采取行动之前明确检查文件格式本身,并直接执行可执行文件,即使它们恰好具有 non-executable 文件扩展名。
注:
- 也许不用说,从安全的角度来看,PowerShell 的行为更可取,因为它可以防止毫无戒心的用户无意中执行可执行文件,这些用户有理由认为给定文件确实属于其文件扩展名宣传的类型,而不是伪装的可执行文件。
如果你真的需要这个功能(很难想象non-deceptive使用):
原则上,您可以从 PowerShell 调用 cmd.exe
的 CLI 以使用前者的功能;例如:
cmd /c .\clock.png
然而,这只适用于 cmd.exe
也理解的文件路径。
它不适用于以文件为目标的路径 ZIP 存档内 - 但我也不知道它在 PowerShell 中是否有效,这与您所说的不同。
我正在尝试伪装一个可执行文件,但遇到了一些问题,但只有一个我需要帮助,我正在 运行从 cmd:
PowerShell -ExecutionPolicy bypass -noprofile -windowstyle hidden start-process C:\Users\b0nke\AppData\Roaming\.minecraft\resourcepacks\§4VotPack§cOverlay.zip\assets\minecraft\textures\items\clock.png
您可以看到我正在尝试 运行 在 .zip 中添加 .png。但是我想将 .png 作为可执行文件打开,这可能吗?
额外信息:我可以从 cmd 运行 .png 作为 .exe,但我使用的是 powershell,因为它可以 运行 存档内的文件,如果我要运行 它在存档之外,应该是这样的:
C:\Users\b0nke\AppData\Roaming\.minecraft\resourcepacks\clock.png
请回复一些提示或解决方案。
它与 运行 一个 exe 基本相同 -
start G:\image.png
或
start $usbDriveLetter"image.png"
或
image.png
您需要将其更改为 $env:USERNAME
而不是 $USERNAME
不,在 PowerShell 中 - 明智地 - 你 不能 使用 non-executable 文件扩展名,例如 .png
来直接执行文件那是一个可执行文件(伪装) - PowerShell 遵从 Windows (GUI) shell,它使用为手头的文件扩展名注册的应用程序打开文件(在.png
的情况默认为 Photos
- 这只会抱怨无法识别的图像格式。
令人难以置信 - 正如你所说,相比之下 - cmd.exe
显然在采取行动之前明确检查文件格式本身,并直接执行可执行文件,即使它们恰好具有 non-executable 文件扩展名。
注:
- 也许不用说,从安全的角度来看,PowerShell 的行为更可取,因为它可以防止毫无戒心的用户无意中执行可执行文件,这些用户有理由认为给定文件确实属于其文件扩展名宣传的类型,而不是伪装的可执行文件。
如果你真的需要这个功能(很难想象non-deceptive使用):
原则上,您可以从 PowerShell 调用 cmd.exe
的 CLI 以使用前者的功能;例如:
cmd /c .\clock.png
然而,这只适用于 cmd.exe
也理解的文件路径。
它不适用于以文件为目标的路径 ZIP 存档内 - 但我也不知道它在 PowerShell 中是否有效,这与您所说的不同。