YyY.Jl 发表于 2018-7-5 10:31

小白用ce改植物大战僵尸阳光

本帖最后由 YyY.Jl 于 2018-7-5 17:09 编辑

第一次发帖,多多请教
直接搜索阳光:50,然后返回界面随便种一颗

再次搜索阳光:25

然后随便修改成99999

看来就是这个地址
然后右键点是什么改写了这个地址,回到界面随便种一颗植物得到一个地址

这个hex一定要点,

还剩这么多地址,我就重新进游戏。重复上面的步骤得到阳光的另外一个地址


再次搜索新的地址,剩下3个地址


按常理来说一般00xxxxx的都不是我们要找的地址,所以只剩下最后一个了
添加地址

重复上面的步骤,不过这次是什么访问了这个

找到了你头顶的颜色,这个可是好东西,一般是第一个。

重复上面的步骤

终于找到了
重开游戏





附上成品用ce做的。:链接:https://share.weiyun.com/5pvhVuX 密码:ursfj3
游戏下载链接:https://share.weiyun.com/59Ylovf 密码:tv7gm3不是安装包,是程序。

wangyujie96 发表于 2018-7-5 15:26

用注入法修改,寻找什么改写了此地址,然后花点阳光,找出修改指令,nop掉,就不扣阳光了。
优点是无需找基址。缺点嘛 ,就是可能导致别的什么东西也无限。

wangyujie96 发表于 2018-7-6 21:48

本帖最后由 wangyujie96 于 2018-7-6 22:46 编辑

YyY.Jl 发表于 2018-7-5 15:52
可是你只要重开游戏就不行了,怎么做辅助
找到的指令如果是类似 PVZ.exe+abc123 的地址,直接用自动汇编->模板->全部注入就行。如果是abcd1234的这种地址 就用 AOB注入(寻找特征码)。然后在自动写好的代码里面把写入阳光的指令删除。
自动汇编 写好后点击 文件->分配到当前CT表,就变成可勾选的了,勾选=启用修改。。。
在CE主界面点击表单-》显示CT表的Lua脚本,填入 getAutoAttachList().add("pvz.exe")。就可以自动加载pvz.exe而无需手动选择进程。CE主菜单编辑->设置->常规设置 最底下勾选 “选定其他进程自动附加”。好了 ,差不多我会的修改器制作知识都写出来了。,。。。

比如以下代码就是不扣阳光的ct,这个ct效果等于nop掉写入阳光的指令。是我精简过的。可复制后在CE的表里直接右键粘贴。没完全测试,不过年代这么久远的游戏应该没坑。


<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
    <CheatEntry>
      <ID>1</ID>
      <Description>"种植物不扣阳光"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : PlantsVsZombies.exe
Version:
Date   : 2018-07-06
Author : Yujie

This script does blah blah blah
}



"PlantsVsZombies.exe"+1BA76:
db 90 90 90 90 90 90//把原来的6个字节的指令替换成90,意思是nop



"PlantsVsZombies.exe"+1BA76:
db 89 B7 60 55 00 00 //还原

</AssemblerScript>
    </CheatEntry>
</CheatEntries>
</CheatTable>

yezjx 发表于 2018-7-5 15:31

顶帖!!!!!

993809727 发表于 2018-7-5 15:34

我唯一看得懂的一个帖子

罗氏家族 发表于 2018-7-5 15:46

虽然N年前就会的东西,但胜在楼主一片赤诚发帖   顶下

YyY.Jl 发表于 2018-7-5 15:52

wangyujie96 发表于 2018-7-5 15:26
用注入法修改,寻找什么改写了此地址,然后花点阳光,找出修改指令,nop掉,就不扣阳光了。
优点是无需找 ...

可是你只要重开游戏就不行了,怎么做辅助

kongklc 发表于 2018-7-5 16:00

E语言锁阳光源码一枚。不同版本 改基址偏移就能用咧


.版本 2

.程序集 窗口程序集_启动窗口

.子程序 _时钟1_周期事件

.如果 (进程是否存在 (“PlantsVsZombies.exe”) = 真)
    写内存整数型 (进程ID, 子程序1 (), 到整数 (编辑框1.内容))
.否则

.如果结束


.子程序 __启动窗口_创建完毕

.如果 (进程是否存在 (“PlantsVsZombies.exe”) = 真)
    进程ID = 取进程ID (“PlantsVsZombies.exe”)

.否则

.如果结束
' 运行 (&子程序1, 假, )

.子程序 _选择框1_被单击

.如果 (进程ID ≠ 到整数 (“”))
    时钟1.时钟周期 = 200
.否则
    时钟1.时钟周期 = 0
.如果结束


.子程序 子程序1, 整数型
.局部变量 第一, 整数型

第一 = 读内存整数型 (进程ID, 十六到十 (“779618”))            //基址
第二 = 读内存整数型 (进程ID, 十六到十 (“868”) + 第一)    //偏移
第三 = 十六到十 (“5578”) + 第二                                       //偏移

返回 (第三)

twl2018 发表于 2018-7-5 16:20

不错的,没有阳光更刺激。

sniper9527 发表于 2018-7-5 16:24

感谢分享!

Anakin 发表于 2018-7-5 16:44

支持小白我也是小百学习下啦谢谢楼主
页: [1] 2 3 4 5 6 7
查看完整版本: 小白用ce改植物大战僵尸阳光