gpt4 book ai didi

python - 在一个 session 下使用 python 运行 powershell 脚本

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:14 25 4
gpt4 key购买 nike

我尝试创建一个 python 程序来反混淆使用 IEX 的 powershell 恶意软件。我的 python 程序实际上挂接了 IEX 函数,它不会运行所需的字符串,而是打印该字符串。现在我的问题是我有一些 .ps1 脚本(例如 1.ps1、2.ps1 等),并且我想在同一 session 下运行所有​​这些脚本,这样,由 1 创建的所有局部变量.ps1脚本,2.ps1脚本将能够使用...

现在我尝试了很多方法,首先我尝试使用子进程,但每次输入命令(这是 .ps1 文件的路径)时,它总是创建一个新 session 。然后我在GitHub上找到了这个项目: https://gist.github.com/MarkBaggett/a7c10195b2626c78009bf73bcdb6db20这真的很棒并且确实有效,但是,当我运行命令 ./1.ps1 时,它似乎仍然没有在 session 中存储局部变量(也许它在运行脚本时打开一个新变量)。我也尝试执行“Get-Content 1.ps1 | iex”,但随后它崩溃了,因为我在那里有函数,例如:

function Invoke-Expression()
{
param(
[Parameter( `
Mandatory=$True, `
Valuefrompipeline = $True)]
[String]$Command
)
Write-Host $Command
}

取自 PSDecode 项目: https://github.com/R3MRUM/PSDecode/blob/master/PSDecode.psm1#L28

无论如何,关于如何做到这一点有什么想法吗?我的桌面上有这些脚本,但不知道如何在同一 session 中运行它们,因此它们将使用相同的局部变量...

我做了两件事,但它们真的很糟糕:1. 将所有脚本转换为 1 个脚本并运行它,但在下次运行时我将使用此程序,我可能有 100 个或更多脚本,但我真的不想这样做。2.我可以保存每个脚本中的局部变量并将其加载到另一个脚本中,但我想在最坏的情况下使用它,但仍然没有实现。

非常感谢您帮助我,并对我的语法感到抱歉,正如您所见,我的英语不是我的母语:)

最佳答案

也许您正在寻找dot sourcing :

Runs a script in the current scope so that any functions, aliases, and variables that the script creates are added to the current scope. PowerShell

. c:\scripts\sample.ps1

如果是这样,请对您的 ps1 文件进行点源,并调用其中的函数。

希望有帮助。

关于python - 在一个 session 下使用 python 运行 powershell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56587170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com