![]() | 1 kizunai 2019-12-18 21:52:14 +08:00 via iPad 是, 除了强制联网,其他没有 |
2 WispZhan 2019-12-18 21:54:20 +08:00 哪怕你用 Window 的驱动签名认证一样破。 目前成本最高的应该也就这个了。 |
3 CallMeReznov 2019-12-18 21:57:34 +08:00 我看过一篇序列号生成器的制作教程,秀到让人头皮发麻的那种. 通过软件直接反编译出源码,找到序列号验证那块的代码. 新建一个 C#项目,拖好控件,粘贴代码.编译完成 整个过程 10 分钟不要..... |
![]() | 4 charseer OP @kizunai 我咋感觉强制联网也没用。。找到你联网判断的那个“=”号判断步骤直接跳过不就完了。。 |
5 nicevar 2019-12-18 22:01:31 +08:00 ![]() 理论上是这样的,但是实际上保护力度一旦加强就会阻挡住绝大多数的人,就像 windows 软件发展到后期出现一些猛壳,就很难处理了。 主要还是看你的软件有多大价值,一般的安卓软件就腾讯的乐固或者 360 这些提供的免费加固就够用了,要想强度更大的直接加钱,乐固专业版一年三四千吧,企业版一年八万左右,要不然就自己开发。 |
![]() | 6 Buges 2019-12-18 22:05:05 +08:00 via Android 只要软件“可”离线运行,就可以被离线运行。 最简单的办法是核心逻辑放在服务端,本地无需什么验证,破解者要破解就得自己实现这部分代码并嵌入进去。 当然把单击应用的逻辑强行放在服务端做是很屑的做法,不过楼上那种用朝特产加固加壳的就更屑了。 |
7 nicevar 2019-12-18 22:06:19 +08:00 @charseer 难度提高了,那个‘=’号的判断很多人就找不到了,比如 so 库,直接加密了,重写了加载机制,就算拿到 so 库拖进 IDA 里面都识别不了,就挡住一大堆半桶水的人了 |
![]() | 8 UnknownR 2019-12-18 22:09:15 +08:00 所以现在都要联网验证和订阅 |
![]() | 10 xuanbg 2019-12-18 22:37:13 +08:00 是的,除非数据和代码分离,把数据放在服务端,否则任何防破解的办法都是可以绕过的。 |
![]() | 11 yujiang 2019-12-18 22:51:42 +08:00 via Android 是的,所以建议代数分离,每次运行时判断虚拟机,然后本地确认软件没被改动,通过以后再云端鉴权,搞一些机码绑定,二步验证,多处校验(玩阴的这时若鉴定为盗版就返回一些奇奇怪怪的东西)客户端合法数据在云端计算后再返回, |
![]() | 12 ysc3839 2019-12-18 23:44:50 +08:00 via Android @CallMeReznov 那是那软件太弱了,首先上个非对称加密算法,客户端里只有公钥,就做不了注册机了,其次使用编译成原生代码的语言,会提高逆向的难度。 |
![]() | 14 ashong 2019-12-19 00:21:45 +08:00 via iPhone 防君子不防小人,即便联网验证也会被破 |
![]() | 15 akira 2019-12-19 00:42:56 +08:00 各种加固咯,这样可以提高破解成本。 |
![]() | 16 danmu17 2019-12-19 00:54:25 +08:00 软件防破解的本质是提高门槛。任何领域的控制盗版的有效手段只有两种. 减少成品的曝光,提高产品的售价。 成立自己的反制团队以及说客团队,在司法和政治两个层面打击潜在的威胁。 其他任何手段本质上都是自欺欺人,但是如果能成功骗到老板或者客户的钱的话,其实也就达成目的了,所以也很流行,毕竟绝大多数人的工作都涉及到欺骗与谎言。 |
![]() | 17 realpg PRO ![]() 本地只有 UI (浏览器壳) 一切逻辑远程服务器化 输出 HTML 可破 |
![]() | 18 nvkou 2019-12-19 01:31:53 +08:00 via Android DRM 搞过头也不见得好。君不见游戏圈常见“您可能是正版软件的受害者”。 |
![]() | 19 respawn 2019-12-19 01:38:29 +08:00 ![]() 最好的反破解是让软件足够好,并且价位合适,让用户心甘情愿付费. |
20 please0stop 2019-12-19 01:53:25 +08:00 via Android @Buges 或许可以修改逻辑,让服务器把缺的代码送过来 |
![]() | 21 danmu17 2019-12-19 02:45:35 +08:00 @realpg 如果你把所有运算都放到服务器上去做的话,对于绝大多数软件而言这样的成本比盗版满天飞还要高。如果你把部分运算放在本地还相信处理的结果的话,你开发的就不是软件而是漏洞了。你的说法的本质其实不是 webapp 而是 citrix,只是因为受限于你的认知所以你不知道自己在说什么。 |
![]() | 22 danmu17 2019-12-19 02:52:15 +08:00 @nvkou DRM 的本质仍然不是防破解而是以牺牲用户体验以及隐私为代价,通过类似木马病毒的机制全方位的监控用户的系统来延缓破解的速度,以单机游戏为例,让正版体验不如盗版的 DRM 的目的也只是尝试着盗版比正版晚几周出现(并不是总能成功)。 |
![]() | 23 binux 2019-12-19 02:58:27 +08:00 @danmu17 #22 「通过类似木马病毒的机制全方位的监控用户的系统来延缓破解的速度」有正常认知的人将这个行为称为「防破解」 |
![]() | 24 danmu17 2019-12-19 03:28:53 +08:00 @binux 信口开河说出这种不专业的话之前,你需要先去了解一下 StarForce 这类 DRM 的运作机制,然后再去了解一下常见的木马病毒隐藏保护自己以及监控系统的机制。最后你就会明白这类 DRM 采用的类似木马病毒的机制全方位的监控用户的系统来延缓破解的速度的手段,和楼上几乎所有帖子里面说的正常认知的人所知道的防破解的手段的不同了。 |
![]() | 26 danmu17 2019-12-19 03:36:52 +08:00 @binux 那你需要去了解一下 StarForce 这类 DRM 的运作机制,再去了解一下常见的反调试手段,最后你就会明白这类 DRM 采用的类似木马病毒的机制全方位的监控用户的系统来延缓破解的速度的手段,和楼上几乎所有帖子里面说的正常认知的人所知道的反调试的手段的不同了。 |
![]() | 29 danmu17 2019-12-19 04:35:56 +08:00 @binux 那你需要去认真阅读一下我的回复,再去了解一下常见的苏格兰人谬论,最后你就会明白你自认为的苏格兰人谬论,和几乎所有正常认知的人所知道的苏格兰人谬论的不同了。另外基于你只会诡辩而没有任何理解能力的现实,已拉黑不再回复你浪费时间了。 |
![]() | 30 ericgui 2019-12-19 04:48:33 +08:00 搞点暗桩什么的 |
![]() | 31 electriccubes 2019-12-19 04:53:29 +08:00 @respawn #19 有理 |
32 moguiyu 2019-12-19 05:11:29 +08:00 Dirac live 就是本地只有简单的界面,核心运算还是在云端,所以 license 就容易控制多了,我理解。 |
![]() | 33 whywhywhy 2019-12-19 08:10:02 +08:00 @please0stop 除非你能把服务器黑了,否则没可能,就像现在各网游,本质上也是一部分在服务器上运行,一部分在本地运行,你叫服务器把缺的代码送过来……不现实啊哥们 |
![]() | 34 shakoon 2019-12-19 08:27:29 +08:00 看到破解话题,想到前几天参加的某项目会议上,有人说到项目需要用到的某软件目前没有采购正版是否需要考虑采购一份,某领导一脸鄙视说:没有正版就不做开发了? xx 年前我还做开发时,就没用过一个正版的开发软件,但是我写出来的代码都是正版,都是我写的!全场哗然 |
35 CallMeReznov 2019-12-19 08:29:19 +08:00 via Android @shakoon 主动打电话去人公司让人法务发函过来打脸。 |
36 mxT52CRuqR6o5 2019-12-19 08:59:21 +08:00 via Android 当然是的,顶级保护技术 d 加密(vmp+各种暗桩)不也是可以破解 |
37 lc7029 2019-12-19 09:04:28 +08:00 参考微软游戏机,数据在内存里也是加密的,读入 CPU 后才由内存控制器解密。 秘钥出厂前在 CPU 生成,此后无法修改和读取。 更新时烧掉芯片的某些电路,全盘复制也不能强制降级。 如果做到这些,估计可以防破解了 |
38 zappos 2019-12-19 11:06:12 +08:00 via Android 把功能部分搬服务器,然后不登录就用不了。 |
39 zappos 2019-12-19 11:10:59 +08:00 via Android @nicevar 得了吧,就那四大强壳,早就不知道被轮了多少遍了。要不是我觉得其它领域更有意思,我也专门研究这个。 |
40 aver4vex 2019-12-19 11:18:41 +08:00 加壳,反破解。 |
42 aver4vex 2019-12-19 11:21:42 +08:00 所有的加密都是增加破解难度,都无法从根本上解决问题。 终极解决办法就是楼上说的,数据放服务器,或者逻辑处理也放服务器。本地就是一个输入和展示的功能。 |
![]() | 44 Mohanson 2019-12-19 11:55:59 +08:00 via Android 反盗版最服任天堂。任天堂的游戏卡带开机都会显示一个 Nintendo 的 Logo, 游戏机如果检测不到这个 Logo 就会拒绝加载游戏卡带。如果你敢盗版卡带,不好意思,我不是用著作权和知识产权侵权告你,我是直接告你商标侵权。这个可比知识产权侵权严重多了… |
45 xenme 2019-12-19 11:56:38 +08:00 本地认证只是难易的问题 看看你的市场目标有多大,加上对应强度的加壳加密就足够了。 没有足够的利益,即使你明文比较,也没人看,能防住你的用户就可以了。 |
46 si 2019-12-19 12:06:51 +08:00 无论怎么弄,只要功能在本地都可以被破解,没有被破解的都是成本问题而已。 只有把功能放到服务器上,本地提交数据给服务器,服务器返回处理结果给本地显示,这种除了黑掉服务器之外没有办法破解。 不过成本会比较高,除了要防范被黑,还要考虑被打,别人 DDOS 影响也大。 除非你的软件价值极高,能把成本赚回来,或者不在乎会不会被打。 |
47 himesens 2019-12-19 13:49:05 +08:00 1、部分功能做成多人在线或者联网模式 2、一个强大的法务部 |
![]() | 48 xcstream 2019-12-19 14:46:16 +08:00 1 理论上是的 2 找各种加密工具 |