楼主:
luciffar (自动手枪人偶)
2025-06-21 14:31:21那是不会用的关系吧
AI其实是很好的老师
有什么问题问他就对了
例如我这个程式小白
问了AI一段程式码
他直接告诉我是什么软件写的
并且给我一个最直接"有用的"方案
帮我解决问题 这不是很方便吗?
下面会解说问了啥
没兴趣看的可以直接跳过惹
我用CE(CHEAT ENGINE 修改游戏数值的软件俗称金手指或修改器)
修改金钱遇到一些问题
就是每过一关内存都会乱跳
所以每一关都要重新找过一次
于是问了GPT老师这该怎么办
我其实是只贴了原始程式码进去
什么都没问 他就直接给出建议惹
而且居然能跑也没出错@@
超强的!!!
就只加入了这一段就好了
mov eax,9999999 // 把数值改成 9999999
他就开始智能追踪每一场的内存
我只要存盘打勾让他运行就好了
而且非常详细的解说每行程式在写啥
去哪边找这么棒的老师啊^^
下面贴出完整对话:
对程式码没兴趣看的可以再次跳过
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,1E102AF7443)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov eax,9999 // 把数值改成 9999 GPT直接给我答案叫我在这行插入这句既可
originalcode:
mov [rdi+000003D8],eax
exit:
jmp returnhere
1E102AF7443:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
1E102AF7443:
db 89 87 D8 03 00 00
//mov [rdi+000003D8],eax
ChatGPT 说:
你这段是标准的 Cheat Engine 注入脚本,目的是拦截并修改位于地址 1E102AF7443 的
指令,以修改某个结构体中偏移 +0x3D8 的数值。这样的脚本常用来实现修改血量、金钱
、弹药等游戏内数值。
以下是脚本功能的说明与一些潜在的建议:
功能解释
‧ alloc(newmem,2048,1E102AF7443):分配 2048 bytes 内存,用来放置你自己
的程式码。
‧ jmp newmem:将原本的游戏程式跳转到你分配的区域(hook)。
‧ originalcode: 区段目前只保留了 mov [rdi+000003D8],eax,这是原本指令,表
示将 EAX 的值写入 RDI + 0x3D8。
‧ exit::回跳到原本程式码的下一行。
可扩充区域(newmem)
你可以在 //place your code here 加入自己的逻辑,例如:
assembly
复制编辑
mov eax,9999 // 把数值改成 9999
范例:
assembly
复制编辑
newmem:
// 自订逻辑,将该内存值强制设成9999
mov eax,9999
mov [rdi+000003D8],eax
jmp returnhere
[DISABLE] 部分
恢复原始指令:
assembly
复制编辑
1E102AF7443:
db 89 87 D8 03 00 00 // 对应 mov [rdi+000003D8],eax
这行正确无误,会把 hook 还原。
注意事项
1. 确保 1E102AF7443 是可写入的内存(否则注入可能会当机或失效)。
2. 如果游戏是 64 位元的,请注意偏移与寄存器的大小(例如 RAX vs EAX)。
3. 若该指令位于循环中,请小心频繁改写可能导致游戏逻辑错乱。