网易首页 > 网易号 > 正文 申请入驻

所有软件都可以被破解吗?为什么 开发者不阻止破解版的产生?

0
分享至

首先看看破解版是如何产生的:

使用调试器创建软件的破解版本。 (调试器是一种特殊类型的软件,它允许程序员将软件分解成不同的组成部分,以便发现错误,从而消除错误。 此外,调试器可以用于逆向工程,或者查看软件内部的内容,以了解其逻辑。 后一种方法主要被恶意软件研究人员用来研究恶意软件(或计算机病毒)的内部。 但是它也可以被攻击者用来“破解”(或者绕过)合法的软件注册,或者有时候用来改变软件的正常行为,例如向其中注入恶意代码。)

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

因此,让我们假设攻击者的目标是绕过软件中的注册逻辑,这样他就不必为此付费。

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

在本代码示例中,“ RegistrationName”和“ RegistrationCode”是合法软件用户在付费购买许可证后将收到的特殊文本字符串。 (名字通常是那个人的真实姓名或者他的电子邮件地址,代码是一些与名字相关的特殊字符串。)

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

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

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

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

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

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

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

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

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

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

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

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

让我们回顾一下:

第一个选择很简单。 因为攻击者已经到了这一步,所以他对 Intel x64指令集非常了解。 因此,他们只需将地址00007FF645671418(在屏幕截图中用红色圈出)的“ jnz short loc 7ff645671430”的条件跳转为无条件跳转,或“ jmp short loc 7ff645671430”。 这将有效地删除任何失败的注册代码条目,任何用户类型将被接受为一个有效的注册。

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

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

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

许多主要软件产品的供应商了解第二种方法的潜在影响,并试图通过要求所谓的“身份验证”来防止这种影响。这基本上是注册后的第二步,软件向公司的网络服务器提交注册名称,该服务器返回对软件的响应,判断代码是否合法。 这是微软在购买 Windows (他们称之为“激活 Windows”)时做的,也是 Adobe 和许多其他公司做的。 第二步可以在软件运行时在幕后进行,如果是非法获得的,通常会导致先前的注册被取消。

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

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

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

  • 不是每个人都有互联网连接,或者愿意上传他们的数据。 此外,某人的互联网连接可能非常昂贵或过于缓慢,使软件运行差.
  • 那么就有一个问题了,分布式计算.。例如,由于为每个玩家渲染每一个场景需要大量的计算资源,暴雪娱乐公司永远不可能在他们的服务器上完全运行魔兽世界。 因此,让每个用户的计算机代替进行渲染是符合他们最大利益的

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

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

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

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

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

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

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

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

所以我现在的哲学是---- 如果有人想更进一步,偷走我们的软件,那就去做吧! 不管怎样,他们做到了这一步,所以他们可能有一个很好的理由。 从积极的一面来看,还有很多其他客户欣赏开发软件的工作,这些工作远远超过了那些没有开发软件的客户。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
央视首次曝光:全球最强光刻机亮相!中国再次打破西方技术封锁

央视首次曝光:全球最强光刻机亮相!中国再次打破西方技术封锁

普陀动物世界
2026-04-25 12:40:59
北上广深楼市暖风劲吹,到底了?摩根大通:中国楼市逼近拐点

北上广深楼市暖风劲吹,到底了?摩根大通:中国楼市逼近拐点

南方都市报
2026-04-24 20:32:23
巴拿马港口突然换人,中国货轮靠不了岸,托库门机场到底在查什么

巴拿马港口突然换人,中国货轮靠不了岸,托库门机场到底在查什么

我不叫阿哏
2026-04-25 11:29:28
雅迪电动车集体锁死:智能系统的代价

雅迪电动车集体锁死:智能系统的代价

算力游侠
2026-04-23 15:12:24
印度否认军机坠毁

印度否认军机坠毁

新华社
2026-04-24 23:48:02
炸锅!全国充电桩集体涨价!每度电狂涨,电车省钱神话彻底破灭?

炸锅!全国充电桩集体涨价!每度电狂涨,电车省钱神话彻底破灭?

蓝色海边
2026-04-24 08:08:58
好消息!全国免费电视正式落地,不用装宽带不交年费5分钟就能看

好消息!全国免费电视正式落地,不用装宽带不交年费5分钟就能看

小柱解说游戏
2026-04-25 01:26:48
花呗、白条、月付等面临重大调整

花呗、白条、月付等面临重大调整

第一财经资讯
2026-04-25 12:45:38
华晨宇抚仙湖项目叫停!中国顶级淡水命脉,绝不给流量资本让路

华晨宇抚仙湖项目叫停!中国顶级淡水命脉,绝不给流量资本让路

离离言几许
2026-04-24 07:25:41
伊朗驻俄大使:伊朗最高领袖或与普京在里海峰会期间首次会晤

伊朗驻俄大使:伊朗最高领袖或与普京在里海峰会期间首次会晤

新京报
2026-04-25 12:15:39
知名博主被封禁:朝鲜风云,终成江湖绝响

知名博主被封禁:朝鲜风云,终成江湖绝响

虔青
2026-04-24 19:18:03
又遇苦主!郑钦文第5次挑战世界第2 交手1-3落后 2月前遭3盘逆转

又遇苦主!郑钦文第5次挑战世界第2 交手1-3落后 2月前遭3盘逆转

我爱英超
2026-04-24 22:13:09
瞠目结舌?体制内养老金核定表:每月8854元,过渡养老金小四千

瞠目结舌?体制内养老金核定表:每月8854元,过渡养老金小四千

社保精算师
2026-04-25 17:25:03
明查|日本自卫队坦克炸膛涉“中国制造”?型号搞错了,且此“中国”非中国

明查|日本自卫队坦克炸膛涉“中国制造”?型号搞错了,且此“中国”非中国

澎湃新闻
2026-04-25 07:16:29
陈羽凡现状:50岁一身腱子肉,还在泰国演出,儿子跟着妈过的很好

陈羽凡现状:50岁一身腱子肉,还在泰国演出,儿子跟着妈过的很好

冷紫葉
2026-04-25 14:26:16
妻子去世后,迟重瑞近况曝光,他走上了陈丽华“安排的后路”

妻子去世后,迟重瑞近况曝光,他走上了陈丽华“安排的后路”

阿废冷眼观察所
2026-04-25 05:55:28
4月25日最新油价,油价上涨“无休止”,下周汽柴油或涨更多!

4月25日最新油价,油价上涨“无休止”,下周汽柴油或涨更多!

猪友巴巴
2026-04-25 16:45:03
空腹时喝咖啡可能会通过刺激皮质醇快速升高

空腹时喝咖啡可能会通过刺激皮质醇快速升高

黄先生斜杠青年
2026-04-25 06:23:08
蒋万安发出强硬警告,"中国台湾省"走向国际,10国选择明智应对

蒋万安发出强硬警告,"中国台湾省"走向国际,10国选择明智应对

流史岁月
2026-04-25 10:19:34
去掉机顶盒!我国一体化电视全国推广正式启动

去掉机顶盒!我国一体化电视全国推广正式启动

IT之家
2026-04-23 17:16:54
2026-04-25 18:43:00
扣丁学堂
扣丁学堂
扣丁学堂是IT教育领导者
2026文章数 697关注度
往期回顾 全部

科技要闻

DeepSeek V4发布!黄仁勋预言的"灾难"降临

头条要闻

男童7岁18斤被当脑瘫治多年 父母查出生病历发现大问题

头条要闻

男童7岁18斤被当脑瘫治多年 父母查出生病历发现大问题

体育要闻

火箭0-3触发百分百出局定律:本季加时赛9战8败

娱乐要闻

邓超最大的幸运,就是遇见孙俪

财经要闻

90%订单消失,中东旺季没了

汽车要闻

2026款乐道L90亮相北京车展 乐道L80正式官宣

态度原创

本地
健康
家居
数码
公开课

本地新闻

云游中国|逛世界风筝都 留学生探秘中国传统文化

干细胞如何让烧烫伤皮肤"再生"?

家居要闻

自然肌理 温润美学

数码要闻

雷达感应自动开关灯,Yeelight新品来了

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版