话说是不是本地的软件任何认证过程均可破

2019-12-18 21:37:03 +08:00
 charseer
就比如一个本地软件需要判断客户输入的序列码之类的,被直接反编译你的 so 文件,找到鉴权之类的函数,然后直接修改判断是否相等的步骤,即不用真的序列码也可永远认证通过

思路类似下面这些
https://www.kanxue.com/book-24-104.htm

那么有没有什么好点的防范方法能让成本提高一些的?
5154 次点击
所在节点    程序员
49 条回复
kizunai
2019-12-18 21:52:14 +08:00
是,
除了强制联网,其他没有
WispZhan
2019-12-18 21:54:20 +08:00
哪怕你用 Window 的驱动签名认证一样破。 目前成本最高的应该也就这个了。
CallMeReznov
2019-12-18 21:57:34 +08:00
我看过一篇序列号生成器的制作教程,秀到让人头皮发麻的那种.
通过软件直接反编译出源码,找到序列号验证那块的代码.
新建一个 C#项目,拖好控件,粘贴代码.编译完成

整个过程 10 分钟不要.....
charseer
2019-12-18 22:01:16 +08:00
@kizunai 我咋感觉强制联网也没用。。找到你联网判断的那个“=”号判断步骤直接跳过不就完了。。
nicevar
2019-12-18 22:01:31 +08:00
理论上是这样的,但是实际上保护力度一旦加强就会阻挡住绝大多数的人,就像 windows 软件发展到后期出现一些猛壳,就很难处理了。
主要还是看你的软件有多大价值,一般的安卓软件就腾讯的乐固或者 360 这些提供的免费加固就够用了,要想强度更大的直接加钱,乐固专业版一年三四千吧,企业版一年八万左右,要不然就自己开发。
Buges
2019-12-18 22:05:05 +08:00
只要软件“可”离线运行,就可以被离线运行。
最简单的办法是核心逻辑放在服务端,本地无需什么验证,破解者要破解就得自己实现这部分代码并嵌入进去。

当然把单击应用的逻辑强行放在服务端做是很屑的做法,不过楼上那种用兲朝特产加固加壳的就更屑了。
nicevar
2019-12-18 22:06:19 +08:00
@charseer 难度提高了,那个‘=’号的判断很多人就找不到了,比如 so 库,直接加密了,重写了加载机制,就算拿到 so 库拖进 IDA 里面都识别不了,就挡住一大堆半桶水的人了
UnknownR
2019-12-18 22:09:15 +08:00
所以现在都要联网验证和订阅
kizunai
2019-12-18 22:10:22 +08:00
@charseer 可以把数据都存到服务器的数据库里,不在本地保存
xuanbg
2019-12-18 22:37:13 +08:00
是的,除非数据和代码分离,把数据放在服务端,否则任何防破解的办法都是可以绕过的。
yujiang
2019-12-18 22:51:42 +08:00
是的,所以建议代数分离,每次运行时判断虚拟机,然后本地确认软件没被改动,通过以后再云端鉴权,搞一些机码绑定,二步验证,多处校验(玩阴的这时若鉴定为盗版就返回一些奇奇怪怪的东西)客户端合法数据在云端计算后再返回,
ysc3839
2019-12-18 23:44:50 +08:00
@CallMeReznov 那是那软件太弱了,首先上个非对称加密算法,客户端里只有公钥,就做不了注册机了,其次使用编译成原生代码的语言,会提高逆向的难度。
crab
2019-12-19 00:13:14 +08:00
@ysc3839 把客户端的公钥替换成自己的公钥就可以。
ashong
2019-12-19 00:21:45 +08:00
防君子不防小人,即便联网验证也会被破
akira
2019-12-19 00:42:56 +08:00
各种加固咯,这样可以提高破解成本。
danmu17
2019-12-19 00:54:25 +08:00
软件防破解的本质是提高门槛。任何领域的控制盗版的有效手段只有两种.
减少成品的曝光,提高产品的售价。
成立自己的反制团队以及说客团队,在司法和政治两个层面打击潜在的威胁。

其他任何手段本质上都是自欺欺人,但是如果能成功骗到老板或者客户的钱的话,其实也就达成目的了,所以也很流行,毕竟绝大多数人的工作都涉及到欺骗与谎言。
realpg
2019-12-19 01:18:31 +08:00
本地只有 UI (浏览器壳)
一切逻辑远程服务器化 输出 HTML 可破
nvkou
2019-12-19 01:31:53 +08:00
DRM 搞过头也不见得好。君不见游戏圈常见“您可能是正版软件的受害者”。
respawn
2019-12-19 01:38:29 +08:00
最好的反破解是让软件足够好,并且价位合适,让用户心甘情愿付费.
please0stop
2019-12-19 01:53:25 +08:00
@Buges 或许可以修改逻辑,让服务器把缺的代码送过来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/630324

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX