lzwf4
驱动小牛
驱动小牛
  • 注册日期2002-10-10
  • 最后登录2006-06-09
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1593回复:9

FS:0x124指向一个什么样的数据结构?????

楼主#
更多 发布于:2003-02-13 17:02
lu0老大及各位高手,能否告诉我,在内核模式,FS:0x124指向一个什么样的数据结构?????
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
沙发#
发布于:2003-02-13 23:32
fs[:0x124] is current ETHREAD on NT4
lzwf4
驱动小牛
驱动小牛
  • 注册日期2002-10-10
  • 最后登录2006-06-09
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-14 16:48
能给它的结构定义吗???

谢谢!!
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
地板#
发布于:2003-02-15 01:10
typedef struct _ETHREAD {
    KTHREAD                 Tcb;
    LARGE_INTEGER           CreateTime;
    LARGE_INTEGER           ExitTime; // or LIST_ENTRY LpcReplyChain
    NTSTATUS                ExitStatus; // or PVOID OfsChain
    LIST_ENTRY              PostBlockList;
    LIST_ENTRY              TerminationPortList;
    KSPIN_LOCK              ActiveTimerListLock;
    LIST_ENTRY              ActiveTimerListHead;
    CLIENT_ID               Cid;
    KSEMAPHORE              LpcReplySemaphore;
    PLPC_MESSAGE            LpcReplyMessage;
    ULONG                   LpcReplyMessageId;
    ULONG                   PerformanceCountLow;
    PPS_IMPERSONATION_INFO  ImpersonationInfo;
    LIST_ENTRY              IrpList;
    PVOID                   TopLevelIrp;
    PDEVICE_OBJECT          DeviceToVerify;
    ULONG                   ReadClusterSize;
    BOOLEAN                 ForwardClusterOnly;
    BOOLEAN                 DisablePageFaultClustering;
    BOOLEAN                 DeadThread;
#if (_WIN32_WINNT >= 0x0500)
    BOOLEAN                 HideFromDebugger;
#endif // (_WIN32_WINNT >= 0x0500)
#if (_WIN32_WINNT < 0x0500)
    BOOLEAN                 HasTerminated;
#else // (_WIN32_WINNT >= 0x0500)
    ULONG                   HasTerminated;
#endif // (_WIN32_WINNT >= 0x0500)
#if (_WIN32_WINNT < 0x0500)
    PKEVENT_PAIR            EventPair;
#endif // (_WIN32_WINNT < 0x0500)
    ACCESS_MASK             GrantedAccess;
    PEPROCESS               ThreadsProcess;
    PKSTART_ROUTINE         StartAddress;
    PVOID                   Win32StartAddress; // or ULONG LpcReceivedMessageId
    BOOLEAN                 LpcExitThreadCalled;
    BOOLEAN                 HardErrorsAreDisabled;
    BOOLEAN                 LpcReceivedMsgIdValid;
    BOOLEAN                 ActiveImpersonationInfo;
    ULONG                   PerformanceCountHigh;
#if (_WIN32_WINNT >= 0x0500)
    LIST_ENTRY              ThreadListEntry;
#endif // (_WIN32_WINNT >= 0x0500)
} ETHREAD, *PETHREAD;
  

[编辑 -  2/15/03 by  KMK]
lzwf4
驱动小牛
驱动小牛
  • 注册日期2002-10-10
  • 最后登录2006-06-09
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-15 14:54
KMK兄,谢谢你了!
我还很穷,分数余下不多了,我只好以一片感激来谢谢你了--再次谢谢你了!
不过我找遍了DDK中的H文件都没找到它定义,只知道DDK中有很多使用这个结构,请问KMK兄它到底在哪定义的?
还有象以下
typedef struct _KTHREAD *PKTHREAD;
typedef struct _ETHREAD *PETHREAD;
typedef struct _EPROCESS *PEPROCESS;
typedef struct _PEB *PPEB;
中的_KTHREAD、_EPROCESS、_PEB这些结构双在哪定义?它们在W2K中又在FS段的那个单元?????
KMK兄,希望你能告诉我,不要因为没得到分还不不理我了,我知道你现在线!!!!!


[编辑 -  2/15/03 by  lzwf4]
ooze
驱动牛犊
驱动牛犊
  • 注册日期2001-09-26
  • 最后登录2004-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-02-15 15:40
继续努力,革命未成功呢,我想是否可以通过sice得到这个结构呢?

typedef struct _KTHREAD
    {
    DISPATCHER_HEADER         Header;       // DO_TYPE_THREAD (0x6C)
    LIST_ENTRY                le010;
    DWORD                     d018;
    DWORD                     d01C;
    struct _TEB              *pTeb;
    DWORD                     d024;
    DWORD                     d028;
    BYTE                      b02C;
    BYTE                      bThreadState; // THREAD_STATE_*
    WORD                      w02E;
    WORD                      w030;
    BYTE                      b032;
    BYTE                      bPriority;
    LIST_ENTRY                le034;
    LIST_ENTRY                le03C;
    PKPROCESS                 pProcess;
    DWORD                     d048;
    DWORD                     dContextSwitches;
    DWORD                     d050;
    WORD                      w054;
    BYTE                      b056;
    BYTE                      bWaitReason;
    DWORD                     d058;
    PLIST_ENTRY               ple05C;
    PLIST_ENTRY               ple060;
    DWORD                     d064;
    BYTE                      bBasePriority;
    BYTE                      b069;
    WORD                      w06A;
    DWORD                     d06C;
    DWORD                     d070;
    DWORD                     d074;
    DWORD                     d078;
    DWORD                     d07C;
    DWORD                     d080;
    DWORD                     d084;
    DWORD                     d088;
    DWORD                     d08C;
    DWORD                     d090;
    DWORD                     d094;
    DWORD                     d098;
    DWORD                     d09C;
    DWORD                     d0A0;
    DWORD                     d0A4;
    DWORD                     d0A8;
    DWORD                     d0AC;
    DWORD                     d0B0;
    DWORD                     d0B4;
    DWORD                     d0B8;
    DWORD                     d0BC;
    DWORD                     d0C0;
    DWORD                     d0C4;
    DWORD                     d0C8;
    DWORD                     d0CC;
    DWORD                     d0D0;
    DWORD                     d0D4;
    DWORD                     d0D8;
    PSERVICE_DESCRIPTOR_TABLE pServiceDescriptorTable;
    DWORD                     d0E0;
    DWORD                     d0E4;
    DWORD                     d0E8;
    DWORD                     d0EC;
    LIST_ENTRY                le0F0;
    DWORD                     d0F8;
    DWORD                     d0FC;
    DWORD                     d100;
    DWORD                     d104;
    DWORD                     d108;
    DWORD                     d10C;
    DWORD                     d110;
    DWORD                     d114;
    DWORD                     d118;
    BYTE                      b11C;
    BYTE                      b11D;
    WORD                      w11E;
    DWORD                     d120;
    DWORD                     d124;
    DWORD                     d128;
    DWORD                     d12C;
    DWORD                     d130;
    WORD                      w134;
    BYTE                      b136;
    KPROCESSOR_MODE           ProcessorMode;
    DWORD                     dKernelTime;  // ticks
    DWORD                     dUserTime;    // ticks
    DWORD                     d140;
    DWORD                     d144;
    DWORD                     d148;
    DWORD                     d14C;
    DWORD                     d150;
    DWORD                     d154;
    DWORD                     d158;
    DWORD                     d15C;
    DWORD                     d160;
    DWORD                     d164;
    DWORD                     d168;
    DWORD                     d16C;
    DWORD                     d170;
    PROC                      SuspendNop;
    DWORD                     d178;
    DWORD                     d17C;
    DWORD                     d180;
    DWORD                     d184;
    DWORD                     d188;
    DWORD                     d18C;
    KSEMAPHORE                SuspendSemaphore;
    LIST_ENTRY                ThreadList; // KPROCESS.ThreadListHead
    DWORD                     d1AC;
    }
        KTHREAD,
     * PKTHREAD,
    **PPKTHREAD;
[编辑 -  2/15/03 by  ooze]

[编辑 -  2/15/03 by  ooze]
Be a true hacker of Windows NT alike
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
6楼#
发布于:2003-02-16 13:10
ETHREAD 我是在网上找的 !!
真它都可在 Inside Windows NT (David Solomon)的
ooze
驱动牛犊
驱动牛犊
  • 注册日期2001-09-26
  • 最后登录2004-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-02-16 14:11
怎么我的sice不显示了?
记得以前用的时候都可以显示结构来呢
Be a true hacker of Windows NT alike
lzwf4
驱动小牛
驱动小牛
  • 注册日期2002-10-10
  • 最后登录2006-06-09
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-02-16 14:35
谢谢各位大侠的指点!
不过我有一个问题:DDK没有定义这些结构,那为什么我们的源程序中使用这些结构时又能编译还没有错误呢???
lzwf4
驱动小牛
驱动小牛
  • 注册日期2002-10-10
  • 最后登录2006-06-09
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-02-17 13:10
怎么用“在WinDbg和i386kd用\"!\"指令”和SICE的\"!\"指令?
游客

返回顶部