易语言脚本解析类源码
系统结构:子程序1,QEHash,创建进入许可证_,进入许可区_,退出许可区_,删除进入许可证_,启动线程_,销毁线程_,寻找字节集_,内存_申请,内存_释放,内存_尺寸,内存_读整数,内存_写整数,内存_复制,内存_写字节集,内存_写文本,内存_读字节集,内存_读文本,取低字,取高字,取指针_整数型,取指针_逻辑型,取指针_字节集,取指针_文本型,原子_加1,原子_减1,原子_比较赋值,原子_赋值,原子_加法,原子_减法,函数_载入DLL,函数_卸载DLL,函数_取函数指针,调用子程序_,取协议,取域名,取端口,取页面地址,类扩展_生成类回调,类扩展_取_类_函数地址,类扩展_取上层函数首参,类扩展_get_retn_code,类扩展_取变量数据地址_字节集,类扩展_取指针内容_整数,类扩展_到字节集_从整数_,类扩展_到字节集_从字节,类扩展_取变量地址_整数,类扩展_取变量地址_短整数,l_var,l_echo,l_alert,执行命令,取回错误,输出错误,脚本解析,开始解析脚本,是否行尾,跳过空格,跳过换行,是否开始位置,是否结束位置,解析一行,输出字节,输出文本,输出数据,执行一行,取长度,扩容,加入,取出,删除,加入文本,取出文本,寻找,取中间文本,添加变量,删除变量,变量取值,执行变量表达式,变量赋值,变量名取索引,是否为变量,取变量类型,InterlockedExchangeAdd,InterlockedExchange,InterlockedIncrement,InterlockedDecrement,InterlockedCompareExchange,LoadLibraryA,GetProcAddress,FreeLibrary,RtlMoveMemory,LocalAlloc,LocalFree,LocalSize,CreateThread,CloseHandle,TerminateThread,InitializeCriticalSection,DeleteCriticalSection,EnterCriticalSection,IOCP_创建,IOCP_等待,IOCP_发送,关闭句柄,LeaveCriticalSection,HeapCreate,HeapFree,HeapAlloc,HeapDestroy,WaitForSingleObject,GetProcessHeap,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 子程序1
| |
| |
======SDK
| |
| |------ QEHash
| |
| |------ 创建进入许可证_
| |
| |------ 进入许可区_
| |
| |------ 退出许可区_
| |
| |------ 删除进入许可证_
| |
| |------ 启动线程_
| |
| |------ 销毁线程_
| |
| |------ 寻找字节集_
| |
| |------ 内存_申请
| |
| |------ 内存_释放
| |
| |------ 内存_尺寸
| |
| |------ 内存_读整数
| |
| |------ 内存_写整数
| |
| |------ 内存_复制
| |
| |------ 内存_写字节集
| |
| |------ 内存_写文本
| |
| |------ 内存_读字节集
| |
| |------ 内存_读文本
| |
| |------ 取低字
| |
| |------ 取高字
| |
| |------ 取指针_整数型
| |
| |------ 取指针_逻辑型
| |
| |------ 取指针_字节集
| |
| |------ 取指针_文本型
| |
| |------ 原子_加1
| |
| |------ 原子_减1
| |
| |------ 原子_比较赋值
| |
| |------ 原子_赋值
| |
| |------ 原子_加法
| |
| |------ 原子_减法
| |
| |------ 函数_载入DLL
| |
| |------ 函数_卸载DLL
| |
| |------ 函数_取函数指针
| |
| |------ 调用子程序_
| |
| |------ 取协议
| |
| |------ 取域名
| |
| |------ 取端口
| |
| |------ 取页面地址
| |
| |------ 类扩展_生成类回调
| |
| |------ 类扩展_取_类_函数地址
| |
| |------ 类扩展_取上层函数首参
| |
| |------ 类扩展_get_retn_code
| |
| |------ 类扩展_取变量数据地址_字节集
| |
| |------ 类扩展_取指针内容_整数
| |
| |------ 类扩展_到字节集_从整数_
| |
| |------ 类扩展_到字节集_从字节
| |
| |------ 类扩展_取变量地址_整数
| |
| |------ 类扩展_取变量地址_短整数
| |
| |
======命令集
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ l_var
| |
| |------ l_echo
| |
| |------ l_alert
| |
| |------ 执行命令
| |
| |------ 取回错误
| |
| |
======脚本解析
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 输出错误
| |
| |------ 脚本解析
| |
| |------ 开始解析脚本
| |
| |------ 是否行尾
| |
| |------ 跳过空格
| |
| |------ 跳过换行
| |
| |------ 是否开始位置
| |
| |------ 是否结束位置
| |
| |------ 解析一行
| |
| |------ 输出字节
| |
| |------ 输出文本
| |
| |------ 输出数据
| |
| |------ 执行一行
| |
| |
======字节流
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 取长度
| |
| |------ 扩容
| |
| |------ 加入
| |
| |------ 取出
| |
| |------ 删除
| |
| |------ 加入文本
| |
| |------ 取出文本
| |
| |------ 寻找
| |
| |------ 取中间文本
| |
| |
======变量控制
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 添加变量
| |
| |------ 删除变量
| |
| |------ 变量取值
| |
| |------ 执行变量表达式
| |
| |------ 变量赋值
| |
| |------ 变量名取索引
| |
| |------ 是否为变量
| |
| |------ 取变量类型
| |
| |
======调用的Dll
| |
| |---[dll]------ InterlockedExchangeAdd
| |
| |---[dll]------ InterlockedExchange
| |
| |---[dll]------ InterlockedIncrement
| |
| |---[dll]------ InterlockedDecrement
| |
| |---[dll]------ InterlockedCompareExchange
| |
| |---[dll]------ LoadLibraryA
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ FreeLibrary
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ LocalAlloc
| |
| |---[dll]------ LocalFree
| |
| |---[dll]------ LocalSize
| |
| |---[dll]------ CreateThread
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ TerminateThread
| |
| |---[dll]------ InitializeCriticalSection
| |
| |---[dll]------ DeleteCriticalSection
| |
| |---[dll]------ EnterCriticalSection
| |
| |---[dll]------ IOCP_创建
| |
| |---[dll]------ IOCP_等待
| |
| |---[dll]------ IOCP_发送
| |
| |---[dll]------ 关闭句柄
| |
| |---[dll]------ LeaveCriticalSection
| |
| |---[dll]------ HeapCreate
| |
| |---[dll]------ HeapFree
| |
| |---[dll]------ HeapAlloc
| |
| |---[dll]------ HeapDestroy
| |
| |---[dll]------ WaitForSingleObject
| |
| |---[dll]------ GetProcessHeap
调用的DLL命令:
.DLL命令 InterlockedExchangeAdd, 整数型, "Kernel32", "InterlockedExchangeAdd", , 原子相加,将两个地址相加
.参数 Addend, 整数型
.参数 Value, 整数型
.DLL命令 InterlockedExchange, 整数型, "kernel32.dll", "InterlockedExchange", , 原子内存交换,返回第一个内存的值
.参数 Target, 整数型
.参数 Value, 整数型
.DLL命令 InterlockedIncrement, 整数型, "kernel32.dll", "InterlockedIncrement", , 原子+1
.参数 Addend, 整数型
.DLL命令 InterlockedDecrement, 整数型, "kernel32.dll", "InterlockedDecrement", , 原子-1
.参数 Addend, 整数型
.DLL命令 InterlockedCompareExchange, 整数型, "kernel32.dll", "InterlockedCompareExchange", , 原子_把目标操作数(第1参数所指向的内存中的数)与一个值(第3参数)比较,如果相等,则用另一个值(第2参数)与目标操作数(第1参数所指向的内存中的数)交换
.参数 Destination, 整数型
.参数 Exchange, 整数型
.参数 Comperand, 整数型
.DLL命令 LoadLibraryA, 整数型, "kernel32.dll", "LoadLibraryA", , _装载DLL
.参数 lpLibFileName, 文本型, , 文件名
.DLL命令 GetProcAddress, 整数型, "kernel32.dll", "GetProcAddress", , _取函数地址
.参数 hModule, 整数型, , 模块句柄
.参数 lpProcName, 整数型, , 函数名
.DLL命令 FreeLibrary, 整数型, "kernel32.dll", "FreeLibrary", , _释放DLL
.参数 模块句柄, 整数型
.DLL命令 RtlMoveMemory, 整数型, "kernel32.dll", "RtlMoveMemory", , 拷贝内存
.参数 目标数据地址, 整数型, , lpvDest
.参数 源数据, 整数型, , lpvSource
.参数 尺寸, 整数型, , cbCopy
.DLL命令 LocalAlloc, 整数型, "kernel32.dll", "LocalAlloc", , 申请内存
.参数 uFlags, 短整数型
.参数 uBytes, 整数型
.DLL命令 LocalFree, 整数型, "kernel32.dll", "LocalFree", , 释放内存
.参数 hMem, 整数型, , hMem
.DLL命令 LocalSize, 整数型, "kernel32.dll", "LocalSize", , 查询内存块尺寸
.参数 hMem, 整数型
.DLL命令 CreateThread, 整数型, "kernel32.dll", "CreateThread", , 返回线程句柄
.参数 lpThreadAttributes, 整数型, , 默认security性
.参数 dwStackSize, 整数型, , 初始栈的大小
.参数 lpStartAddress, 整数型, , 指向线程函数的指针
.参数 lpParameter, 整数型, , 线程参数
.参数 dwCreationFlags, 整数型, , 是否挂起
.参数 lpThreadId, 整数型, 传址, 线程ID
.DLL命令 CloseHandle, 整数型, "kernel32.dll", "CloseHandle", , 关闭句柄
.参数 hObject, 整数型
.DLL命令 TerminateThread, 整数型, "kernel32.dll", "TerminateThread", , _销毁线程
.参数 hThread, 整数型
.参数 dwExitCode, 整数型
.DLL命令 InitializeCriticalSection, , "kernel32.dll", "InitializeCriticalSection", , 创建许可证
.参数 lpCriticalSection, 整数型
.DLL命令 DeleteCriticalSection, , "kernel32.dll", "DeleteCriticalSection", , 删除许可证
.参数 lpCriticalSection, 整数型
.DLL命令 EnterCriticalSection, , "kernel32.dll", "EnterCriticalSection", , 进入许可区
.参数 lpCriticalSection, 整数型
.DLL命令 IOCP_创建, 整数型, "kernel32.dll", "CreateIoCompletionPort", , 失败返回0
.参数 Handle, 整数型, , 文件句柄
.参数 ExistingCompletionPort, 整数型, , io对象,为零表示新建
.参数 CompletionKey, 整数型, , 参数
.参数 NumberOfConcurrentThreads, 整数型, , 当该参数为0表示允许同时相等数目于处理器个数的线程访问该消息队列。
.DLL命令 IOCP_等待, 整数型, "kernel32.dll", "GetQueuedCompletionStatus", , 调用成功,则返回非零数值,相关数据存于lpNumberOfBytes、lpCompletionKey、lpoverlapped变量中。失败则返回零值。
.参数 CompletionPort, 整数型, , 指定的IOCP,该值由CreateIoCompletionPort函数创建。
.参数 lpNumberOfBytesTransferred, 整数型, 传址, 一次完成后的I/O操作所传送数据的字节数。
.参数 lpCompletionKey, 整数型, 传址, 当文件I/O操作完成后,用于存放与之关联的CK。
.参数 lpOverlapped, 整数型, 传址, 为调用IOCP机制所引用的OVERLAPPED结构
.参数 dwMilliseconds, 整数型, , 用于指定调用者等待CP的时间
.DLL命令 IOCP_发送, 整数型, "kernel32.dll", "PostQueuedCompletionStatus", , 发送完成端口数据
.参数 CompletionPort, 整数型, , 端口
.参数 dwNumberOfBytesTransferred, 整数型, , 值
.参数 dwCompletionKey, 整数型, , 值
.参数 lpOverlapped, 整数型, , 值
.DLL命令 关闭句柄, 整数型, "kernel32.dll", "CloseHandle", , 关闭句柄
.参数 hObject, 整数型
.DLL命令 LeaveCriticalSection, , "kernel32.dll", "LeaveCriticalSection", , 退出许可区
.参数 lpCriticalSection, 整数型
.DLL命令 HeapCreate, 整数型, "kernel32.dll", "HeapCreate", , hHeap, 错误返回0,创建堆
.参数 flOptions, , , #HEAP_ 4指定在分配或重新分配堆栈中的内存块的尝试失败时,导致系统引发一个异常条件。1非串行,自己管理线程security
.参数 dwInitialSize, , , 堆的初始化尺寸(以字节为单位),0 为自动指定
.参数 dwMaximumSize, , , 堆的最大尺寸
.DLL命令 HeapFree, 整数型, "kernel32.dll", "HeapFree", , 失败返回0,释放堆内存
.参数 hHeap, 整数型
.参数 dwFlags, 整数型, , #HEAP_NO_SERIALIZE,1 ,同申请
.参数 lpMem, 整数型
.DLL命令 HeapAlloc, 整数型, "kernel32.dll", "HeapAlloc", , lpMem,在指定的堆上分配内存
.参数 hHeap, 整数型
.参数 dwFlags, 整数型, , #HEAP_ 8为清零 4为提取一个堆,
.参数 dwBytes, 整数型, , 尺寸,最大512KB
.DLL命令 HeapDestroy, 整数型, "kernel32.dll", "HeapDestroy", , 销毁堆
.参数 hHeap
.DLL命令 WaitForSingleObject, 整数型, "kernel32.dll", "WaitForSingleObject", , _等待对象信号
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
.DLL命令 GetProcessHeap, 整数型, "kernel32", "GetProcessHeap", , 获取调用过程堆句柄
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。