zoukankan      html  css  js  c++  java
  • Windows获取线程起始地址

    typedef enum _THREADINFOCLASS {
        ThreadBasicInformation,
        ThreadTimes,
        ThreadPriority,
        ThreadBasePriority,
        ThreadAffinityMask,
        ThreadImpersonationToken,
        ThreadDescriptorTableEntry,
        ThreadEnableAlignmentFaultFixup,
        ThreadEventPair_Reusable,
        ThreadQuerySetWin32StartAddress,
        ThreadZeroTlsCell,
        ThreadPerformanceCount,
        ThreadAmILastThread,
        ThreadIdealProcessor,
        ThreadPriorityBoost,
        ThreadSetTlsArrayAddress,
        ThreadIsIoPending,
        ThreadHideFromDebugger,
        ThreadBreakOnTermination,
        MaxThreadInfoClass
    } THREADINFOCLASS;
    
    typedef LONG (WINAPI *NtQueryInformationThreadProc)(
        _In_       HANDLE ThreadHandle,
        _In_       THREADINFOCLASS ThreadInformationClass,
        _Inout_    PVOID ThreadInformation,
        _In_       ULONG ThreadInformationLength,
        _Out_opt_  PULONG ReturnLength
        );
    
    NtQueryInformationThreadProc   NtQueryInformationThread = NULL;
    hNtdll                      = GetModuleHandleW(L"ntdll.dll");
    NtQueryInformationThread    = (NtQueryInformationThreadProc)GetProcAddress(hNtdll, "NtQueryInformationThread");
    
    HANDLE  hThread = NULL;
    PVOID   pvStart = NULL;
    hThread = OpenThread(THREAD_QUERY_INFORMATION | THREAD_TERMINATE, FALSE, te32.th32ThreadID);
    NtQueryInformationThread(hThread, ThreadQuerySetWin32StartAddress, &pvStart, sizeof(pvStart), NULL);
  • 相关阅读:
    经典语录二
    squid通过正向代理访问互联网
    jQuery
    CSS常用属性
    css基本选择器
    html标签
    事件驱动模型与IO模型
    协程
    进程与线程
    软件安装 yum rpm
  • 原文地址:https://www.cnblogs.com/codeape/p/3745629.html
Copyright © 2011-2022 走看看