1.修改阳光
搜索阳光500,数值每变动一次搜索数值一次,多次搜索以后找到地址右键
记下第一个偏移5560,并复制指针数值(有偏移量都可以找指针数组)
点击HEX,搜搜前面复制的值33D043A8,观察地址相差大的那个值(经验),右键-访问的地址F5,记下偏移量768
找一个有偏移量的地址双击复制指针数值09D3A808
搜索完成可以看见4个绿色的地址那个就是基址,将基址添加到地址列表,双击地址添加偏移量如图,确定。
右键数值改为十进制显示,就是当前的阳光数量
ㅤ
2.种植无CD
数值特征:介于0-1000之间,植物亮时数值为0,全暗时为999.
为0时:进行精确搜索,种植后时间倒数,时间倒数时:扫描类型改为变动的数值
多次搜索 ,找到需要的值
ㅤ
选择搜索到的数值,右键-什么改写了这个地址F6
进游戏将植物种下,选择 00488E77 – 89 45 24 – mov [ebp+24],eax 显示反汇编程序 找到 mov byte ptr [ebp+48],00 改为 mov byte ptr [ebp+48],01
修改完成后点击工具-自动汇编-模板-CT表框架-再模板中选择代码注入-确认
文件-分配到CT表
点击激活
进游戏
以后玩游戏就不需要在进行多次搜索修改数值了,直接加载就可以
ㅤ
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
<CheatEntries>
<CheatEntry>
<ID>2</ID>
<Description>"阳光"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>PlantsVsZombies.exe+2A9EC0</Address>
<Offsets>
<Offset>5560</Offset>
<Offset>768</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>3</ID>
<Description>"阳光"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>PlantsVsZombies.exe+2A9F38</Address>
<Offsets>
<Offset>5560</Offset>
<Offset>768</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>4</ID>
<Description>"阳光"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>PlantsVsZombies.exe+2A9F78</Address>
<Offsets>
<Offset>5560</Offset>
<Offset>768</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>5</ID>
<Description>"阳光"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>PlantsVsZombies.exe+2AA00C</Address>
<Offsets>
<Offset>5560</Offset>
<Offset>768</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>7</ID>
<Description>"无CD"</Description>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
originalcode:
mov byte ptr [ebp+48],01
mov [ebp+24],eax
exit:
jmp returnhere
"PlantsVsZombies.exe"+88E73:
jmp newmem
nop 2
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"PlantsVsZombies.exe"+88E73:
db C6 45 48 01 89 45 24
//mov byte ptr [ebp+48],01
//mov [ebp+24],eax
</AssemblerScript>
</CheatEntry>
</CheatEntries>
<UserdefinedSymbols/>
<DisassemblerComments>
<DisassemblerComment>
<Address>3D92C8B4</Address>
<Comment>CD
</Comment>
</DisassemblerComment>
</DisassemblerComments>
</CheatTable>