Posted on

C 语言游戏外挂 (五):简单 DLL 劫持

2-E56cAO2viglED8AO

通过 C 语言编写一个游戏要加载的系统 DLL 文件 (lpk.dll),其中假 DLL 包含劫持功能和作弊功能且拥有相同的导出函数,将该假 DLL 放入游戏相同目录下,游戏打开时会自动加载该假 DLL,使游戏直接包含作弊功能

  • 设计思路分析
  • 对象分析
  • 要用的函数介绍
  • 编写测试效果
  • 总体评价

设计思路分析

  1. 构造一个与系统目录下 LPK.DLL 一样的导出表
  2. 加载系统目录下的 LPK.DLL
  3. 将导出函数转发到系统目录下的 LPK.DLL 上
  4. 在初始化函数中加入我们要执行的代码

对象分析

2-8xQKLKOTYMks8fZG

本次游戏对象为 Super Mario XP
没有更新所以可用任意版本
试玩发现人物血量最大为 10,心最大为 99,命最大为 99

要用的函数介绍

__asm{ }
执行括号内的汇编代码
JMP EAX
将 EIP 跳转到 EAX 执行,劫持 DLL 后要获取真正的原函数地址,使用时要进行跳转

编写测试效果

2-oIipwbYuXjtLq8wc

将生成的 mylpk 和作弊模块放入游戏目录,并改 mylpk 名为 lpk

2-E56cAO2viglED8AO

2-NRIt5crGPJEayY8K

打开游戏
直接打开游戏即可, 发现此时游戏已具备作弊效果 (锁定血量)

2-qy2UOfYcjIUSnqn1

工具查看加载模块
发现 cheatDLL 模块已加载入游戏,说明 lpk 劫持成功

2-Njgwe8ZKLQiIHdPC

WIN7 下劫持
在 WIN7 下要劫持只需稍修改注册表即可

2-2WcI90PlQIuX6oSv


 

总体评价

DLL 劫持可以在不用手动加载外挂, 在运行游戏时自动加载作弊功能

6 thoughts on “C 语言游戏外挂 (五):简单 DLL 劫持

  1. 感觉不错哦,认真拜读咯!

  2. 学习使人进步,到此拜读!

  3. 看来你C语言好历害哦

  4. win10呢 求游戏文件

    1. 游戏?百度一下你就知道了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注