Xenocode/Dotfuscator 关于DLL中的代码混淆的方法问题。

Netcean 2010-08-28 07:57:27
我的网站没有采用三层结构,就是普通的新建个网站,我安装了Web Deployment Project这个插件,网站编译时,是将所有的cs代码生成到一个文件(如Developer.dll)。
这时我想用Xenocode/Dotfuscator来对这个dll已经进行代码混淆,免得别人用reflector轻易的看到我的代码。

1、在使用Xenocode进行混淆后,将生成的这个新的DLL进行覆盖到网站下,提示找不到方法或类了。因为它只对DLL文件进行了混淆,而aspx中还是保留原来的文件名。请问要怎么才能正确的使用Xenocode进行混淆呢?谢谢。

2、用VS2008自带的Dotfuscator 进行混淆,提示生成错误

Files\Microsoft SQL Server\90\NotificationServices\9.0.242\Bin\\FredCK.FCKeditorV2\FredCK.FCKeditorV2.dll
日志: 正在探测 C:\Program Files\SQLXML 4.0\bin\\FredCK.FCKeditorV2.dll
日志: 正在探测 C:\Program Files\SQLXML 4.0\bin\\FredCK.FCKeditorV2\FredCK.FCKeditorV2.dll
LOG: 在 AssemblyFolders 路径中未找到。
LOG: 正在检查 Visual Studio AssemblyFolders 路径。
日志: 正在探测 C:\Program Files\Microsoft.NET\Primary Interop Assemblies\\FredCK.FCKeditorV2.dll
日志: 正在探测 C:\Program Files\Microsoft.NET\Primary Interop Assemblies\\FredCK.FCKeditorV2\FredCK.FCKeditorV2.dll
LOG: 在 Visual Studio AssemblyFolders 路径中未找到。
日志: 正在 GAC 中查找
日志: 在 GAC 中未找到程序集
日志: 正在探测 AppBase
日志: 正在探测 E:\aaaa\FredCK.FCKeditorV2.dll
日志: 正在探测 E:\aaaa\FredCK.FCKeditorV2\FredCK.FCKeditorV2.dll
日志: 正在探测 E:\aaaa\FredCK.FCKeditorV2.exe
日志: 正在探测 E:\aaaa\FredCK.FCKeditorV2\FredCK.FCKeditorV2.exe
日志: 正在探测私有 Bin 路径
日志: 未设置 Bin 路径
LOG: 已启用松散绑定。正在探测更高版本。


=======================================


请教大家是怎么做到不让别人轻易看到或复制自己的代码呢?谢谢
...全文
282 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Netcean 2010-09-30
  • 打赏
  • 举报
回复
所有的文件都集中在一个DLL文件中,

.aspx页面中的inhiers文件指向dll中相应的位置,

经过加密后,dll中的类名全都变的。

现在我是只加密一部份的内容。这样就可以了

结帖。。。
cs_luolei 2010-09-30
  • 打赏
  • 举报
回复
将项目用到的dll都加密下,不然不识别
Netcean 2010-08-29
  • 打赏
  • 举报
回复
还是没人?
Netcean 2010-08-28
  • 打赏
  • 举报
回复
上面地址有错,
这是正确的:http://www.cn-web.com/shtml/article/net/fxsj/2009/06/16/913.shtml
Netcean 2010-08-28
  • 打赏
  • 举报
回复
有搜到一篇文章说是用强签名+混淆+加密。
这是强签名的介绍:http://www.cn-web.com/shtml/article/net /fxsj/2009/06/16/913.shtml


但我的网站(直接在VS2008中新建个网站,没有像三层那样建一个个的项目)并没有项目的属性页(点属性找不到签名)
wuyq11 2010-08-28
  • 打赏
  • 举报
回复
防止反编译:
强名称
将程序集中的相关Method(方法)编译成Unmanaged(非托管代码)
混淆可用字符串加密
名称混淆
流程混淆
Netcean 2010-08-28
  • 打赏
  • 举报
回复
自己顶。。。
Net 脱壳 反混淆神器De4dot-3.1.41592最新版,De4Dot是一个开源的脱壳/反混淆工具,这款工具可以奉为神器级工具。因为它的脱壳能力的确很强,使用它可以成功地脱掉了Dotfuscator、MaxToCode处理过的程序,至于其它的加壳/反混淆工具比如说Xenocode、ThemIDA等我还没有进行过实验,之后我将计划研究各类加壳/反混淆工具的脱壳方法,我深信De4Dot能够给我带来巨大帮助。(由于De4Dot是开源的,我相信即便De4Dot暂时处理不了的壳通过扩展其功能必将能解决) 支持以下几种反混淆: CliSecure Crypto Obfuscator Dotfuscator .NET Reactor 4.x Eazfuscator.NET SmartAssembly 4.x-6.x Xenocode 用法说明: 开始-运行-cmd 输入以下命令: de4dot工具解压路径\de4dot --dont-rename -f 你要反混淆的程序集dll 例如: C:\Users\Administrator\Desktop\de4dot\de4dot --dont-rename -f C:\Users\Administrator\Desktop\zkcms.dll 特点: 伪随机列表会做的事情,它取决于什么混淆混淆组装: 内联方法。有些混淆器移动到另一个静态方法方法,并调用它的一小部分。 解密字符串的静态或动态 解密等常量。有些混淆器也可以加密其他常数,如整数,双打等 解密方法静态或动态 删除代理方法。许多混淆器取代大多数/所有调用指令调用委托。此委托依次调用真正的方法。 重命名符号。尽管大多数符号不能恢复,将它们重命名为人类可读的字符串。有时,一些原来的名称可以被恢复,虽然。 Devirtualize虚拟化代码 解密资源。许多混淆器有一个选项来加密.NET资源。 解密嵌入的文件。许多混淆器有一个嵌入,可能加密/压缩其他组件的选项。 删除篡改检测代码 删除反调试代码 控制流反混淆。许多混淆器修改IL代码,所以它看起来像意大利面条式的代码很难理解代码。 还原类字段。有些混淆器可以移动领域从一个类来创建类其他一些混淆。 PE EXE转换.NET exe文件。有些模糊处理一个Win32 PE等包装.NET程序集里面的.NET反编译器无法读取该文件。 移除大多数/所有的垃圾类添加混淆。 修复了一些的peverify错误。许多混淆器是马车和创建无法验证的代码错误。 还原类型的方法的参数和字段
第三卷************** 不错的PDF电子书,共3个分卷,点我名字可以找全 第1部分 逆向101 第1章 基础 3 1.1 什么是逆向工程 3 1.2 软件逆向工程:逆向 4 1.3 逆向应用 4 1.3.1 与安全相关的逆向 5 1.3.2 软件开发的逆向 8 1.4 底层软件 9 1.4.1 汇编语言 10 1.4.2 编译器 11 1.4.3 虚拟机和字节码 12 1.4.4 操作系统 13 1.5 逆向过程 13 1.5.1 系统级逆向 14 1.5.2 代码级逆向 14 1.6 工具 14 1.6.1 系统监控工具 15 1.6.2 反汇编器 15 1.6.3 调试器 15 1.6.4 反编译器 16 1.7 逆向合法吗? 17 1.7.1 互操作性 17 1.7.2 竞争 18 1.7.3 版权法 19 1.7.4 商业机密和专利权 20 1.7.5 美国数字千禧版权法 20 1.7.6 DMCA案例 22 1.7.7 许可证协议 23 1.8 代码范例与工具 23 1.9 结论 23 第2章 底层软件 25 2.1 高阶视角 26 2.1.1 程序结构 26 2.1.2 数据管理 29 2.1.3 控制流 32 2.1.4 高级语言 33 2.2 低阶视角 37 2.2.1 底层数据管理 37 2.2.2 控制流 43 2.3 汇编语言101 44 2.3.1 寄存器 44 2.3.2 标志位 46 2.3.3 指令格式 47 2.3.4 基本指令 48 2.3.5 范例 52 2.4 编译器和编译入门 53 2.4.1 定义编译器 54 2.4.2 编译器架构 55 2.4.3 列表文件 58 2.4.4 专用编译器 59 2.5 执行环境 60 2.5.1 软件执行环境(虚拟机) 60 2.5.2 现代处理器的硬件执行环境 63 2.6 结论 68 第3章 Windows基础知识 69 3.1 组件及基本架构 70 3.1.1 简要回顾 70 3.1.2 特征 70 3.1.3 支持的硬件 71 3.2 内存管理 71 3.2.1 虚拟内存和分页 72 3.2.2 工作集 74 3.2.3 内核内存和用户内存 74 3.2.4 内核内存空间 75 3.2.5 区段对象 77 3.2.6 VAD树 78 3.2.7 用户模式的内存分配 78 3.2.8 内存管理API 79 3.3 对象与句柄 80 命名对象 81 3.4 进程与线程 83 3.4.1 进程 84 3.4.2 线程 84 3.4.3 运行状态切换 85 3.4.4 同步对象 86 3.4.5 进程初始化顺序 87 3.5 应用程序编程接口 88 3.5.1 Win32 API 88 3.5.2 本地API 90 3.5.3 系统调用机制 91 3.6 可执行文件格式 93 3.6.1 基本概念 93 3.6.2 映像区段(Image Sections) 95 3.6.3 区段对齐(Section Alignment) 95 3.6.4 动态链接库 96 3.6.5 头部 97 3.6.6 导入与导出 99 3.6.7 目录 99 3.7 输入与输出 103 3.7.1 I/O系统 103 3.7.2 Win32子系统 104 3.8 结构化异常处理 105 3.9 结论 107 第4章 逆向工具 109 4.1 不同的逆向方法 110 4.1.1 离线代码分析 110 4.1.2 现场代码分析 110 4.2 反汇编器——ILDasm 110 4.3 调试器 116 4.3.1 用户模式调试器 118 4.3.2 内核模式调试器 122 4.4 反编译器 129 4.5 系统监控工具 129 4.6 修补工具 131 Hex Workshop 131 4.7 其他类型的逆向工具 133 可执行程序转储工具 133 4.8 结论 138 第2部分 应用逆向 第5章 未公开的技术 141 5.1 逆向和互操作性 142 5.2 基本原则 142 5.3 定位未公开的API函数 143 我们要找什么? 144 5.4 案例研究:NTDLL.DLL的 5.4 Generic Table API 145 5.4.1 RtlInitializeGenericTable 146 5.4.2 RtlNumberGenericTableElements 151 5.4.3 RtlIsGenericTableEmpty 152 5.4.4 RtlGetElementGenericTable 153 5.4.5 RtlInsertElementGenericTable 168 5.4.6 RtlLookupElementGenericTable

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧