美文网首页汇编
CE 步骤一至步骤九新手通关教程

CE 步骤一至步骤九新手通关教程

作者: tantanxiqi | 来源:发表于2023-01-13 10:56 被阅读0次

    以下Torrial测试程序为32位

    01.步骤1

    打开CE 选项Torrial进程

    02.步骤2:精确值扫描

    image image

    1:在CE程序的数值中输入100,点击首次扫描

    2:再次点击测试程序中的打我按钮,观察健康值的变化

    image

    此时的健康值为96,在CE数值栏中输入96,点击再次扫描

    image

    地址栏中出现的便是血量内存地址,选中右击,将选中的地址添加到选中列表

    image

    点击数值 修该为1000

    image

    在测试程序中点击下一步

    image

    03.步骤三:未知的初始值

    1: 在扫描类中选择位置的初始值,点击首次扫描

    image

    下图为扫描结果 虽然地址栏没有数据,但是扫描结果已经出来了

    image

    2 在测试程序中点击打我,在CE 扫描类型中选择减少的数值,然后点击再次扫描

    image

    3 在测试程序中点击打我,在CE 扫描类型中选择减少的数值,然后点击再次扫描. (重复第二步)

    知道定位到血量内存地址(重复3-5次基本就可以出哪个是血量内存地址)

    image

    4 将血量修改为5000,点击下一步

    04.步骤4:浮点数

    1先查找健康值。在CE数值栏中写100,数值类型选择单浮点,点击新的扫描

    image

    2.在测试程序中点击打我按钮,可以在CE中观察到变化的数值

    image

    如果结果数再多,可以在扫描类型中选择减少的数值,点击再次扫描

    image

    3 将选中的地址添加到地址列表,并修改健康值5000.

    image

    4 弹药值-寻找弹药值同以上方法一样(数值类型 选择 双浮点)

    05.步骤五:代码查找

    1,找出血量内存地址值,并加入下方地址列表中

    2,选中右击,选择找出是什么改写了这个地址。弹出一个空白的窗口

    3,在测试程序中点击改变数值按钮,空白的窗口会出现一行代码

    image

    4,选中代码,点击旁边栏替换按钮,弹出对话框点击确定。。

    5,关掉窗口,在测试程序中点击 改变数值,点击下一步按钮

    06.步骤六:一级指针

    1 寻找到数值的内存地址并加入地址列表中

    2 选中内存地址,右击,点击找出是什么改写了这个地址,会弹出一个空白框

    image

    3 在测试程序点击改变数值按钮。此时原先空白窗口会显示一行代码

    4 选中该行代码 ,点击详细信息按钮,会弹出一个对话框

    image

    5 记录这个值

    6 在主界面中数值栏写入内存地址,(Hex 必须要勾选),点击 新的扫描(一般需要点击两次)

    如果出现很多不用管,只需要绿色(xxx.exe+数值)一行

    image

    7 加入到地址栏中,剪切地址,将十六进制勾选去掉,勾选指针

    image

    如下图所示

    image

    8 修改地址栏中的数值为5000,并激活

    image

    9 在测试程序中 点击改变指针按钮,倒计时结束点击下一步按钮

    07.步骤七:代码注入

    1: 找到血量的内存地址 并加入 地址栏中

    2: 选中地址, 右击,点击找出是什么改写了这个地址,会弹出一个空白框

    3,在测试程序中再次点击打我按钮,空白框会出现一行代码

    4,选中代码,点击右边栏中显示反汇编程序按钮

    image

    5 在状态栏中选中 工具->自动汇编,会出现下图

    image

    6 在状态栏中选择 模板->AOB注入 如下图所示

    image

    7 在状态栏中选择 文件->分配到当前CT表 , 看在地址栏中看见自动汇编脚本

    image

    8 关闭所有对话框,点击脚本,注入代码,将sub 改成 add, 01改成02,点击确定

    image

    9 激活脚本,回到测试程序,点击打我按钮,点击下一步按钮

    08.步骤八: 多级指针

    1 找到数值的内存地址,并加入地址栏中

    2 选择内存地址,右击,选择对这个地址进行指针扫描,会出现下图

    image

    2 点击确定按钮,选择保存的文件名称与路径,会出现指针扫描器,如下图

    image

    3 关闭测试程序(只关闭测试程序,CE 不要关闭,CE的对话框也不要关闭)

    4 重新打开测试程序,并跳到步骤八,并记录改变的数值

    5 CE 重新加载测试程序进程

    6 在指针扫描器对话框中 选择 指针扫描器->重新扫描内存-移除没有指向正确地址的指针。

    出现“重新扫描指针列表”选项对话框,选择要查找的数值,并将记录的数值写入,点击确定按钮

    image

    7 重复3-6 方法 直到可以明显观察出正确 基值和偏移地址的并添加到CT表中

    image

    8 在CT表中修改数值为5000并激活,点击改变指针按钮,倒计时结束,点击下一步按钮

    09.步骤九:注入c++

    1 先找到任意其中一位玩家血量内存地址,并加入地址(CT)表中

    2 选中,右击,选择找出是什么改写了这个地址,此时会弹出对话框

    3 回到测试程序再次点击攻击按钮(之前选择的那位玩家),会出现下图

    image

    4 选中该行代码,右击,选择找出代码访问的地址,如下图

    image

    5 回到测试程序,依次攻击四个玩家,此时对话框如下图所示

    image

    6 将其全部选中,右击,选择打开地址的分析数据,会出现一个新的对话框,选中新建窗口,点击确定按钮

    image

    7 出现结构定义对话框,点击OK按钮

    image

    8 又出现新的对话框点击YES按钮

    image

    9 又出现新的对话框,点击OK按钮

    image

    10 在结构分析的对话框中,对比数据,红色表示不同数据,

    观察数据可知 [ebx+4]是血量 [ebx+10]是阵营 [ebx+15] 是玩家名称

    只要对比[ebx+10]是否等于1,就可以区分不同阵营

    image

    11 回到汇编指令窗口,选中代码 点击显示反汇编程序按钮

    image

    12 在Memory Viewer 对话框 点击 工具 ->自动汇编

    13 在自动汇编窗口 点击 模板 -> AOB注入

    14 在自动汇编窗口 点击 文件 -> 分配到当前的CT表中,

    15 关闭所有的对话框,回到主界面,在CT表 点击脚本,编写脚本,点击确定按钮,并激活脚本

    aobscanmodule(INJECT,Tutorial-i386.exe,89 43 04 D9 EE) // should be unique
    alloc(newmem,$1000)
    
    label(code)
    label(hp)  // 自定义标签
    label(return)
    
    newmem:
      cmp [ebx+10],1  // 判断是否我放阵营
      je hp  // 条件成立 跳转hp标签
      jne code  // 条件不成立 跳转code
    code:
     // mov [ebx+04],eax
      mov [ebx+04],0  // 将敌方血量赋0,实现秒杀
      fldz 
      jmp return
    
    hp:            // 什么都不做
      fldz
      jmp return
    
    INJECT:
      jmp newmem
    return:
    registersymbol(INJECT)
    
    [DISABLE]
    
    INJECT:
      db 89 43 04 D9 EE
    
    unregistersymbol(INJECT)
    dealloc(newmem)
    

    16 回到测试程序点击重新启动并自动执行按钮,点击下一步按钮。

    end

    相关文章

      网友评论

        本文标题:CE 步骤一至步骤九新手通关教程

        本文链接:https://www.haomeiwen.com/subject/lgjgcdtx.html