cmd如何在内存中布局变量

How does cmd lays out variables in memory

cmd 如何为该声明在内存中布置变量?:

set foo=ASCIIchars bar=moreASCIIchars

我正在尝试反混淆 。我能够成功读取大部分恶意代码,除了对应于 vars.

之间的 space 的字符

对于我正在工作的特定情况,对于前两个变量,它在这种情况下像 ASCIIchars???moreASCIIchars 一样布置内存,每个 ? 都是一个未知字符,我假设它是填充完成的一个 4 字节的字。

我想知道填充是随机的还是专门指定的,可能与第二个变量名有关但不确定。

事实证明,在这种特殊情况下,混淆脚本也试图使用 space 和等号,不知道为什么或如何,但我认为它与以下事实有关在使用 &&

添加另一个命令之前以斜线 / 结束

因此,对于:

set foo=ASCIIchars bar=moreASCIIchars/&&

foo 的内存布局完全按照 ascii 中的规定:ASCIIchars bar=moreASCIIchars/ 它可能与 cmd 如何解析引号有关,你可以找到 ,很高兴宣布我对打算使用 powershell

下载文件的恶意软件进行了反混淆处理

好吧,我不确定我是否理解这个特别的问题,但是,这就是我的观点:

@echo/ may by is not 2 variable, but ony one? & set "'=ASCIIchars bar=moreASCIIchars" & echo/%'%

结果:

 may by is not 2 variable, but ony one?
  ASCIIchars bar=moreASCIIchars

[

我需要设置一些时间 space、相等和另一个字符 "special",我使用这个小技巧,

1)" 放在逗号内 "

2) 将名称设置为变量 = '

如果你得到这个信息(我不知道如何)以上复制,我假设字符串是一个变量。

ASCIIchars???moreASCIIchars

所以,我希望这对您有价值的活动有所帮助!