• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 8  文章 - 4  trackbacks - 0
            從FS寄存器獲取當(dāng)前線程ID
            int GetThreadId()
            {
             int ithread = 0;
             _asm{
                xor esi , esi
                mov eax, fs:[esi+18h]     
                   mov ecx, [eax+ 20h]
                   mov eax, [eax+ 24h]
                mov dword ptr[ithread], eax
             }
             return ithread;
            }
            從FS寄存器獲取當(dāng)前進(jìn)程ID
            int GetProcessId()
            {
             int iProcess = 0;
             _asm{
                xor esi , esi
                mov eax, fs:[esi+18h]
                   mov ecx, [eax+ 20h]
                   mov eax, [eax+ 24h]
                mov dword ptr[iProcess ], ecx
             }
             return iProcess ;
            }

            原理:
            1.fs:18h 地址指向線程環(huán)境塊_TEB
            打開(kāi)windbg可以證明:
            0:028> dd fs:18h L1
            0053:00000018  7eeb8000
            0:028> !teb
            TEB at 7eeb8000
                ExceptionList:        1f8ff15c
                StackBase:            1f900000
                StackLimit:           1f8fc000
                SubSystemTib:         00000000
                FiberData:            00001e00
                ArbitraryUserPointer: 00000000
                Self:                 7eeb8000
                EnvironmentPointer:   00000000
                ClientId:             00001a30 . 00001408
                RpcHandle:            00000000
                Tls Storage:          133d2718
                PEB Address:          7efde000
                LastErrorValue:       0
                LastStatusValue:      c0000302
                Count Owned Locks:    0
                HardErrorMode:        0

            2. 在_TEB中找到線程ID和進(jìn)程ID
            0:028> dt ntdll!_TEB
               +0x000 NtTib            : _NT_TIB
               +0x01c EnvironmentPointer : Ptr32 Void
               +0x020 ClientId         : _CLIENT_ID

            0:028> dt ntdll!_CLIENT_ID
               +0x000 UniqueProcess    : Ptr32 Void  >進(jìn)程ID
               +0x004 UniqueThread     : Ptr32 Void  >線程ID

            當(dāng)然從TEB又可以找到_PEB的地址,從_PEB里面可以獲取到更多的信息。暫且擱筆~~
            posted on 2010-01-20 15:10 Only Soft 閱讀(3522) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Windbg
            一本久久a久久精品亚洲| 99久久国产热无码精品免费| 亚洲欧美日韩久久精品| 久久精品国产亚洲av麻豆蜜芽 | 欧美久久久久久| 99久久99久久精品免费看蜜桃| 国产福利电影一区二区三区,免费久久久久久久精 | 久久亚洲日韩看片无码| 国产一级做a爰片久久毛片| 久久亚洲国产精品五月天婷| 久久99精品久久久久久hb无码 | 久久国产精品成人影院| 狠狠精品干练久久久无码中文字幕| 久久久久久精品免费看SSS| 国产精品99久久久久久猫咪| 久久亚洲私人国产精品vA| 久久免费视频6| 国产精品久久久久一区二区三区| 亚洲中文字幕无码久久综合网 | 亚洲中文字幕无码久久综合网| 久久国产美女免费观看精品| 久久99免费视频| 国产精品久久久久影院色| 色婷婷久久综合中文久久蜜桃av| 青青热久久国产久精品| 久久久久国产精品嫩草影院| 亚洲综合久久综合激情久久| 97久久超碰成人精品网站| 狠狠色婷婷久久一区二区三区| 狠狠精品久久久无码中文字幕 | 久久免费观看视频| 亚洲国产成人久久精品99| 久久这里只有精品视频99| 久久精品?ⅴ无码中文字幕| 国産精品久久久久久久| 久久久精品久久久久特色影视| 久久婷婷人人澡人人| 午夜精品久久久久久久无码| 久久天天婷婷五月俺也去| 久久久久人妻一区二区三区 | 久久综合九色综合网站|