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)
    返回 (真)

  • 相关阅读:
    004-核心技术-netty概述、传统IO、Reactor线程模型
    003-核心技术-IO模型-NIO-基于NIO群聊示例
    002-核心技术-IO模型-NIO【Selector、Channel、Buffer】、零拷贝
    018-redis-命令合计
    【整理】js、python、java分别对url进行编码和解码
    深度 | 翟东升:写在美帝国撤军和阿富汗政权溃散之际
    修改Windows10 命令终端cmd的编码为UTF-8 && IDEA控制台输出中文乱码
    Dockerfile文件中的ENTRYPOINT,CMD命令跟k8s中command,args之间的关系
    服务器带宽,流量之间的关系
    值得收藏的下载地址
  • 原文地址:https://www.cnblogs.com/qq32175822/p/3375388.html
Copyright © 2011-2022 走看看