|
编程中国
|
业界新闻
|
技术文章
|
视频教程
|
下载频道
|
程序源码
|
个人空间
|
编程论坛
|
登录
注册
平板模式
论坛地图
帮助
编程论坛
→
.NET专区
→
ASP.NET技术论坛
→ .net中.dll文件能不能还原成.cs文件
我的收件箱(0)
全能ASP/PHP/ASP.NET主机,支持月付
专业
MSSQL
数据库空间,支持月付
专业
MySQL
数据库空间,支持月付
买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦
赛孚耐:软件保护加密专家
身份认证令牌USB KEY
买空间,免费送域名(厦门中资源)
23
2/3页
1
2
3
共有
1062
人关注过本帖
标题:.net中.dll文件能不能还原成.cs文件
waiting……
收藏
订阅
推荐
打印
青格儿
等级:高级会员
威望:
2
帖子:527
积分:6264
注册:2007-7-31
第
11
楼
Reflector用它就可以查看了,反编译dll
6楼的朋友用的什么?呵呵,也发我份,邮箱:185548111@qq.com
[
本帖最后由 青格儿 于 2008-9-22 21:17 编辑
]
2008-9-22 21:16
ruanjian2110
来自:武汉
等级:版主
威望:
3
帖子:360
积分:4746
注册:2008-5-25
第
12
楼
Reflector 5.0(.net反编译工具),很好用的。。。网上有免费的,自己找一下吧。。
武汉信控科技有限公司:http://www.whxc.net 超越技术,本身就是一个美好技术。。。。。。
2008-9-22 23:28
qlx_123
等级:新手上路
帖子:14
积分:260
注册:2007-11-2
第
13
楼
刚接触这个,谢谢大家!
2008-9-23 08:53
kevintang
等级:高级会员
威望:
5
帖子:604
积分:6861
注册:2008-2-14
第
14
楼
我用的也是Reflector !不过过期了!哈哈 我汗啊!
编程少年基地——少年编程者的练兵场
http://bcsn.5d6d.com 招聘版主中
2008-9-24 09:03
青格儿
等级:高级会员
威望:
2
帖子:527
积分:6264
注册:2007-7-31
第
15
楼
哦,过期了。那算了,我有这个了,是破解过的。呵呵
不过,还是谢谢你,kevintang
2008-9-24 09:08
徐强
等级:版主
威望:
3
帖子:65
积分:786
注册:2007-3-30
第
16
楼
反编译出来的代码能看懂么?事原始的么?
2008-9-24 10:38
铲铲
等级:版主
威望:
22
帖子:447
积分:5527
注册:2006-5-2
第
17
楼
如果你要原始代码,那对不起,dll无法返回最最原始的代码。因为信息不足。
所谓编译,从信息观点来看,就是提出冗余信息,提高执行效率。
所以编译的时候,注释部分就去掉了,你永远也不可能找回代码原作者对代码添加的注释。
但Reflector可以支持C# B 和MSIL形式的查看。既然可以查看,当然也就可以复制,你大可以自己复制这些代码来重建工程,只不过工作量会很大,也可以借助自动化的反向工程软件,不过我没有找到。
不知道你留意过没有,Reflector反编为高级语言以后,有些代码形式和你最初用高级语言书写的形式有所不同,比如,原来你所书写的for循环语句形式,可能被编译器编译后优化成了while do的循环语句。因为对于MSIL来说。两种在高级语言中表达的循环语句形式,在低级语言中其实是等价的。
现在明白了吧?
你可以自己结合自己的经验反编译工程,基本上可以得到运行、外观、理论正确的代码,但不能证明你所得到的和源代码相同。
铲铲是也
2008-10-9 13:03
kevintang
等级:高级会员
威望:
5
帖子:604
积分:6861
注册:2008-2-14
第
18
楼
铲铲 我太爱你了!
你小子很牛比的啊!
猜猜 我是谁?
编程少年基地——少年编程者的练兵场
http://bcsn.5d6d.com 招聘版主中
2008-10-9 13:24
寂寞仙人掌
等级:新手上路
帖子:33
积分:463
注册:2008-10-9
第
19
楼
只要程序作者把那些变量名和自定义函数名都批量改成 b1,b2,b3,f1,f2,f3之类的,就算不编译也够看懂的了
以前我就用过一个ASP程序,自定义函数和变量全是A1,B2之类的,有读懂他的代码的时间不如自己去写了
2008-10-9 13:29
铲铲
等级:版主
威望:
22
帖子:447
积分:5527
注册:2006-5-2
第
20
楼
b1,b2,b3,f1,f2,f3这一类变量命名一般来说并非程序员本人所命名的。
如果是程序员,采用这种类型命名,倒头来恐怕连他自己都不知道这些变量的含义了。
这类命名通常是在成品完成以后,用“混淆软件”把它们进行了混淆导致的。
现在.net的程序集也有DotFuscator这个工具可以用来做混淆。安装VS会自动安装该工具的试用版本。
“混淆”这个概念主要还是针对人来说的,人的大脑思维活动和计算机不相同,人们无法记住大量无意义的字符,特别是在源代码交错复杂的情况下,因此混淆增加了人们读懂程序的难度,但对于计算机而言没有多少用处,他们仍然能够正确运行。
铲铲是也
2008-10-9 15:26
23
2/3页
1
2
3
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
Archiver
|
WAP
|
TOP
编程中国
版权所有,并保留所有权利。鲁ICP备08000592号
Powered by
Discuz
, Processed in 0.058869 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved