一个C语言外挂程序
- 首先建立一个控制台应用程序
- 引入Windows.h库函数
- MessageBoxA(句柄--通常是0,提示框内容,提示框标题,按钮)
#include <Windows.h>
int main()
{
MessageBoxA(, "喜欢陈培昌", "我想说", MB_OK);
return ;
}
运行效果
- 一个注入程序的编写步骤
通常DLL类型才能注入,而不是exe我们要做两件事
- 添加库函数_declspec(dllexport)
- 把文件属性配置生成更改为DLL
应用场景:
- 一些网络游戏在读取进度过程中,赞助企业用C语言实现面板打广告,DLL完成后,可以通过DLL注入工具注入到相关进程
- 修改游戏运行过程中的相关参数----如加血
- 以某款知名网络游戏为例,在改游戏运行至 某一环节中,通过软件工具cheatengine获取到高射炮备用单数75发,为了提高对敌机的毁伤率,需要增加备用弹药数量,则步骤如下
- 通过工具cheatengine获取到存放弹药数的内存地址,cheatengine中地址和值的对应表示关系为 0x1CE0DF40 75
- 写代码,把相关内存地址的值改为500
#include <Windows.h>
__declspec(dllexport)
int main()
{
int *p = (int*) 0x1CE0DF40;
*p=;
}
#效率更高的方案,自动检测弹药基数,并作弹药补给
#include <Windows.h>
void main()
{
int *p = (int *) 0x1CE0DF40;
while()
{
if(*p<)
{
*p=;
}
sleep();#对于对抗烈度不高的游戏,每1秒钟做一次检查就可以了。
}
}
总结:
对于任何想改变程序运行时值的需求,C语言的外挂唯堪重任
一个C语言外挂程序的更多相关文章
- 使用MySQL数据库将汉字转换成拼音的一个C语言小程序
环境: mysql:mysql-5.1.65 centos:centos 6.5 编译命令: gcc -o chinesetopinyin chinesetopinyin.c -L/usr/lib/m ...
- 第一个C语言程序
从第一个C语言程序了解C语言 了解关键字 了解函数 注释 C语言的执行流程 标识符 C语言的学习重难点 从第一个C语言程序了解C语言 上图是一个在控制台上显示“Hello, World!”的C语言源代 ...
- C语言学习-01第一个C语言程序
一 C语言的历史 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供 ...
- 李洪强iOS开发之【零基础学习iOS开发】【02-C语言】02-第一个C语言程序
前言 前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法.学习任何一门语言,首先要掌握的肯定是语法.学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算 ...
- C语言入门(2)——安装VS2013开发环境并编写第一个C语言程序
在C语言入门系列中,我们使用Visual studio 2013 Professional作为开发工具.本篇详细介绍如何安装Visualstudio 2013 Professional并写出我们第一个 ...
- 如何把一个c语言程序做成windows服务开机自启动
原文:如何把一个c语言程序做成windows服务开机自启动 目前写的程序是一个用c语言实现socket侦听的,那么如何把这个程序做成开机自启动呢? 我们是通过vs6.0,编译后生成了.exe文件,然后 ...
- Android For JNI(一)——JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序,使用C启动JAVA程序
Android For JNI(一)--JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序 当你的Android之旅一步步的深入的时候,你其实会发现,很多东西都必须去和framew ...
- 用C语言编写一个简单的词法分析程序
问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...
- 概率图模型 基于R语言 这本书中的第一个R语言程序
概率图模型 基于R语言 这本书中的第一个R语言程序 prior <- c(working =0.99,broken =0.01) likelihood <- rbind(working = ...
随机推荐
- loadrunner 场景设计-手工场景方案(Schedule)设计 Part 1
参考:http://blog.sina.com.cn/s/articlelist_5314188213_1_1.html loadrunner 场景设计-手工场景方案(Schedule)设计 Part ...
- ISO/ISO 参考模型 和 TCP/IP模型
OSI 参考模型 国际化标准组织(International Organization for Standardization,ISO)于1978年提出了一个网络体系结构,成为开放系统互联参考模型(O ...
- 1 Configuring SAP ERP Sales and Distribution -introduction to SAP
SAP is one of the most popular enterprise resource planning (ERP) solutions inthe world. It offers a ...
- zabbix报警后不会自动消除解决
http://www.cnblogs.com/zhongkai-27/p/9984597.html
- flutter详解路由栈(二)
前面,我们已经知道如何简单在路由栈中 push.pop 实例,然而,当遇到一些特殊的情况,这显然不能满足需求.学习 Android 的同学知道 Activity 的各种启动模式可以完成相应需求,Flu ...
- Java SE 8 docs——Static Methods、Instance Methods、Abstract Methods、Concrete Methods和field
一.Static Methods.Instance Methods.Abstract Methods.Concrete Methods ——Static Methods:静态方法 ——Instance ...
- 转 Java的各种打包方式(JAR/WAR/EAR/CAR)
JAR (Java Archive file) 包含内容:class.properties文件,是文件封装的最小单元:包含Java类的普通库.资源(resources).辅助文件(auxiliary ...
- CSRF token的原理
参考: http://www.cnblogs.com/zhaof/p/6281482.html 简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.cs ...
- 极*Java速成教程 - (1)
序言 众所周知,程序员需要快速学习新知识,所以就有了<21天精通C++>和<MySQL-从删库到跑路>这样的书籍,Java作为更"高级"的语言也不应该落后, ...
- Hive开发中使用变量的两种方法
在使用hive开发数据分析代码时,经常会遇到需要改变运行参数的情况,比如select语句中对日期字段值的设定,可能不同时间想要看不同日期的数据,这就需要能动态改变日期的值.如果开发量较大.参数多的话, ...