zoukankan      html  css  js  c++  java
  • 一个C语言外挂程序

    • 首先建立一个控制台应用程序
    • 引入Windows.h库函数
    • MessageBoxA(句柄--通常是0,提示框内容,提示框标题,按钮)
    #include <Windows.h>
    int main()
    {
        MessageBoxA(0, "喜欢陈培昌", "我想说", MB_OK);
        return 0;
    }
    运行效果

    • 一个注入程序的编写步骤

    通常DLL类型才能注入,而不是exe我们要做两件事

    1. 添加库函数_declspec(dllexport)
    2. 把文件属性配置生成更改为DLL

    应用场景:

    1. 一些网络游戏在读取进度过程中,赞助企业用C语言实现面板打广告,DLL完成后,可以通过DLL注入工具注入到相关进程
    2. 修改游戏运行过程中的相关参数----如加血
    • 以某款知名网络游戏为例,在改游戏运行至 某一环节中,通过软件工具cheatengine获取到高射炮备用单数75发,为了提高对敌机的毁伤率,需要增加备用弹药数量,则步骤如下
    1. 通过工具cheatengine获取到存放弹药数的内存地址,cheatengine中地址和值的对应表示关系为 0x1CE0DF40 75
    2. 写代码,把相关内存地址的值改为500
    #include <Windows.h>
    __declspec(dllexport)
    int main() { int *p = (int*) 0x1CE0DF40; *p=500; }
    #效率更高的方案,自动检测弹药基数,并作弹药补给
    #include <Windows.h> void main() { int *p = (int *) 0x1CE0DF40; while(1) { if(*p<100) { *p=500; } sleep(1000);#对于对抗烈度不高的游戏,每1秒钟做一次检查就可以了。 } }

     总结:

    对于任何想改变程序运行时值的需求,C语言的外挂唯堪重任

  • 相关阅读:
    SQL应用初级指南
    XML 文档的基本操作
    SQL中单引号的转义
    C# (输入输出流)
    C# 文件与目录的基本操作(System.IO)
    数据库对象命名
    .Net 中的反射(反射特性) Part.3 (转载)
    C# 中的委托和事件(详解)
    SQL Server TransactSQL 编程
    Brush 色谱
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/10166349.html
Copyright © 2011-2022 走看看