Я пытаюсь создать программу на Python, которая будет деобфускировать вредоносное ПО PowerShell, использующее IEX. Моя программа python фактически подключает функцию IEX и вместо запуска нужной строки напечатает строку. Теперь моя проблема в том, что у меня есть несколько сценариев .ps1 (например, 1.ps1, 2.ps1 и т. Д.), И я хочу запустить их все в одном сеансе, чтобы все локальные переменные, созданные 1 .ps1 сценарий 2.ps1 сможет использовать ...
Теперь я пробовал так много способов. Сначала я пробовал с подпроцессом, но он всегда создает новый сеанс каждый раз, когда я ввожу команду (это путь к файлу .ps1). Затем я нашел этот проект на GitHub: https://gist.github.com/MarkBaggett/26a7c20195 > Что действительно круто и работает, но все же кажется, что когда я запускаю команду ./1.ps1, она по-прежнему не сохраняет локальные переменные в сеансе (возможно, он открывает новую при запуске скрипта). Я попытался сделать также "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
В любом случае, есть идеи о том, как я могу это сделать? У меня есть эти сценарии на моем рабочем столе, но я не знаю, как запустить их в одном сеансе, чтобы они использовали одни и те же локальные переменные ...
Две вещи, которые я сделал, но они действительно отстой: 1. Преобразуйте все сценарии в 1 сценарий и запустите его, но при следующем запуске, когда я буду использовать эту программу, у меня может быть 100 сценариев или больше, и я действительно не хочу этого делать. это. 2. Я могу сохранить локальные переменные из каждого сценария и загрузить их в другой, но я хочу использовать его в худшем случае, но до сих пор не дошел.
Большое спасибо за помощь и извините за мою грамматику, как видите, мой английский не мой родной язык :)