本文主要是介绍使用cheat engine 快速在Minecraft中打破方块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
软件环境:
1.CheatEngine
2.Minecraft Education V1.18.45
破解思路:
1.方块的破坏程度值使用float数据类型
2.方块的破坏程度值在0.0~1.0之间,完好状态时值为0.0,敲击过程中增加直到1碎掉,中途停止敲击后该值又会减小到0
具体方法:
step0. 运行Minecraft Education,打开Cheat Engine,找到进程并打开
step1 添加快捷键,Ctrl+Up表示再次搜索增加的数值,Ctrl+Down再次搜索减少的数值,这样在破坏方块的同时能搜索破坏程度值
step2 扫描类型精确扫描,数值类型单浮点,开始新的扫描
step3 找一个比较难破坏的方块比如石头,一手不停打方块,一手不停Ctrl+Up
step4 在方块碎掉之前停止敲击,然后Ctrl+Down,查找减小的数值
step5 上述两步可以多次进行,直到结果足够少,最后查找值为0.0的float,再次减少结果,找到一个比较像的地址如下图,可敲击方块验证该值变化是否符合规律。
step6 勾选该地址前的方框,锁定该值,再次敲击方块,如方块不再碎掉,说明该地址就是方块破坏程度的值的地址
step7 找到该地址后只要把该值设为1,即可实现一击即碎的效果。接下来就是制作AOB注入脚本
step8
step9
step10
step11
step 12
step13
step14
step15
step16
step17
附相关的CT表如下:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45"><CheatEntries><CheatEntry><ID>8</ID><Description>"instancebreakblock--https://www.youtube.com/watch?v=xydlwKT8fFk"</Description><VariableType>Auto Assembler Script</VariableType><AssemblerScript>{ Game : Minecraft EducationVersion: Date : Author : This script does blah blah blah
}[ENABLE]aobscanmodule(INJECT,Minecraft.Windows.exe,F3 0F 11 4B 20 3B) // should be unique
alloc(newmem,$1000)label(code)
label(return)newmem:code://movss [ebx+20],xmm1mov [ebx+20],(float)1jmp returnINJECT:jmp newmem
return:
registersymbol(INJECT)[DISABLE]INJECT:db F3 0F 11 4B 20unregistersymbol(INJECT)
dealloc(newmem){
// ORIGINAL CODE - INJECTION POINT: Minecraft.Windows.exe+F2D15EMinecraft.Windows.exe+F2D12E: F2 0F 5C 43 28 - subsd xmm0,[ebx+28]
Minecraft.Windows.exe+F2D133: 66 0F 5A C0 - cvtpd2ps xmm0,xmm0
Minecraft.Windows.exe+F2D137: F3 0F 59 05 48 55 D4 03 - mulss xmm0,[Minecraft.Windows.exe+3555548]
Minecraft.Windows.exe+F2D13F: F3 0F 11 45 D0 - movss [ebp-30],xmm0
Minecraft.Windows.exe+F2D144: E8 C7 26 00 00 - call Minecraft.Windows.exe+F2F810
Minecraft.Windows.exe+F2D149: 8B 43 6C - mov eax,[ebx+6C]
Minecraft.Windows.exe+F2D14C: 0F 28 C8 - movaps xmm1,xmm0
Minecraft.Windows.exe+F2D14F: F3 0F 59 4D D0 - mulss xmm1,[ebp-30]
Minecraft.Windows.exe+F2D154: F3 0F 11 45 D8 - movss [ebp-28],xmm0
Minecraft.Windows.exe+F2D159: F3 0F 58 4B 20 - addss xmm1,[ebx+20]
// ---------- INJECTING HERE ----------
Minecraft.Windows.exe+F2D15E: F3 0F 11 4B 20 - movss [ebx+20],xmm1
// ---------- DONE INJECTING ----------
Minecraft.Windows.exe+F2D163: 3B 45 EC - cmp eax,[ebp-14]
Minecraft.Windows.exe+F2D166: 0F 8F C0 00 00 00 - jg Minecraft.Windows.exe+F2D22C
Minecraft.Windows.exe+F2D16C: 7C 0C - jl Minecraft.Windows.exe+F2D17A
Minecraft.Windows.exe+F2D16E: 8B 43 68 - mov eax,[ebx+68]
Minecraft.Windows.exe+F2D171: 3B 45 E8 - cmp eax,[ebp-18]
Minecraft.Windows.exe+F2D174: 0F 83 B2 00 00 00 - jae Minecraft.Windows.exe+F2D22C
Minecraft.Windows.exe+F2D17A: 8D 83 80 00 00 00 - lea eax,[ebx+00000080]
Minecraft.Windows.exe+F2D180: 50 - push eax
Minecraft.Windows.exe+F2D181: 8D 55 E8 - lea edx,[ebp-18]
Minecraft.Windows.exe+F2D184: 8D 4D CC - lea ecx,[ebp-34]
}
</AssemblerScript></CheatEntry></CheatEntries><UserdefinedSymbols/>
</CheatTable>
这篇关于使用cheat engine 快速在Minecraft中打破方块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!