//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言强力反调试模块源码
系统结构:强力打开进程,反调试器,调试器脱钩,结束自身,kill,是否被调试,取进程路径,取进程文件名,取本进程PID,ZwOpenProcess,ZwQuerySystemInformation,取指针_字节集,RtlMoveMemory3,RtlMoveMemory1,ZwDuplicateObject,ZwQueryInformationProcess,ZwClose,CreateToolhelp32Snapshot,Process32First,ReadProcessMemory,Process32Next,CloseHandle,获取启动信息_,OpenProcess,Module32First,CallWindowProc,
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 强力打开进程
| |
| |------ 反调试器
| |
| |------ 调试器脱钩
| |
| |------ 结束自身
| |
| |------ kill
| |
| |------ 是否被调试
| |
| |------ 取进程路径
| |
| |------ 取进程文件名
| |
| |------ 取本进程PID
| |
| |
======调用的Dll
| |
| |---[dll]------ ZwOpenProcess
| |
| |---[dll]------ ZwQuerySystemInformation
| |
| |---[dll]------ 取指针_字节集
| |
| |---[dll]------ RtlMoveMemory3
| |
| |---[dll]------ RtlMoveMemory1
| |
| |---[dll]------ ZwDuplicateObject
| |
| |---[dll]------ ZwQueryInformationProcess
| |
| |---[dll]------ ZwClose
| |
| |---[dll]------ CreateToolhelp32Snapshot
| |
| |---[dll]------ Process32First
| |
| |---[dll]------ ReadProcessMemory
| |
| |---[dll]------ Process32Next
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ 获取启动信息_
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ Module32First
| |
| |---[dll]------ _创建快照
| |
| |---[dll]------ _第一个模块
| |
| |---[dll]------ _取库函数地址3
| |
| |---[dll]------ _取模块句柄2
| |
| |---[dll]------ CallWindowProc
| |
| |---[dll]------ _取当前线程句柄
======窗口程序集1
| |
| |------ _按钮1_被单击
| |
| |------ __启动窗口_创建完毕
调用的DLL命令:
.DLL命令 ZwOpenProcess, 整数型, "ntdll.dll", "ZwOpenProcess"
.参数 hProcess, 整数型, 传址
.参数 DesiredAccess, 整数型
.参数 ObjectAttributes, OBJECT_ATTRIBUTES
.参数 ClientId, CLIENT_ID
.DLL命令 ZwQuerySystemInformation, 整数型, "ntdll.dll", "ZwQuerySystemInformation"
.参数 SystemInformationClass, 整数型, , 未知类型:SYSTEM_INFORMATION_CLASS。
.参数 SystemInformation, 字节集, , any
.参数 SystemInformationLength, 整数型
.参数 ReturnLength, 整数型, 传址
.DLL命令 取指针_字节集, 整数型, , "lstrcpyn", , 常规API
.参数 欲取其指针, 字节集, 传址
.参数 欲取其指针, 字节集, 传址
.参数 保留, 整数型, , 0
.DLL命令 RtlMoveMemory3, 整数型, , "RtlMoveMemory", , 常规API,从地址读一个整数
.参数 dest, 整数型, 传址
.参数 Source, 整数型
.参数 len, , , 4
.DLL命令 RtlMoveMemory1, 整数型, , "RtlMoveMemory", , 常规API
.参数 dest, SYSTEM_HANDLE_TABLE_ENTRY_INFO
.参数 Source, 整数型
.参数 len, , , 284
.DLL命令 ZwDuplicateObject, 整数型, "ntdll.dll"
.参数 SourceProcessHandle, 整数型
.参数 SourceHandle, 整数型
.参数 TargetProcessHandle, 整数型
.参数 TargetHandle, 整数型, 传址
.参数 DesiredAccess, 整数型
.参数 HandleAttributes, 整数型
.参数 Options, 整数型
.DLL命令 ZwQueryInformationProcess, 整数型, "ntdll.dll", "ZwQueryInformationProcess"
.参数 SystemInformationClass, 整数型, , 未知类型:SYSTEM_INFORMATION_CLASS。
.参数 dd, 整数型
.参数 SystemInformation, PROCESS_BASIC_INFORMATION, , any
.参数 SystemInformationLength, 整数型
.参数 ReturnLength, 整数型, 传址
.DLL命令 ZwClose, 整数型, "ntdll.dll", "ZwClose"
.参数 hnd
.DLL命令 CreateToolhelp32Snapshot, 整数型, , "CreateToolhelp32Snapshot"
.参数 dwFlags, 整数型
.参数 th32ProcessID, 整数型
.DLL命令 Process32First, 整数型, , "Process32First"
.参数 hSnapshot, 整数型
.参数 lppe, PROCESSENTRY32
.DLL命令 ReadProcessMemory, 整数型, "kernel32", "ReadProcessMemory", , 在进程中读内存
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型
.DLL命令 Process32Next, 整数型, , "Process32Next"
.参数 hSnapshot, 整数型
.参数 lppe, PROCESSENTRY32
.DLL命令 CloseHandle, , , "CloseHandle"
.参数 ProcessHandle, 整数型
.DLL命令 获取启动信息_, 整数型, "kernel32", "GetStartupInfoA"
.参数 启动信息, 进程启动信息_, 传址
.DLL命令 OpenProcess, 整数型, , "OpenProcess", , 将句柄返回给过程对象
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 逻辑型
.参数 dwProcessId, 整数型
.DLL命令 Module32First, 整数型, , "Module32First"
.参数 hSnapshot, 整数型
.参数 lpme, MODULEENTRY32
.DLL命令 _创建快照, 整数型, , "CreateToolhelp32Snapshot"
.参数 falg, 整数型
.参数 id, 整数型
.DLL命令 _第一个模块, 整数型, , "Module32First", , 第一个模块,查找模块
.参数 快照句柄, 整数型
.参数 模块信息, 模块信息型
.DLL命令 _取库函数地址3, 整数型, , "GetProcAddress"
.参数 hModule, 整数型
.参数 lpProcName, 整数型
.DLL命令 _取模块句柄2, 整数型, , "GetModuleHandleA"
.参数 lpModuleName, 文本型
.DLL命令 CallWindowProc, 整数型, , "CallWindowProcA"
.参数 lpPrevWndFunc, 整数型
.参数 hWnd, 整数型
.参数 Msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 _取当前线程句柄, 整数型, , "GetCurrentThread", , kernel32.dll
