Переменная внутри интерпретируемой переменной - PullRequest
0 голосов
/ 09 октября 2018

Итак, у меня есть длинная команда, которая представляет собой обфусцированный скрипт (Powerview), и я хочу включить, это написать команду в другой .psm1, однако переменная внутри обфусцированного скрипта интерпретируется и, таким образом, переводится при записи вновый .psm1.Что меня поразило, так это то, что я взял эту команду и поместил ее в свой собственный файл .psm1, он отлично работает.

Итак, вот команда:

$p1="(nEw-oBjEct  SysTeM.iO.streamReAder( (nEw-oBjEct  Io.comPressIon.DefLaTesTREAM( [iO.meMORystReAm][sysTEm.COnveRT]::frOmbaSe64StRinG('BASE64STUFFHERE=='), [iO.cOmpressIOn.COmpResSiOnmOde]::DeCOMprESs )),[teXt.eNCOdInG]::ascii)).ReADtoeND( ) | &( $vErbOsEpReferENce.tOStrinG()[1,3]+'X'-jOIN'')"

В результате получается $ verbosereference.tostringпереводится в «SilentlyContinue.tostring», что не правильно.

Итак, я думаю, вопрос в том, как мне предотвратить интерпретацию этой переменной?Я пытался убежать с одинарными кавычками, но это не работает должным образом

1 Ответ

0 голосов
/ 09 октября 2018

Вместо двойных кавычек в начале я начинал с одинарных кавычек, затем с двойными одинарными кавычками команда base64 работала

...