破解版是什么意思(破解版软件的原理详解)

昨天有小伙伴留言说;那些软件开发者就不能避免被破解吗,表示很好奇,今天小编就来跟大家好好分析分析吧!

首先什么是软件破解版:使用调试器创建软件的破解版本。 (调试器是一种比较特殊类型的软件,允许程序员将软件分解成不同的组成结构,以便发现bug,解决bug。 此外,调试器还能用于逆向工程,或者查看软件内部的信息,以了解其逻辑。 后一种方法主要被黑客们用来研究恶意软件(或计算机病毒)的内部。 但是也可以被攻击者用来“破解”(或者绕过)合法的软件注册,或者有时候用来改变软件的正常行为,比如木马种植。)

对于这个示例,假设正在被“破解”的软件被编译成本机代码,而不是基于 .NET 或 JavaScript 的应用程序。 (否则查看它的源代码就显得有些琐碎了。) 编译后的本机代码要研究起来有点棘手。 (本机意味着代码直接由 CPU、 GPU 或其他硬件执行。)

因此,我们假设攻击者的目标是绕过软件中的注册思维,这样他就可以免费使用。

为了简单明了,让我们假设检查软件注册的原始逻辑是用 c + + 编写的,类似于下面的代码片段:

破解版是什么意思(破解版软件的原理详解)

在本代码示例中,“ RegistrationName”和“ RegistrationCode”是合法软件用户在付费购买许可证后将收到的特殊文本字符串。

在前面的逻辑中,名为“ isRegistrationCodeGood ()”的函数将检查“ RegistrationName”和“ RegistrationCode”是否被某些专有方法接受。 如果是的话,它将返回 true。 否则就是错误的。 该外部代码将指定执行将遵循的范围

因此,上面的逻辑要么显示注册失败或退出:

破解版是什么意思(破解版软件的原理详解)

如果注册代码和名称匹配,它将使用名为“
rememberRegistrationParameters ()”的功能将注册详细信息保存在文件系统或系统注册中心,然后显示感谢用户注册的消息:

破解版是什么意思(破解版软件的原理详解)

“破解者”肯定是希望他输入的任何注册代码都获得第二个结果。 但是他们有一个问题。 他们没有 c++ 源代码。

因此,攻击者唯一的办法就是反汇编二进制代码(总是以 .exe 和 .dll 文件,并且大部分是 Unix 可执行文件的应用程序包) 然后,攻击者将使用调试器来研究二进制代码,并试图找到我上面提到的注册逻辑。

接下来,您可以看到我在 c + + 中展示的代码片段的流程图,该代码片段是通过低级调试器提供的。 或者,代码在编译后将以二进制形式读取:

(为了可读性,我在右边添加了带有函数和变量名的注释。 它们不会出现在攻击者可以看到的代码中。)

破解版是什么意思(破解版软件的原理详解)

(要理解上面显示的内容,攻击者必须对本机代码的汇编语言指令有很好的了解。)

我还需要指出,对于攻击者来说,拥有上面这样的反汇编代码片段是最终的结果。 对他来说,主要的困难是如何在数以百万计的其他类似代码行中找到它。 这就是他们面临的主要挑战。 没有多少人能做到这一点,这就是为什么软件“破解”是一种特殊技能。

因此,在软件二进制文件中找到上面的代码片段之后,“黑客”有两个选择:

1)修改(或修补)二进制文件。

2)对“ isRegistrationCodeGood ()”函数进行逆向工程,并复制其逻辑以创建所谓的“ KeyGen”或“ Key Generator”

还要注意,这种修改可以通过将二进制代码中的一个字节从0x75改为0xEB 来实现:

破解版是什么意思(破解版软件的原理详解)

但是这种方法带来了修改原始二进制文件的“代价”。 为此,攻击者需要编写他自己的“修补程序”(或者一个小的可执行程序,它将应用我上面描述的修改) 对于攻击者来说,这种方法的缺点是修补原始可执行文件会破坏其数字签名,这可能会警告终端用户或供应商。 此外,攻击者制造的“修补程序”可以很容易地被终端用户的防病毒软件标记和阻止,或者引导犯罪调查人员找到攻击者的身份。

第二个选择有点棘手。 攻击者必须研究“ isRegistrationCodeGood ()”功能,然后将其复制到自己的小程序中,这个程序可以有效地复制原始软件中实现的逻辑,并让他根据任何名称生成注册代码,从而使该软件的任何肆无忌惮的用户无需支付费用即可注册该软件。

现在你知道软件是如何“破解”的了。

现在来回答为什么不可能防止它。 归根结底,任何软件代码都需要由 CPU (如果是二进制本机代码)或由解释器或 JIT 编译器(如果是 JavaScript 或 Net 代码) 这意味着,如果有一种方法可以阅读 / 解释某些内容,不管它有多么复杂或令人费解,具有足够知识和持久性的攻击者也能够阅读它,从而破解它。

有一种观点认为基于云的软件更安全,这是事实,因为它的(二进制)代码保留在服务器上,最终用户不能直接访问它。 尽管基于云的软件无疑是未来的发展方向,但它也有一些主要的缺点,这些缺点使得它永远无法完全取代传统的软件。 举几个例子:

不是每个人都有互联网连接,或者愿意上传他们的数据。 此外,某人的互联网连接可能非常昂贵或过于缓慢,使软件运行差.

那么就有一个问题了,分布式计算.。例如,由于为每个玩家渲染每一个场景需要大量的计算资源,暴雪娱乐公司永远不可能在他们的服务器上完全运行魔兽世界。 因此,让每个用户的计算机代替进行渲染是符合他们最大利益的

作为一个软件开发者,我显然不喜欢有人盗用软件许可证。 但是不得不接受它。 好消息是,没有多少人愿意付出更多努力去寻找一个破解版本的软件。 对于那些下载了修补程序的人来说,主要的问题是,通过下载修补程序、攻击者的 KeyGen 或 Patcher,他们实际上是在“信任”攻击者,不会在其中放入任何不是“在软件包上做广告”的“讨厌的”东西(比如木马、恶意软件或键盘记录器) 所以对于这些人来说,问题就变成了——用软件许可证来潜在地感染你的系统,这值得吗?

另一边,一些开发人员对任何试图窃取他们的软件许可证的行为反应大。 他们试图实现各种各样的对策——从欺骗反向工程师,到在代码中添加陷阱(如果代码检测到代码正在被调试,可能会做一些讨厌的事情) ,到模糊处理或扰乱代码,到实施各种复杂的 DRM 方案,再到阻止来自某些国家的用户。 我个人尽量避开所有这些措施。 原因如下:

A)有些公司实际上可能从允许盗版他们的软件中获益。 例如,微软从使用 Windows 操作系统的用户那里获得了大量的免费宣传,Adobe 的 Photoshop 也是如此。 我同意这个观点。

B) 我们的统计数据显示,大约75% 的非法许可证来自中国、俄罗斯、巴西等国家,这些国家的违法行为最为严重。 然而,对我们来说最主要的问题是,如果我们强制执行数字版权管理或者增加一些强大的注册认证,许多想要绕过我们的注册的人只会使用一个被盗的信用卡号码。 我们无法控制它。 我们的系统将使用它发送给他们一个合法的许可证。 因此,我们将失去为许可证支付的钱,加上信用卡公司将征收额外的扣款费用到我们的帐户,这可能范围从0.25美元到20美元,除了许可证成本。

C) 任何数字版权保护计划都可能捕获100个非法用户,给10,000个合法用户带来极大的不便。 那么为什么要这样对待你的好客户呢?

D) 在代码中添加陷阱也会对你的合法用户造成“误射” ,这真的会激怒他们,甚至可能导致法律诉讼。

E)一些代码包可能会用防病毒软件,这显然不利于该软件的市场营销。 它还为开发人员调试软件制造了不必要的复杂性。

F) 任何类型的反逆向工程策略都可以被具有足够持久性的攻击者绕过。 那么,既然我可以投入时间为我的软件添加一些有用的东西,使其对合法用户更有效率,为什么还要浪费我的时间呢?

所以小编觉得为了达到某种个人利益,抱着不付出就想收获的心态,持有这种心态去做的事情虽然有可能在初期获得一些好处,但最终必将导致失败。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人,不代表IT壹频道。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。转载请注明出处:https://www.1pindao.com/baike/15200.html

(0)
上一篇 2022年 12月 9日 12:21:08
下一篇 2022年 12月 9日 12:29:58

相关推荐

  • 如何管理好一个团队(团队管理最有效的5大方法)

    团队是现代企业管理中战斗的核心,几乎没有一家企业不谈团队,好像团队就是企业做大做强的灵丹妙药,只要抓紧团队建设就能有锦锈前程了。团队是个好东西,但怎样的团队才算一个好团队,怎样才能运作好一个团队呢?却是许多企业管理者不甚了然的,于是在企业团队建设的过程中就出现了许多弊病,例如从理论著作中生搬硬套到团队运作里面,是很难产生好团队的。任何理念都不能执着,执着生僵…

    2023年 2月 3日
    79
  • 计算机网络基础知识点归纳总结(计算机网络基础知识整理大全)

    第一部分 整体概述 HTTP 请求消息 URL: Uniform Resource Locator,统一资源定位符。 FTP: File Transfer Protocol, 文件传送协议。 这是一种在上传、下载文件时使用的协议。使用 FTP 协议来传送文件的程序也被叫作 FTP。 常见的URL分类 日常用的最多的是HTTP: Hypertext Trans…

    2023年 1月 16日 百科知识
    114
  • 姓郝的名人有哪些(近代关于郝姓的名人)

    古往今来一直流传的“女子无才便是德”,在当时依旧有着很大的影响力,很多女孩子无法和男孩子一样进入学堂,学习知识。在这样的大环境之下,郝治平就是一个这样的例外。 从小郝治平的父亲就对她寄予众望,排除万难将她送进了学堂。 也正是因为父亲的坚持,彻底改变了郝治平的命运,让她成为一名极其优秀、突出的女性。 作为开国将军的传奇夫人,郝治平如今已然100岁高龄了,但是身…

    2022年 12月 18日 百科知识
    237
  • 如何清理微信文件和缓存(手机清理微信文件最彻底的方法)

    网上清理微信的方法可以说是非常的多,当然好多朋友使用了以后,感觉效果不是特别的明显,今天给大家分享一个非常实用而且详细的一个方法,教大家如何正确以及深度的清理不了微信,然后的话使手机变得非常流畅。当然该怎么操作?我们一起来看一下。 如何深度以及正确的清理微信?在这里我以安卓手机给大家举例,但其他的手机操作方法都是类似的,然后的话我们一起来操作一下。 首先的话…

    2022年 11月 12日 百科知识
    417
  • 平方米怎么打出来m2(搜狗输入法和word打出㎡的方法)

    平方米符号多用于面积,在电脑中文字处理时有时候需要打㎡平方米符号,不过可能很多同学都不怎么会操作,下面就和大家介绍一下操作方法吧。 1、在用输入法打字的时候连贯的打出平方米,就可以在输入法中看到平方米符号了,按数字选择这个平方米符号㎡就可以了。 2、还有我们还可以使用输入法上的软键盘选择特殊的数学符号,以搜狗输入法为例,点击软件盘图标,然后选择点击特殊符号。…

    2022年 11月 23日 百科知识
    258
  • 手机怎么p图改照片(手机修图步骤教程图解)

    前段时间给大家分享了如何拍出极简摄影作品,今天给大家分享如何通过后期修出极简照片,希望对大家有帮助。 这是今天素材: 今天要用到的手机修图软件是“Snapseed”,关于这个修图软件就不做过多介绍了,讲过很多次了。 第一步:把照片导入“Snapseed”。 第二步:使用“调整图片”功能,在这里还是要对照片做一些基础调整,使画面的曝光、细节等得到很好的还原。另…

    2023年 1月 12日 百科知识
    137