本文转自:http://blog.csdn.net/hgy413/article/details/8490918

调试器用户经常会需要查看在启动调试目标时使用了哪些命令行参数,这个信息是保存在PEB中的,可以通过!peb来获取,这个命令将解析PEB并给出完整的命令行,所有已加载DLL的位置,以及环境变量等.

0:000> !peb
PEB at 7ffdf000InheritedAddressSpace:    NoReadImageFileExecOptions: NoBeingDebugged:            YesImageBaseAddress:         008f0000Ldr                       77847880Ldr.Initialized:          YesLdr.InInitializationOrderModuleList: 00312798 . 0036bd70Ldr.InLoadOrderModuleList:           003126f8 . 0036bd60Ldr.InMemoryOrderModuleList:         00312700 . 0036bd68Base TimeStamp                     Module8f0000 4ce7979d Nov 20 17:40:45 2010 C:\Windows\System32\calc.exe77770000 4ec49b60 Nov 17 13:28:00 2011 C:\windows\SYSTEM32\ntdll.dll77490000 506dbd3e Oct 05 00:45:50 2012 C:\windows\system32\kernel32.dll75a30000 506dbd3f Oct 05 00:45:51 2012 C:\windows\system32\KERNELBASE.dll76240000 4fd2d1d9 Jun 09 12:32:25 2012 C:\windows\system32\SHELL32.dll75c30000 4eeaf722 Dec 16 15:45:38 2011 C:\windows\system32\msvcrt.dll76e90000 4ce7b9e2 Nov 20 20:06:58 2010 C:\windows\system32\SHLWAPI.dll75be0000 4ce7b80a Nov 20 19:59:06 2010 C:\windows\system32\GDI32.dll76020000 4ce7ba26 Nov 20 20:08:06 2010 C:\windows\system32\USER32.dll758e0000 4a5bda19 Jul 14 09:06:33 2009 C:\Windows\System32\LPK.dll75f60000 4ce7ba29 Nov 20 20:08:09 2010 C:\windows\system32\USP10.dll74090000 4f9235ab Apr 21 12:20:59 2012 C:\windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17825_none_72d273598668a06b\gdiplus.dll77200000 4ce7b96f Nov 20 20:05:03 2010 C:\windows\system32\ole32.dll773e0000 4ce7b9a2 Nov 20 20:05:54 2010 C:\windows\system32\RPCRT4.dll75df0000 4ce7b706 Nov 20 19:54:46 2010 C:\windows\system32\ADVAPI32.dll76000000 4a5bdb04 Jul 14 09:10:28 2009 C:\windows\SYSTEM32\sechost.dll770f0000 4e58702a Aug 27 12:18:50 2011 C:\windows\system32\OLEAUT32.dll745c0000 4a5bdb38 Jul 14 09:11:20 2009 C:\Windows\System32\UxTheme.dll74220000 4ce7b71c Nov 20 19:55:08 2010 C:\windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\COMCTL32.dll73710000 4ce7ba42 Nov 20 20:08:34 2010 C:\Windows\System32\WINMM.dll74ea0000 4a5bdb2b Jul 14 09:11:07 2009 C:\Windows\System32\VERSION.dll778b0000 4ce7b845 Nov 20 20:00:05 2010 C:\windows\system32\IMM32.DLL75e90000 4a5bda69 Jul 14 09:07:53 2009 C:\windows\system32\MSCTF.dll73d30000 4ce7ba3a Nov 20 20:08:26 2010 C:\Windows\System32\WindowsCodecs.dll651e0000 50910787 Oct 31 19:12:07 2012 C:\ProgramData\Tencent\TSVulFw\TSVulFW.DAT75de0000 4a5bdace Jul 14 09:09:34 2009 C:\windows\system32\PSAPI.DLL75ce0000 508b7cf0 Oct 27 14:19:28 2012 C:\windows\system32\WININET.dll76100000 508b7cdb Oct 27 14:19:07 2012 C:\windows\system32\urlmon.dll75a80000 4fc99664 Jun 02 12:28:20 2012 C:\windows\system32\CRYPT32.dll75940000 4ce7b8c9 Nov 20 20:02:17 2010 C:\windows\system32\MSASN1.dll77570000 508b7ba3 Oct 27 14:13:55 2012 C:\windows\system32\iertutil.dll757f0000 4ce7b73e Nov 20 19:55:42 2010 C:\Windows\System32\apphelp.dll73900000 3b7d84df Aug 18 04:55:59 2001 C:\windows\system32\JPWB.IME77180000 4ce7b82d Nov 20 19:59:41 2010 C:\windows\system32\comdlg32.dll73e60000 4a5bda07 Jul 14 09:06:15 2009 C:\Windows\System32\dwmapi.dll75840000 4a5bbf41 Jul 14 07:12:01 2009 C:\Windows\System32\CRYPTBASE.dll778d0000 4a5bd9b1 Jul 14 09:04:49 2009 C:\windows\system32\CLBCatQ.DLL10000000 4ffa45cd Jul 09 10:45:33 2012 C:\Users\guoyouhuang\AppData\Local\Youdao\Dict\Application\5.1.36.3166\WordStrokeHelper32.dll73610000 4e587028 Aug 27 12:18:48 2011 C:\Windows\system32\oleacc.dllSubSystemData:     00000000ProcessHeap:       00310000ProcessParameters: 00311b48WindowTitle:  'C:\Windows\System32\calc.exe'ImageFile:    'C:\Windows\System32\calc.exe'CommandLine:  'C:\Windows\System32\calc.exe'DllPath:      'C:\Windows\System32;;C:\windows\system32;C:\windows\system;C:\windows;.;C:\Program Files\Debugging Tools for Windows (x86)\winext\arcade;C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseSVN\bin;D:\Program Files\Microsoft SDK\Bin\.;D:\Program Files\Microsoft SDK\Bin\WinNT\.;D:\Program Files\Vc6\Tools\WinNT;D:\Program Files\Vc6\MSDev98\Bin;D:\Program Files\Vc6\Tools;D:\Program Files\VC98\bin;D:\Program Files\Microsoft SDK\Bin\.;D:\Program Files\Microsoft SDK\Bin\WinNT\.;C:\Program Files\IDM Computer Solutions\UltraCompare\'Environment:  00310810=::=::\ALLUSERSPROFILE=C:\ProgramDataAPPDATA=C:\Users\guoyouhuang\AppData\RoamingBasemake=D:\Program Files\Microsoft SDK\Include\BKOffice.MakBkoffice=D:\Program Files\Microsoft SDK\.CommonProgramFiles=C:\Program Files\Common FilesCOMPUTERNAME=GUOYOUHUANG-PC0ComSpec=C:\windows\system32\cmd.execonfigsetroot=C:\windows\ConfigSetRootDXSDK_DIR=C:\Program Files\Microsoft DirectX SDK (June 2010)\FP_NO_HOST_CHECK=NOHOMEDRIVE=C:HOMEPATH=\Users\guoyouhuangINCLUDE=D:\Program Files\Microsoft SDK\Include\.;D:\Program Files\VC98\atl\include;D:\Program Files\VC98\mfc\include;D:\Program Files\VC98\includeINETSDK=D:\Program Files\Microsoft SDK\.LIB=D:\Program Files\Microsoft SDK\Lib\.;D:\Program Files\VC98\mfc\lib;D:\Program Files\VC98\libLOCALAPPDATA=C:\Users\guoyouhuang\AppData\LocalLOGONSERVER=\\GM-CADILLACMSDevDir=D:\Program Files\Vc6\MSDev98MSSdk=D:\Program Files\Microsoft SDK\.Mstools=D:\Program Files\Microsoft SDK\.NUMBER_OF_PROCESSORS=4OS=Windows_NTPath=C:\Program Files\Debugging Tools for Windows (x86)\winext\arcade;C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseSVN\bin;D:\Program Files\Microsoft SDK\Bin\.;D:\Program Files\Microsoft SDK\Bin\WinNT\.;D:\Program Files\Vc6\Tools\WinNT;D:\Program Files\Vc6\MSDev98\Bin;D:\Program Files\Vc6\Tools;D:\Program Files\VC98\bin;D:\Program Files\Microsoft SDK\Bin\.;D:\Program Files\Microsoft SDK\Bin\WinNT\.;C:\Program Files\IDM Computer Solutions\UltraCompare\PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSCPROCESSOR_ARCHITECTURE=x86PROCESSOR_IDENTIFIER=x86 Family 6 Model 42 Stepping 7, GenuineIntelPROCESSOR_LEVEL=6PROCESSOR_REVISION=2a07ProgramData=C:\ProgramDataProgramFiles=C:\Program FilesPSModulePath=C:\windows\system32\WindowsPowerShell\v1.0\Modules\PUBLIC=C:\Users\PublicSESSIONNAME=ConsoleSystemDrive=C:SystemRoot=C:\windowsTEMP=C:\Users\GUOYOU~1\AppData\Local\TempTMP=C:\Users\GUOYOU~1\AppData\Local\TempUSERDNSDOMAIN=TENCENT.COMUSERDOMAIN=TENCENTUSERNAME=guoyouhuangUSERPROFILE=C:\Users\guoyouhuangVS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\WINDBG_DIR=C:\Program Files\Debugging Tools for Windows (x86)windir=C:\windowswindows_tracing_flags=3windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log

手工自己分析下:

直接分析ldr:

 +0x00c Ldr              : 0x77847880 _PEB_LDR_DATA
0:000> dt 0x77847880 _PEB_LDR_DATA
ntdll!_PEB_LDR_DATA+0x000 Length           : 0x30+0x004 Initialized      : 0x1 ''+0x008 SsHandle         : (null) +0x00c InLoadOrderModuleList : _LIST_ENTRY [ 0x3126f8 - 0x36bd60 ]+0x014 InMemoryOrderModuleList : _LIST_ENTRY [ 0x312700 - 0x36bd68 ]+0x01c InInitializationOrderModuleList : _LIST_ENTRY [ 0x312798 - 0x36bd70 ]+0x024 EntryInProgress  : (null) +0x028 ShutdownInProgress : 0 ''+0x02c ShutdownThreadId : (null)

对比!peb的内容:

    Ldr                       77847880Ldr.Initialized:          YesLdr.InInitializationOrderModuleList: 00312798 . 0036bd70Ldr.InLoadOrderModuleList:           003126f8 . 0036bd60Ldr.InMemoryOrderModuleList:         00312700 . 0036bd68

一样的~~~~,不一样就不正常了!

为什么有三个list:其实三个都一样,顺序不同而已.

_LIST_ENTRY的结构如下:

 
0:000> dt _LIST_ENTRY
ntdll!_LIST_ENTRY+0x000 Flink            : Ptr32 _LIST_ENTRY+0x004 Blink            : Ptr32 _LIST_ENTRY

按MSDN解释是:

Each item in the list is a pointer to an LDR_DATA_TABLE_ENTRY structure,双向循环链表吧,从一个方向开始,不停的循环,就回到初始位了,就相当于遍历了一次

0:000> dt _LDR_DATA_TABLE_ENTRY
ole32!_LDR_DATA_TABLE_ENTRY+0x000 InLoadOrderLinks : _LIST_ENTRY+0x008 InMemoryOrderLinks : _LIST_ENTRY+0x010 InInitializationOrderLinks : _LIST_ENTRY+0x018 DllBase          : Ptr32 Void+0x01c EntryPoint       : Ptr32 Void+0x020 SizeOfImage      : Uint4B+0x024 FullDllName      : _UNICODE_STRING+0x02c BaseDllName      : _UNICODE_STRING+0x034 Flags            : Uint4B+0x038 LoadCount        : Uint2B+0x03a TlsIndex         : Uint2B+0x03c HashLinks        : _LIST_ENTRY+0x03c SectionPointer   : Ptr32 Void+0x040 CheckSum         : Uint4B+0x044 TimeDateStamp    : Uint4B+0x044 LoadedImports    : Ptr32 Void+0x048 EntryPointActivationContext : Ptr32 _ACTIVATION_CONTEXT+0x04c PatchInformation : Ptr32 Void+0x050 ForwarderLinks   : _LIST_ENTRY+0x058 ServiceTagLinks  : _LIST_ENTRY+0x060 StaticLinks      : _LIST_ENTRY+0x068 ContextInformation : Ptr32 Void+0x06c OriginalBase     : Uint4B+0x070 LoadTime         : _LARGE_INTEGER

可以看到头部开始就是个_LIST_ENTRY

我们来做次循环查询吧:

0:000> dt 0x77847880+0x00c _LIST_ENTRY
ole32!_LIST_ENTRY[ 0x3126f8 - 0x36bd60 ]+0x000 Flink            : 0x003126f8 _LIST_ENTRY [ 0x312788 - 0x7784788c ]+0x004 Blink            : 0x0036bd60 _LIST_ENTRY [ 0x7784788c - 0x354a80 ]

对比上面的显示:

   +0x00c InLoadOrderModuleList : _LIST_ENTRY [ 0x3126f8 - 0x36bd60 ]

可以看出,windbg这里是在后面括号里显示Flink和Blink,那么我们向着Flink循环吧:

0:000> dt _LDR_DATA_TABLE_ENTRY 0x003126f8
ole32!_LDR_DATA_TABLE_ENTRY+0x000 InLoadOrderLinks : _LIST_ENTRY [ 0x312788 - 0x7784788c ]+0x008 InMemoryOrderLinks : _LIST_ENTRY [ 0x312790 - 0x77847894 ]+0x010 InInitializationOrderLinks : _LIST_ENTRY [ 0x0 - 0x0 ]+0x018 DllBase          : 0x008f0000 +0x01c EntryPoint       : 0x00902d6c +0x020 SizeOfImage      : 0xc0000+0x024 FullDllName      : _UNICODE_STRING "C:\Windows\System32\calc.exe"+0x02c BaseDllName      : _UNICODE_STRING "calc.exe"+0x034 Flags            : 0x4000+0x038 LoadCount        : 0xffff+0x03a TlsIndex         : 0+0x03c HashLinks        : _LIST_ENTRY [ 0x31382c - 0x7784a6a8 ]+0x03c SectionPointer   : 0x0031382c +0x040 CheckSum         : 0x7784a6a8+0x044 TimeDateStamp    : 0x4ce7979d+0x044 LoadedImports    : 0x4ce7979d +0x048 EntryPointActivationContext : (null) +0x04c PatchInformation : (null) +0x050 ForwarderLinks   : _LIST_ENTRY [ 0x312748 - 0x312748 ]+0x058 ServiceTagLinks  : _LIST_ENTRY [ 0x312750 - 0x312750 ]+0x060 StaticLinks      : _LIST_ENTRY [ 0x315768 - 0x313cf0 ]+0x068 ContextInformation : 0x777e0534 +0x06c OriginalBase     : 0+0x070 LoadTime         : _LARGE_INTEGER 0x0
0:000> dt _LDR_DATA_TABLE_ENTRY 0x312788
ole32!_LDR_DATA_TABLE_ENTRY+0x000 InLoadOrderLinks : _LIST_ENTRY [ 0x312ab0 - 0x3126f8 ]+0x008 InMemoryOrderLinks : _LIST_ENTRY [ 0x312ab8 - 0x312700 ]+0x010 InInitializationOrderLinks : _LIST_ENTRY [ 0x312bd8 - 0x7784789c ]+0x018 DllBase          : 0x77770000 +0x01c EntryPoint       : (null) +0x020 SizeOfImage      : 0x13c000+0x024 FullDllName      : _UNICODE_STRING "C:\windows\SYSTEM32\ntdll.dll"+0x02c BaseDllName      : _UNICODE_STRING "ntdll.dll"+0x034 Flags            : 0x4004+0x038 LoadCount        : 0xffff+0x03a TlsIndex         : 0+0x03c HashLinks        : _LIST_ENTRY [ 0x32384c - 0x7784a680 ]+0x03c SectionPointer   : 0x0032384c +0x040 CheckSum         : 0x7784a680+0x044 TimeDateStamp    : 0x4ec49b60+0x044 LoadedImports    : 0x4ec49b60 +0x048 EntryPointActivationContext : (null) +0x04c PatchInformation : (null) +0x050 ForwarderLinks   : _LIST_ENTRY [ 0x3127d8 - 0x3127d8 ]+0x058 ServiceTagLinks  : _LIST_ENTRY [ 0x3127e0 - 0x3127e0 ]+0x060 StaticLinks      : _LIST_ENTRY [ 0x3127e8 - 0x3127e8 ]+0x068 ContextInformation : (null) +0x06c OriginalBase     : 0x77ec0000+0x070 LoadTime         : _LARGE_INTEGER 0x0
0:000> dt _LDR_DATA_TABLE_ENTRY 0x312ab0
ole32!_LDR_DATA_TABLE_ENTRY+0x000 InLoadOrderLinks : _LIST_ENTRY [ 0x312bc8 - 0x312788 ]+0x008 InMemoryOrderLinks : _LIST_ENTRY [ 0x312bd0 - 0x312790 ]+0x010 InInitializationOrderLinks : _LIST_ENTRY [ 0x3134e0 - 0x312bd8 ]+0x018 DllBase          : 0x77490000 +0x01c EntryPoint       : 0x774dcd6f +0x020 SizeOfImage      : 0xd4000+0x024 FullDllName      : _UNICODE_STRING "C:\windows\system32\kernel32.dll"+0x02c BaseDllName      : _UNICODE_STRING "kernel32.dll"+0x034 Flags            : 0x84004+0x038 LoadCount        : 0xffff+0x03a TlsIndex         : 0+0x03c HashLinks        : _LIST_ENTRY [ 0x31558c - 0x7784a640 ]+0x03c SectionPointer   : 0x0031558c +0x040 CheckSum         : 0x7784a640+0x044 TimeDateStamp    : 0x506dbd3e+0x044 LoadedImports    : 0x506dbd3e +0x048 EntryPointActivationContext : (null) +0x04c PatchInformation : (null) +0x050 ForwarderLinks   : _LIST_ENTRY [ 0x3136b8 - 0x3136b8 ]+0x058 ServiceTagLinks  : _LIST_ENTRY [ 0x312b08 - 0x312b08 ]+0x060 StaticLinks      : _LIST_ENTRY [ 0x312c80 - 0x312b40 ]+0x068 ContextInformation : 0x777e0534 +0x06c OriginalBase     : 0x77de0000+0x070 LoadTime         : _LARGE_INTEGER 0x1cdef13`ea902171
0:000> dt _LDR_DATA_TABLE_ENTRY 0x312bc8
ole32!_LDR_DATA_TABLE_ENTRY+0x000 InLoadOrderLinks : _LIST_ENTRY [ 0x3133e8 - 0x312ab0 ]+0x008 InMemoryOrderLinks : _LIST_ENTRY [ 0x3133f0 - 0x312ab8 ]+0x010 InInitializationOrderLinks : _LIST_ENTRY [ 0x312ac0 - 0x312798 ]+0x018 DllBase          : 0x75a30000 +0x01c EntryPoint       : 0x75a37e90 +0x020 SizeOfImage      : 0x4b000+0x024 FullDllName      : _UNICODE_STRING "C:\windows\system32\KERNELBASE.dll"+0x02c BaseDllName      : _UNICODE_STRING "KERNELBASE.dll"+0x034 Flags            : 0x84004+0x038 LoadCount        : 0xffff+0x03a TlsIndex         : 0+0x03c HashLinks        : _LIST_ENTRY [ 0x31ba9c - 0x7784a690 ]+0x03c SectionPointer   : 0x0031ba9c +0x040 CheckSum         : 0x7784a690+0x044 TimeDateStamp    : 0x506dbd3f+0x044 LoadedImports    : 0x506dbd3f +0x048 EntryPointActivationContext : (null) +0x04c PatchInformation : (null) +0x050 ForwarderLinks   : _LIST_ENTRY [ 0x312c18 - 0x312c18 ]+0x058 ServiceTagLinks  : _LIST_ENTRY [ 0x312c20 - 0x312c20 ]+0x060 StaticLinks      : _LIST_ENTRY [ 0x312c58 - 0x312c58 ]+0x068 ContextInformation : 0x777e0534 +0x06c OriginalBase     : 0xdce0000+0x070 LoadTime         : _LARGE_INTEGER 0x1cdef13`ea902171
0:000> dt _LDR_DATA_TABLE_ENTRY 0x3133e8
ole32!_LDR_DATA_TABLE_ENTRY+0x000 InLoadOrderLinks : _LIST_ENTRY [ 0x3134d0 - 0x312bc8 ]+0x008 InMemoryOrderLinks : _LIST_ENTRY [ 0x3134d8 - 0x312bd0 ]+0x010 InInitializationOrderLinks : _LIST_ENTRY [ 0x314578 - 0x3136f0 ]+0x018 DllBase          : 0x76240000 +0x01c EntryPoint       : 0x762c1621 +0x020 SizeOfImage      : 0xc4a000+0x024 FullDllName      : _UNICODE_STRING "C:\windows\system32\SHELL32.dll"+0x02c BaseDllName      : _UNICODE_STRING "SHELL32.dll"+0x034 Flags            : 0xc4004+0x038 LoadCount        : 0xffff+0x03a TlsIndex         : 0+0x03c HashLinks        : _LIST_ENTRY [ 0x316554 - 0x7784a688 ]+0x03c SectionPointer   : 0x00316554 +0x040 CheckSum         : 0x7784a688+0x044 TimeDateStamp    : 0x4fd2d1d9+0x044 LoadedImports    : 0x4fd2d1d9 +0x048 EntryPointActivationContext : (null) +0x04c PatchInformation : (null) +0x050 ForwarderLinks   : _LIST_ENTRY [ 0x313438 - 0x313438 ]+0x058 ServiceTagLinks  : _LIST_ENTRY [ 0x313440 - 0x313440 ]+0x060 StaticLinks      : _LIST_ENTRY [ 0x313cc8 - 0x3135d8 ]+0x068 ContextInformation : 0x777e0534 +0x06c OriginalBase     : 0x73800000+0x070 LoadTime         : _LARGE_INTEGER 0x1cdef13`ea9282d2

对比!peb的输出:

    8f0000 4ce7979d Nov 20 17:40:45 2010 C:\Windows\System32\calc.exe77770000 4ec49b60 Nov 17 13:28:00 2011 C:\windows\SYSTEM32\ntdll.dll77490000 506dbd3e Oct 05 00:45:50 2012 C:\windows\system32\kernel32.dll75a30000 506dbd3f Oct 05 00:45:51 2012 C:\windows\system32\KERNELBASE.dll76240000 4fd2d1d9 Jun 09 12:32:25 2012 C:\windows\system32\SHELL32.dll

当然是一样的~~~

下一步是怎么直接得到进程的cmdline:我们注意到PEB0x10处的偏移

+0x010 ProcessParameters : 0x00311b48 _RTL_USER_PROCESS_PARAMETERS

dt一下试试:

0:000> dt 0x00311b48 _RTL_USER_PROCESS_PARAMETERS
ole32!_RTL_USER_PROCESS_PARAMETERS+0x000 MaximumLength    : 0xaf2+0x004 Length           : 0xaf2+0x008 Flags            : 0x2001+0x00c DebugFlags       : 0+0x010 ConsoleHandle    : (null) +0x014 ConsoleFlags     : 0+0x018 StandardInput    : (null) +0x01c StandardOutput   : (null) +0x020 StandardError    : (null) +0x024 CurrentDirectory : _CURDIR+0x030 DllPath          : _UNICODE_STRING "C:\Windows\System32;;C:\windows\system32;C:\windows\system;C:\windows;.;C:\Program Files\Debugging Tools for Windows (x86)\winext\arcade;C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseSVN\bin;D:\Program Files\Microsoft SDK\Bin\.;D:\Program Files\Microsoft SDK\Bin\WinNT\.;D:\Program Files\Vc6\Tools\WinNT;D:\Program Files\Vc6\MSDev98\Bin;D:\Program Files\Vc6\Tools;D:\Program Files\VC98\bin;D:\Program Files\Microsoft SDK\Bin\.;D:\Program Files\Microsoft SDK\Bin\WinNT\.;C:\Program Files\IDM Computer Solutions\UltraCompare\"+0x038 ImagePathName    : _UNICODE_STRING "C:\Windows\System32\calc.exe"+0x040 CommandLine      : _UNICODE_STRING "C:\Windows\System32\calc.exe"+0x048 Environment      : 0x00310810 +0x04c StartingX        : 0+0x050 StartingY        : 0+0x054 CountX           : 0+0x058 CountY           : 0+0x05c CountCharsX      : 0+0x060 CountCharsY      : 0+0x064 FillAttribute    : 0+0x068 WindowFlags      : 0+0x06c ShowWindowFlags  : 0+0x070 WindowTitle      : _UNICODE_STRING "C:\Windows\System32\calc.exe"+0x078 DesktopInfo      : _UNICODE_STRING "Winsta0\Default"+0x080 ShellInfo        : _UNICODE_STRING ""+0x088 RuntimeData      : _UNICODE_STRING ""+0x090 CurrentDirectores : [32] _RTL_DRIVE_LETTER_CURDIR+0x290 EnvironmentSize  : 0x131e+0x294 EnvironmentVersion : 1

都出来了~~~~~~~~~

!peb和PEB结构相关推荐

  1. 枚举windows进程模块的几种方法—PEB内核结构详解

    1. 引言 在诸多的场景中(例如软件测试,软件安全研究等领域)经常需要分析在目标进程中        具体加载了哪些模块(DLL),以及所加载的模块的信息(如模块基地址,映射文件大小等).获取这win ...

  2. 枚举Windows进程中模块的几种方法-PEB内核结构详解

    1. 引言 在诸多的场景中(例如软件测试,软件安全研究等领域)经常需要分析在目标进程中具体加载了哪些模块(DLL),以及所加载的模块的信息(如模块基地址,映射文件大小等).获取这windows进程加载 ...

  3. 通过PEB获取模块基址

    TEB偏移0x30处,即FS:[0x30]地址处保存着一个指针,指向PEB,PEB结构的偏移0xC处保存着另外一个指针ldr,该指针执行PEB_LDR_DATA PEB结构 typedef struc ...

  4. 原创 通过PEB获得进程路径 (附完整工程)

    完整工程:http://files.cnblogs.com/files/Gotogoo/%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86%E5%99%A8%28x86%26%2 ...

  5. 反调试/反汇编技术、TEB/PEB部分说明

    反调试技术 WindowsAPI ISDebuggerPresent 查询PEB进程环境块中的ISDebugged标志 CheckRemoteDebuggerPresent 类似于IsDebugger ...

  6. Process Environment Block(PEB)

    简介 PEB(Process Environment Block,进程环境块)是存放进程信息的结构体,尺寸非常大,其大部分内容都已被文档化 PEB访问方法 TEB.ProcessEnvironment ...

  7. [ScyllaHide] 03 PEB相关反调试

    [ScyllaHide] 文章列表-看雪地址: 00 简单介绍和使用 01 项目概览 02 InjectorCLI源码分析 03 PEB相关反调试 04 ScyllaHide配置报错原因定位 05 S ...

  8. 反调试 - PEB(BeingDebugged ,NtGlobalFlag)

    姜姜姜姜 ··················· ~! 如题,PEB 里其实本来有很多可以用来检测调试器的成员(虽然有的本意不一定是,但确实在被调试时会有固定变化),但是在 Win7 之后,能用的只剩 ...

  9. 图解windbg查看Win7结构体

    首先用windbg打开notepad.exe: dt命令显示局部变量.全局变量或数据类型的信息.它也可以仅显示数据类型.即结构和联合(union)的信息. 下面用dt命令查看Win7结构体: 查看pe ...

  10. PEB结构----枚举用户模块列表(图)

    本文在主主要以上述两篇文章为基础,对PEB的结构进行了详细的分析,重点是在揭示PEB结构中的list-entry的应用,并且以C语言Code进行实证. 本文主要分为四个部分,第一部分说明PEB地址如何 ...

最新文章

  1. POJ1564 Sum It Up(DFS)
  2. nginx File not found 错误(转)
  3. 选择排序与冒泡排序的区别
  4. Tomcat 5 5 JNDI Resource 配置
  5. python爬取系统_python应用:爬虫框架Scrapy系统学习第四篇——scrapy爬取笔趣阁小说...
  6. 暴风影音彻底凉凉!土豆、乐视、pps、风行曾经也辉煌过
  7. 实战 RocketMQ 流量削峰,怎么能错过这一篇!
  8. 你觉得你非常了解Javascript?
  9. 一文读懂民航客机飞控系统
  10. Ffmpeg视频压制的基础知识
  11. C语言中快排函数——qsort()
  12. 全志T3开发板——嵌入式入门学习测试教程(4)
  13. SDN在低带宽战术通信场景下的应用
  14. 悲观锁、乐观锁、自旋锁和读写锁
  15. 主流 CTR 模型综述
  16. FAL_SERVER参数解释
  17. MODIFY TRANSPORTING
  18. 虚幻四蓝图实战(人物切换汽车控制)
  19. C#小游戏——贪吃蛇~详细过程+全部代码
  20. 2022年第十三届蓝桥杯JAVA B组题目

热门文章

  1. 高等数学18讲(19版)7.29
  2. Excel模板免费分享(办公常用、甘特图、员工绩效考核等模板)
  3. c 语言程序反编译,EXE文件反编译成C源代码的工具下载_EXE文件反编译成C源代码的工具官方下载-太平洋下载中心...
  4. 使用DOM4J解析大容量XML文件
  5. Java速成:37-贷款计算器
  6. 传说中四个月的java速成“大法”,我见识到了,不过就是没啥用
  7. 计算机专业技术面试题
  8. ppt学习02——字体
  9. 多线程在Java项目中的使用案例(笔记)
  10. EOS合约开发 - 钱包篇