Board logo

标题: [问题求助] 用PowerShell可以将命令转换为一串数值,能不能倒过来,将这串数值还原成命令?谢谢! [打印本页]

作者: Shuye    时间: 2023-3-16 13:10     标题: 用PowerShell可以将命令转换为一串数值,能不能倒过来,将这串数值还原成命令?谢谢!


比如,在PowerShell控制台窗口输入命令:
PS C:\> ([char[]]'%SystemRoot%\System32\Cmd.exe /k '|%{([int]$_).ToString('X')+',00'}) -join ','

可以得到一串数值:
25,00,53,00,79,00,73,00,74,00,65,00,6D,00,52,00,6F,00,6F,00,74,00,25,00,5C,00,53,00,79,00,73,\
00,74,00,65,00,6D,00,33,00,32,00,5C,00,43,00,6D,00,64,00,2E,00,65,00,78,00,65,00,20,00,2F,00,\
6B,00,20,00

想倒过来,用什么方法才能将这串数值还原成原来的命令:%SystemRoot%\System32\Cmd.exe /k ?
谢谢!

作者: xczxczxcz    时间: 2023-3-16 13:48

$d = 你的数值; WIN10以上
  1. -join([Linq.Enumerable]::Where($d.Split(','),[Func[object,bool]]{param($i);$i-ne'00'}).Foreach{[char][convert]::ToByte($_,16)})
复制代码

作者: Shuye    时间: 2023-3-16 14:33

回复 2# xczxczxcz

谢谢 xczxczxcz 兄!不过,赋值时报错:

PS C:\> $d=25,00,53,00,79,00,73,00,74,00,65,00,6D,00,52,00,6F,00,6F,00,74,00,25,00......
所在位置 行:1 字符: 52
+ $d=25,00,53,00,79,00,73,00,74,00,65,00,6D,00,52,00,6F,00,6F,00,74,00, ...
+                                                    ~
“,”后面缺少表达式。
所在位置 行:1 字符: 52
+ $d=25,00,53,00,79,00,73,00,74,00,65,00,6D,00,52,00,6F,00,6F,00,74,00, ...
+                                                    ~~
表达式或语句中包含意外的标记“6F”。
所在位置 行:1 字符: 54
+ $d=25,00,53,00,79,00,73,00,74,00,65,00,6D,00,52,00,6F,00,6F,00,74,00, ...
+                                                      ~
参数列表中缺少参量。
    + CategoryInfo          : ParserError: ( [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingExpressionAfterToken

作者: xczxczxcz    时间: 2023-3-16 14:38

用PS的能把赋值也搞错? 建议去学基础再发吧!
  1. $d='25,00,53,00,79,00,73,00,74,00,65,00,6D,00,52,00,6F,00,6F,00,74,00,25,00,5C,00,53,00,79,00,73,00,74,00,65,00,6D,00,33,00,32,00,5C,00,43,00,6D,00,64,00,2E,00,65,00,78,00,65,00,20,00,2F,00,6B,00,20,00'
复制代码

作者: xczxczxcz    时间: 2023-3-16 14:42

  1. -join($d.Split(',').Where{$_-ne'00'}.Foreach{[char][convert]::ToByte($_,16)})
复制代码

作者: Shuye    时间: 2023-3-16 14:59

回复 4# xczxczxcz

xczxczxcz 兄见笑了,刚接触PS。

测试通过,谢谢!





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2