2

我想检查文本文件中的一些信息,然后用它插入命令。

例如:

有这个文本文件(hello.txt),其中的信息是:

Determining profile based on KDBG search...

      Suggested Profile(s) : Win7SP0x86, Win7SP1x86
                 AS Layer1 : IA32PagedMemoryPae (Kernel AS)
                 AS Layer2 : FileAddressSpace (E:\KOHMOHOJOJO-PC-20140714-152414.raw)
                  PAE type : PAE
                       DTB : 0x185000L
                      KDBG : 0x82734be8L
      Number of Processors : 1
 Image Type (Service Pack) : 0
            KPCR for CPU 0 : 0x82735c00L
         KUSER_SHARED_DATA : 0xffdf0000L
       Image date and time : 2014-07-14 15:24:17 UTC+0000
 Image local date and time : 2014-07-14 23:24:17 +0800

因此,要继续使用波动率进行分析,用户需要识别其配置文件。

有 2 个建议的配置文件,但是在底部的“ Image Type (Service Pack) : 0”中,它显示配置文件Win7SP0x86不是Win7SP1x86.

如何使用这 2 个重要细节来选择它作为正确的配置文件并将其插入到命令中

vol231.exe -f E:\KOHMOHOJOJO-PC-20140714-152414.raw --profile=Win7SP0x86 pslist > hello2.txt

有人可以帮我吗?提前致谢!

编辑:

suggested profile不固定。根据 .raw 文件,它可能有超过 2 个建议的配置文件。你是如何匹配Image Type (Service Pack) : 0suggested profile

例如:当它读取时,它将两个或多个建议的配置文件“存储”到一个变量中,然后它会检查建议的配置文件是否有 0 或 1 或 2 等。

希望这能更好地解释。或者任何合适的方式都是好的。

4

1 回答 1

2
@echo off

for /f "tokens=5 delims=: " %%a in ('type hello.txt^| find /i "Image Type (Service Pack)"') do (
    set "SP=%%a"
)

for /f "tokens=2 delims=:" %%p in ('type hello.txt^| find /i "Suggested Profile(s)"') do (
    set "profiles=%%p"
)

set /a tkn=sp+1

for /f "tokens=%tkn% delims=, "  %%s in ("%profiles%") do (
    set "profile=%%s"
)



::vol231.exe -f E:\KOHMOHOJOJO-PC-20140714-152414.raw --profile=%profile% pslist > hello2.txt
于 2014-07-17T08:34:57.867 回答