良心与思想

偶的代码生涯
随笔 - 32, 评论 - 243, 引用 - 31

导航

关于

最近在学习windbg

标签

每月存档

最新留言

广告

 

这个回复是针对我上一个post大家的热情回复而写的。安全问题容易被人忽视,倒不是说不重视,而是自己苦心研究出来的东西,很容易从其他人另一个角度被攻破。

尤其在.NET上,这种问题之所以出现,我认为是大家对于.NET的视角不同造成的。.net让快速开发确实达到了,但是也让程序员丧失了“警惕性”。

那位兄弟说的破解成本确实是问题。成本太高,破解没有意义了。但是致命的是,我接触到的这些国内ERP厂商,对于序列号控制这部分,实在是太脆弱了,脆弱到破解成本几乎就是0 - 虽然后面有大型应用、技术支持这个说法。

我印象中看卡巴斯基的书上说,最好的“提高破解难度”的方法是在native code中进行SEH处理,把核心代码放到catch里面。据说这样会让cracker晕倒………………

至于加壳与否,我认为只要想做,有足够的耐心,把内存都dump出来,象dos下面破解,一样的。

打印 | 张贴于 2007-01-11 11:38:00 | Tag:VS.NET

留言反馈

#找到一些好的文章。放在此处慢慢学习 编辑
.NET调用OCX出错 C#代码如下: privatevoidbutton2_Click(objectsender...
2007-06-08 15:42:00 | [匿名:人淡如菊]
#回复: .NET程序的序列号控制 - 2 编辑
现在的情况是,除非你的软件很好,否则你不加密别人也都懒得用.
2007-01-22 22:52:00 | [匿名:小鬼]
#回复: .NET程序的序列号控制 - 2 编辑
quote:刚才对wollaston感兴趣,google了一下,发现itpub上面有他的个人blog,到管理里面,哦,sql injection似乎没有防范过,输入一个单引号后,提示:
Fatal error: Call to a member function on a non-object in /usr/apache/htdocs/plog/class/dao/users.class.php on line 61

冒视你正好赶上Itpub的blog服务器出问题了。

欢迎你去攻破他的服务器,呵呵,TR的MXS是搞Oracle的吧,应该和Itpub有些人能认识的。

不过Itpub里面微软的技术不是主流。哈哈。

不好意思。我把你这里当BBS了。
2007-01-22 21:25:00 | [匿名:wollaston]
#回复: .NET程序的序列号控制 - 2 编辑
冲你上面那句话。我把Itpub的blog应该关了,反正两年多没有写了,当时写的都是在原来那个公司的时候和某些人配合不好的问题。也是拜LangChao的渠道所赐。而且那个人已经跑到华为了。


Btw:itpub的后台不是Sqlserver滴。
2007-01-22 18:40:00 | [匿名:wollaston]
#回复: .NET程序的序列号控制 - 2 编辑
上面关于Profiler怎么做我不说了。
公开说不好。

如果你能收我每年去你那里学习一段时间的话。我就告诉你。

比如说,春节后。我去济南,你指导指导我。

邮件就发我wollaston这个在sina.com.cn的邮箱/
2007-01-22 18:31:00 | [匿名:wollaston]
#回复: .NET程序的序列号控制 - 2 编辑
偶,那个是Itpub的问题。
和我没有什么关系。
幸好我不再写了。
2007-01-22 18:28:00 | [匿名:wollaston]
#回复: .NET程序的序列号控制 - 2 编辑
刚才对wollaston感兴趣,google了一下,发现itpub上面有他的个人blog,到管理里面,哦,sql injection似乎没有防范过,输入一个单引号后,提示:
Fatal error: Call to a member function on a non-object in /usr/apache/htdocs/plog/class/dao/users.class.php on line 61

晕………………
2007-01-15 11:54:00 | [匿名:juqiang]
#回复: .NET程序的序列号控制 - 2 编辑
to wollaston,LangchaoTongruan的序列号控制不是一般地弱。用Profiler都能破解,不过这个破解的控制还和很多、很多、很多……的因素相关。
这句话怎么讲?

我们的序列号没有在.net里面作啊!是在COM+里面作地, profiler怎么搞?而且.net代码中没有任何对于序列号控制的使用。
2007-01-15 11:46:00 | [匿名:juqiang]
#回复: .NET程序的序列号控制 - 2 编辑
发表了才想起来,扯远了,和标题的.net不符,对不起,大家可以忽略上面和本条回复。
2007-01-13 23:39:00 | [匿名:wollaston]
#回复: .NET程序的序列号控制 - 2 编辑
要不这样,把软件整体封在硬件当中买。

安装、升级都要刷Rom。这个可能要困难一些。

而且从芯片开始就有自己独有的技术。比如不用二进制了。
2007-01-13 23:38:00 | [匿名:wollaston]
#回复: .NET程序的序列号控制 - 2 编辑
不错呀,开发的安全性。要不就不要赚钱,公司自己做自己用。但是软件公司如何靠商务软件赚钱呢?靠法律啦。

看看微软的处境就知道了。全中国多少盗版再用哟。

这个没办法,软件在包装最后还要回到汇编。

LangchaoTongruan的序列号控制不是一般地弱。用Profiler都能破解,不过这个破解的控制还和很多、很多、很多……的因素相关。

企业应用尤其是ERP应用还是不会随便用破解的序列号地

不过说回来了,还是ERP不是足够地成熟,如果稳定到如windows,office一般,估计遍地都会有破解了。

现在是如果用破解,运行当中出现一堆毛病,系统管理员无法解决,如果用整版,好歹可以打个电话发泄一下,虽然听到最多的还是打补丁,或者等新版本。

所以在做ERP的时候不能做得太完美,要给售后找到一点位置。也让人家觉得,从产品的开发角度说,没有我们寻找Bug软件也是卖不动的。

最苦的是独立开发人员或软件开发联盟,仅发布产品,以优质产品为出发,功能又相对不强,那么就可能有人为了使用其某项公认稳定的功能而使用破解。赚不到钱了。

JuQiang老大毕竟还是处在大树底下,不必太过担心,市场的最弱势不是你们这些所谓的解决方案提供商。
2007-01-13 23:32:00 | [匿名:wollaston]
#回复: .NET程序的序列号控制 - 2 编辑
谢谢两位的回复!

to kent liu,举个例子,原来的序列号控制为50个并发,他想破解,变成200个,这个和服务、需求,就没啥关系了。
2007-01-12 16:27:00 | [匿名:juqiang]
#回复: .NET程序的序列号控制 - 2 编辑
本来就没有绝对的事情,只是成本在做平衡。
我觉得,如果普通功能软件,不如做shareware,让有心人赞助算了。
如果是大型应用,是离不开需求收集与定做(如果有的话)、安装、实施、售后的辅助服务(也正是这个才能显示出整体解决方案的价值)。你想想,如果一个脍炙人口、好用的大型软件,不需要经过那么多辅助性的服务支持,肯定会有人出钱赞助破解的(不需要等到志愿破解黑客动手)。
2007-01-12 09:06:00 | [匿名:Kent Liu]
#回复: .NET程序的序列号控制 - 2 编辑
用 SEH 进行加密,只是加密手段的一种.

至于想要 DUMP 内存,现在可没有那么方便,我用一块,我解一块,再擦掉,再解一块,你能DUMP?不手动跟踪没辙.

就算我不擦这个,我擦导入函数表,重定位表,加密好了,你DUMP了还是不能用,还是要手动跟踪我.

再说了,到了.NET时代,总有代码翻译引擎的,有办法获取传给翻译引擎的IL代码,当然,也有干掉这个办法的办法.自然也就有干掉这个干掉办法的办法,...
2007-01-11 22:02:00 | [匿名:学生一族]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode.MVC引擎 0.5.2.0