易语言内存加载器源码
系统结构:在内存中运行EXE,ClearProcess,Protect,RShift,vbLongToULong,数值_求次方,字节集_取长度,取cmd路径,在内存中运行EXE,ClearProcess,Protect,RShift,vbLongToULong,数值_求次方,字节集_取长度,取cmd路径,窗口渐显,窗口渐隐,Len_idh,CopyMemory_inh,CopyMemory_idh,Len_inh,Len_si,GetThreadContext,ReadProcessMemory,ZwUnmapViewOfSection,CreateProcess,VirtualAllocEx,WriteProcessMemory,CopyMemory_ish,Len_ish,VirtualProtectEx,WriteProcessMemory2,SetThreadContext,ResumeThread,TerminateProcess,CloseHandle,lstrcpyn,RtlMoveMemory,GetEnvironmentVariable,WaitForSingleObject,
======程序集1
| |
| |------ 在内存中运行EXE
| |
| |------ ClearProcess
| |
| |------ Protect
| |
| |------ RShift
| |
| |------ vbLongToULong
| |
| |------ 数值_求次方
| |
| |------ 字节集_取长度
| |
| |------ 取cmd路径
| |
| |
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ _按钮3_被单击
| |
| |------ 在内存中运行EXE
| |
| |------ ClearProcess
| |
| |------ Protect
| |
| |------ RShift
| |
| |------ vbLongToULong
| |
| |------ 数值_求次方
| |
| |------ 字节集_取长度
| |
| |------ 取cmd路径
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ __启动窗口_将被销毁
| |
| |------ __启动窗口_托盘事件
| |
| |------ __启动窗口_可否被关闭
| |
| |------ 窗口渐显
| |
| |------ 窗口渐隐
| |
| |------ __启动窗口_位置被改变
| |
| |------ _打开主程序_被选择
| |
| |------ _退出主程序_被选择
| |
| |------ _图片框1_鼠标左键被按下
| |
| |
======窗口程序集2
| |
| |------ _窗口1_创建完毕
| |
| |
======调用的Dll
| |
| |---[dll]------ Len_idh
| |
| |---[dll]------ CopyMemory_inh
| |
| |---[dll]------ CopyMemory_idh
| |
| |---[dll]------ Len_inh
| |
| |---[dll]------ Len_si
| |
| |---[dll]------ GetThreadContext
| |
| |---[dll]------ ReadProcessMemory
| |
| |---[dll]------ ZwUnmapViewOfSection
| |
| |---[dll]------ CreateProcess
| |
| |---[dll]------ VirtualAllocEx
| |
| |---[dll]------ WriteProcessMemory
| |
| |---[dll]------ CopyMemory_ish
| |
| |---[dll]------ Len_ish
| |
| |---[dll]------ VirtualProtectEx
| |
| |---[dll]------ WriteProcessMemory2
| |
| |---[dll]------ SetThreadContext
| |
| |---[dll]------ ResumeThread
| |
| |---[dll]------ TerminateProcess
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ lstrcpyn
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ GetEnvironmentVariable
| |
| |---[dll]------ WaitForSingleObject
调用的DLL命令:
.DLL命令 Len_idh, 整数型, "kernel32", "LocalSize"
.参数 hMem, IMAGE_DOS_HEADER, 传址
.DLL命令 CopyMemory_inh, , "kernel32", "RtlMoveMemory"
.参数 Dest, IMAGE_NT_HEADERS, 传址
.参数 Src, 字节型, 传址
.参数 L, 整数型
.DLL命令 CopyMemory_idh, , "kernel32", "RtlMoveMemory"
.参数 Dest, IMAGE_DOS_HEADER, 传址
.参数 Src, 字节型, 传址
.参数 L, 整数型
.DLL命令 Len_inh, 整数型, "kernel32", "LocalSize"
.参数 hMem, IMAGE_NT_HEADERS, 传址
.DLL命令 Len_si, 整数型, "kernel32", "LocalSize"
.参数 hMem, STARTUPINFO, 传址
.DLL命令 GetThreadContext, 整数型, "kernel32"
.参数 hThread, 整数型
.参数 lpContext, CONTEXT86, 传址
.DLL命令 ReadProcessMemory, 整数型, "kernel32"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 整数型, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 ZwUnmapViewOfSection, 整数型, "ntdll.dll"
.参数 hProcess, 整数型
.参数 BaseAddress, 整数型, 传址
.DLL命令 CreateProcess, 整数型, "kernel32", "CreateProcessA"
.参数 lpAppName, 整数型
.参数 lpCommandLine, 文本型
.参数 lpProcessAttributes, 整数型
.参数 lpThreadAttributes, 整数型
.参数 bInheritHandles, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpEnvironment, 整数型
.参数 lpCurrentDirectory, 整数型
.参数 lpStartupInfo, STARTUPINFO, 传址
.参数 lpProcessInformation, 运行信息, 传址
.DLL命令 VirtualAllocEx, 整数型, "kernel32"
.参数 hProcess, 整数型
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flAllocationType, 整数型
.参数 flProtect, 整数型
.DLL命令 WriteProcessMemory, 整数型, "kernel32"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节型, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 CopyMemory_ish, , "kernel32", "RtlMoveMemory"
.参数 Dest, IMAGE_SECTION_HEADER, 传址
.参数 Src, 字节型, 传址
.参数 L, 整数型
.DLL命令 Len_ish, 整数型, "kernel32", "LocalSize"
.参数 hMem, IMAGE_SECTION_HEADER, 传址
.DLL命令 VirtualProtectEx, 整数型, "kernel32"
.参数 hProcess, 整数型
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 WriteProcessMemory2, 整数型, "kernel32", "WriteProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 整数型, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 SetThreadContext, 整数型, "kernel32"
.参数 hThread, 整数型
.参数 lpContext, CONTEXT86, 传址
.DLL命令 ResumeThread, 整数型, "kernel32", "ResumeThread"
.参数 hThread, 整数型
.DLL命令 TerminateProcess, 整数型, "kernel32", "TerminateProcess"
.参数 hProcess, 整数型
.参数 uExitCode, 整数型
.DLL命令 CloseHandle, 整数型, "kernel32", "CloseHandle", 公开, 关闭句柄。如果接收了进程、线程句柄,不用时记得用该函数关闭,否则会造成内存泄露。
.参数 hObject, 整数型
.DLL命令 lstrcpyn, 整数型, , "lstrcpyn"
.参数 欲取其指针, 字节集, 传址
.参数 欲取其指针, 字节集, 传址
.参数 保留, 整数型
.DLL命令 RtlMoveMemory, 整数型, , "RtlMoveMemory"
.参数 lpvDest, 整数型, 传址
.参数 lpvSource, 整数型
.参数 cbCopy, 整数型
.DLL命令 GetEnvironmentVariable, 整数型, "kernel32", "GetEnvironmentVariableA"
.参数 lpName, 文本型
.参数 lpBuffer, 文本型
.参数 nSize, 整数型
.DLL命令 WaitForSingleObject, 整数型, "kernel32", "WaitForSingleObject"
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。