外挂、破解软件理论与实战

外挂、破解软件理论与实战

1 理论

1.1 不同操作系统下的可执行文件

  1. Windows【PE】

PE 格式,可移植可执行格式(Portable Executable),
是 Windows 下的主要可执行文件格式。别被名字迷惑了,PE 文件必须是 Windows 下的文件。

  1. Linux【ELF】

在Linux系统的可执行文件(ELF文件,Executable and Linkable Format,可执行链接格式)中,开头是一个文件头,用来描述程序的布局,整个文件的属性等信息,包括文件是否可执行、静态还是动态链接及入口地址等信息;生成的文件不是纯碎的二进制可执行文件了,因为包含的程序头不是可执行代码;将这种包含程序头的文件读入到内存后,从程序头中读取入口地址,跳转到入口地址执行;

  1. Mac【Mach-O】

Mach-O为Mach Object文件格式的缩写,它是一种用于可执行文件,目标代码,动态库,内核转储的文件格式。作为a.out格式的替代,Mach-O提供了更强的扩展性,并提升了符号表中信息的访问速度。

1.2 Windows下软件破解知识

◼ Windows平台软件破解必备知识
文件格式:PE文件
汇编语言:x86、x64汇编
工具:Ollydbg
Windows API

◼ OD常用快捷键
F2:切换断点
F9:运行程序
F7:Step Into
F8:Step Over
Ctrl + G:搜索代码

1.3 加壳与脱壳

  • 一般的软件破解思路
    在这里插入图片描述

  • 加壳后的软件破解思路(在普通软件上多了一层)
    在这里插入图片描述

1.4 外挂的本质

常见的外挂有2种做法:

  • 修改内存中的数据
    在这里插入图片描述

  • 修改内存中的代码
    在这里插入图片描述

通过OD软件修改汇编代码,然后重新保存为新的.exe文件

其实,数据和代码并没有本质区别,在内存中都是01

在这里插入图片描述

2 实战步骤

软件地址:

链接:https://pan.baidu.com/s/1pIogCuXPR87p91og09zZZQ?pwd=zj8k 
提取码:zj8k

2.1 环境准备

visual studio 2022:c++桌面开发(MFC)、visual studio扩展开发

在这里插入图片描述
扩展开发:
在这里插入图片描述

2.2 OD汇编(Ollydbg)

将.exe文件转化为汇编

2.4 cheaterEngines

用于检测内存中数值变化

在这里插入图片描述

2.5 大体步骤

此处以植物大战僵尸为例

  1. 打开visual studio,创建MFC项目(类似于java中的swing)
    在这里插入图片描述
- 自定义log宏,简化打印
- 事件注册(手动、自动)
- 绑定变量(手动、自动)
- 单选框状态读取(勾选、不勾选)
  1. 将植物大战僵尸的运行文件(.exe文件)拖动到OD中,观察汇编
  • 修改汇编逻辑
    在这里插入图片描述
前后修改尽量不动字节数,比如:前面一行代码占字节,我们修改后的代码占2字节,
那么我们就需要使用NOP填充,相当于是空,当cpu执行到nop时,会直接跳过,nop
只起到一个占用位置的作用

思路:

①秒杀僵尸:直接用僵尸的原有血量 - 僵尸的血量
②无限阳光:阳光存在一个struct中,通过地址找到值,然后使用API修改内存中的值
  • 导出破解后的exe文件
    在这里插入图片描述
  1. 使用spy++查找窗口

windows外挂桌面开发可能需要获取到运行文件的句柄(ID),然后控制

在这里插入图片描述
4. 修改visual studio中的代码【部分】

秒杀僵尸、无限阳光

// 用来监控游戏的线程
DWORD monitorThreadFunc(LPVOID lpThreadParameter) {while (1) {// 获得植物大战僵尸窗口的句柄HWND windowHandle = FindWindow(CString("MainWindow"), CString("植物大战僵尸中文版"));if (windowHandle == NULL) {g_dlg->m_bnKill.SetCheck(FALSE);g_dlg->m_bnSun.SetCheck(FALSE);g_dlg->m_bnKill.EnableWindow(FALSE);g_dlg->m_bnSun.EnableWindow(FALSE);g_processHandle = NULL;} else if (g_processHandle == NULL) {g_dlg->m_bnKill.EnableWindow(TRUE);g_dlg->m_bnSun.EnableWindow(TRUE);// 获得植物大战僵尸的进程IDDWORD processPid;GetWindowThreadProcessId(windowHandle, &processPid);// 获得植物大战僵尸的进程句柄g_processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processPid);}if (g_dlg->m_bnSun.GetCheck()) { // 需要无限阳光DWORD value = 9990;WriteMemory(&value, sizeof(value), 0x6A9EC0, 0x320, 0x8, 0x0, 0x8, 0x144, 0x2c, 0x5560, -1);}// 休息睡眠Sleep(1000);}return NULL;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/51461.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android逆向之旅---Android手机端破解神器MT的内购VIP功能破解教程

一、前言 在破解app的时候,我们现在几乎都是在PC端进行操作,但是之前bin神的MT管理器,可以在手机端直接破解,不过也有很大的局限性,但是对于一些简单的app破解没问题的。这个工具其实原理也很简单,就是解析apk中的dex,arsc等文件,然后支持修改其中的类方法信息和资源信息…

android黑科技系列——手机端破解神器MT的内购VIP功能破解教程

一、前言 在破解app的时候,我们现在几乎都是在PC端进行操作,但是之前bin神的MT管理器,可以在手机端直接破解,不过也有很大的局限性,但是对于一些简单的app破解没问题的。这个工具其实原理也很简单,就是解析apk中的dex,arsc等文件,然后支持修改其中的类方法信息和资源信息…

Git笔记整理

下载地址:https://registry.npmmirror.com/binary.html https://registry.npmmirror.com/binary.html?pathgit-for-windows/ 卸载 1.清理环境变量 2.程序卸载 安装下一步,默认安装即可 Git Bash:Unix与Linux风格的命令行,使用最…

ChatGPT:让AI成为你的工作助手,提高工作效率

随着人工智能技术的不断发展,越来越多的企业开始尝试将AI应用于工作中,以提高工作效率和质量。而ChatGPT作为一种基于自然语言处理的人工智能技术,可以帮助企业实现更高效的工作流程和更好的客户服务体验。 ChatGPT是一种基于自然语言处理技术…

模拟彩票开奖

🏡个人主页 : 守夜人st 🚀系列专栏:Java …持续更新中敬请关注… 🙉博主简介:软件工程专业,在校学生,写博客是为了总结回顾一些所学知识点 写在开头 模拟彩票排三中奖截图 模拟双色球…

刮刮彩票(20分)

刮刮彩票 (20分) “刮刮彩票”是一款网络游戏里面的一个小游戏。如图所示: 每次游戏玩家会拿到一张彩票,上面会有 9 个数字,分别为数字 1 到数字 9,数字各不重复,并以 33 的“九宫格”形式排布在彩票上。 在游戏开始…

Android端的彩票开奖查询系统

实现如下 假装插入了图片 初版历时半个多月 基础功能 开奖结果查询 近期开奖查询历史开奖查询(最多五十期)关注彩种一些简单的趋势分析号码预测(号码预测做的比较简单,直接算出每个号码的多期平均值,和期望平均值做…

即将毕业【大学生如何就业】你规划好了吗?

1、经常听到一句话:大学毕业,就等于失业的话,你信吗? 2、回想自己大学学到了什么... 什么也没有,是吗? 3、自己将来准备干什么? 没想好?不知道? 4、你的同学是等家里安…

临近毕业大学生该怎么规划自己的未来

如今3月18日了,又到了毕业季,我毕业一晃六年了,记得当年4月7号我就去了一家软件工作,由于自己性格和一些原因,当时在新疆建行信息部时拿到手5千多的工资,几年前在新疆还算不错的工资,为了改变性…

大学计算机专业未来四年的规划,大学生在大学四年怎么规划自己的未来?

有网民对在校大学生在大学四年如何整体规划自身的将来?这一有兴趣,今日使我们用一篇文章来给大伙儿消遣! 职业发展规划。做为在校大学生,你应该基本上掌握你大学专业的职业是什么,你之后要想从业哪层面的岗位,越发早做…

未来职业发展规划

未来职业发展规划 文章目录 未来职业发展规划一、自我介绍二、新学期目标三、未来的发展规划 一、自我介绍 目前是大三的学长了,对于当初懵懂的自己,已经有点小成熟了,对于以后也有了坚定的目标了,我是来自天津理工大学的一名计算…

大学生发展规划与就业指导(三)

一、单项选择题(每题1.0分) 1 (单选) 正确的实习实践经历撰写顺序: A、按照职责描述、做了什么、结果如何、收获如何B、按照自己的理解职责的描述C、按照自己做了什么、结果如何D、按照实习收获、职责描述、做了什么…

2020年大学毕业生就业前景如何?职业规划定位准确,并不是难事

2020年大学毕业生就业前景如何?职业规划定位准确,并不是难事,从自己从业10多年互联网行业,做过产品经理,技术经理和测试经理,全方位解析分享职业规划定位和就业。 下面从三个维度进行分享: 1、…

如何选择未来的大学

如何选择未来的大学? 如何思考?爱好/特长 【我能干啥?】行业 【干啥有钱途?】城市 【在哪干?】大学 【和谁干?】 行业整理职业整理 如何思考? 面临毕业季,大学生要找工作&#xff0c…

云音乐 Android so 体积治理实践

背景 软件应用除了功能外,还有许多非功能质量属性需要我们关注,常见有性能、安全性、可用性、可扩展性等。除此之外,软件的体积也是我们应该关注的重要质量属性。体积对启动速度、下载安装时长、安装成功率、磁盘空间占用、OOM 异常等都有深…

日本美术学校有哪些,日本美术学校排名榜

日本美术类院校,不管是在教育质量上还是在艺术造诣上在国际上都享有极高的声誉。是故,每年都有大量学生赴日学习美术。那么日本有哪些排名靠前的美术类大学呢?下面跟着花水木君一起来了解下吧。 一、东京艺术大学 东京艺术大学是一所校本部位…

是计算机数控系统的核心,监管目标是监管者追求的最好效果或最好状态。()

摘要: 监管中国知网的高级检索不包含初级检索的功能。( )林黛玉敏感自尊,管者果或虽与贾宝玉耳厮鬓摩长大,仍严守男女大防,杜绝任何身体接触。《红楼梦》第二十五回《魇魔法姊弟逢五鬼,追求最好状态红楼梦通灵遇双真》…

书香荟萃,数字赋能,重庆佳兆业珑樾壹号项目顺利完成数字化落地

项目名称:重庆佳兆业珑樾壹号 建设单位:重庆渝祥兆实业有限公司 施工单位:重庆华硕建设有限公司 一、项目基本情况 重庆佳兆业珑樾壹号坐落于大学城西路,以1.5低容积率规划打造洋房、美学院墅两大标杆作品,和鸣纯粹…

《程序员情商》自我修养必备《论语》

导读:《论语》是中国古代春秋时期一部语录体散文集,由孔子弟子及再传弟子编纂而成。主要记录孔子及其弟子的言行,较为集中地反映了孔子的思想,是儒家学派的经典著作之一,中国现传扬并学习的古代著作之一。主要由仲弓、…

使用echarts中国地图上绘制散点图(自适应宽高)

先上最终效果图(显示公司在中国各个城市药店分布图) 我这边使用的技术栈是react,不熟悉的可走:https://zh-hans.reactjs.org/ 首先使用npm安装echarts cnpm install echarts --save 除此之外,我还自己引用了两个jso…