• <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寄存器獲取當前線程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寄存器獲取當前進程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 地址指向線程環境塊_TEB
            打開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和進程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  >進程ID
               +0x004 UniqueThread     : Ptr32 Void  >線程ID

            當然從TEB又可以找到_PEB的地址,從_PEB里面可以獲取到更多的信息。暫且擱筆~~
            posted on 2010-01-20 15:10 Only Soft 閱讀(3513) 評論(0)  編輯 收藏 引用 所屬分類: Windbg
            99久久精品费精品国产| 精品久久亚洲中文无码| 7777久久亚洲中文字幕| 少妇高潮惨叫久久久久久| 粉嫩小泬无遮挡久久久久久| 久久国产乱子伦精品免费强| 国产精品成人精品久久久| 中文字幕精品久久| 久久精品国产亚洲精品2020| 久久久久久亚洲精品无码| 亚洲伊人久久精品影院| 国产精品综合久久第一页| 国产欧美久久久精品影院| 国产精品美女久久久久网| 无码国内精品久久人妻麻豆按摩| 人妻无码αv中文字幕久久琪琪布| 亚洲国产精品久久| 亚洲愉拍99热成人精品热久久| 精品久久久久久无码国产| 色综合久久久久综合体桃花网| 999久久久免费国产精品播放| 久久中文字幕精品| 国内精品伊人久久久久影院对白| 亚洲精品午夜国产VA久久成人| 久久午夜福利电影| 精品久久久久久久中文字幕| 2021久久精品国产99国产精品| 日本五月天婷久久网站| 久久国产成人精品国产成人亚洲| 狠狠色丁香久久婷婷综合五月| 中文字幕无码久久久| 久久国产V一级毛多内射| 国产精品日韩深夜福利久久| 久久99中文字幕久久| 国产婷婷成人久久Av免费高清| 久久人爽人人爽人人片AV| 久久久久久国产精品无码下载| 2019久久久高清456| 怡红院日本一道日本久久| 久久久久久久综合日本亚洲| 无码人妻精品一区二区三区久久|