当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 模糊:让你的代码远离偷窥之眼我们知道,Java编译源程序得到的是字节码,VS.NET编译源程序得到的是MSIL(Microsoft中间语言),这种编译方式称为“不完全编译”,特别容易被反编译或实施反向工程。
 

 

 ·一些面向对象的设计法则    »显示摘要«
    摘要:一些面向对象的设计法则 bob tarr 著 outmyth 译 法则1:优先使用(对象)组合,而非(类)继承 组合 n (对象)组合是一种通过创建一个组合了其它对象的对象,从而获得新功能的复用方法。 n 将功能委托给所组合的一个对象,从而获得新功能。 n 有些时候也称之为“聚合”(aggregation)或“包容”(co......
 ·我的人才观    »显示摘要«
    摘要:  去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀。但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙。   弥乐佛热情快乐,所以来的人非常多,但他什么都不在乎,丢三拉四,没有好好的管理账务,所以依然入不敷出。而韦陀虽然管账是一把好手,但成天阴着个脸,太过严肃,搞得人越来越少,最后香火断绝。   佛祖在查香火的时候发现了这个问题,就将他们俩放在同一个......


模糊:让你的代码远离偷窥之眼

模糊:让你的代码远离偷窥之眼

【程序编程相关:[收藏]伟大架构师的秘密

我们知道,java编译源程序得到的是字节码,vs.net编译源程序得到的是msil(microsoft中间语言),这种编译方式称为“不完全编译”,特别容易被反编译或实施反向工程.与本机代码不同,不完全编译得到的中间代码完整地保留了变量.过程名称,从而使反编译得到的程序几乎与原始程序完全一样,只缺少原始程序的注释,其余内容差不多可以原封不动地还原出来. 【推荐阅读:浏览器滚动条的参数总结

【扩展信息:[收藏]Microsoft 系统体系结构

  对于商品软件的开发者,高质量的反编译代码带来了很大的风险:算法可能被窃取与改造,程序代码可能被复制与更改.(即使单位内部使用的非商品软件,由于反编译造成的源代码泄漏也带来很大的威胁.例如,用户将很容易看到访问数据库的密码或程序嵌入的sql命令.同样地,使用外单位托管服务器的网站也面临风险,一旦上载了asp.net应用的代码,托管单位的人就可能随意查看与更改程序代码).

  更让人担心的是,现在黑客或好奇的用户能够方便地得到各种反向工程工具.microsoft本身就免费提供了一个msil反汇编器,称为ildasm;这里有一个源代码开放的.net反编译工具anakrino;当然,还有其他许多厂商提供了商品化的反向工程工具.

  一.修改变量名称

  为防止这类反向工程的威胁,最有效的办法是模糊.(据«美国传统辞典»,“模糊”的意思是“使混乱,使糊涂迷惑,使过于混乱或模糊,使得难于感觉或理解”).模糊工具运用各种手段达到这一目标,但主要的途径是让变量名字不再具有指示其作用的能力.加密字符串与文字.插入各种欺骗指令使反编译得到的代码不可再编译.

  一个即将发布的visual studio版本(称为vs.net 2003,代码名称everett)将集成一个模糊工具,microsoft建议用这个工具对.net中间代码进行最后的处理.这个模糊器是另一个工具dotfuscator的所谓lite版.由preemptive solutions公司出品的dotfuscator功能更强大,这家位于美国俄亥俄州东北部克利夫兰的公司最初开发java代码的模糊技术.dotfuscator模糊器利用一系列卓越的技术使反向工程徒劳无功,或者至少说使得反向工程很难进行.


...   下一页
 ·彻底破解dotfuscator    »显示摘要«
    摘要: 彻底破解dotfuscator 前阵子有网友叫我帮忙破解一个控件.用dotfuscator混淆了的,字符串也加密成这种形式il_2b19: ldstr bytearray (9f fa 9a fc 9e fe 8b 00 6e 02 71 04 ) // ........n.q.il_2b1e: call string a$pst06000001(string) .net软件的保护方法无非......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE