//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言DLL操作模块源码
系统结构:注入DLL,卸载DLL,提取错误标题,提取错误信息,提取错误代码,UnHookDLL,OpenProcess,VirtualAllocEx,CloseHandle,WriteProcessMemory,VirtualFreeEx,GetModuleHandle,GetProcAddress,CreateRemoteThread,WaitForSingleObject,GetExitCodeThread,LoadLibraryEx,FreeLibrary,
======系统程序集
| |
| |------ _启动子程序
| |
| |------ 注入DLL
| |
| |------ 卸载DLL
| |
| |
======内部程序集
| |
| |------ 提取错误标题
| |
| |------ 提取错误信息
| |
| |------ 提取错误代码
| |
| |------ UnHookDLL
| |
| |
======调用的Dll
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ VirtualAllocEx
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ WriteProcessMemory
| |
| |---[dll]------ VirtualFreeEx
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ CreateRemoteThread
| |
| |---[dll]------ WaitForSingleObject
| |
| |---[dll]------ GetExitCodeThread
| |
| |---[dll]------ LoadLibraryEx
| |
| |---[dll]------ FreeLibrary
调用的DLL命令:
.DLL命令 OpenProcess, 整数型, "kernel32", "OpenProcess", , 将句柄返回给过程对象
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 整数型
.参数 dwProcessId, 整数型
.DLL命令 VirtualAllocEx, 整数型, "kernel32.dll", "VirtualAllocEx"
.参数 hProcess, 整数型
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flAllocationType, 整数型
.参数 flProtect, 整数型
.DLL命令 CloseHandle, 整数型
.参数 hObject, 整数型
.DLL命令 WriteProcessMemory, 整数型, , "WriteProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 VirtualFreeEx, 整数型
.参数 hProcess, 整数型
.参数 lpBuf, 整数型
.参数 dwSize, 整数型
.参数 dwFreeType, 整数型
.DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 GetProcAddress, 整数型, "kernel32", "GetProcAddress", , 返回函数地址
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 CreateRemoteThread, 整数型, "kernel32", "CreateRemoteThread", , 在另一进程中建立线索
.参数 hProcess, 整数型
.参数 lpThreadAttributes, SECURITY_ATTRIBUTES
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 整数型
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型, 传址
.DLL命令 WaitForSingleObject, 整数型
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
.DLL命令 GetExitCodeThread, 整数型
.参数 Handle, 整数型
.参数 ret, 整数型, 传址
.DLL命令 LoadLibraryEx, 整数型, "kernel32.dll", "LoadLibraryExA"
.参数 lpLibFileName, 文本型, 传址
.参数 hFile, 整数型
.参数 dwFlags, 整数型
.DLL命令 FreeLibrary, 整数型, "kernel32.dll"
.参数 hModule, 整数型
