佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: sson

如此.NET 何来商机?.NET程式可以被轻易反组译吗?

[复制链接]
发表于 17-8-2005 08:54 AM | 显示全部楼层
可以用C++做DLL/activeX
然后用C#做interface
这样更好
回复

使用道具 举报


ADVERTISEMENT

发表于 17-8-2005 09:52 AM | 显示全部楼层
还有其它方法可以防止DECOMPILE的
只是我不知道用什么PROGRAM ><
回复

使用道具 举报

发表于 17-8-2005 09:53 AM | 显示全部楼层
原帖由 白日梦 于 17-8-2005 08:34 AM 发表
难怪C#.NET才买RM219,做出来的程序就酱容易给Decompile/Cracked



JAVA不是也可以被DECOMPILE吗?
回复

使用道具 举报

C7 该用户已被删除
发表于 17-8-2005 10:03 AM | 显示全部楼层
难怪C#.NET才买RM219,做出来的程序就酱容易给Decompile/Cracked

foxpro 也一样容易, 但价钱就不同了

http://fox.wikis.com/wc.dll?Wiki~ReFox
回复

使用道具 举报

发表于 17-8-2005 10:07 AM | 显示全部楼层
原帖由 somethingwrong 于 17-8-2005 09:52 AM 发表
还有其它方法可以防止DECOMPILE的
只是我不知道用什么PROGRAM ><



.Net 本身就有 Dotfuscator(防止DECOMPILE..)
但..没多人懂,也不多人会用。。

[ 本帖最后由 chinjw 于 17-8-2005 10:09 AM 编辑 ]
回复

使用道具 举报

发表于 17-8-2005 11:03 AM | 显示全部楼层
原帖由 chinjw 于 17-8-2005 10:07 AM 发表

.Net 本身就有 Dotfuscator(防止DECOMPILE..)
但..没多人懂,也不多人会用。。


Dotfuscator 无法防止被反组译,充其量只是尝试把流程混乱,把名字改掉,让人比较难以理解反组译出来的源代码而已。

Dotfuscator 好像必须购买 Microsoft Visual Studio 2003 的版本才会有,我不清楚单单只买 Visual C# 有没有包含。而且据说,包含在 Visual Studio 里面的 Dotfuscator,只是 basic 的版本。如果要买 professional 版,还必须另外购买。。。

Dotfuscator 的 Professional 版本,售价 1495 美元。
http://www.preemptive.com/products/BuyNow.html
回复

使用道具 举报

Follow Us
发表于 17-8-2005 11:11 AM | 显示全部楼层
Dotfuscator 无法防止被反组译,充其量只是,尝试把流程混乱,把名字改掉,让人比较难以理解反组译出来的源代码而已。

haha... understood..
回复

使用道具 举报

发表于 17-8-2005 11:15 AM | 显示全部楼层
新一代.NET源代码保护解决方案——MaxtoCode
http://news.csdn.net/news/newstopic/25/25183.shtml

研究中。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 17-8-2005 11:52 AM | 显示全部楼层
原帖由 C7 于 17-8-2005 10:03 AM 发表

foxpro 也一样容易, 但价钱就不同了

http://fox.wikis.com/wc.dll?Wiki~ReFox

多用 #include 和 #define 这种 pre-directive 来抗反组译 。
回复

使用道具 举报

 楼主| 发表于 17-8-2005 07:46 PM | 显示全部楼层

这问题,小章鱼之前请教过了,不过似乎没有好的见解……

不止是 C#,只要是 DotNet 的就可以,
原因主要是因为中间代码(IL)的概念关系。

haryewkun 朋友介绍的 MaxtoCode 不外也是一个好方法,
不过其实也是一种“加密”方式而已,既然为“加密”就一定有解密的方法,毕竟不是“不可逆演算法(HASH为例)”
不过也总算加强了对抗反组译。

可是小章鱼个人认为这方法虽然不错,不过基于一些问题:要包含 MaxtoCode 的运行库一起发布,这似乎不是很方便
因为有时候发布自己的产品需要包含别人的产品好像不是很理想

之前相关的讨论
<[研讨] 何谓跨平台?!>

希望大家可以再次看待这些问题,说说现在的看法。

fxam: 因主题已合并,删去一个连接

[ 本帖最后由 fxam 于 20-8-2005 08:30 PM 编辑 ]
回复

使用道具 举报

发表于 17-8-2005 10:46 PM | 显示全部楼层
JAVA 也很容易被人decompiled的喔
是不是意味着这是 "跨平台" 编程器的最大的忧患 ?
回复

使用道具 举报

发表于 17-8-2005 10:52 PM | 显示全部楼层
java, foxpro, .net 都可以被 decompile.

新的 decompiler 连 vb, delphi, c 都可以轻易的 decompile 以及加上相当可靠的注解。。。
回复

使用道具 举报

 楼主| 发表于 18-8-2005 06:49 AM | 显示全部楼层

对,其实所有的程式、运行库都可以反组译
只是反组译后的代码好像多为汇编语言
要看得懂,非一般的编程师可以做到的,小章鱼自问就没有这种能力。

其实一个 DotNet 产品在经 Dotfuscator 混浊后,要看得懂也不是一件容易的事吧?
试问,几百甚至几千几万个乱七八糟的变量、类等等的命名,要理解也不是一件轻松的事。

重点在于你的中心技术(proprietary)太容易曝光,这才是大家关注的吧?

[ 本帖最后由 sson 于 18-8-2005 06:54 AM 编辑 ]
回复

使用道具 举报

发表于 18-8-2005 11:48 AM | 显示全部楼层
原帖由 sson 于 18-8-2005 06:49 AM 发表
重点在于你的中心技术(proprietary)太容易曝光,这才是大家关注的吧?


这也是问题之一,我们写程式,当然希望把原本复杂的程式,在作用不变的前提下,弄得越来越简单、越来越容易明白。但是越容易明白的程式,在反组译过后就越容易曝光,那么要我们怎么办?故意在源代码中把容易看懂的部分写到艰难明白?弄到就算你拿到源代码都看不懂?问题是,反组译的人看不懂,接手我的程式的工程师还不是看不懂。那不是在开倒退车吗?

另外,MaxtoCode 我用不到,目前居然只有中文版,根本看不到界面上面写什么,所以也无从知道效果如何。
回复

使用道具 举报

发表于 18-8-2005 04:12 PM | 显示全部楼层
不要怕别人decompile,我之前在反翻版中曾强调过,时常补丁patch,时常更新版本upgrade version,为上策。

我对其他人写的应用软件能过目不忘的翻抄,几乎一半的客户对目前的在用着程序不满的话,就有本事拿到接到他们的生意,写出更新更强的软件,横霸这里80%应客户要求的软件,除了大型企业有专业IT人员外。

别人骇你软件的时候,你再更新,酱才能maintain customer relationship。
回复

使用道具 举报

发表于 18-8-2005 05:19 PM | 显示全部楼层
专门为个人的需求或者公司的需求而编写的软件不怕人家翻版,因为其他人得物也所用。不过共享软件的世界,也能够这样搞吗?

如果可以不断地出更新版,似乎意味着之前的版本都没有做好,都没有做到够好。

如果程式码是完全任人要拿要用,这和公益软件似乎没有多大分别。做公益软件,把源代码全部放出来,然后呼吁人家捐款。

商业软件顾虑的还有一样事,就是别的软件开发者直接用你的程式码,改头换面,变成他自己的产品,然后就拿出去卖。不知情的客户,会觉得原来这个程式也没什么大不了,市面上大把人会做嘛!那时后开发者就有如哑巴吃黄莲,有苦说不出了。有时候,开发者能够获得客户信心,向你购买这样的软件,就是因为他相信市面上,只有你有这个能力可以满足他的需求。如果因为这样,让客户误以为这是很容易做的,对开发者是很不公平的。

如果客户从不上网,也不接触别的厂家,只要你能够做到他要求的东西,又能言善道,要争取到专案并不困难。

如果做的专案,是必须高度客制化,没有太大共同点,别人 decompile 也没有用。比方说做大型 ERP 之类的专案,价值在管理流程、顾问而不是程式本身。但是这样的专案,你就只能够卖给他一个客户。

如果做的专案,需要的技术门槛很低,比方说简单的 POS 系统及会计系统,市面上大把人会做,别人也不会有兴趣去 decompile。但是这样的专案,做的是印度劳工的钱。

共享软体往往是走利基路线,寻找一些市场上没有人注意到,也没有人能够做得那样好的地方来写。100 个人购买的都是同样的程式。作者往往会有较独特的创意,或者很独特的技术,无法单靠肉眼看到而模仿他的功能,除非,你也投入同样的时间去研发。这时候,就看谁的技术力、研发力更强了。比方说 Discuz 4.0 的商业版,我就无法看了 Discuz 2.5f,就开发出同样的程序。就算能够,也未必能够比 Discuz 4.0 更便宜。

但是,如果可以被 Decompile,我就可以抄人家的功能。你推出更新版,我也可以跟着抄。抄总比自己设计来得快,不是吗?
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 19-8-2005 12:15 AM | 显示全部楼层

对,白大哥的方案确实是很好,不过只能基于“量身定制”的才能发挥效果。

就像小章鱼说的:
编应用——根本就无法拥有自己独特的技术(proprietary)……
例如小章鱼研发了一种演算法,可以将任何档案以 1000:1 比例压缩。
他方却可以轻松的取得这像独有的特别技术(演算法)……


编系统——安全性等于零
基于源码无限曝光,有心人寻找漏洞的方向也广、简单。

编游戏——没有可玩性,因为没有“私隐”
游戏的流程曝光,隐藏因素变成不再可贵。
当然还有其它种种……

再者,经常补丁的游戏、系统、应用总叫人无法信任。
更新版本过于频繁也是叫人受不了。
翻抄与改良的前提是:你知道其中心技术(proprietary);否则也只是抄个表面,改良更甭说了。


所以小章鱼认为最重要的是保护中心技术(proprietary),而不是防范翻版什么的。
其实,有翻版就表示你的产品有市场分量,那么就铁定有卖头。
回复

使用道具 举报

发表于 19-8-2005 12:49 AM | 显示全部楼层
翻版和公开源代码是不一样的事情吧。。。

翻版,别人只能够 copy binary EXE 档,无法理解你的技术是什么,也无法自行改变。任何人都很清楚他是翻版而不是原创者。

公开源代码,别人就可以明白你的技术,并完全一模一样地复制出来。其他的人也无从分辨谁才是原创者。毕竟,要是我今天推出技术 A,明天你就跟着推出技术 B,又不是同台竞争,客户也不知道谁先谁后。

其实,这些讨论并不重要。重要的是,C# 到底有没有反编译的方法?
回复

使用道具 举报

发表于 19-8-2005 01:03 AM | 显示全部楼层
其实只要你写过的 code 的够多,
你可以轻易的从软件的控制及功能“看“到它是怎么做的,
根本不需要 decompile。

如果是要学习,open source 有太多看不完的 source code 让你下载。

一般上,看别人的 code 是一件很不愉快的事,你可能一面看一面比中指。。。

[ 本帖最后由 flashang 于 19-8-2005 01:08 AM 编辑 ]
回复

使用道具 举报

发表于 19-8-2005 02:52 AM | 显示全部楼层
原帖由 flashang 于 19-8-2005 01:03 AM 发表
其实只要你写过的 code 的够多,
你可以轻易的从软件的控制及功能“看“到它是怎么做的,
根本不需要 decompile。

如果是要学习,open source 有太多看不完的 source code 让你下载。

一般上,看别人的 c ...

哈哈
你是在说我哦...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 19-4-2024 08:33 AM , Processed in 0.060867 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表