本帖最后由 laozhhaiJohn 于 2026-2-26 12:30 编辑
您的提醒太及时了。按照您的提示,我实验了下,确实省事。于是简单又做了一个在《古墓丽影123重制版/复刻版》中,给劳拉高坠尖叫加了个开关。哈哈。
这个开关补丁就是在ce中写好,把涉及的2处指令的字节码拷贝出来,然后在x64dbg中粘贴入对应地址。确实节省了不少的时间以及避免了输入错误问题和相对跳转计算的问题。
🎮 古墓丽影123重制版:劳拉高坠尖叫开关补丁制作指南
本教程介绍如何在《古墓丽影123重制版/复刻版》中,通过修改 tomb1.dll 添加一个高坠尖叫开关。该方法利用 Cheat Engine (CE) 定位指令,结合 x64dbg 进行字节码注入,避免了手动计算相对跳转地址的繁琐过程。
⚠️ 重要安全提示
- 备份文件:在操作前,务必备份游戏目录下的
tomb1.dll 文件,以防修改失败导致游戏无法启动。
- 代码审计:建议在使用任何补丁前,利用 AI 工具或反汇编软件分析补丁内容,确保其中不包含危害系统安全的恶意代码。
- 责任自负:修改游戏文件可能导致游戏不稳定或被反作弊系统标记,请仅在单机模式下使用。
🛠️ 核心原理
- 拦截:在原程序的验证逻辑处(
0x20155)插入跳转指令,将执行流重定向到空白区域(0xA7701)。
- 注入:在空白区域写入自定义逻辑,包含一个全局开关判断。
- 还原:根据开关状态,选择执行原始的尖叫逻辑或直接跳过。
涉及的汇编逻辑
注入点:tomb1.dll + 0xA7701
; 检查全局开关标志位 (地址: 0x7FF9AFB87741)
cmp byte ptr [0x7FF9AFB87741], 0x1 ; 如果值为 1,则开启特殊逻辑(关闭尖叫)
jne tomb1.7FF9AFB87713 ; 如果不等于 1,跳转到原始逻辑继续执行
; --- 开关生效时的逻辑 ---
jmp tomb1.7FF9AFB00178 ; 直接跳过尖叫触发代码
; --- 原始逻辑复现 (当开关未激活时) ---
cmp word ptr [rcx+0x24], ax ; 原始的高度/速度判断
jl tomb1.7FF9AFB00178 ; 如果满足条件,跳转
jmp tomb1.7FF9AFB0015B ; 否则,执行尖叫逻辑
拦截点:tomb1.dll + 0x20155
; 原指令被替换为跳转
jmp tomb1.7FF9AFB00178+0x875A7 ; 跳转到 0xA7701 (即 E9 A7 75 08 00)
nop ; 填充剩余字节 (90)
📥 补丁文件使用方法
无需手动输入十六进制代码,方便的使用 x64dbg 专用的 .1337 补丁格式。
步骤 1:创建补丁文件
新建一个文本文件,命名为 取消尖叫.1337 (文件名可自定义,扩展名必须是 .1337),并将以下内容完整复制进去:
>tomb1.dll
0000000000020155:66->E9
0000000000020156:39->A7
0000000000020157:41->75
0000000000020158:24->08
0000000000020159:7C->00
000000000002015A:1D->90
00000000000A7701:00->80
00000000000A7702:00->3D
00000000000A7703:00->39
00000000000A7707:00->01
00000000000A7708:00->0F
00000000000A7709:00->85
00000000000A770A:00->05
00000000000A770E:00->E9
00000000000A770F:00->65
00000000000A7710:00->8A
00000000000A7711:00->F7
00000000000A7712:00->FF
00000000000A7713:00->66
00000000000A7714:00->39
00000000000A7715:00->41
00000000000A7716:00->24
00000000000A7717:00->0F
00000000000A7718:00->8C
00000000000A7719:00->5B
00000000000A771A:00->8A
00000000000A771B:00->F7
00000000000A771C:00->FF
00000000000A771D:00->E9
00000000000A771E:00->39
00000000000A771F:00->8A
00000000000A7720:00->F7
00000000000A7721:00->FF
步骤 2:在 x64dbg 中应用
- 启动 x64dbg。
- 点击
File -> Open,选择《古墓丽影123重制版》的主程序(通常是 Tomb123.exe )。
- 等待程序加载。
- 点击菜单栏
File (文件) -> Patch (补丁) -> Load Patch File... (加载补丁文件)。
- 选择刚才创建的
取消尖叫.1337 文件。
- 观察底部日志窗口,若显示
Patch applied successfully 则表示成功。
- 点击
Run (运行) 启动游戏,测试高坠时是否还有尖叫声音。
💡 技巧总结
- CE + x64dbg 联动:在 CE 中编写和测试汇编逻辑非常方便,确认无误后,直接复制机器码(Bytecode)到 x64dbg 中粘贴,可以极大减少手动输入错误。
- 避免相对跳转计算:通过在 CE 中直接生成最终的跳转指令,CE 自动计算偏移量,省去了人工计算地址的麻烦。
- 模块化补丁:使用
.1337 格式可以将复杂的内存修改保存为单一文件,便于分享和重复使用。
注意!!!开关地址:tomb1.dll+A7741
值 = 1:取消尖叫!
祝你在劳拉的冒险之旅中玩得开心!🏔️🔦
|