易语言编译时间查看源码
系统结构:EvaPlug,MySetWindowText,窗口_销毁,API_投递消息整数,取模块路径哦,进程_取自进程ID2,检测是否已被Hook,安装HookByName,安装HookByAddr,卸载Hook,继续Hook,暂停Hook,函数原内存地址,函数新过程地址,新函数头,清理新函数头,调用原函数,写出Nop数量,汇编动态调用,读取一字节,sizeofcode,暂停其他线程,挂起指定线程,恢复其他线程,有效句柄,汇编sizeofcode,VirtualProtect,lstrcpyn,API_RtlMoveMemory_读取整数,API_RtlMoveMemory_写入整数,API_lstrcpynA_字节集,API_VirtualProtect,API_LoadLibraryA,API_GetProcAddress,API_GetThreadPriority,API_GetCurrentThreadId,API_GetCurrentThread,API_SetThreadPriority,API_GetCurrentProcessId,API_CreateToolhelp32Snapshot,API_Thread32First,API_Thread32Next,API_OpenThread,API_SuspendThread,API_CloseHandle,API_ResumeThread,PostMessageA,
======程序集1
| |
| |------ _启动子程序
| |
| |------ EvaPlug
| |
| |------ MySetWindowText
| |
| |
======功能子程序
| |
| |------ 窗口_销毁
| |
| |------ API_投递消息整数
| |
| |------ 取模块路径哦
| |
| |------ 进程_取自进程ID2
| |
| |
======类_APIHook增强类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 检测是否已被Hook
| |
| |------ 安装HookByName
| |
| |------ 安装HookByAddr
| |
| |------ 卸载Hook
| |
| |------ 继续Hook
| |
| |------ 暂停Hook
| |
| |------ 函数原内存地址
| |
| |------ 函数新过程地址
| |
| |------ 新函数头
| |
| |------ 清理新函数头
| |
| |------ 调用原函数
| |
| |------ 写出Nop数量
| |
| |------ 汇编动态调用
| |
| |------ 读取一字节
| |
| |------ sizeofcode
| |
| |------ 暂停其他线程
| |
| |------ 挂起指定线程
| |
| |------ 恢复其他线程
| |
| |------ 有效句柄
| |
| |------ 汇编sizeofcode
| |
| |
======调用的Dll
| |
| |---[dll]------ _取易版本号
| |
| |---[dll]------ _取易版本索引
| |
| |---[dll]------ _发送调试文本
| |
| |---[dll]------ _取易主窗口句柄
| |
| |---[dll]------ _插入易代码
| |
| |---[dll]------ _加载模块
| |
| |---[dll]------ _挂事件_获取双击当前代码
| |
| |---[dll]------ _挂事件_获取回车当前代码
| |
| |---[dll]------ _反汇编地址
| |
| |---[dll]------ _反汇编子程序
| |
| |---[dll]------ _反汇编编字节集
| |
| |---[dll]------ _取输出栏句柄
| |
| |---[dll]------ VirtualProtect
| |
| |---[dll]------ lstrcpyn
| |
| |---[dll]------ API_RtlMoveMemory_读取整数
| |
| |---[dll]------ API_RtlMoveMemory_写入整数
| |
| |---[dll]------ API_lstrcpynA_字节集
| |
| |---[dll]------ API_VirtualProtect
| |
| |---[dll]------ API_LoadLibraryA
| |
| |---[dll]------ API_GetProcAddress
| |
| |---[dll]------ API_GetThreadPriority
| |
| |---[dll]------ API_GetCurrentThreadId
| |
| |---[dll]------ API_GetCurrentThread
| |
| |---[dll]------ API_SetThreadPriority
| |
| |---[dll]------ API_GetCurrentProcessId
| |
| |---[dll]------ API_CreateToolhelp32Snapshot
| |
| |---[dll]------ API_Thread32First
| |
| |---[dll]------ API_Thread32Next
| |
| |---[dll]------ API_OpenThread
| |
| |---[dll]------ API_SuspendThread
| |
| |---[dll]------ API_CloseHandle
| |
| |---[dll]------ API_ResumeThread
| |
| |---[dll]------ PostMessageA
调用的DLL命令:
.DLL命令 _取易版本号, 文本型, "eva.fne", "GetEver", , 获取易语言版本号
.DLL命令 _取易版本索引, 整数型, "eva.fne", "GetEver_index", 公开, 返回编号按顺序 3.5繁体,4.02,4.03,4.06,4.1,4.11,4.12,4.13,4.14,EPL4.01,5.0,5.1,5.11-100701,5.11-101216,5.2,5.3-141015,5.3-141101,5.3-141102,5.3-141106,5.3-141112,5.3-141209,5.31
.DLL命令 _发送调试文本, , "eva.fne", "OutText", , 向易语言输出栏发送文本
.参数 发送的文本, 文本型
.DLL命令 _取易主窗口句柄, 整数型, "eva.fne", "GetEhWnd", , 返回易主窗口句柄
.DLL命令 _插入易代码, , "eva.fne", "SendText", , 向易IDE代码框插入代码 代码框必须打开有焦点
.参数 插入的代码, 文本型
.DLL命令 _加载模块, , "eva.fne", "LoadEC", , 注意需IDE加载完成新建程序后
.参数 模块路径, 文本型, , 模块路径
.DLL命令 _挂事件_获取双击当前代码, , "eva.fne", "_Even_dbck_Code", , 挂接事件 获取双击当前代码的文本
.参数 时间子程序, 子程序指针, , 有一个参数为 代码指针 返回1拦截
.DLL命令 _挂事件_获取回车当前代码, , "eva.fne", "_Even_enter_Code", , 挂接事件 获取回车当前代码文本 返回1拦截
.参数 时间子程序, 子程序指针, , 有一个参数为 代码指针 返回1拦截
.DLL命令 _反汇编地址, 文本型, "eva.fne", "Dasm_Addr", , 反汇编地址
.参数 地址, 整数型
.参数 长度, 整数型
.DLL命令 _反汇编子程序, 文本型, "eva.fne", "Dasm_Sub", , 反汇编子程序
.参数 需要反汇编的子程序, 子程序指针
.DLL命令 _反汇编编字节集, 文本型, "eva.fne", "Dasm_Buf", , 反汇编字节集
.参数 需要反汇编的字节集, 字节集
.DLL命令 _取输出栏句柄, 整数型, "eva.fne", "GetOutBarhWnd"
.DLL命令 VirtualProtect, 整数型, "kernel32.dll", "VirtualProtect"
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 lstrcpyn, 整数型, "kernel32.dll", "lstrcpynA"
.参数 lpString1, 字节集
.参数 lpString2, 字节集
.参数 iMaxLength, 整数型
.DLL命令 API_RtlMoveMemory_读取整数, 整数型, "kernel32", "RtlMoveMemory"
.参数 pDestination, 整数型, 传址
.参数 pSource, 整数型
.参数 Length, 整数型
.DLL命令 API_RtlMoveMemory_写入整数, , "kernel32", "RtlMoveMemory"
.参数 Destination, 整数型
.参数 Source, 整数型, 传址
.参数 Length, 整数型
.DLL命令 API_lstrcpynA_字节集, 整数型, "Kernel32", "lstrcpynA"
.参数 lpString1, 字节集
.参数 lpString2, 字节集
.参数 iMaxLength, 整数型
.DLL命令 API_VirtualProtect, 整数型, "kernel32", "VirtualProtect"
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 API_LoadLibraryA, 整数型, "kernel32", "LoadLibraryA"
.参数 File, 文本型
.DLL命令 API_GetProcAddress, 整数型, "kernel32", "GetProcAddress"
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 API_GetThreadPriority, 整数型, "kernel32", "GetThreadPriority", , ,
.参数 线程句柄, 整数型
.DLL命令 API_GetCurrentThreadId, 整数型, "kernel32", "GetCurrentThreadId", , ,
.DLL命令 API_GetCurrentThread, 整数型, "kernel32", "GetCurrentThread"
.DLL命令 API_SetThreadPriority, 整数型, "kernel32", "SetThreadPriority"
.参数 线程句柄, 整数型
.参数 优先权, 整数型
.DLL命令 API_GetCurrentProcessId, 整数型, "kernel32", "GetCurrentProcessId"
.DLL命令 API_CreateToolhelp32Snapshot, 整数型, "kernel32", "CreateToolhelp32Snapshot"
.参数 标志, 整数型
.参数 进程标识符, 整数型
.DLL命令 API_Thread32First, 逻辑型, "Kernel32", "Thread32First"
.参数 hSnapshot, 整数型
.参数 lpte, THREADENTRY32
.DLL命令 API_Thread32Next, 逻辑型, "Kernel32", "Thread32Next"
.参数 hSnapShot, 整数型
.参数 lpte, THREADENTRY32
.DLL命令 API_OpenThread, 整数型, "Kernel32", "OpenThread"
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 逻辑型
.参数 dwThreadId, 整数型
.DLL命令 API_SuspendThread, 整数型, "Kernel32", "SuspendThread"
.参数 hThread, 整数型
.DLL命令 API_CloseHandle, 整数型, "Kernel32", "CloseHandle"
.参数 hObject, 整数型
.DLL命令 API_ResumeThread, 整数型, "Kernel32", "ResumeThread"
.参数 hThread, 整数型
.DLL命令 PostMessageA, 整数型, "user32", "PostMessageA", , 将一条消息投递到指定窗口的消息队列。投递的消息会在Windows事件处理过程中得到处理。在那个时候,会随同投递的消息调用指定窗口的窗口函数。特别适合那些不需要立即处理的窗口消息的发送 如消息投递成功,则返回TRUE(非零)。会设置GetLastError
.参数 hwnd, 整数型, , 接收消息的那个窗口的句柄。如设为HWND_BROADCAST,表示投递给系统中的所有顶级窗口。如设为零,表示投递一条线程消息(参考PostThreadMessage)
.参数 wMsg, 整数型, , 消息标识符
.参数 wParam, 整数型, , 具体由消息决定
.参数 lParam, 整数型, , 具体由消息决定;
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。