易语言线程EIP注入卸载DLL源码
系统结构:打开线程,原_按钮2_被单击,线程EIP注入,取进线程ID,卸载DLL,GetThreadContext,SetThreadContext,打开进程_,OpenThread,关闭内核对象_,取进程线程标识符_,SuspendThread,ResumeThread,GetProcAddress,GetModuleHandle,载入动态链接库_,VirtualAllocEx,WriteProcessMemoryBin,Process32First,Process32Next,Thread32First,Thread32Next,
======窗口程序集1
| |
| |------ 打开线程
| |
| |------ 原_按钮2_被单击
| |
| |------ __启动窗口_将被销毁
| |
| |------ __启动窗口_创建完毕
| |
| |------ _按钮2_被单击
| |
| |------ _按钮1_被单击
| |
| |
======功能_程序集
| |
| |------ 线程EIP注入
| |
| |------ 取进线程ID
| |
| |------ 卸载DLL
| |
| |
======调用的Dll
| |
| |---[dll]------ GetThreadContext
| |
| |---[dll]------ SetThreadContext
| |
| |---[dll]------ 打开进程_
| |
| |---[dll]------ OpenThread
| |
| |---[dll]------ 关闭内核对象_
| |
| |---[dll]------ 取进程线程标识符_
| |
| |---[dll]------ SuspendThread
| |
| |---[dll]------ ResumeThread
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ 载入动态链接库_
| |
| |---[dll]------ VirtualAllocEx
| |
| |---[dll]------ WriteProcessMemoryBin
| |
| |---[dll]------ _创建快照
| |
| |---[dll]------ Process32First
| |
| |---[dll]------ Process32Next
| |
| |---[dll]------ Thread32First
| |
| |---[dll]------ Thread32Next
调用的DLL命令:
.DLL命令 GetThreadContext, 逻辑型, "KERNEL32.DLL"
.参数 线程句柄, 整数型
.参数 寄存器, 寄存器
.DLL命令 SetThreadContext, 逻辑型
.参数 线程句柄, 整数型
.参数 寄存器, 寄存器
.DLL命令 打开进程_, 整数型, "kernel32.dll", "OpenProcess", , 将句柄返回给过程对象
.参数 进程对象, 整数型, , dwDesiredAccess
.参数 继承句柄, 整数型, , bInheritHandle
.参数 进程标识符, 整数型, , dwProcessId
.DLL命令 OpenThread, 整数型, , "OpenThread"
.参数 打开方式, 整数型
.参数 继承, 整数型
.参数 线程ID, 整数型
.DLL命令 关闭内核对象_, 整数型, "kernel32", "CloseHandle", , 关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError
.参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 取进程线程标识符_, 整数型, "user32.dll", "GetWindowThreadProcessId", , GetWindowThreadProcessId,获取与指定窗口关联在一起的一个线程和进程标识符
.参数 窗口句柄, 整数型, , hwnd,指定窗口句柄
.参数 进程标识符, 整数型, 传址, lpdwProcessId,指定一个变量,用于装载拥有那个窗口的一个进程的标识符
.DLL命令 SuspendThread, 整数型
.参数 线程句柄, 整数型
.DLL命令 ResumeThread, 整数型
.参数 线程ID, 整数型
.DLL命令 GetProcAddress, 整数型, "kernel32.dll", "GetProcAddress"
.参数 模块句柄, 整数型, , hModule
.参数 进程名称, 文本型, , lpProcName
.DLL命令 GetModuleHandle, 整数型, "kernel32.dll", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 模块名, 文本型, , lpModuleName,指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD
.DLL命令 载入动态链接库_, 整数型, "kernel32.dll", "LoadLibraryA", , 载入指定的动态链接库,并将它映射到当前进程使用的地址空间
.参数 动态链接库名称, 文本型, , lpLibFileName,指定要载入的动态链接库的名称
.DLL命令 VirtualAllocEx, 整数型, "kernel32.dll", "VirtualAllocEx"
.参数 hProcess, 整数型
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flAllocationType, 整数型
.参数 flProtect, 整数型
.DLL命令 WriteProcessMemoryBin, 逻辑型, "kernel32", "WriteProcessMemory", , 在指定进程中写内存
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 _创建快照, 整数型, , "CreateToolhelp32Snapshot"
.参数 falg, 整数型
.参数 id, 整数型
.DLL命令 Process32First, 逻辑型, , "Process32First"
.参数 h, 整数型
.参数 p, 进程信息_
.DLL命令 Process32Next, 逻辑型, , "Process32Next"
.参数 h, 整数型
.参数 p, 进程信息_
.DLL命令 Thread32First, 逻辑型, "KERNEL32.DLL", "Thread32First"
.参数 hSnapshot, 整数型
.参数 lpte, THREADENTRY32
.DLL命令 Thread32Next, 逻辑型, "KERNEL32.DLL", "Thread32Next"
.参数 hSnapshot, 整数型
.参数 lpte, THREADENTRY32
原贴 [易语言首发]PCVX小程序解密 因为 我也不懂 就看了下这个 PC小程序解密.e 发出来不知道怎么用,所以 度娘一步步找答案得到 的 自行研究捉摸了下 仅供学习参考 1.打开 PC小程序解...
易语言模块基址获取源码,模块基址获取,GetModuleBaseAddress...
易语言流程控制编译原理源码,流程控制编译原理,是否汉字,读字符,是否运算符,是否逻辑运算符,指针回溯,跳过空格,跳过注释,代码块,取程序返回值,外部接口_代码块执行,外部接口_表达式计算,表达式计算,逻辑判断,文本到逻辑,函数调用,函数_位或,函数_测试,函数_信...
易语言搜索程序隐藏代码源码,搜索程序隐藏代码,枚举子程序...
易语言打鱼学习链表源码,打鱼学习链表,入栈,出栈,清空链表,取顶数据,取索引处值,取长度,取值处索引,插入,删除,倒置,是否为空,到八,入队,出队...
易语言脚本解析类源码,脚本解析类,子程序1,QEHash,创建进入许可证_,进入许可区_,退出许可区_,删除进入许可证_,启动线程_,销毁线程_,寻找字节集_,内存_申请,内存_释放,内存_尺寸,内存_读整数,内存_写整数,内存_复制,内存_写字节集,内存_写文本,内存_读字节集,...
易语言核心算术计算解析源码,核心算术计算解析,信息框3,信息框2...
易语言获取网页和密码例程源码,获取网页和密码例程,取文档对象,取浏览器文档对象_API,注册消息_API,发送消息_API,置鼠标捕获窗口_API,取消鼠标捕获窗口_API,取窗口类名_API,取座标窗口句柄_API,取光标位置_API...
易语言置入代码调用子程序办法源码,置入代码调用子程序办法,普通写法,置入写法...