入口相关代码XAntiDebug 初始化获取当前模块地址 与设置了一个标识。#define FLAG_FULLON (FLAG_CHECKSUM_NTOSKRNL | FLAG_CHECKSUM_CODESECTION | \ FLAG_DETECT_DEBUGGER | FLAG_DETECT_HARDWAREBREAKPOINT)获取当前系统相关信息。_isArch64 代表是64位架构_isWow64 代表是64位环境运行32位程序NtSetInformationThread 设置线程的优先级句柄-1 是进程的句柄 -2是当前线程的句柄0x11 ThreadHideFromDebugger = 17,wrk源码会设置线程标识。把调试端口置空。然后继续调用但是传递了错误的地址 如果没调试器应该返回错误 调试器可能处理全部设置为0 证明其存在运行XAD_Initialize函数添加调加校验crc32的初始值。获取64位 ZwQueryInformationProcess的地址 然后减去ntdll64位模块地址 算偏移=0x000000000009d370。这段代码是直接分析ntdl pe结构 然后计算这个偏移 得到代码
………………………………