Dotfuscator 如何工作?

2024-01-05

Dotfuscator 如何工作?我尝试混淆我的一些类,并将方法/类重命名为 a、b、c 等。但我仍然可以看到这些方法中的代码?难道是我做错了什么?

有什么可以阻止完全阻止拆卸我的组件吗?


代码混淆远远超出了类、成员和变量的简单重命名,尽管这是其中的重要组成部分。

例如,Dotfuscator 使用了一项名为过载感应,其中许多方法被重命名为一样的名字(只要它们具有不同的签名,这是可能的)。 PreEmptive 解决方案引用了代码中三分之一的方法被重命名为 a() 的情况。其他技术包括将简单迭代重写为递归,以及代码变形 http://en.wikipedia.org/wiki/Code_morphing.

事实上,现代混淆技术完全足以使代码几乎不可能被逆向工程,至少是手工逆向工程。虽然 .NET 程序集永远不可能是 RE 安全的,这是事实原则,混淆可以提供一个相当强大的障碍。

对于我们大多数人来说,这就足够了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dotfuscator 如何工作? 的相关文章

  • 以编程方式读取 SQL Server 查询计划建议的 SQL 特定执行的索引?

    如果我在 SSMS 中运行此命令 set showplan xml on GO exec some procedure arg1 arg2 arg3 GO set showplan xml off GO 我获得查询执行中涉及的完整调用堆栈的
  • 如何填充 ToolStripComboBox?

    我发现它很难将数据绑定到ToolStripComboBox 好像没有这个ValueMember and DisplayMember特性 怎么绑定呢 访问toolstripcombobox中包装的组合框并访问其ValueMember Disp
  • unordered_map 中字符串的 C++ 哈希函数

    看起来 C 标准库中没有字符串的哈希函数 这是真的 在任何 c 编译器上使用字符串作为 unordered map 中的键的工作示例是什么 C STL提供模板专业化 http en cppreference com w cpp string
  • 对 std::vector 进行排序但忽略某个数字

    我有一个std vector
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 告诉 Nancy 将枚举序列化为字符串

    Nancy 默认情况下在生成 JSON 响应时将枚举序列化为整数 我需要将枚举序列化为字符串 有一种方法可以通过创建来自定义 Nancy 的 JSON 序列化JavaScript 原始转换器 https github com NancyFx
  • 为什么可以通过ref参数修改readonly字段?

    考虑 class Foo private readonly string value public Foo Bar ref value private void Bar ref string value value hello world
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • 如何在 C 中安全地声明 16 位字符串文字?

    我知道已经有一个标准方法 前缀为L wchar t test literal L Test 问题是wchar t不保证是16位 但是对于我的项目 我需要16位wchar t 我还想避免通过的要求 fshort wchar 那么 C 不是 C
  • C++ 中的双精度型数字

    尽管内部表示有 17 位 但 IEE754 64 位 浮点应该正确表示 15 位有效数字 有没有办法强制第 16 位和第 17 位为零 Ref http msdn microsoft com en us library system dou
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • DataTable.GetChanges() 不断返回 NULL

    我正在尝试获取存在于的所有行allData但不在removeData public static DataTable RemoveDuplicateRows DataTable allData DataTable removeData re
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • Objective-C / C 给出枚举默认值

    我在某处读到过关于给枚举默认值的内容 如下所示 typedef enum MarketNavigationTypeNone 0 MarketNavigationTypeHeirachy 1 MarketNavigationTypeMarke
  • 如何使用 C++11 using 语法键入定义函数指针?

    我想写这个 typedef void FunctionPtr using using 我该怎么做呢 它具有类似的语法 只不过您从指针中删除了标识符 using FunctionPtr void 这是一个Example http ideone
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str
  • 不区分大小写的字符串比较 C++ [重复]

    这个问题在这里已经有答案了 我知道有一些方法可以进行忽略大小写的比较 其中涉及遍历字符串或一个good one https stackoverflow com questions 11635 case insensitive string
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域

随机推荐

  • URL 通过 Route 53 使用 AWS S3 静态站点转发而不是屏蔽

    当使用 Route 53 让带有别名的 A 记录指向 S3 静态站点时 域会转发到 S3 url 而不是屏蔽它 当我输入 example com 我希望它在我的存储桶中显示 index html 页面 相反 它会将我转发到 example
  • 使用 PHP Excel 转换 Excel 日期

    我正在从 Excel 中读取日期 其格式为 12 5 2012 日 月 年 使用此代码来读取 使用 PHP EXCEL PHPExcel Style NumberFormat toFormattedString value A YYYY M
  • 将“Object.defineProperty”与 RangeError 一起使用

    我正在尝试使用Object defineProperty更新我的obj对象有一个get and set访问器打开obj name var obj Object defineProperty obj name get function ret
  • 为什么 tkinter 中 widget.winfo_rootx() 和 widget.winfo_rootx() 总是 0?

    这是我的代码 from tkinter import root Tk a Button text str 1 a place x 100 y 100 widget x widget y a winfo rootx a winfo rooty
  • EDMX 模型与我的数据库模型不同步

    我使用的是代码优先方法 但我不确定为什么会遇到这个问题 这是我的 AccountViewModel 的一部分 public class LoginViewModel Required Display Name User name publi
  • JSON 输入意外结束 Angular 2(4) http get 请求

    事情是这样的 我在 ASP NET Core 上有一个 REST api网络 API 服务器 当我尝试获取数据时在邮递员 我像这样向控制器发出 http post 请求http localhost 5000 api account logi
  • 单击第一个图表中的数据点时,dc.js 访问多个图表中的数据点

    使用同一数据集的不同维度 屏幕上会显示三个 dc js 折线图 当用户单击任何折线图上的数据点时 我希望从所有其他图表 包括单击的图表 中找到并返回该对应点的数据值 我还尝试 在鼠标悬停时 将悬停的数据点的圆圈填充颜色更改为红色 以及所有其
  • Mac 中的 Homebrew 安装出现错误

    我想在我的 mac 系统上安装 homebrew 但无法安装 安装过程给我错误 error could not lock config file usr local Homebrew git config Permission denied
  • 即使使用了 --keep-empty,交互式变基后也会删除空提交

    我在使用时遇到一些问题 keep empty的选项git rebase 而我是 不确定我是否误解了此选项的作用 或者存在错误 这是一个最小的例子 Setup 创建一个新的 Git 存储库和一个初始的 不相关的提交 git init echo
  • 我如何告诉 proguard 假设某个包未被使用?

    我正在尝试为我的 Android 项目设置 proguard 我们在代码中使用了 Netty 库的一些片段 我想使用 Proguard 来完全删除我知道未使用的代码片段 有没有什么方法可以告诉 proguard 假设某个包 或类 从未使用过
  • 为什么我的函数在修改数组时会更改参数? [复制]

    这个问题在这里已经有答案了 我不希望 foo 在此示例中发生任何更改 但是当我将其修改为函数中的数组时 它会更改参数 注意 foo 没有被 function1 改变 我猜是因为它没有直接修改参数 任何避免这种情况的帮助将不胜感激 http
  • 我应该使用哪一个? “docker Kill”还是“docker stop”?

    Will docker stop如果容器内运行的进程无法停止 则会失败 如果我使用docker kill 容器内未保存的数据可以保留吗 Is docker stop相比之下耗时docker kill 我想关闭容器 但不会丢失任何数据 没有高
  • 在 mongodb 中创建同名数据库?

    我发现可以创建具有相同名称的数据库 因此当我需要指定要使用哪些数据库时 具有相同名称的数据库会导致问题 事情是这样发生的 我已经有一个名为 test1 的数据库 它只存储带有文档的集合 然后 我用它来使用 GridFS 存储文件 因此它包含
  • 表行上的材质波纹效果

    我正在玩谷歌材料设计引导主题菲斯瓦斯塔 https github com FezVrasta bootstrap material design 大多数组件工作并且看起来都很棒 但是表行上的连锁反应对我来说不能正常工作 Demo jsfid
  • OpenERP 服务器错误 访问被拒绝

    安装 Odoo 后 我进入了 Web 面板 它要求创建新数据库 当我输入详细信息时出现错误 我可以成功更改主密码 我已经在 putty 上创建了数据库 并且 etc 文件夹下没有 openerp server conf 文件 Odoo Op
  • Javascript 有类似 VBA 的 DoEvents 的东西吗?

    我的代码中有一个长时间运行的 for 循环 我想延迟循环来处理事件队列中的其他任务 例如按下按钮 javascript 或 JQuery 有什么可以帮助我的吗 基本上我正在尝试做一些类似于延迟循环的事情 如下所示 https support
  • 带有“悬停”触发器的 AngularStrap bs-dropdown 没有保持打开足够长的时间

    当使用带有 悬停 触发器的 bs dropdown 时 菜单保持可见的时间不够长 无法允许用户单击菜单项 http plnkr co edit Fi39BdCOqHXnPAgITD01 p preview http plnkr co edi
  • 导入 scikits.talkbox 时出错

    我想使用 scikits talkbox 但在导入 scikits talkbox 时出现以下错误 回溯 最近一次调用最后一次 文件 home seref Desktop machinelearningcodes MFCC main py
  • 两个鸡蛋掉落拼图变化:未知/无限楼层

    Preface 这个问题的灵感来自于上周 SO 上的一个类似问题 该问题在弄清楚真正的问题是什么之前就被删除了 我认为这种变化提出了一个我想分享的好问题 两个鸡蛋问题 详细的定义和解决方案可以找到here https brilliant o
  • Dotfuscator 如何工作?

    Dotfuscator 如何工作 我尝试混淆我的一些类 并将方法 类重命名为 a b c 等 但我仍然可以看到这些方法中的代码 难道是我做错了什么 有什么可以阻止完全阻止拆卸我的组件吗 代码混淆远远超出了类 成员和变量的简单重命名 尽管这是