易语言War3 MPQ操作
系统结构:读取MPQ内部文件,修改脚本,查看字节集,FindWindowA,MessageBoxA,MpqOpenArchiveForUpdate,MpqAddFileToArchiveEx,MpqCompactArchive,SFileOpenArchive,SFileDestroy,MpqCloseUpdatedArchive,SFileCloseArchive,SFileOpenFileEx,SFileGetFileSize,SFileReadFile,SFileCloseFile,SFileFileExistsEx,拷贝内存_,lstrcpyn_字节集,RtlMoveMemory,wvsprintf,VirtualFree,VirtualAlloc,copymem,lstrcpyn_文本,lstrcpyn_整数,lstrcpyn_文本1,DeleteFileA,MpqDeleteFileWithLocale,
======窗口程序集1
| |
| |------ _按钮1_被单击
| |
| |------ __启动窗口_创建完毕
| |
| |------ _添加_被单击
| |
| |------ 读取MPQ内部文件
| |
| |------ 修改脚本
| |
| |------ _解密_被单击
| |
| |------ _查询_被单击
| |
| |------ 查看字节集
| |
| |------ _按钮2_被单击
| |
| |
======窗口程序集2
| |
| |------ _窗口1_创建完毕
| |
| |
======调用的Dll
| |
| |---[dll]------ FindWindowA
| |
| |---[dll]------ MessageBoxA
| |
| |---[dll]------ MpqOpenArchiveForUpdate
| |
| |---[dll]------ MpqAddFileToArchiveEx
| |
| |---[dll]------ MpqCompactArchive
| |
| |---[dll]------ SFileOpenArchive
| |
| |---[dll]------ SFileDestroy
| |
| |---[dll]------ MpqCloseUpdatedArchive
| |
| |---[dll]------ SFileCloseArchive
| |
| |---[dll]------ SFileOpenFileEx
| |
| |---[dll]------ SFileGetFileSize
| |
| |---[dll]------ SFileReadFile
| |
| |---[dll]------ SFileCloseFile
| |
| |---[dll]------ SFileFileExistsEx
| |
| |---[dll]------ 拷贝内存_
| |
| |---[dll]------ lstrcpyn_字节集
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ wvsprintf
| |
| |---[dll]------ VirtualFree
| |
| |---[dll]------ VirtualAlloc
| |
| |---[dll]------ copymem
| |
| |---[dll]------ lstrcpyn_文本
| |
| |---[dll]------ lstrcpyn_整数
| |
| |---[dll]------ lstrcpyn_文本1
| |
| |---[dll]------ DeleteFileA
| |
| |---[dll]------ MpqDeleteFileWithLocale
调用的DLL命令:
.DLL命令 FindWindowA, 整数型, "user32.dll", "FindWindowA"
.参数 IpClassName, 文本型
.参数 IpWindowName, 文本型
.DLL命令 MessageBoxA, 整数型, "user32.dll", "MessageBoxA"
.参数 hWnd, 整数型
.参数 Text, 文本型
.参数 Title, 文本型
.参数 ReturnValue, 整数型
.DLL命令 MpqOpenArchiveForUpdate, 整数型, "SFmpq.dll", "MpqOpenArchiveForUpdate"
.参数 lpFileName, 文本型
.参数 dwFlags, 整数型
.参数 dwMaximumFilesInArchive, 整数型
.DLL命令 MpqAddFileToArchiveEx, 整数型, "SFmpq.dll", "MpqAddFileToArchiveEx"
.参数 hWnd, 整数型
.参数 替换的文件, 文本型
.参数 被替换的文件, 文本型
.参数 Code197121, 整数型, , 197121
.参数 Code2, 整数型, , 2
.参数 Code9, 整数型, , 9
.DLL命令 MpqCompactArchive, 整数型, "SFmpq.dll", "MpqCompactArchive"
.参数 hMPQ, 整数型
.DLL命令 SFileOpenArchive, 逻辑型, "Storm.dll", "#266"
.参数 lpFileName, 文本型
.参数 dwPriority, 整数型, , 0
.参数 dwFlags, 整数型, , 0
.参数 hMPQ, 整数型, 传址, 返回句柄
.DLL命令 SFileDestroy, 逻辑型, "Storm.dll", "#262", , 初始化,放在最前面
.DLL命令 MpqCloseUpdatedArchive, 整数型, "SFmpq.dll", "MpqCloseUpdatedArchive"
.参数 hMPQ, 整数型
.参数 Null, 整数型
.DLL命令 SFileCloseArchive, 逻辑型, "Storm.dll", "#252", , 关闭MPQ文件
.参数 hMPQ, 整数型
.DLL命令 SFileOpenFileEx, 逻辑型, "Storm.dll", "#268"
.参数 hMPQ, 整数型
.参数 lpFileName, 文本型
.参数 dwSearchScope, 整数型, , 0
.参数 hFile, 整数型, 传址, 返回打开句柄
.DLL命令 SFileGetFileSize, 整数型, "Storm.dll", "#265", , 取文件大小
.参数 hFile, 整数型
.参数 lpFileSizeHigh, 整数型, , 0
.DLL命令 SFileReadFile, 逻辑型, "Storm.dll", "#269", , 读取文件
.参数 hFile, 整数型
.参数 lpBuffer, 字节集, 传址, 存放读取的内容,需分配空间
.参数 nNumberOfBytesToRead, 整数型, , 要读取的字节数,SFileGetFileSize取得
.参数 lpNumberOfBytesRead, 整数型, 传址, 实际读取字节数,跟前面一样
.参数 lpOverlapped, 整数型, , 0
.DLL命令 SFileCloseFile, 逻辑型, "Storm.dll", "#253", , 关闭已经打开的MPQ里面的文件
.参数 hFile, 整数型
.DLL命令 SFileFileExistsEx, 整数型, "Storm.dll", "#289", , 文件是否存在,失败返回0
.参数 hMPQ, 整数型
.参数 lpszFileName, 文本型
.参数 grfSearchScope, 整数型, , 0
.DLL命令 拷贝内存_, 整数型, "kernel32", "RtlMoveMemory", , , RtlMoveMemory
.参数 目标数据地址, 字节型, 传址 数组, lpvDest
.参数 源数据, 字节集, 传址, lpvSource
.参数 尺寸, 整数型, , cbCopy
.DLL命令 lstrcpyn_字节集, 整数型, , "lstrcpyn"
.参数 欲取其指针, 字节集, 传址
.参数 欲取其指针, 字节集, 传址
.参数 保留, 整数型, , 0
.DLL命令 RtlMoveMemory, 整数型, "kernel32", "RtlMoveMemory", , , RtlMoveMemory
.参数 目标数据地址, 字节型, 传址, lpvDest
.参数 源数据, 整数型, , lpvSource
.参数 尺寸, 整数型, , cbCopy
.DLL命令 wvsprintf, 整数型, "user32.dll", "wvsprintfA"
.参数 lpstr, 整数型
.参数 lpcstr, 文本型
.参数 OptionalArguments, 长整数型, 传址
.DLL命令 VirtualFree, 整数型, "kernel32.dll", "VirtualFree", , 调用失败,返回0
.参数 lpAddress
.参数 dwSize, , , 0
.参数 dwFreeType, , , MEM_RELEASE
.DLL命令 VirtualAlloc, 整数型, "kernel32.dll", "VirtualAlloc", , 调用失败,返回0
.参数 pAddress, 整数型
.参数 size, 整数型
.参数 flAllocationType, 整数型, , MEM_COMMIT
.参数 flProtect, 整数型, , PAGE_READWRITE
.DLL命令 copymem, 整数型, "kernel32", "RtlMoveMemory", , , RtlMoveMemory
.参数 目标数据地址, 整数型, , lpvDest
.参数 源数据, 整数型, , lpvSource
.参数 尺寸, 整数型, , cbCopy
.DLL命令 lstrcpyn_文本, 整数型, , "lstrcpyn"
.参数 欲取其指针, 文本型, 传址
.参数 欲取其指针, 文本型, 传址
.参数 保留, 整数型, , 0
.DLL命令 lstrcpyn_整数, 整数型, , "lstrcpyn"
.参数 欲取其指针, 整数型, 传址
.参数 欲取其指针, 整数型
.参数 保留, 整数型, , 0
.DLL命令 lstrcpyn_文本1, 整数型, , "lstrcpyn"
.参数 欲取其指针, 整数型
.参数 欲取其指针, 整数型
.参数 保留, 整数型, , 0
.DLL命令 DeleteFileA, , "kernel32.dll", "DeleteFileA"
.参数 FilePath, 文本型
.DLL命令 MpqDeleteFileWithLocale, , "SFmpq.dll", "#29"
.参数 hWnd, 整数型
.参数 Path, 文本型
.参数 Null, 整数型, , 0
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。