一个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语言的外挂唯堪重任

猜你喜欢

转载自www.cnblogs.com/saintdingspage/p/10166349.html