当前位置:首页 » 编程软件 » dotnet反编译

dotnet反编译

发布时间: 2022-10-05 20:40:37

⑴ c#中的反编译,谁能给详细讲讲

有个软件,好象叫reflector.

用Reflector for .NET反编译dll文件(.net) ( 发表时间:2006-9-16 15:21:52 ) 楼主
Reflector for .NET 下载地址http://www.aisto.com/roeder/dotnet/

1.下载Reflector.FileDisassembler.zip,
Reflector.FileDisassembler.zip下载地址:
http://www.denisbauer.com/NETTools/FileDisassembler.aspx
解压后得到一些文件,其中Reflector.FileDisassembler.dll是已经编译好的,其它是它源码
2.打开Reflector,在view菜单下的Add-Ins,将Reflector.FileDisassembler.dll添加到里面;
3.open一个dll,exe,或mcl为后缀的文件,当然要支持.net的
4.选择要反编译的dll(会在列表中显示),选择Tools->File Disassembler,在右窗口会出现设置存放源码位置的路径,点击产生就可以了!

⑵ 什么软件可以反编译出C#编的EXE程序的源代码

你可以用最强悍的IDA,但是Visual Studio(Windows SDK中)就自带了一个反汇编工具叫“IL 反汇编程序”"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe"使用方法可以在网上搜搜

⑶ C#如何防止被别人反编译

C# 编写的代码通过VS编译器生成 dll 或 exe ,很容易被一些反编译工具查看到源码或对源码进行修改。
为防止代码被反编译或被篡改,我们可以进行一定的防范措施。但不能杜绝,因为DotNet编写代码运行必须编译成IL 中间语言,IL是很规则,同时也很好反编译。

反编译防范措施:

  • 设置项目代码反汇编属性

  • 混淆

  • 方法一:防止 Ildasm.exe(MSIL 反汇编程序) 反汇编程序集

    方法很简单在项目文件AssemblyInfo.cs中增加SuppressIldasm属性。

    效果很明显,很难看出反编译代码所写的真正逻辑。

    缺点:
    C#代码通过混淆工具生成后,增加了很多转换过程。这使得反编译工具无法很直观看到源码真正逻辑。但源码代码过多转换会使软件本身运行效率降低,甚至会出现报错情况。

⑷ dotnet protector 怎么样

dotNet Protector[1]是一款功能强大的NET代码保护系统,具有强大的反混淆功能,可以对程序反复加密 dotNet Protector是一个功能强大的NET代码保护系统,它可以防止程序集被反编译。dotNet Protector使用的是一个新的主体混淆技术保护应用程序和组件。程序集不再需要合并到一个win32可执行文件中,但是会保留其net特性。dotNet Protector 采用一个命名混淆器结合一个主体混淆器来保护您的代码。

dotNet Protector常用的保护方法
  • 混淆
    混淆主要是将原始程序集转换为更复杂难懂的程序集。一些混淆器使用ILDASM拆解程序集并且操作被拆解的MSIL,然后使用ILASM重组程序集;另一些不通过ILDASM/ILASM而直接混淆,总之使程序集更复杂难懂。
    潜在风险:混淆是可逆的,通过一些工具比如PvLog Deobfuscator就可以对某些程序反混淆。
  • 加密加密通常分为两步,第一步先将源程序集加壳,第二步就将被加密后的程序集整体封装为一个可执行程序。然而,在运行时,应用程序会把程序集释放到内存中,这些在内存中的程序集都是没有被加密的。
    潜在风险:被一些工具比如Windbg 或 PvLog Sniffer直接从内存中提取出程序集

⑸ C#如何防止被别人反编译

C#
编写的代码通过VS编译器生成
dll

exe
,很容易被一些反编译工具查看到源码或对源码进行修改。
为防止代码被反编译或被篡改,我们可以进行一定的防范措施。但不能杜绝,因为DotNet编写代码运行必须编译成IL
中间语言,IL是很规则,同时也很好反编译。
反编译防范措施:
设置项目代码反汇编属性
混淆
方法一:防止
Ildasm.exe(MSIL
反汇编程序)
反汇编程序集
方法很简单在项目文件AssemblyInfo.cs中增加SuppressIldasm属性。
当项目中增加SuppressIldasm属性后在使用ildasm.exe反编译代码,会提示:"受保护的模块
--
无法进行反汇编"
ildasm.exe
读取项目中包含
SuppressIldasm
属性就不对此程序集进行反编译。但ILSyp,Reflector等反编译工具针对程序集设置SuppressIldasm属性置之不理,一样可以反编译源码。
缺点:
可见SuppressIldasm
属性只针对ildasm.exe工具起效果,同时也能删除ildasm.exe工具的此项限制。参考:《去掉ILDasm的SuppressIldasmAttribute限制》
方法二:混淆
混淆原理:将VS编译出的文件(exe

dll)通过ildasm对文件进行重命名,字符串加密,移动等方式将原始代码打乱。这种方式比较常见。
VS2013
自带混淆工具:工具-->PreEmptive
Dotfuscator
and
Analytics
但VS2013自带Dotfuscator
5.5
需购买激活才能使用全部功能。目前网络提供
DotfuscatorPro
4.9
破解版版本下载。
打开
DotfuscatorPro
4.9
主界面
Settings->Global
Options
全局配置
常用功能配置:Disable
String
Encryption=NO
启用字符串加密
选择需混淆C#编译代码(dll

exe)
其中Library不要勾选,否则有些类、变量等等不会混淆;
Rename
重命名配置
常用功能配置:
勾选
=
use
enhanced
overload
inction
使用增强模式
重命名方案
Renaming
Scheme
=
Unprintable
(不可打印字符,即乱码),也可以选择其他如小写字母、大写字符、数字的方式。
String
Encryption
字符串加密
勾选需要加密字符串文件(exe

dll)
可根据各自需求可进行其他相关配置。(如:control
flow,Output,Setting
->Build
Settings,Settings
-->
Project
Properties等)
最后生成混淆文件
Build
Project。
Build
Project
生成混淆项目错误:
Could
not
find
a
compatible
version
of
ildasm
to
run
on
assembly
C:Users***.exe.??This
assembly
was
originally
built
with
.NET
Framework
v4.0.30319.
Build
Error.
处理方法:
ILASM_v4.0.30319
=
C:WindowsMicrosoft.NETFrameworkv4.0.30319ilasm.exe
ILDASM_v4.0.30319
=
C:Program
Files
(x86)Microsoft
SDKsWindowsv8.1AinNETFX
4.5.1
Toolsildasm.exe
[安装VS版本不同对应目录会有所变化]
混淆代码对比
未使用混淆工具,反编译出的源码:
使用混淆工具,反编译出的源码:
效果很明显,很难看出反编译代码所写的真正逻辑。
缺点:
C#代码通过混淆工具生成后,增加了很多转换过程。这使得反编译工具无法很直观看到源码真正逻辑。但源码代码过多转换会使软件本身运行效率降低,甚至会出现报错情况。

⑹ net il为什么能反编译出整个dll

to flashthunder(闪雷)
Reflector for .NET 下载地址:http://www.aisto.com/roeder/dotnet/

to gzheng23()
1.下载Reflector.FileDisassembler.zip,解压后得到一些文件,其中Reflector.FileDisassembler.dll是已经编译好的,其它是它源码;
2.打开Reflector,在view菜单下的Add-Ins,将Reflector.FileDisassembler.dll添加到里面;
3.open一个dll,exe,或mcl为后缀的文件,当然要支持.net的
4.选择要反编译的dll(会在列表中显示),选择Tools->File Disassembler,在右窗口会出现设置存放源码位置的路径,点击产生就可以了!

⑺ 如何反编译c#写的dll文件

你去装个 反编译工具
可以把 C#写的 dll 文件反编译成 中间语言
推荐使用
Reflector 这个是微软员工开发的一个反编译软件,,能针对各种语言生成的exe, dll进行反编译、如果没有经过特殊混淆。一般都能得到很精确的源码。。支持各种语言,还可导出到文本。。
下载地址:
http://www.aisto.com/roeder/dotnet
http://reflector.red-gate.com/download.aspx?TreatAsUpdate=1

⑻ 引用DotNetBarcode.dll生成二维码(有中文内容),解码后中文为乱码

DotNetBarcode是支持的日本字符啊,所以解出来是乱码。

反编译后,可以看到:
this.myFontName = "MS Pゴシック";

⑼ 如何抵挡.net自带的ildasm的反编译,如何保

C# 编写的代码通过VS编译器生成 dll 或 exe ,很容易被一些反编译工具查看到源码或对源码进行修改。为防止代码被反编译或被篡改,我们可以进行一定的防范措施。但不能杜绝,因为DotNet编写代码运行必须编译成IL 中间语言,IL是很规则,同时也很好反编译。

反编译防范措施:

  • 设置项目代码反汇编属性

  • 混淆

  • 方法一:防止 Ildasm.exe(MSIL 反汇编程序) 反汇编程序集

    方法很简单在项目文件AssemblyInfo.cs中增加SuppressIldasm属性。

    效果很明显,很难看出反编译代码所写的真正逻辑。

    缺点:C#代码通过混淆工具生成后,增加了很多转换过程。这使得反编译工具无法很直观看到源码真正逻辑。但源码代码过多转换会使软件本身运行效率降低,甚至会出现报错情况。

⑽ winform 引用DotNetBarcode.dll生成二维码(有中文内容),解码后中文为乱码

我反编译看了下DotNetBarcode库,发现他里面获取字节是硬编码的Shift_JIS 编码,不支持中文。如果非要用他,那就需要修改他的代码重新编译下。

另外网上找到的很多二维码生成开源库,比如qrcode,都不支持中文,需要自行改动代码为utf8

热点内容
自动鬼使黑脚本 发布:2024-05-05 03:10:49 浏览:879
游戏脚本编程书籍推荐 发布:2024-05-05 02:59:13 浏览:72
编译器书籍推荐 发布:2024-05-05 02:57:02 浏览:56
电池存储温度 发布:2024-05-05 02:53:07 浏览:207
安卓在美国怎么下载 发布:2024-05-05 02:31:06 浏览:924
黑莓存储空间 发布:2024-05-05 02:19:50 浏览:274
我的世界矿石岛服务器宣传片 发布:2024-05-05 02:17:19 浏览:614
如何区分安卓原装充电器 发布:2024-05-05 01:41:23 浏览:72
怎么从苹果转移到安卓 发布:2024-05-05 01:41:20 浏览:721
支付宝付款码怎么设置密码 发布:2024-05-05 01:27:36 浏览:878