易语言WPE封包编辑解析源码
系统结构:Dll入口函数,InstallHook,Hook过程程序,UninstallHook,调用子程序,取模块入口,取模块句柄,指针到整数,指针到短整数,指针到字节型,指针写整数,指针写短整数,指针写字节型,指针写字节集,拷贝内存_汇编,取整数型指针,取字节集指针,取文本型指针,A2W,W2A,编辑框加入文本,定时信息框,取窗口句柄2,取模块名,取路径文件名,十到十六,字节集查看,字节集到十六进制,安装2,安装,卸载,继续,暂停,安装2,安装,取原始地址,卸载,继续,暂停,十六到十,启动窗口,New_send,New_send2,New_recv,New_recv2,ZwResumeThread,GetProcAddress,GetModuleHandle,VirtualProtect,CallNextHookEx,VirtualQuery,OpenFileMapping,MapViewOfFile,UnmapViewOfFile,CopyMemory_Write,CopyMemory_Read,GetLocalTime,SetLocalTime,OpenProcess,ZwOpenProcess,FreeLibrary,SendMessage,WriteProcessMemory,WriteProcessMemory字节集,SetWindowsHookEx,UnhookWindowsHookEx,CreateFileMapping,GetCurrentProcessId,LoadLibrary,GetModuleInformation,CreateProcess,MessageBoxTimeout,IsBadCodePtr,寻找窗口_,寻找窗口_2,寻找窗口_3,寻找子窗口2,CreateMutex,IsWindowVisible,GetMessage,CreateWindowEx,DispatchMessage,结束线程,ResumeThread,TranslateMessage,TerminateProcess,GetModuleFileName,GetFileTitle,MultiByteToWideChar,WideCharToMultiByte,MoveWindow,StrToIntEx,recv2,send2,recv,send,GetForegroundWindow,ZwSuspendProcess,ZwResumeProcess,ShowCursor,SetWindowTheme,
======DLL接口
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ Dll入口函数
| |
| |------ InstallHook
| |
| |------ Hook过程程序
| |
| |------ UninstallHook
| |
| |
======help
| |
| |------ 调用子程序
| |
| |------ 取模块入口
| |
| |------ 取模块句柄
| |
| |------ 指针到整数
| |
| |------ 指针到短整数
| |
| |------ 指针到字节型
| |
| |------ 指针写整数
| |
| |------ 指针写短整数
| |
| |------ 指针写字节型
| |
| |------ 指针写字节集
| |
| |------ 拷贝内存_汇编
| |
| |------ 取整数型指针
| |
| |------ 取字节集指针
| |
| |------ 取文本型指针
| |
| |------ A2W
| |
| |------ W2A
| |
| |------ 编辑框加入文本
| |
| |------ 定时信息框
| |
| |------ 取窗口句柄2
| |
| |------ 取模块名
| |
| |------ 取路径文件名
| |
| |------ 十到十六
| |
| |------ 字节集查看
| |
| |------ 字节集到十六进制
| |
| |
======apihook
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 安装2
| |
| |------ 安装
| |
| |------ 卸载
| |
| |------ 继续
| |
| |------ 暂停
| |
| |
======inlinehook
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 安装2
| |
| |------ 安装
| |
| |------ 取原始地址
| |
| |------ 卸载
| |
| |------ 继续
| |
| |------ 暂停
| |
| |
======启动窗口
| |
| |------ 十六到十
| |
| |------ 启动窗口
| |
| |------ _滚动条位置被改变
| |
| |------ _数据被修改
| |
| |------ _启动窗口程序
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ New_send
| |
| |------ New_send2
| |
| |------ New_recv
| |
| |------ New_recv2
| |
| |
======调用的Dll
| |
| |---[dll]------ ZwResumeThread
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ VirtualProtect
| |
| |---[dll]------ CallNextHookEx
| |
| |---[dll]------ VirtualQuery
| |
| |---[dll]------ OpenFileMapping
| |
| |---[dll]------ MapViewOfFile
| |
| |---[dll]------ UnmapViewOfFile
| |
| |---[dll]------ CopyMemory_Write
| |
| |---[dll]------ CopyMemory_Read
| |
| |---[dll]------ GetLocalTime
| |
| |---[dll]------ SetLocalTime
| |
| |---[dll]------ OpenProcess
| |
| |---[dll]------ ZwOpenProcess
| |
| |---[dll]------ FreeLibrary
| |
| |---[dll]------ SendMessage
| |
| |---[dll]------ WriteProcessMemory
| |
| |---[dll]------ WriteProcessMemory字节集
| |
| |---[dll]------ SetWindowsHookEx
| |
| |---[dll]------ UnhookWindowsHookEx
| |
| |---[dll]------ CreateFileMapping
| |
| |---[dll]------ GetCurrentProcessId
| |
| |---[dll]------ LoadLibrary
| |
| |---[dll]------ GetModuleInformation
| |
| |---[dll]------ CreateProcess
| |
| |---[dll]------ MessageBoxTimeout
| |
| |---[dll]------ IsBadCodePtr
| |
| |---[dll]------ 寻找窗口_
| |
| |---[dll]------ 寻找窗口_2
| |
| |---[dll]------ 寻找窗口_3
| |
| |---[dll]------ 寻找子窗口2
| |
| |---[dll]------ CreateMutex
| |
| |---[dll]------ IsWindowVisible
| |
| |---[dll]------ GetMessage
| |
| |---[dll]------ CreateWindowEx
| |
| |---[dll]------ DispatchMessage
| |
| |---[dll]------ 结束线程
| |
| |---[dll]------ ResumeThread
| |
| |---[dll]------ TranslateMessage
| |
| |---[dll]------ TerminateProcess
| |
| |---[dll]------ GetModuleFileName
| |
| |---[dll]------ GetFileTitle
| |
| |---[dll]------ MultiByteToWideChar
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ MoveWindow
| |
| |---[dll]------ StrToIntEx
| |
| |---[dll]------ recv2
| |
| |---[dll]------ send2
| |
| |---[dll]------ recv
| |
| |---[dll]------ send
| |
| |---[dll]------ GetForegroundWindow
| |
| |---[dll]------ ZwSuspendProcess
| |
| |---[dll]------ ZwResumeProcess
| |
| |---[dll]------ ShowCursor
| |
| |---[dll]------ SetWindowTheme
调用的DLL命令:
.DLL命令 ZwResumeThread, 整数型, "ntdll.dll", "ZwResumeThread", , NtResumeThread
.参数 ThreadHandle, 整数型, , IN HANDLE
.参数 PreviousSuspendCount, 整数型, , OUT PULONG
.DLL命令 GetProcAddress, 整数型, "kernel32.dll", "GetProcAddress"
.参数 hModule, 整数型
.参数 lpProcName, 文本型
.DLL命令 GetModuleHandle, 整数型, "kernel32.dll", "GetModuleHandleA", , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.参数 lpModuleName, 文本型
.DLL命令 VirtualProtect, 逻辑型, "kernel32.dll", "VirtualProtect", , 修改虚拟保护 成功返回非0,失败返回0
.参数 起始地址, 整数型, , lpAddress
.参数 长度, 整数型, , dwSize
.参数 新保护权限, 整数型, , 可读写权限(PAGE_READWRITE)=4
.参数 旧保护权限, 整数型, 传址, 保存旧属性的结构变量地址
.DLL命令 CallNextHookEx, 整数型, , "CallNextHookEx"
.参数 hhook, 整数型
.参数 nCode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型, 传址
.DLL命令 VirtualQuery, 整数型, "kernel32.dll", "VirtualQuery", , 返回虚拟信息 成功返回0,失败返回非0
.参数 起始地址, 整数型
.参数 虚拟保护信息, 虚拟信息, 传址
.参数 缓冲长度, 整数型, , 长度28
.DLL命令 OpenFileMapping, 整数型, , "OpenFileMappingA"
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 整数型
.参数 lpName, 文本型
.DLL命令 MapViewOfFile, 整数型, , "MapViewOfFile"
.参数 hFileMappingObject, 整数型
.参数 dwDesiredAccess, 整数型
.参数 dwFileOffsetHigh, 整数型
.参数 dwFileOffsetLow, 整数型
.参数 dwNumberOfBytesToMap, 整数型
.DLL命令 UnmapViewOfFile, 整数型, , "UnmapViewOfFile"
.参数 lpBaseAddress, 整数型
.DLL命令 CopyMemory_Write, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 整数型
.参数 Source, 整数型, 传址
.参数 Length, 整数型
.DLL命令 CopyMemory_Read, 整数型, "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 整数型, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 GetLocalTime, 整数型, "kernel32.dll", "GetLocalTime", , 取当前地方时间
.参数 系统时间格式, 整数型, 传址
.DLL命令 SetLocalTime, 整数型, "kernel32.dll", "SetLocalTime", , 设置当前地方时间
.参数 lpSystemTime, 整数型, 传址
.DLL命令 OpenProcess, 整数型, "kernel32.dll", "OpenProcess", , 进程ID取进程句柄
.参数 dwDesiredAccess, 整数型, , 访问级别 2035711,2034031
.参数 bInheritHandle, 整数型, , 子进程继承
.参数 dwProcessId, 整数型, , 进程ID
.DLL命令 ZwOpenProcess, 整数型, "ntdll.dll", "ZwOpenProcess"
.参数 hProcess, 整数型
.参数 DesiredAccess, 整数型
.参数 ObjectAttributes, 整数型
.参数 ClientId, 整数型
.DLL命令 FreeLibrary, 整数型, "kernel32.dll", "FreeLibrary"
.参数 hModule, 整数型
.DLL命令 SendMessage, 整数型, "user32.dll", "SendMessageA"
.参数 hwnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 WriteProcessMemory, 整数型, "kernel32.dll", "WriteProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 整数型, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 WriteProcessMemory字节集, 整数型, "kernel32.dll", "WriteProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型, 传址
.DLL命令 SetWindowsHookEx, 整数型, "user32.dll", "SetWindowsHookExA"
.参数 钩子类型, 整数型, , idHook
.参数 回调函数地址, 整数型, , lpfn
.参数 实例句柄, 整数型, , hmod
.参数 线程ID, 整数型, , dwThreadId
.DLL命令 UnhookWindowsHookEx, 整数型, "user32.dll", "UnhookWindowsHookEx"
.参数 钩子句柄, 整数型, , hHook
.DLL命令 CreateFileMapping, 整数型, , "CreateFileMappingA"
.参数 hFile, 整数型
.参数 lpFileMappingAttributes, 整数型
.参数 flProtect, 整数型
.参数 dwMaximumSizeHigh, 整数型
.参数 dwMaximumSizeLow, 整数型
.参数 lpName, 文本型
.DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId"
.DLL命令 LoadLibrary, 整数型, "kernel32.dll", "LoadLibraryA"
.参数 lpLibFileName, 文本型
.DLL命令 GetModuleInformation, 整数型, "psapi.dll", "GetModuleInformation"
.参数 hProcess, 整数型
.参数 hModule, 整数型
.参数 lpModInfo, MODULEINFO, 传址
.参数 nSize, 整数型
.DLL命令 CreateProcess, 整数型, "kernel32.dll", "CreateProcessW"
.参数 lpApplicationName, 整数型
.参数 lpCommandLine, 整数型
.参数 lpProcessAttributes, 整数型
.参数 lpThreadAttributes, 整数型
.参数 bInheritHandles, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpEnvironment, 整数型
.参数 lpCurrentDriectory, 整数型
.参数 lpStartupInfo, 整数型
.参数 lpProcessInformation, 整数型
.DLL命令 MessageBoxTimeout, 整数型, , "MessageBoxTimeoutA", , 由于易的常量与其没有对齐,正确的解为MessageBoxTimeoutA(0,"","",#是否钮,0,0)=#是钮+1,若为自动退出则返回32000
.参数 hwnd, 整数型, , 设0最简单
.参数 lpText, 文本型, , 内容
.参数 lpCaption, 文本型, , 标题
.参数 uType, 整数型, , 与信息框()的“按钮”参数一样
.参数 wLanguageId, 整数型, , 语言id
.参数 dwTimeout, 整数型, , 等待时间
.DLL命令 IsBadCodePtr, 逻辑型, "kernel32.dll", "IsBadCodePtr", , 指针是否有效
.参数 lpfn, 整数型
.DLL命令 寻找窗口_, 整数型, "user32.dll", "FindWindowA", , 寻找窗口列表中第一个符合指定条件的顶级窗口 参数填写正确的话返回窗口句柄
.参数 窗口类名, 文本型, , lpClassName,参见相关帮助
.参数 窗口文本, 文本型, , lpWindowName,参见相关帮助
.DLL命令 寻找窗口_2, 整数型, "user32.dll", "FindWindowA", , 寻找窗口列表中第一个符合指定条件的顶级窗口 参数填写正确的话返回窗口句柄
.参数 窗口类名, 整数型, , lpClassName,参见相关帮助
.参数 窗口文本, 文本型, , lpWindowName,参见相关帮助
.DLL命令 寻找窗口_3, 整数型, "user32.dll", "FindWindowA", , 寻找窗口列表中第一个符合指定条件的顶级窗口 参数填写正确的话返回窗口句柄
.参数 窗口类名, 文本型, , lpClassName,参见相关帮助
.参数 窗口文本, 整数型, , lpWindowName,参见相关帮助
.DLL命令 寻找子窗口2, 整数型, "user32.dll", "FindWindowExA", , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError
.参数 窗口句柄, 整数型, , 要查找子窗口的父窗口句柄。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)
.参数 子窗口句柄, 整数型, , 一般可以设置为0 从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索
.参数 欲搜索的类名, 文本型, , 欲搜索的类名。 零表示忽略 易语言代码: 字符(0)
.参数 欲搜索的标题, 整数型, , 指向一个指定了窗口名(窗口标题)的空结束字符串 "按钮"
.DLL命令 CreateMutex, 整数型, "kernel32.dll", "CreateMutexA", , 创建一个互斥体
.参数 lpMutexAttributes, 整数型
.参数 bInitialOwner, 整数型
.参数 lpName, 整数型
.DLL命令 IsWindowVisible, 逻辑型, "user32.dll", "IsWindowVisible", , 判断窗口是否可见 0 为隐藏 1为显示
.参数 窗口句柄, 整数型, , hwnd,要测试的那个窗口的句柄
.DLL命令 GetMessage, 整数型, "user32.dll", "GetMessageA", , 获取消息
.参数 消息值, MSG, 传址, lpMsg
.参数 窗口句柄, 整数型, , hwnd
.参数 过滤消息最小值, 整数型, , wMsgFilterMin
.参数 过滤消息最大值, 整数型, , wMsgFilterMax
.DLL命令 CreateWindowEx, 整数型, "user32.dll", "CreateWindowExA"
.参数 dwExStyle, 整数型
.参数 lpClassName, 整数型
.参数 lpWindowName, 整数型
.参数 dwStyle, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 nWidth, 整数型
.参数 nHeight, 整数型
.参数 hWndParent, 整数型
.参数 hMenu, 整数型
.参数 hInstance, 整数型
.参数 lpParam, 整数型
.DLL命令 DispatchMessage, 整数型, "user32.dll", "DispatchMessageA", , 向窗口发送消息
.参数 lpMsg, MSG, 传址
.DLL命令 结束线程, 逻辑型, "kernel32.dll", "TerminateThread"
.参数 模块名, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.参数 线程句柄, 整数型
.DLL命令 ResumeThread, 整数型, "kernel32.dll", "ResumeThread", , kernel32.dll将指定线程的执行挂起Long,调用这个函数前的挂起计数。&HFFFFFFFF表示出错。会设置GetLastError
.参数 hThread, 整数型
.DLL命令 TranslateMessage, 整数型, "user32.dll", "TranslateMessage", , 解释消息
.参数 消息结构, MSG, 传址, lpMsg
.DLL命令 TerminateProcess, 整数型, "kernel32.dll", "TerminateProcess"
.参数 hProcess, 整数型
.参数 uExitCode, 整数型
.DLL命令 GetModuleFileName, 整数型, "kernel32.dll", "GetModuleFileNameA"
.参数 handle, 整数型
.参数 filename, 文本型
.参数 cb, 整数型
.DLL命令 GetFileTitle, 整数型, "comdlg32.dll", "GetFileTitleA", , 返回文件名
.参数 lpszFile, 文本型
.参数 lpszTitle, 文本型
.参数 cbBuf, 短整数型
.DLL命令 MultiByteToWideChar, 整数型, "kernel32.dll", "MultiByteToWideChar"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.DLL命令 WideCharToMultiByte, 整数型, "kernel32.dll", "WideCharToMultiByte"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 字节集, 传址
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpDefaultChar, 整数型
.参数 lpUsedDefaultChar, 整数型
.DLL命令 MoveWindow, 整数型, "user32.dll", "MoveWindow", , 移动窗口
.参数 窗口句柄, 整数型, , hwnd,欲移动窗口的句柄
.参数 左侧位置, 整数型, , x,窗口新的左侧位置
.参数 顶部位置, 整数型, , y,窗口新的顶部位置
.参数 新宽度, 整数型, , nWidth,窗口的新宽度
.参数 新高度, 整数型, , nHeight,窗口的高宽度
.参数 是否重画, 逻辑型, , bRepaint,如窗口此时应重画,则设为TRUE(非零)
.DLL命令 StrToIntEx, 整数型, "shlwapi.dll", "StrToIntExA"
.参数 转换文本, 文本型, , pszString
.参数 标志, 整数型, , dwFlags
.参数 返回值, 整数型, 传址, piRet
.DLL命令 recv2, 整数型, "wsock32.dll", "recv", , 已取回长度
.参数 套接字, 整数型
.参数 封包指针, 整数型, , 接收封包的变量地址
.参数 封包长度, 整数型
.参数 标志, 整数型
.DLL命令 send2, 整数型, "wsock32.dll", "send", , 已发送长度
.参数 套接字, 整数型
.参数 封包指针, 整数型
.参数 封包长度, 整数型
.参数 标志, 整数型
.DLL命令 recv, 整数型, "ws2_32.dll", "recv", , 已取回长度
.参数 套接字, 整数型
.参数 封包指针, 整数型, , 接收封包的变量地址
.参数 封包长度, 整数型
.参数 标志, 整数型
.DLL命令 send, 整数型, "ws2_32.dll", "send", , 已发送长度
.参数 套接字, 整数型
.参数 封包指针, 整数型
.参数 封包长度, 整数型
.参数 标志, 整数型
.DLL命令 GetForegroundWindow, 整数型, "user32.dll", "GetForegroundWindow", , 返回前台窗口句柄
.DLL命令 ZwSuspendProcess, 整数型, "ntdll.dll", "ZwSuspendProcess"
.参数 hProcess, 整数型
.DLL命令 ZwResumeProcess, 整数型, "ntdll.dll", "ZwResumeProcess"
.参数 hProcess, 整数型
.DLL命令 ShowCursor, 整数型, , "ShowCursor", , 显示隐藏鼠标,控制鼠标指针的可视性(返回值:显示计数(参考注解))当设为显示鼠标返回值为正数相加0 1 2 3 4..... 当设为隐藏鼠标 返回值为负数相减-1 -2 -3 -4
.参数 标示符, 整数型, , (非零)显示指针,零 隐藏
.DLL命令 SetWindowTheme, 整数型, "uxtheme.dll", "SetWindowTheme"
.参数 hWnd, 整数型
.参数 Text, 字节集
.参数 Text, 字节集
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。