.net 的商业软件如何做到不被其他人逆向出源码?

2017-04-22 20:42:03 +08:00
 phantomer

.net 的商业软件如何做到不被其他人逆向出源码? 楼主目前工作遇到一个甲方希望自己的.net 商业软件无法被逆。 楼主多方打听了几个好基友,搞二进制的大佬,他们对.net 这方便也是比较接触的少,问了几家安全公司也几乎没搞加固.net 这方面的产品。

所以我想问下大家,或大家所在的公司开发的.net 商业软件是如何加壳和混淆代码的?

7872 次点击
所在节点    .NET
31 条回复
kuretru
2017-04-22 23:33:05 +08:00
核心代码封装成 web 服务调用
wdlth
2017-04-22 23:42:14 +08:00
没有所谓的无法被逆,连 Denuvo 那种级别的都可以被搞定,各种只有增加难度,延长时间而已。
lauix
2017-04-22 23:42:46 +08:00
二进制逆向我懂,反逆向我认为不存在。你怎么加密都能逆向回来,只是难度大不大而已。所以建议加壳混淆,不要有注释,代码尽量写乱点,自己看不懂这种程度最好。
Mitt
2017-04-22 23:50:44 +08:00
@lauix 道理我都懂。。 但是哪个编译器会把注释编译到程序里的。
zjlin1984
2017-04-23 00:48:57 +08:00
@visonme 能不能举个例子
chinafeng
2017-04-23 10:24:05 +08:00
DNGuard + Safengine, 核心函数用 C++ 或者其他语言重写, 也可在服务器上跑
之前做商业软件, 需要用到一个 RSA 加密, 我丢到我服务器跑, 就算程序最后破解了, 也没太大作用
朋友有个程序用的就是楼上说的一个方法, 一个子程序先启动, 循环检测环境和各类情况, 然后再调用起主程序
Net 的混淆和破解还是挺容易的, 毕竟本身有中间层, 相当于扒光了
beginor
2017-04-23 18:48:38 +08:00
如果能兼容 mono 的话,可以试试它的静态编译。 虽然.net 也有本地编译,不过只支持 UWP 应用
Jboys
2017-04-23 19:59:36 +08:00
以前的一个项目,公司买的有商业软件。驻场开发那边的人负责打包安装等一系列售后。
zke1e
2017-04-24 17:03:38 +08:00
.net 做客户端很尴尬,确实太容易被破解了,个人觉得能用 c++写就尽量用 c++写,目前因为 u3d 游戏发展很好所以针对.net 的保护也有一些方案了,不过目前主要还是针对 u3d 的。
tilv37
2017-04-25 09:48:35 +08:00
实心代码用 C++
tilv37
2017-04-25 09:49:00 +08:00
@tilv37 核心

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

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

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

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

© 2021 V2EX