zoukankan      html  css  js  c++  java
  • 学习逆向知识之用于游戏外挂的实现.第一讲,通过游戏外挂.学习逆向技术指超级马里奥.

     

            通过游戏外挂.学习逆向技术指超级马里奥.

    一丶前言

    1.什么是逆向.

      逆向就是在没有源代码的情况下.通过汇编.反汇编来逆向一个成品的Exe(也可以是别的.举例是EXE)这样叫做逆向.

    2.逆向的用途

       逆向技术可以用于 反病毒.反外挂. 破解. ...... 等等.当然反病毒反外挂的前提就是你要对外挂或者病毒写法了解. 才可以进行.所以逆向的高度取决于开发的水平.

    3.这篇博客的作用.

      这篇博客不是教授外挂的.而是以外挂为切入点.讲解逆向技术.并了解逆向技术可以做什么.

    二丶超级马里奥

    想必超级玛丽大家都玩过.

    那么我们可以对它做点什么.

    1.血值.可以修改为无限血量

    2.子弹个数.可以修改无限子弹.

    3.生命个数.可以修改为无限生命

    4.子弹状态. 使马里奥可以发送普通子弹. 登山镐子弹. 以及忍者飞镖子弹. CTRL+Z键还可以开启大招.

    三丶逆向工具准备

    我们要做外挂的前提需要有逆向工具.

    Cheat_Engine 简称CE 一款可以搜索内存的工具. 也可以看反汇编.

    那么我们可以用CE做切入点.

    1.使用CE 附加超级马里奥进程.

    2.搜索子弹个数. 依次减少.然后继续搜索.这样可以搜索到子弹的个数的基址.

    3.基址就是保存信息的一个全局变量地址.就是不会变动的地址.这样超级马里奥重新启动也会是这个地址.

    1.搜索子弹个数

    2.子弹个数更改.点击再次扫描.

    当我们再次扫描之后会发现还有两个地址.根据经验.绿色的是基地址.

    当然我们可以关掉游戏.重新启动.然后看看地址还是不是这个.如果是这个.(0x00428292) 那么这个地址就是个静态地址.我们可以认为这个地址是不变的了.

    3.下拉到下面.CTRL +B 键观察附近内存. 然后CTRL + 2 以字节的10进制显示.

    观察附近内存. 可以看到92上面的82地址是个6. 而看我们当前的血值也是6 可以猜想这个变量存放的是血值.

    我们可以减血看一下.

    我们可以修改一下血值.看看是否是.

    修改之后发现是.所以82就是血的基址.  然后通过我们马里奥不断的进行不同的操作.

    可以看出这块内存会更改.

    当然这个操作需要手动去做.步骤我就不做了.

    所以我们可以得出.

    0x00428282  =  血的基址

    0x00428292 =   子弹个数基址.

    0x004282A2 =   生命个数的基址.

    四丶编程实现外挂编写.

    C++  : 如果是C++ 我们需要熟悉几个API.  OpenProcess 打开进程句柄.        ReadProcessMemory(); 读内存.  WriteProcessMemory() 写内存.

    易语言: 易语言可以使用模块. 我用的是超级模块.

    要熟悉的易语言命令.

    1.取进程ID(进程名)  返回进程ID  (跟OpenProcess 一样.只不过是封装的一个)

    2.十六到十             在易语言当中.我们操作的地址需要转化成10进制.可以用这个命令.

    3.写内存整数型     跟WriteProcessMemory一样的. 只不过封装了一下. 

    具体代码可以在博客中下载. 一个是 VS2015 版本MFC的.  一个是易语言编写的. 附加模块.

    成品图演示

    MFC

    易语言:

    资料下载: 链接:https://pan.baidu.com/s/1AaRAuw7uUcxhxCL_nCrYMQ 密码:i2xt  (超级马里奥 + CE 工具 + 易语言.e代码文件 + 成品 + MFC 代码 + 成品)

  • 相关阅读:
    POJ3297+map字符串处理
    POJ3204+DInic+maxflow
    HDU4704+费马小定理
    FZU-1924+判断环/DFS/BFS
    FZU-1921+线段树
    FZU-1926+KMP
    CodeForce 339:A+B+C
    HDU2896+AC自动机
    POJ2527+多项式除法
    鼠标移入移出事件
  • 原文地址:https://www.cnblogs.com/iBinary/p/9502761.html
Copyright © 2011-2022 走看看