易语言进程注入源码
系统结构:初始化,显示行号栏,加入文本,取代码框文本,列举进程,方法1,注入数据,汇编代码转字节集,查看字节集,OpenProcess,WriteProcessMemory,CloseHandle,ReadProcessMemory,CreateRemoteThread,GetModuleHandle,GetProcAddress,FreeLibrary,VirtualAllocEx,VirtualFreeEx,LoadLibraryEx,WaitForSingleObject,VirtualQueryEx,VirtualProtectEx,RtlAdjustPrivilege,SendMessage,LoadIcon,NtQuerySystemInformation,LocalAlloc,SYSTEM_PROCESSES,WideCharToMultiByte,LocalFree,MultiByteToWideChar,
======窗口_程序集
| |
| |------ __启动窗口_创建完毕
| |
| |------ _按钮_注入_被单击
| |
| |------ _按钮_是否可汇编_被单击
| |
| |------ _代码编辑框_汇编_更新界面
| |
| |------ _组合框_选择进程_鼠标左键被按下
| |
| |------ _按钮_转换为易语言格式_被单击
| |
| |------ _选择框_显示全部_被单击
| |
| |
======代码框
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 初始化
| |
| |------ 显示行号栏
| |
| |------ 加入文本
| |
| |------ 取代码框文本
| |
| |
======进程
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 列举进程
| |
| |
======注入
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 方法1
| |
| |------ 注入数据
| |
| |------ 汇编代码转字节集
| |
| |
======子功能
| |
| |------ 查看字节集
| |
| |
======调用的Dll
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ WriteProcessMemory
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ ReadProcessMemory
| |
| |---[dll]------ CreateRemoteThread
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ FreeLibrary
| |
| |---[dll]------ VirtualAllocEx
| |
| |---[dll]------ VirtualFreeEx
| |
| |---[dll]------ LoadLibraryEx
| |
| |---[dll]------ WaitForSingleObject
| |
| |---[dll]------ VirtualQueryEx
| |
| |---[dll]------ VirtualProtectEx
| |
| |---[dll]------ RtlAdjustPrivilege
| |
| |---[dll]------ SendMessage
| |
| |---[dll]------ LoadIcon
| |
| |---[dll]------ NtQuerySystemInformation
| |
| |---[dll]------ LocalAlloc
| |
| |---[dll]------ SYSTEM_PROCESSES
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ LocalFree
| |
| |---[dll]------ MultiByteToWideChar
调用的DLL命令:
.DLL命令 OpenProcess, 整数型, , "OpenProcess"
.参数 ba, 整数型
.参数 b, 整数型
.参数 id, 整数型
.DLL命令 WriteProcessMemory, 整数型, , "WriteProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 CloseHandle, 整数型, , "CloseHandle"
.参数 hObject, 整数型
.DLL命令 ReadProcessMemory, 整数型, , "ReadProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型
.DLL命令 CreateRemoteThread, 整数型, "kernel32", "CreateRemoteThread"
.参数 hProcess, 整数型
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 整数型
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型, 传址
.DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA"
.参数 lpModuleName, 文本型
.DLL命令 GetProcAddress, 整数型, "kernel32", "GetProcAddress"
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 FreeLibrary, 整数型, "kernel32.dll", "FreeLibrary"
.参数 hModule, 整数型
.DLL命令 VirtualAllocEx, 整数型, "kernel32.dll", "VirtualAllocEx"
.参数 hProcess, 整数型
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flAllocationType, 整数型
.参数 flProtect, 整数型
.DLL命令 VirtualFreeEx, 整数型, , "VirtualFreeEx"
.参数 hProcess, 整数型
.参数 lpBuf, 整数型
.参数 dwSize, 整数型
.参数 sss, 整数型
.DLL命令 LoadLibraryEx, 整数型, "kernel32.dll", "LoadLibraryExA"
.参数 lpLibFileName, 文本型, 传址
.参数 hFile, 整数型
.参数 dwFlags, 整数型
.DLL命令 WaitForSingleObject, 整数型, , "WaitForSingleObject"
.参数 h, 整数型
.参数 d, 整数型
.DLL命令 VirtualQueryEx, 整数型, "kernel32", "VirtualQueryEx"
.参数 hProcess, 整数型, , 对象的进程句柄,可以使用函数 OpenProcess() 返回。
.参数 lpAddress, 整数型, , 对象指针地址
.参数 lpBuffer, MEMORY_BASIC_INFORMATION, , 返回的虚拟信息
.参数 dwLength, 整数型, , 信息长度,已知 28
.DLL命令 VirtualProtectEx, 逻辑型, "kernel32", "VirtualProtectEx"
.参数 hProcess, 整数型, , 对象的进程句柄,可以使用函数 OpenProcess() 返回。
.参数 lpAddress, 整数型, , 虚拟信息.BaseAddress
.参数 dwSize, 整数型, , 虚拟信息.RegionSize
.参数 flNewProtect, 整数型, , 修改类型,#PAGE_EXECUTE_READWRITE 64为可读写模式
.参数 lpflOldProtect, 整数型, 传址, 虚拟信息.Protect
.DLL命令 RtlAdjustPrivilege, 整数型, "ntdll.dll", "RtlAdjustPrivilege"
.参数 Privilege, 整数型
.参数 Enable, 整数型
.参数 CurrentThread, 整数型
.参数 Enabled, 整数型, 传址
.DLL命令 SendMessage, 整数型, "user32", "SendMessageA"
.参数 hWnd, 整数型
.参数 Msg, 整数型
.参数 wParam, 整数型
.参数 IParam, 整数型
.DLL命令 LoadIcon, 整数型, "user32", "LoadIconA"
.参数 hInstance, 整数型
.参数 lpIconName, 整数型
.DLL命令 NtQuerySystemInformation, 整数型, "ntdll.dll", , , 获取系统各类信息
.参数 SystemInformationClass, 整数型
.参数 SystemInformation, 整数型
.参数 SystemInformationLength, 整数型
.参数 ReturnLength, 整数型, 传址
.DLL命令 LocalAlloc, 整数型, "kernel32", "LocalAlloc", , 应该是申请内存,,在同一段内分配内存. 返回个类似句柄的把
.参数 wFlags, 整数型
.参数 wBytes, 整数型
.DLL命令 SYSTEM_PROCESSES, , "kernel32", "RtlMoveMemory", , 拷贝内存
.参数 Destination, SYSTEM_PROCESSES, , 子程序指针
.参数 Source, 整数型, , 缓冲区
.参数 Length, 整数型, , 尺寸
.DLL命令 WideCharToMultiByte, 整数型, "kernel32.dll", "WideCharToMultiByte", , 宽字符到双字节 映射一个unicode字符串到一个多字节字符串 如果函数运行成功,并且cchMultiByte不为零,返回值是由 lpMultiByteStr指向的缓冲区中写入的字节数;如果函数运行成功,并且cchMultiByte为零,返回值是接收到待转换字符串的缓冲区所必需的字节数。如果函数运行失败,返回值为零。
.参数 CodePage, 整数型, , 代码页 指定执行转换的代码页,这个参数可以为系统已安装或有效的任何代码页所给定的值。
.参数 dwFlags, 整数型, , 标志 在指定处理映射字符。函数更迅速地执行这些标志时,没有设置。下列标志常量的定义。
.参数 lpWideCharStr, 整数型, , 宽字符文本 指向将被转换的unicode字符串
.参数 cchWideChar, 整数型, , 宽字符文本长度 指定由参数lpWideCharStr指向的缓冲区的字符个数。如果这个值为-1,字符串将被设定为以NULL为结束符的字符串,并且自动计算长度
.参数 lpMultiByteStr, 整数型, , 双字节文本 指向接收被转换字符串的缓冲区
.参数 cchMultiByte, 整数型, , 双字节文本长度 指定由参数lpMultiByteStr指向的缓冲区最大值(用字节来计量)。若此值为零,函数返回lpMultiByteStr指向的目标缓冲区所必需的字节数,在这种情况下,lpMultiByteStr参数通常为NULL
.参数 lpDefaultChar, 整数型, , 默认文本 只有当WideCharToMultiByte函数遇到一个宽字节字符,而该字符在uCodePage参数标识的代码页中并没有它的表示法时,WideCharToMultiByte函数才使用这两个参数。如果宽字节字符不能被转换,该函数便使用lpDefaultChar参数指向的字符。如果该参数是NULL(这是大多数情况下的参数值),那么该函数使用系统的默认字符。该默认字符通常是个问号。这对于文件名来说是危险的,因为问号是个通配符。pfUsedDefaultChar参数指向一个布尔变量,如果Unicode字符串中至少有一个字符不能转换成等价多字节字符,那么函数就将该变量置为TRUE。如果所有字符均被成功地转换,那么该函数就将该变量置为FALSE。当函数返回以便检查宽字节字符串是否被成功地转换后,可以测试该变量
.参数 lpUsedDefaultChar, 整数型, , 使用默认文本 只有当WideCharToMultiByte函数遇到一个宽字节字符,而该字符在uCodePage参数标识的代码页中并没有它的表示法时,WideCharToMultiByte函数才使用这两个参数。如果宽字节字符不能被转换,该函数便使用lpDefaultChar参数指向的字符。如果该参数是NULL(这是大多数情况下的参数值),那么该函数使用系统的默认字符。该默认字符通常是个问号。这对于文件名来说是危险的,因为问号是个通配符。pfUsedDefaultChar参数指向一个布尔变量,如果Unicode字符串中至少有一个字符不能转换成等价多字节字符,那么函数就将该变量置为TRUE。如果所有字符均被成功地转换,那么该函数就将该变量置为FALSE。当函数返回以便检查宽字节字符串是否被成功地转换后,可以测试该变量
.DLL命令 LocalFree, 整数型, "kernel32", "LocalFree", , 释放内存
.参数 hMem, 整数型, , 句柄
.DLL命令 MultiByteToWideChar, 整数型, , "MultiByteToWideChar"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。