//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言内存DLL注入模块源码
系统结构:释放进程内存,注入DLL,取DLL函数地址,执行DLL函数,卸载DLL,是否已注入,重载变量,申请内存_,释放内存_,写到内存_,读取内存_,写入内存数据_,调用子程序_,提升进程权限_,打开进程_,字节集_到整数,取线程返回值_,启动线程_Ret,启动线程_hThread,MakeCallCode,启动线程_多参_Ret,启动线程_多参_hThread,VirtualAllocEx,VirtualFreeEx,WriteProcessMemory,RtlAdjustPrivilege,OpenProcess,CreateRemoteThread,CopyMemory,FindWindowEx,GetWindowThreadProcessId,CloseHandle,WaitForSingleObject,GetExitCodeThread,GetCurrentProcessId,ReadProcessMemory,DuplicateHandle,
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 释放进程内存
| |
| |
======内存DLL注入
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 注入DLL
| |
| |------ 取DLL函数地址
| |
| |------ 执行DLL函数
| |
| |------ 卸载DLL
| |
| |------ 是否已注入
| |
| |------ 重载变量
| |
| |
======辅助程序集
| |
| |------ 申请内存_
| |
| |------ 释放内存_
| |
| |------ 写到内存_
| |
| |------ 读取内存_
| |
| |------ 写入内存数据_
| |
| |------ 调用子程序_
| |
| |------ 提升进程权限_
| |
| |------ 打开进程_
| |
| |------ _取子程序地址
| |
| |------ _取字节集数据地址
| |
| |------ _取文本数据地址
| |
| |------ _取整数型数据地址
| |
| |------ 字节集_到整数
| |
| |------ 取线程返回值_
| |
| |------ 启动线程_Ret
| |
| |------ 启动线程_hThread
| |
| |------ MakeCallCode
| |
| |------ 启动线程_多参_Ret
| |
| |------ 启动线程_多参_hThread
| |
| |
======调用的Dll
| |
| |---[dll]------ VirtualAllocEx
| |
| |---[dll]------ VirtualFreeEx
| |
| |---[dll]------ WriteProcessMemory
| |
| |---[dll]------ RtlAdjustPrivilege
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ CreateRemoteThread
| |
| |---[dll]------ CopyMemory
| |
| |---[dll]------ FindWindowEx
| |
| |---[dll]------ GetWindowThreadProcessId
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ WaitForSingleObject
| |
| |---[dll]------ GetExitCodeThread
| |
| |---[dll]------ GetCurrentProcessId
| |
| |---[dll]------ ReadProcessMemory
| |
| |---[dll]------ DuplicateHandle
调用的DLL命令:
.DLL命令 VirtualAllocEx, 整数型, , , 公开
.参数 hProcess, 整数型
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flAllocationType, 整数型
.参数 flProtect, 整数型
.DLL命令 VirtualFreeEx, 整数型, , , 公开
.参数 hProcess, 整数型
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flAllocationType, 整数型
.DLL命令 WriteProcessMemory, 整数型, "kernel32", "WriteProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 RtlAdjustPrivilege, 整数型, "ntdll.dll", "RtlAdjustPrivilege", 公开, 提升进程线程权限
.参数 Privilege, 整数型, , 20:调试 19:关机 18:启动 17:备份
.参数 Enable, 整数型, , 1
.参数 CurrentThread, 整数型, , 线程句柄或0(0表示整个进程)
.参数 Enabled, 整数型, 传址, 0
.DLL命令 OpenProcess, 整数型, "kernel32", "OpenProcess", 公开
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 整数型
.参数 dwProcessId, 整数型
.DLL命令 CreateRemoteThread, 整数型, , , 公开
.参数 hProcess, 整数型
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 整数型
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型, 传址
.DLL命令 CopyMemory, 整数型, , "RtlMoveMemory", 公开
.参数 lpvDest, 整数型, 传址
.参数 lpvSource, 整数型
.参数 cbCopy, 整数型
.DLL命令 FindWindowEx, 整数型, "user32", "FindWindowExA"
.参数 hWnd1, 整数型
.参数 hWnd2, 整数型
.参数 lpClassName, 文本型
.参数 lpWindowName, 整数型
.DLL命令 GetWindowThreadProcessId, 整数型, "user32", "GetWindowThreadProcessId"
.参数 句柄, 整数型
.参数 lpdwProcessId, 整数型, 传址
.DLL命令 CloseHandle, 整数型, "kernel32", "CloseHandle", 公开
.参数 hObject, 整数型
.DLL命令 WaitForSingleObject, 整数型, "kernel32", "WaitForSingleObject", 公开, 等待线程
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
.DLL命令 GetExitCodeThread, 整数型, , , 公开, 取线程返回值
.参数 hThread, 整数型
.参数 lpExitCode, 整数型, 传址
.DLL命令 GetCurrentProcessId, 整数型, "kernel32", "GetCurrentProcessId", 公开, 取自进程PID
.DLL命令 ReadProcessMemory, 整数型, "kernel32", "ReadProcessMemory", 公开
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 DuplicateHandle, 整数型, "kernel32", "DuplicateHandle", 公开, 复制对象句柄
.参数 hSourceProcessHandle, 整数型
.参数 hSourceHandle, 整数型
.参数 hTargetProcessHandle, 整数型
.参数 lpTargetHandle, 整数型, 传址
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 整数型
.参数 dwOptions, 整数型
