zoukankan      html  css  js  c++  java
  • 取线程所属模块

    .版本 2

    .DLL命令 ZwQueryInformationThread, 整数型, "ntdll.dll"
        .参数 ThreadHandle, 整数型
        .参数 ThreadInformationClass, 整数型
        .参数 ThreadInformation, 字节集, 传址
        .参数 ThreadInformationLength, 整数型
        .参数 ReturnLength, 整数型, 传址

    .DLL命令 RtlNtStatusToDosError, 整数型, "ntdll.dll"
        .参数 NTSTATUS, 整数型

    .DLL命令 OpenThread, 整数型
        .参数 a, 整数型
        .参数 b, 逻辑型
        .参数 c, 整数型

    .DLL命令 ZwClose, 整数型, "ntdll.dll"
        .参数 a

    .DLL命令 OpenProcess, 整数型
        .参数 a, 整数型
        .参数 b, 逻辑型
        .参数 c, 整数型

    .DLL命令 GetModuleFileNameExA, 整数型, "psapi.dll"
        .参数 process, 整数型
        .参数 Reseverd, 整数型
        .参数 Name, 字节集, 传址
        .参数 Length, 整数型

    .DLL命令 GetMappedFileNameA, 整数型, "psapi.dll"
        .参数 process, 整数型
        .参数 startaddr, 整数型
        .参数 modname, 字节集, 传址
        .参数 length, 整数型

    .版本 2

    .数据类型 _CLIENT_ID
        .成员 UniqueProcess, 整数型
        .成员 UniqueThread, 整数型

    .数据类型 _THREAD_BASIC_INFORMATION
        .成员 ExitStatus, 整数型
        .成员 TebBaseAddress, 整数型
        .成员 Client_ID, _CLIENT_ID
        .成员 AffinityMask, 整数型
        .成员 Priority, 整数型
        .成员 BasePriority, 整数型

    .版本 2

    .子程序 ShowThread, 逻辑型
    .参数 tid6, 整数型, , 线程ID
    .参数 StartAddress, 整数型, 参考 可空
    .参数 ProcessId, 整数型, 参考 可空, 线程所在进程ID
    .参数 Image, 文本型, 可空, 线程所在进程名
    .参数 ModFile, 文本型, 可空, 线程所在模块
    .局部变量 startaddr, 字节集
    .局部变量 status, 整数型
    .局部变量 thread, 整数型
    .局部变量 process, 整数型
    .局部变量 ret
    .局部变量 ss

    thread = OpenThread (64, 假, tid6)
    .如果真 (thread = 0)
        返回 (假)
    .如果真结束
    startaddr = 取空白字节集 (4)
    status = ZwQueryInformationThread (thread, 9, startaddr, 4, ret)
    .如果真 (status < 0)
        ZwClose (thread)
        返回 (假)
    .如果真结束
    ss = 取字节集数据 (startaddr, 3, )


    StartAddress = ss
    startaddr = 取空白字节集 (28)
    status = ZwQueryInformationThread (thread, 0, startaddr, 28, ret)
    .如果真 (status < 0)
        ZwClose (thread)
        返回 (假)
    .如果真结束
    ProcessId = 取字节集数据 (startaddr, 3, 9)
    process = OpenProcess (2035711, 假, 取字节集数据 (startaddr, 3, 9))

    .如果真 (process = 0)
        ZwClose (thread)
        返回 (假)
    .如果真结束
    startaddr = 取空白字节集 (256)
    GetModuleFileNameExA (process, 0, startaddr, 256)
    Image = 取字节集数据 (startaddr, 10, )
    GetMappedFileNameA (process, ss, startaddr, 256)
    ModFile = 取字节集数据 (startaddr, 10, )
    ZwClose (thread)
    ZwClose (process)
    返回 (真)

  • 相关阅读:
    视觉(9)争取快点看完基于图论的立体匹配算法
    STL笔记(2) STL之父访谈录
    视觉(7)Computer vision from Wikipedia
    *NIX工具使用(1) Vim notes
    STL笔记(1)map
    AI杂谈(1) 你喜欢ML里的哪些模型?希望ML未来向什么方向发展?
    AI杂谈(3): dodo:人脸识别方法个人见解(zz from prfans)
    AI杂谈(2)请教支持向量机用于图像分类
    视觉(3)blepo
    windows编程(2)深入探讨MFC消息循环和消息泵
  • 原文地址:https://www.cnblogs.com/qq32175822/p/3375388.html
Copyright © 2011-2022 走看看