深度剖析:黑神化悟空的防御机制,为何成为破解难题?

news2024/11/15 8:29:48

深度剖析:黑神化悟空的防御机制,为何成为破解难题?

黑神话悟空还没发售就被破解? #国产游戏 #悟空 #西游记

推荐阅读:

全红婵抖音魅力无限,粉丝数量历史性突破1000万大关!

奥运激情日!8月9日赛事看点全解析,带你领略体育魅力

七夕不踩雷!MBTI类型恋人送礼指南,超实用推荐

海淀很潮,流行起来!一场关于创新与美学的盛宴

孙颖莎王楚钦首战告捷?悬念揭晓,精彩不容错过!

原文地址:https://www.bsw80.com/category-7.html

经过分析,黑神话的程序还暗藏了一个彩蛋,我感觉是用来嘲讽 d 加密破解团队皇后 n press 你想知道是什么吗?黑猴子反盗版的原理是什么?会拖慢游戏运行速度吗?看完本期视频你就知道了,为了搞清楚黑猴到底是如何防止盗版的,我又请来了喜欢逆向的变量。

首先必须要声明一下,破解游戏是违法行为,本视频不会传授任何破解方法。看了本视频也不会给黑神话悟空带来任何被破解的风险,所以请大家放心观看。首先作为单机游戏黑神话悟空的反盗版对抗点要搞清楚。对了,它的对抗核心思想就是不能脱离平台运行,这个平台就是 we game 和Steam,别看目标是那么简单,但为了实现却需要很大的功夫。通过我们的分析,游戏的反破解分为静态和动态两个层面。首先是静态层面,也是大家能感知到的,就是游戏程序文件变大了很多,我们打开 Steam 版本的游戏目录,我们看到悟空的主程序高达 800 多兆,而经过边量的分析,游戏文件膨胀了至少上百倍,里面有 151 万个函数,这就是代码膨胀的特征。为啥要代码膨胀呢?代码膨胀本身就是给原有代码添加无关的代码,目标当然是提高逆向破解的难度。

深度剖析:黑神化悟空的防御机制,为何成为破解难题?

我们来看一个例子。当然黑猴是 C + + 边形,为了大家能理解,我用一个简单的 Python 程序来讲解一个函数实现了两个数相加,那么膨胀后的代码是这样的。可以看到这里增加了一个无用的随机数,一个无用的 range 检查,还有一个无用的 if 条件判断,而且这个 if 条件判断的逻辑永远不会触发,是不是这段代码给你看了之后需要更多的时间去理解,何况逆向你还看不到具体代码。你看到的还是一堆汇编代码,破解难度就增加了很多。然后我举的例子,代码撑死膨胀了 4 倍,而黑神话悟空的膨胀了上百倍,所以大家可以看到难度有多大。除了代码膨胀,还有代码混淆、代码等价交换,目的都是为了提高立项工程的难度,拖延被破解的时间。

除了这个黑猴悟空还有非常多的地方,他入了 CPU ID。经过边量的统计,至少有 3, 000 多次 CPU ID,插入 CPU ID 指令可以获取 CPU 的详细信息,说白了就是获取计算机硬件唯一标识符,这在反盗版的领域,特别是软件本地授权非常重要,可以有效防止游戏程序被非法拷贝。

深度剖析:黑神化悟空的防御机制,为何成为破解难题?

除了这一点,通过 CPU ID 还可以判断当前环境是不是虚拟机,毕竟很多地下工程都是要在虚拟机下进行的,所以真的要破解难度可能真要堪比登天了。以上就是静态层面的反破解了,接下来就是游戏的运行过程中动态反破解,如何动态反破解的?那就是哈希,哈希可以理解为数字指纹,你只要知道指纹能代表内容的唯一性就可以了,只要内容变了一个字节,指纹就变了。这个哈希主要针对三个地方,一个是系统核心的 d l、 n t DL kernel 32、 kernel base。还有一个是进程环境快PEB,还有一个是共享数据结构 k user share data 系统核心 DL 检查主要是防止注入破解代码到这几个 DL 中。进程块 PEB 的哈希是 Windows 操作系统中的一个进程级的数据结构,包含了与进程相关的多个信息,比如加载的模块列表、命运行参数等等。 PEB 检查用于判断是否存在板调试或者进程环境被修改。游戏程序可能会通过检查 PEB 的结构中的标志位,例如 PEB 点 Bing debug 来判断进程是否处于调试状态。哈希值的变化可以提示此类修改可以。

user share data 是 Windows 内核中的一个共享数据结构,所有用户模式进程都可以读到其中的信息。该结构包含了一些全局变量,比如系统时间时区信息、版本信息等等。通过检查这部分的数据变化,可以判断游戏是否被调试。可以看到这三种检查的目的就是反调试,反调试的技术主要目的是增加软件运行时逆向工程的难度,通过阻止调试器,从而阻止调试器的正常工作回到刚开始的问题,黑猴的反破解技术有没有影响游戏的性能?我的答案是肯定的,但这个影响是不好估算的,毕竟我目前也拿不到脱密版的游戏,只能说你对电脑 CPU 性能越差影响越大。如果你玩黑猴的帧数主要的天花板是显卡,那么说明反破解并没有影响到你。

深度剖析:黑神化悟空的防御机制,为何成为破解难题?

以上是黑猴子主要反破解手段,当然可能还有其他地方,如果评论区里有人知道,可以补充。另外边亮还发现了一个有趣的点,就是这个游戏是有特殊接口,具体接口怎么进我就不方便公开透露。只不过这个借口里面带了一个密钥,很有趣,是一个女人的名字。我感觉是为了嘲讽帝家密破解小组 m press 皇后而设,后续变量将为大家揭开这层面纱。记得关注它,黑神话悟空作为国产第一款 3A 大作,销量已经破了 1, 000 万套,之所以有这么喜人的成绩,我想游戏本身的防盗版技术实力和广大玩家对正版游戏的观念转变有很大的关系。我依然记得当年仙剑 4 上市的时候满大街的破解版以及上海软新官方网站再见若有缘这五个字,所以游戏商业的成败和是否能扛住破解尤为重要。作为曾经的游戏从业者,看到黑神话悟空的成功,我自然非常欣慰,我希望这款游戏能成为火种,点燃更多中国 3A 单机游戏。大家是不是和我有一样的想法,让国产游戏不等于氪金网游。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【日记】今天实在太累了(436 字)

正文 今天的工作强度跟之前完全不是一个级别。能不能不要给我找这么多事做,我只想摸鱼摆烂。以后到下一个单位就说自己啥都不会好了,省得一天天全来找我。 忙碌程度上升了一个数量级,一天结束之后完全不想说话。 好想睡觉。 昨晚尝试完成年度…

利用ADB命令截屏,并发送至指定邮箱

需求分析: 为满足对Android设备远程监控、故障排查或自动化报告生成等应用场景需求,本指南将指导你如何利用ADB(Android Debug Bridge)工具实现Android设备的截屏功能,并介绍如何将截屏结果通过远程通知的形式发送至指定邮箱。 关键词:ADB、截屏、远程通知、发送邮箱 准备…

程序设计—气象数据共享平台设计与实现 项目源码30172

摘 要 当前,气象数据的及时获取和共享对于许多行业和个人具有重要意义。然而,存在着数据获取不便、共享不畅、数据可视化展示不足等问题。为了解决这些问题,本研究旨在设计和开发一个基于C语言的气象数据共享平台,结合React框架实…

天津国芯SP下载工具 加个防呆 避免选了OTA升级的固件(后缀带有SIG.BIN)

V2.1 20240828 天津国芯SP下载工具 加个防呆 避免选了OTA升级的固件(后缀带有SIG.BIN) 兆讯的芯片1902首次下载必须先下载key,再下载加密固件。 天津国芯没有这个限制,固件是明文的。 自测使用的版本信息: 本地最新…

count格式的数据转换(count to FPKM,count to TPM) 【GEO数据库】

在正式分析之前,对于数据的处理是至关重要的,这种重要性是体现在很多方面,其中有一点是要求分析者采用正确的数据类型。 对于芯片数据,原始数据进行log2处理之后可以进行很多常见的分析,比如差异分析、热图、箱线图、…

linux下一切皆文件,如何理解?

linux下一切皆文件,不管你有没有学过linux,都应该听过这句话,就像java的一切皆对象一样。 今天就来看看它的真面目。 你记住了,只要一个竞争退出它的PCB要被释放文件名,客服表也要被释放。那么,指向这个文件…

基于大数据的电信诈骗行为可视化系统含预测研究【lightGBM,XGBoost,随机森林】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍 电信诈骗预测与分析系统项目概述系统架构详细功能描述1. 数据预处理2. 数据可视化与分析3. 机器学习预测4. 系统集成与用户界面 技术亮点应用价值未来展望lightGBMXGBoost随机森林…

猫头虎分享:什么是信创体系?

猫头虎分享:什么是信创体系? 猫头虎技术团队:深入解析信创体系 引言:为什么信创体系是未来发展的关键? 大家好,我是猫头虎,今天我们来聊一聊科技领域的热议话题——信创体系。随着国内外信息技术产业的迅…

分布式云扩展 AI 边缘算力,助力用户智能化创新

近期,AI 创新圈再次发布重磅产品更新。OpenAI 全新旗舰版多模态模型 GPT-4o 横空出世,其打通文本、图像、视频的富媒体理解能力以及敏捷的智能化对话,将 AI 助手的人性化表达效果,提升至更高水平。 ​ 从技术源头来看&#xff0c…

栈OJ题——有效的括号

文章目录 一、题目链接二、解题思路三、解题代码 一、题目链接 有效的括号 题目描述:给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。括号匹配。 二、…

《大模型应用开发极简入门》学习成为善用 AI 的人!看完懂得90%的大模型!{含pdf版电子书}

📖《大模型应用开发极简入门:基于GPT-4与ChatGPT》 真心建议学习大模型的朋友都去看看这本书,作为一本应用开发入门书,在豆瓣评分好评不断,其中知识点有不少值得深入研究的领域,适合小白初学者阅读学习的&…

【Google Maps JavaScript API】详解地图本地化(Localizing the Map)

文章目录 一、地图本地化概述1. 什么是地图本地化?2. 为什么需要地图本地化? 二、如何实现地图本地化?1. 准备工作2. 编写 HTML 文件3. 初始化地图 三、详细代码解析1. HTML 部分2. JavaScript 部分 四、如何在本地运行示例代码?五…

Spring Boot如何压缩Json并写入redis?

1.为什么需要压缩json? 由于业务需要,存入redis中的缓存数据过大,占用了10G的内存,内存作为重要资源,需要优化一下大对象缓存,采用gzip压缩存储,可以将 redis 的 kv 对大小缩小大约 7-8 倍&…

Jmeter录制脚本(不推荐,因为有大量冗余)

1、以百度举例 2、选择“Requests Filtering”,在“包含模式”中填入“.(baidu\.com).”用以过滤非http://baidu.com的请求; 同时在“排除模式”中填入“(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2|htm|html).”用以过滤js、图片、html等…

postman请求设置

postman请求设置 1、请求参数,只能是none、for-data、x-www...、raw等中的一个,不能多个。2、请求头类型3、案例4、测压 1、请求参数,只能是none、for-data、x-www…、raw等中的一个,不能多个。 2、请求头类型 根据请求头&#x…

用Python分析定性变量之间的相关性_对应分析模板

对应分析是一种多元统计分析方法,主要用于分析定性变量构成的列联表,揭示变量之间的关系。它通过将列联表中的数据转换为点的形式,在低维空间中表示出来,从而实现数据的可视化。这种方法特别适用于有多个类别的定性变量分析&#…

如何将开发工具设置成滚动鼠标改变字体大小

就在刚刚与温州那边技术开会,温州那边技术提出:字体太小,代码看不清,需要将字体放大。然后让我将IDE设置成按住键盘的Ctrl滚动鼠标,可以放大字体大小。。。顿时间的小小尴尬。下面我来记录一下究竟是怎么操作的&#x…

Excel 导入和导出--前后端整合

文章目录 Excel基础Easy Excel导出会员数据导入会员数据 前端代码:代码解析总结组件简介详细解释总结 用来操作excel文件的。银行网银系统导出交易明细数据、各种业务系统导出excel报表数据、批量导入业务数据。 Excel基础 **工作簿 workbook**就是一个文件工作表 sheet属于…

element的el-date-picker组件实现只显示年月日时分,不显示秒

需求&#xff1a;使用element的el-date-picker组件&#xff0c;只显示时分&#xff0c;不消失秒 效果&#xff1a; 解决方法&#xff1a; <el-date-pickerv-model"ruleForm.startTime"type"datetime"placeholder"开始时间"format"yyyy-…

萌化人心!AI宠物视频,1条视频涨粉1W+,千万级播放量(附教程)

大家晚上好&#xff0c;今天给大家分享一个创意玩法—用AI 生成超萌动物&#xff0c;打造宠物互动虚拟场景。 这种视频内容非常受欢迎&#xff0c;吸引了大量观众。某音上有位博主通过这种创新方式迅速构建了AI宠物系列账号&#xff0c;短时间内便积累了大量粉丝。 比如这条视…