проблема с пакетным файлом: передать переменную powershell в пакет

avatar
user14042642
8 августа 2021 в 19:49
103
1
0

у меня есть этот декодер hybris batch/powershell base64, и я хочу декодировать строку в powershell и установить декодированную переменную в переменную в пакете, это мой код

@echo off
set syscall=dGVzdGluZ3hk
powershell.exe $decoded=[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($env:syscall));
Источник
TylerH
11 августа 2021 в 15:28
1

Пожалуйста, не оскверняйте сообщения на Stack Overflow, в том числе свои собственные. Контент лицензирован здесь в соответствии с CC-BY-SA 4.0.

Ответы (1)

avatar
mklement0
8 августа 2021 в 20:47
4

Используйте оператор for /f для получения выходных данных команды (запустите for /? в сеансе cmd.exe для получения дополнительной информации):

@echo off
set "syscall=dGVzdGluZ3hk"
for /f "usebackq delims=" %%i in (`powershell.exe -noprofile -c "[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($env:syscall))"`) do set "decoded=%%i"

После выполнения вышеуказанного %decoded% содержит testingxd.

Abraham Zinala
8 августа 2021 в 21:16
0

Знаете ли вы какой-нибудь большой язык(и) программирования?

mklement0
8 августа 2021 в 21:19
0

@AbrahamZinala, что делает язык программирования большим?

Abraham Zinala
8 августа 2021 в 22:22
0

Более известные, такие как языки низкого уровня.

mklement0
8 августа 2021 в 22:25
1

@AbrahamZinala Я работал с C и C++ в прошлом, но прошло много-много лет.