易语言支持库查看器源码
系统结构:事件_项目被选择,事件_窗口创建完毕,事件_窗口大小被改变,事件_收到拖放文件,查看支持库信息,Call,注册表关联文件,重建图标缓存,指针_到文本,FreeLibrary,IsBadReadPtr,VirtualProtect,LoadLibraryA,GetProcAddress,GetModuleHandleA,读类型数据,CopyMemory_LIB_INFO,读命令数据,读常量数据,读命令类别,SetWindowLongA,GetMessage,TranslateMessage,DispatchMessage,LoadLibraryEx,CallWindowProc,GetCommandLine,SendMessage,SendMessageStr,IsBadStringPtr,HeapAlloc,GetProcessHeap,CreateThread,
======窗口程序集1
| |
| |------ _启动子程序
| |
| |------ 事件_项目被选择
| |
| |------ 事件_窗口创建完毕
| |
| |------ 事件_窗口大小被改变
| |
| |------ 事件_收到拖放文件
| |
| |------ 查看支持库信息
| |
| |------ Call
| |
| |------ 注册表关联文件
| |
| |------ 重建图标缓存
| |
| |------ 指针_到文本
| |
| |
======调用的Dll
| |
| |---[dll]------ FreeLibrary
| |
| |---[dll]------ IsBadReadPtr
| |
| |---[dll]------ VirtualProtect
| |
| |---[dll]------ LoadLibraryA
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ GetModuleHandleA
| |
| |---[dll]------ 读类型数据
| |
| |---[dll]------ CopyMemory_LIB_INFO
| |
| |---[dll]------ 读命令数据
| |
| |---[dll]------ 读常量数据
| |
| |---[dll]------ 读命令类别
| |
| |---[dll]------ SetWindowLongA
| |
| |---[dll]------ GetMessage
| |
| |---[dll]------ TranslateMessage
| |
| |---[dll]------ DispatchMessage
| |
| |---[dll]------ LoadLibraryEx
| |
| |---[dll]------ CallWindowProc
| |
| |---[dll]------ GetCommandLine
| |
| |---[dll]------ SendMessage
| |
| |---[dll]------ SendMessageStr
| |
| |---[dll]------ IsBadStringPtr
| |
| |---[dll]------ HeapAlloc
| |
| |---[dll]------ GetProcessHeap
| |
| |---[dll]------ CreateThread
调用的DLL命令:
.DLL命令 FreeLibrary, 逻辑型
.参数 hLibModule, 整数型
.DLL命令 IsBadReadPtr, 整数型, , "IsBadReadPtr"
.参数 addr, 整数型
.参数 size, 整数型
.DLL命令 VirtualProtect, 逻辑型, , "VirtualProtect", , VirtualProtect (指针, 1, 64, old)
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flNewProtect, 整数型
.参数 lpflOldProtect, 整数型, 传址
.DLL命令 LoadLibraryA, 整数型, , "LoadLibraryA"
.参数 lpFileName, 文本型
.DLL命令 GetProcAddress, 整数型, , "GetProcAddress"
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 GetModuleHandleA, 整数型, , "GetModuleHandleA"
.参数 lpModuleName, 整数型
.DLL命令 读类型数据, 整数型, "kernel32", "RtlMoveMemory"
.参数 Destination, 自定义数据信息, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 CopyMemory_LIB_INFO, , "kernel32.dll", "RtlMoveMemory"
.参数 lpvDest, 支持库信息, 传址
.参数 lpvSource, 整数型
.参数 cbCopy, 整数型
.DLL命令 读命令数据, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 命令信息, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 读常量数据, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 常量信息, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 读命令类别, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 类别信息, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 SetWindowLongA, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 GetMessage, 整数型, "user32.dll", "GetMessageA"
.参数 lpMsg, MSG, 传址
.参数 hwnd, 整数型
.参数 wMsgFilterMin, 整数型
.参数 wMsgFilterMax, 整数型
.DLL命令 TranslateMessage, 整数型, "user32.dll", "TranslateMessage"
.参数 lpMsg, MSG, 传址
.DLL命令 DispatchMessage, 整数型, "user32.dll", "DispatchMessageA"
.参数 lpMsg, MSG, 传址
.DLL命令 LoadLibraryEx, 整数型, "kernel32", "LoadLibraryExA", , 装载指定的动态链接库,并为当前进程把它映射到地址空间。一旦载入,就可以访问库内保存的资源 成功则返回库模块的句柄,零表示失败。会设置GetLastError
.参数 lpLibFileName, 文本型, , 指定要载入的动态链接库的名称。采用与CreateProcess函数的lpCommandLine参数指定的同样的搜索顺序
.参数 hFile, 整数型, , 未用,设为零
.参数 dwFlags, 整数型, , 指定下述常数的一个或多个DONT_RESOLVE_DLL_REFERENCES:不对DLL进行初始化,仅用于NTLOAD_LIBRARY_AS_DATAFILE:不准备DLL执行。如装载一个DLL只是为了访问它的资源,就可以改善一部分性能LOAD_WITH_ALTERED_SEARCH_PATH:指定搜索的路径;
.DLL命令 CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数
.参数 lpPrevWndFunc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 GetCommandLine, 文本型, "kernel32", "GetCommandLineA", , 获得指向当前命令行缓冲区的一个指针 命令行缓冲区在内存中的地址
.DLL命令 SendMessage, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, 整数型, , 具体取决于消息;
.DLL命令 SendMessageStr, 整数型, "user32", "SendMessageA"
.参数 hwnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 文本型
.DLL命令 IsBadStringPtr, 整数型, "kernel32", "IsBadStringPtrA", , 确定字符串指针的合法性
.参数 lpsz, 整数型
.参数 ucchMax, 整数型
.DLL命令 HeapAlloc, 整数型, "kernel32", "HeapAlloc", , 从堆中分配内存
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 dwBytes, 整数型
.DLL命令 GetProcessHeap, 整数型, "kernel32", "GetProcessHeap", , 获取调用过程堆句柄
.DLL命令 CreateThread, 整数型, "kernel32.dll", "CreateThread"
.参数 lpThreadAttributes, 整数型, , 默认SECURITY_ATTRIBUTES结构
.参数 dwStackSize, 整数型, , 设置初始栈的大小,以字节为单位,如果为0,那么默认将使用与调用该函数的线程相同的栈空间大小。任何情况下,Windows根据需要动态延长堆栈的大小
.参数 lpStartAddress, 子程序指针, , 指向线程函数的指针,形式:@函数名,函数名称没有限制,但是必须以下列形式声明
.参数 lpParameter, 整数型, , 向线程函数传递的参数,是一个指向结构的指针,不需传递参数时,为NULL
.参数 dwCreationFlags, 整数型, , 线程标志,0立即激活
.参数 lpThreadId, 整数型, , 保存新线程的id
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。