CE修改泰拉瑞亚教程

建了博客想写点东西,但是又不知从何写起,那就先写一个我之前玩过的一个游戏的修改记录吧,往后想起来什么再写其他

准备条件

开始修改

  进入游戏,保证血量和蓝量分别在100和20,打开CheatEngine(以下称CE),进程选择Terraria

  切回CE,Value Type选择Groupeds,输入框内输入:4:100 4:100 4:100 4:20 4:20

  点击First Scan进行第一次搜索,不出意外会出现一个(或两个)地址,双击添加到地址栏,如图1所示:

图1


  在第三个地址上右键,选择Find out what accesses this address,出现一堆地址后选择第三个地址并点Show disassembler按钮

  然后点菜单栏的Tools,选择最后一项:Auto Assemble,然后选择full inject,弹出个地址点OK

  之后会进入脚本编辑框界面,复制以下代码从[ENABLE]开始往下覆盖到框里:

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000)
alloc(playerBase,4)                //给playerBase申请内存
registersymbol(playerBase)         //注册playerBase

label(code)
label(return)

newmem:

code:
  mov [playerBase], edx            //把寄存器edx里的基址移到playerBase里
  fild dword ptr [edx+00000340]
  jmp return

address:
  jmp newmem
  nop
return:

[DISABLE]

address:
  db bytes

dealloc(newmem)
dealloc(playerBase)
unregistersymbol(playerBase)

  粘贴完代码以后点左上角菜单栏的File,选择Assign to current cheat table把脚本保存到地址栏,关掉其他窗口,此时地址栏显示如图2:

图2


  保留 Auto Assemble script,其他全部删掉。然后点Add Address Manually,弹出的输入框里输入 playerBase,OK

  此时在 Auto Assemble script上打勾,下面地址里的 Value 会变成一串十进制数字,右键改地址选择以16进制显示,如图3:

图3


  复制这个16进制的地址,点Memory View,在弹出的界面的菜单栏点Tools,选择Dissect data/structures,把刚才复制的地址粘贴到框里,按Ctrl + N,弹出界面如图4所示

图4

  点OK,弹出如图5所示界面

图5

  这一堆地址即可修改的数据,根据英文描述可知道对应修改的是什么,如statLife为生命值,statMana为魔法等等


保存CT及偏移

  上面hook到的动态地址可以修改游戏里的数据,但是重启游戏后脚本就会重置且动态地址会变动,所以可以保存为CT表来方便以后使用

  因为动态地址会变动,所以还需要做一点小小的修改。在你想修改的地址上按A可快速把地址导入到地址栏,然后修改地址栏的地址以防止动态地址变动而不可用,这里以statLifestatMana做演示,如图6所示

图6

  在你想修改的数据地址上双击(这里以statLife做演示),然后弹出的页面√上Pointer,最下面的输入框里输入playerBase,上面的输入框里输入340,点OK即可。这里输入的playerBase即我们之前脚本hook到的地址,上面的340是血值偏移,基址+偏移就得到了不会变动的血量基址,因为游戏的数据会随着重启而变化,只有基址和偏移是不会变的,除非游戏进行更新。图7所示

图7

  这里仅以statLife做了演示,其他同理,某些数据可以锁定(前面的小方框打×)以达到自己想要的效果,如statLife锁定后不会掉血达到无敌效果。修改完以后可以Ctrl+S保存为CT,下次再使用直接打开CT并选择Terraria进程就可以方便使用了


补充

  • 下面列出一些常用的数据的偏移值

常用偏移

人物修改

  1. 生命值-----340
  2. 生命上限-----338
  3. 魔法值-----344
  4. 魔法上限-----348
  5. 无限飞行-----2f4(需一直按着空格)
  6. 氧气-----2b4
  7. 快速重生-----2e8(修改数值为0)

物品修改,需把要修改的物品放到物品栏第一个格子

  1. 攻击力-----bc-----8-----a4(这是三级偏移,按照顺序从下往上填,点Add Offset可增加偏移输入框,下同)
  2. 防御力-----bc-----8-----bc
  3. 击退力-----bc-----8-----a8
  4. 镐力-----bc-----8-----88
  5. 斧力-----bc-----8-----8c
  6. 锤力-----bc-----8-----90
  7. 渔力-----bc-----8-----58
  8. 鱼饵力-----bc-----8-----5c
  9. 暴击率-----bc-----8-----110
  10. 数量-----bc-----8-----80
  11. 前缀ID-----bc-----8-----147(ID可以在wiki找)
  12. 放置ID-----bc-----8-----98
  13. 特效ID-----bc-----8-----d8
  14. 特效频率-----bc-----8-----7c
  15. 特效速度-----bc-----8-----dc
  16. 挥动速度-----bc-----8-----78

注意事项

  1. 确保环境为.NET framework 4.6版本或以上
  2. 为了方便跟着教程走,最好新建一个角色来修改
  3. 文中出现的动态数据地址每个人都不相同,如果你的动态地址不同于文中请不必疑惑,继续你的操作
  4. 本教程旨在更好的学习交流,请勿用于其他非法用途
最后修改:2019 年 05 月 25 日 10 : 26 AM
如果觉得我的文章对你有用,请随意赞赏

5 条评论

  1. Moon

    哔哩哔哩链接加上吧

    1. Syn
      @Moon

      加在哪里

  2. 罗木、

    泪目。
    等你回来

    1. Syn
      @罗木、

      ୧(๑•̀⌄•́๑)૭ 总有一天我会踏着七彩滑板鞋回来的

  3. 罗木、

    (´இ皿இ`)泪目

发表评论