如何获取程序集版本信息实例C#net源代码编写

如何获取程序集版本信息实例C#net源代码编写,第1张

下载后的ILSPY 。

打开EXE

然后会在最下面出现打开的exe。

结构如下图:类---方法

点击方法后,会在右面出现,方法的具体代码。

ILspy很强大,甚至方法的参数都和源代码相同,只是方法里面的参数名字会自动生成。

那么,如何保存反编译的源代码?

整体保存源代码,可以点击你的反编译的程序。如图

选择程序集或是里面的类或是方法后。点击File->savecode。

如果是导出exe全部,会生成一个类库。保存类库即可。

那么如何运行编译反编译的源码?

重新建立一个对应的项目(反编译源码是winform就建立一个winform程序。)

在解决方案上 添加------->现有项。然后删除新建立的空的winform代码。保留刚才添加进来的源码。如图所示:

然后直接点击运行...直接可以运行软件了。

反编译后的软件,直接生产了类,大家可以根据需要修改。

6

毕竟.NET 和JAVA 属于中间语言,很好反编译。那么如何保护自己的代码安全?防止别人反编译或是查看自己的源码呢,下面的经验中将进行介绍:如何给代码加壳...

如果你通过下面的语句企图像其他.NET应用程序一样获取Assembly中的版本号的话,你将永远得到一个0.0.0.0的字符串。System.Reflection.Assembly.GetAssembly(this.GetTyp e()).GetName().Version.ToString()很多人能说出一堆理由来告诉我企图在ASP.NET程序中获取程序集版本号是多么愚蠢的一件事,我对此也非常的理解,并表示认同,但如果得到变态的要求的话我们还是需要动手来实现这件事情的。首先在App_Code文件下下增加一个AssemblyInfo.cs文件,文件的内容模板可以从其他.NET应用程序中复制。其次,在Global.asax文件的Application_Start段落中增加如下代码:Global.asax// Load Assembly

最近在学习.NET的时,需要在客户端软件中保存用户的一些设置,比如是否在登录框中保存上次登录名等信息,就用到了.NET中的应用程序设置功能。如果使用用户范围的设置,程序会在磁盘上创建user.config用来存储修改后设置值,对 user.config所在的文件夹,我产生了一些兴趣,并做了一些研究。现举个例子来说明:

C:/Documents and Settings/Admin/Local Settings/Application Data/Microsoft/test.exe_Url_3ypvtlafqkef0gkp1kl5i2idjssaxajb/1.0.0.0/user.config

其中

“C:/Documents and Settings/Admin/Local Settings/Application Data”是LocalApplicationData特殊文件夹

“Microsoft”程序集的厂商名称

“Admin”是当前Windows用户名

“test.exe”是程序集友好名称

“1.0.0.0”是程序集版本

“user.config”是存储用户配置信息的文件,该文件举例如下:

“Url_3ypvtlafqkef0gkp1kl5i2idjssaxajb”该字符串是将程序集的厂商信息、版本信息、绝对路径进行哈希计算,得到的唯一值,可避免不同的程序生成相同的文件路径。

如果要想通过编程的方式对user.config文件做一些灵活的控制,就必须得到该文件的绝对路径,为了获取.NET生成user.config唯

一路径的方法,我使用Reflector反编译了System.Config程序集,终于得到了其中的方法,做了一些简化。现做一些介绍:

(1)ClientConfigPaths类,只有一个public方法GetUserConfigFilePath,此方法即可获取user.config的绝对路径

(2)StringUtil类,一个辅助类,用来做一些字符串 *** 作

(3)使用方法:

ClientConfigPaths ccp = new ClientConfigPaths()

textBox1.Text = ccp.GetUserConfigFilePath()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7783023.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存