TA的每日心情 | 开心 2018-10-30 22:05 |
---|
签到天数: 6 天 [LV.2]偶尔看看I
|
源码在11楼
模块名称:补丁模块
作者:Iamok
版本:1.0
------------------------------
.版本 2
.子程序 内存补丁, , 公开
.参数 补丁文件, 文本型, , 欲应用补丁的文件名,注意大小写要一致
.参数 补丁地址, 整数型, 数组, 欲应用补丁的地址(10进制)
.参数 地址原值, 整数型, 数组, 此地址的值(10进制)
.参数 地址修改值, 整数型, 数组, 此地址欲修改的值(10进制)
.参数 LOADER模式, 逻辑型, , 真为loader模式;假为普通模式
.子程序 文件补丁, , 公开
.参数 补丁文件, 文本型, , 打补丁的文件名(包括完整路径)
.参数 原始内容, 文本型, , 欲修改部分的HEX代码
.参数 补丁内容, 文本型, , 修改后的HEX代码
.子程序 文件补丁2, , 公开
.参数 补丁文件, 文本型, , 打补丁的文件
.参数 地址, 文本型, , 偏移地址
.参数 修改值, 文本型, , 修改的HEX值
.子程序 转换到十进制, 整数型, 公开, 将2,8,16进制文本转换到10进制数值(返回十进制数)
.参数 文本, 文本型, , 2,8,16进制文件
.参数 进制, 整数型, , 2为二进制,8为八进制,16为16进制
文件补丁例子:
.版本 2
.程序集 窗口程序集1
.子程序 _补丁_被单击
.局部变量 程序路径, 文本型
.局部变量 临时内容, 字节集
.如果 (文件是否存在 (取当前目录 () + “\MP3_Audio_Recorder_gb.exe”) = 假)
.如果真 (通用对话框1.打开 ())
程序路径 = 通用对话框1.文件名
.如果真结束
.否则
程序路径 = 取当前目录 () + “\MP3_Audio_Recorder_gb.exe”
.如果结束
.如果真 (选择框1.选中 = 真)
临时内容 = 读入文件 (程序路径)
写到文件 (程序路径 + “.bak”, 临时内容)
.如果真结束
文件补丁 (程序路径, “8D 45 F4 BA 03 00 00 00 E8 EF 9D F2 FF C3 E9 25 97 F2 FF EB EB 8B C3”, “8D 45 F4 BA 03 00 00 00 E8 EF 9D F2 FF C3 E9 25 97 F2 FF EB EB B0 01”)
信息框 (“补丁成功!”, 64, )
内存补丁例子:
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
内存补丁 (“MP3_Audio_Recorder_gb.exe”, { 5088853, 5088854 }, { 139, 195 }, { 176, 1 }, 真)
结束 ()
例子程序下载地址:
http://www.flywing.cn/mp3_audio_recorder.htm
修改方式:
004DA640 8D45 F4 lea eax,dword ptr ss:[ebp-C]
004DA643 BA 03000000 mov edx,3
004DA648 E8 EF9DF2FF call MP3_Audi.0040443C
004DA64D C3 retn
004DA64E ^ E9 2597F2FF jmp MP3_Audi.00403D78
004DA653 ^ EB EB jmp short MP3_Audi.004DA640
004DA655 8BC3 mov eax,ebx ; 改为 mov al,1
004DA657 . 5F pop edi
6月29日添加文件补丁2,偏移修改方式:
例子代码:
.版本 2
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 程序路径, 文本型
.如果真 (通用对话框1.打开 ())
程序路径 = 通用对话框1.文件名
文件补丁2 (程序路径, “13E94E”, “00”)
信息框 (“补丁完成!”, 64, )
修改程序下载地址:
http://www.skycn.com/soft/574.html
修改方法:
0053E945 8B55 FC mov edx,dword ptr ss:[ebp-4]
0053E948 E8 DB59ECFF call ScriptEx.00404328
0053E94D 75 04 jnz short ScriptEx.0053E953 ; 修改为75 00
0053E94F C645 F7 01 mov byte ptr ss:[ebp-9],1
0053E953 33C0 xor eax,eax
0053E955 5A pop edx
0053E956 59 pop ecx
说明:
使用文件补丁和文件补丁2时,如果要修改多处内容请按以下格式(注意引号的位置):
"{1111111111,2222222222,33333333}"
[ 本帖最后由 iamok 于 2008-7-1 08:30 编辑 ] |
评分
-
查看全部评分
|