闪电下载吧 最新软件 免费软件 绿色软件

网络资源 软件专题

您的位置:闪电下载吧_绿色免费软件下载网站 > 绿色软件 > de4dot 20191023 最新版 VS 2019编译

de4dot 20191023 最新版 VS 2019编译

  • 软件大小:未知
  • 更新日期:2019-10-30
  • 官方网站:闪电下载吧
  • 软件等级:★★★☆☆
  • 运行环境:Winxp/Win7/Win8/Win10
de4dot 20191023  最新版 VS 2019编译
  • 软件说明
  • 软件截图
  • 下载地址
  • 相关软件
  • 用户评论
  • 投诉建议: 858898909@qq.com
de4dot是用C#编写的开源(GPLv3).NET解混淆器和解压缩器。 它将尽力将打包和混淆的程序集恢复到几乎原始的程序集。 大部分混淆都可以完全恢复(例如,字符串加密),但是符号重命名是无法恢复的,因为原始名称(通常)不是混淆程序集的一部分。它使用dnlib读取和写入程序集,因此请确保您已获取它,否则它将无法编译。

功能特色

1、内联方法。一些混淆器将方法的一小部分移动到另一个静态方法并进行调用。
2、静态或动态解密字符串
3、解密其他常量。一些混淆器还可以加密其他常量,例如所有整数,所有双精度数等。
4、静态或动态解密方法
5、删除代理方法。许多混淆器将大多数/所有呼叫指令替换为对代表的呼叫。该委托依次调用real方法。
6、重命名符号。即使大多数符号无法还原,也会将其重命名为人类可读的字符串。有时,某些原始名称可以恢复。
7、对虚拟化代码进行虚拟化
8、解密资源。许多混淆器可以选择加密.NET资源。
9、解密嵌入式文件。许多混淆器可以选择嵌入并可能加密/压缩其他程序集。
10、删除篡改检测代码
11、删除反调试代码
12、控制流去混淆。许多混淆器会修改IL代码,因此看起来像意大利面条代码,很难理解该代码。
13、恢复类字段。一些混淆器可以将字段从一个类移动到其他混淆器创建的类。
14、将PE exe转换为.NET exe。一些混淆器将.NET程序集包装在Win32 PE内,因此.NET反编译器无法读取该文件。
15、删除混淆器添加的大多数/所有垃圾分类。
16、修复了一些修正错误。许多混淆器存在错误,并会错误地创建无法验证的代码。
17、恢复方法参数和字段的类型

使用说明

受支持的混淆器/包装器
    Agile.NET (aka CliSecure)
    Babel.NET
    CodeFort
    CodeVeil
    CodeWall
    CryptoObfuscator
    DeepSea Obfuscator
    Dotfuscator
    .NET Reactor
    Eazfuscator.NET
    Goliath.NET
    ILProtector
    MaxtoCode
    MPRESS
    Rummage
    Skater.NET
    SmartAssembly
    Spices.Net
    Xenocode
上面的一些混淆器很少使用(例如Goliath.NET),因此它们的测试要少得多。报告错误或发现的问题来帮助我。

使用帮助

1、N00b用户
将文件拖放到de4dot.exe上,然后等待几秒钟。
2、一次反混淆一个以上的文件
对多个程序集进行模糊处理后,除非禁用符号重命名,否则很有可能必须同时对所有程序集进行模糊处理。原因是,如果程序集A在程序集B中引用了类C,并且仅在程序集B中重命名了符号,则可以将类C重命名为例如。Class0,但程序集A中的引用仍引用程序集B中的名为C的类。如果同时对两个程序集进行模糊处理,则所有引用也将更新。
3、查找所有模糊文件并对其进行模糊处理
以下命令行将对受支持的混淆器进行模糊处理的所有程序集进行模糊处理,并将程序集保存到 c:\output
de4dot -r c:\input -ru -ro c:\output
-r表示递归搜索。-ru表示它应该忽略未知文件。-ro表示应将输出文件放在以下目录中。通常,您首先要复制c:\input到c:\output,然后运行命令。这样,所有文件都将位于c:\output,甚至是非程序集和未处理的程序集。de4dot完成后,您只需双击其中的主装配件c:\output,它便有望启动。
4、检测混淆器
使用该-d选项来检测混淆器而不会混淆任何程序集。
查找所有.NET程序集并检测混淆器。如果它是不受支持的混淆器,或者没有被混淆,它将显示“未知混淆器”。
de4dot -d -r c:\input
除仅显示受支持的混淆器混淆了哪些文件外,其余与上述相同。
de4dot -d -r c:\input -ru
检测混淆器
de4dot -d file1.dll file2.dll file3.dll
5、保留元数据令牌
有时在极少数情况下,您想保留元数据令牌。使用--preserve-tokens或--preserve-table。还请考虑使用,--keep-types因为它不会删除混淆器添加的任何类型和方法。另一个有用的选择是--dont-create-params。如果使用重命名器,则不会为没有参数行的方法参数创建参数行。这样,就不会将ParamPtr表添加到您的程序集中。Peverify有一个错误,并且不支持它(您会看到很多“错误”)。
的#Strings,#US和#Blob堆也可以通过使用保存--preserve-strings,--preserve-us和--preserve-blob分别。这--preserve-us是自ldstr指令以来最有用的一个,module.ResolveString()直接引用#US堆。
--preserve-sig-data如果混淆器在用于其自身目的的签名的末尾添加了额外数据,则应使用,例如。作为解密密钥。Confuser是执行此操作的混淆器。
--preserve-tokens保留所有的重要标记,但也将使--preserve-us,--preserve-blob和--preserve-sig-data。
如果检测到它是未知的(不受支持的)混淆器(或使用强制使用-p un),则将保留所有令牌,包括#US堆和签名末尾的任何其他数据。同样,不会删除混淆器类型,字段或方法。
保留所有重要令牌,#US,#Blob和额外的sig数据。
de4dot --preserve-tokens file1.dll
保留所有重要的令牌,#US,#Blob,额外的sig数据,并且不要删除混淆器添加的类型/字段
de4dot --keep-types --preserve-tokens file1.dll
保留所有重要标记,#US,#Blob,额外的sig数据,并且不要创建额外的Param行,以防止创建ParamPtr表。
de4dot --dont-create-params --preserve-tokens file1.dll
保留除Param令牌以外的所有重要令牌。
de4dot --preserve-table all,-pd file1.dll
6、动态解密字符串
尽管de4dot支持许多混淆器,但仍有一些它不支持。要解密字符串,您首先需要弄清楚哪些方法可以解密字符串。要获取这些字符串解密器的方法令牌,可以在启用了“显示元数据令牌”选项的情况下使用ILDASM。方法令牌是一个32位数字,例如以06开头。06012345。
此命令将通过调用将程序集file1.dll加载到内存中Assembly.Load()。当它检测到对两个字符串解密器(06012345和060ABCDE)的调用时,它将通过创建动态方法来调用它们,并保存结果(解密的字符串)。字符串解密器的调用将被删除,解密后的字符串将位于其位置。
de4dot file1.dll --strtyp delegate --strtok 06012345 --strtok 060ABCDE
由于程序集已加载并执行,因此如果怀疑文件为恶意软件,请确保在沙箱中运行该程序集。
7、强制检测某种混淆器
de4dot并不完美。如果无法检测到混淆器,则可以使用该-p选项来强制其假定已对其进行混淆。
强制SmartAssembly
de4dot file1.dll -p sa
强制使用不受支持的混淆器
de4dot file1.dll -p un
有关其他混淆器类型,请参见帮助屏幕。
8、禁用符号重命名
涉及反射时,重命名符号并不像将A重命名为B那样容易。de4dot当前不支持重命名XAML,因此如果您怀疑XAML使用WPF(或者它是Silverlight应用程序),则在程序集无法运行时应禁用重命名。
de4dot --dont-rename file1.dll file2.dll
--keep-names也可以用来告诉您de4dot不要重命名某些符号,例如。“不要重命名字段”。
重命名应重命名的所有内容(属性,事件和方法除外)。
de4dot --keep-names pem file1.dll
9、使用其他重命名正则表达式
默认正则表达式应该足够了,但可能会检测到不受支持的混淆器时使用的正则表达式。要查看所有默认正则表达式,请在开始时de4dot不带任何参数,它将列出所有选项和所有默认值。
例如,当前以下是检测到Dotfuscator时使用的默认正则表达式
!^[a-z][a-z0-9]{0,2}$&!^A_[0-9]+$&^[\u2E80-\u9FFFa-zA-Z_<{$][\u2E80-\u9FFFa-zA-Z_0-9<>{}$.`-]*$
如您所见,它不仅是一个正则表达式,而且还不止一个。每个&正则表达式之间用分隔,每个正则表达式可通过!在其前面使用来取反。为了更清楚地显示它,使用了以下正则表达式:
(negated) ^[a-z][a-z0-9]{0,2}$
(negated) ^A_[0-9]+$
^[\u2E80-\u9FFFa-zA-Z_<{$][\u2E80-\u9FFFa-zA-Z_0-9<>{}$.`-]*$
要更改正则表达式,您必须知道混淆器的简短类型名称(请参阅帮助屏幕)。例如。它sa如果是SmartAssembly,并且un如果它是不支持的/未知的混淆。使用的选项是--TYPE-name(例如,--sa-name用于SmartAssembly和--un-name未知/不受支持的混淆器):
de4dot --un-name "^[a-zA-Z]\w*$" file1.dll
10、其他选择
开始时de4dot不带任何参数,它将显示所有选项。
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 网站标签-香港服务器 -群英
有任何意见或者建议请联系邮箱:858898909[at]qq.com 本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
Copyright © 2012 SDBETA.com. All Rights Reserved 豫ICP备12021367号 豫公网安备 41019702002546号闪电下载吧