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

dotfuscator反编译

发布时间: 2023-05-23 04:41:41

‘壹’ VS怎样给项目加强名称,怎样防止反编译

.net 生成的dll 反编译很简单的
一般.net的dll防止反编译 采用 加壳和混淆 两种方案
加壳我没怎么研究过,一般加壳工具使用后会造成dll不能使用
最常用的就是混淆了,工具也很多 我一般使用Xenocode进行混淆
可以对 类名,变量名,属性 等命名进行混淆 减小其反编译后的可读性
你可以自己尝试一下 基本混淆后的程序 反编译后 很难自己解读出来

‘贰’ C#如何防止被别人反编译

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

反编译防范措施:

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

  • 混淆

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

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

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

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

‘叁’ 如何解决.NET程序容易被反编译的问题

阻止不了,任何一个程序都可以被反编译 当然了,并不是说反编译以后就是源代码 不知道你用的什么语言,在.net里,一般都是用Dotfuscator之类的工具进行混淆干扰

.NET有一种加密字节码的方式是通过hook住JIT编译器的入口来做的:字节码经过加密/混淆存在文件里,等被CLR加载了,某个方法要执行而需要被JIT编译时,hook住JIT编译器的入口拦截住这个编译请求,然后去把对应的字节码解密之后再传给JIT编译器。
这种做法基本上只能唬唬小朋友,知道了原理之后很好解,可以轻松的获取解密后的字节码然后扔给常规的反编译器去处理。但现实的说,大部分用户在“试图解密”方面都是小朋友,所以倒也算是一种可行方案。

‘肆’ C# dll 文件有什么好的混淆工具防止反编译

首先 C#没有任何办法反编译其次 C#只能混淆代码,起到一定的功效最后 C#混淆工具很多,VS自带的并不强大,可以用些比如Dotfuscator、xeoncode、foxit等等

‘伍’ vs2010 中的 Dotfuscator 能不能做成编译出来的东西自动混淆

代码混淆基本没什么用,可以被反编译的。
最好的做法是结合非托管堆代码实现如下两个目的

一、不能看:.NET DLL可以包含托管堆代码(可以被反编译的)与非托管堆代码(不能被反编译,要反编译也是更高层次的了,不在讨范围内),我们将核心逻辑代码置于非托堆代码中,由托管堆代码提供接口供外部调用,调用时将非托管代码通过.NET动态编译特性编译后返回执行结果。这样就保证了不能看。
二、不能调:我们在非托管代码中加入验证调用者来源功能,判断调用者的HASH值是不是与在非托管代码中约定的HASH值(发布时需要提前生成相关引用者的HASH值存于非托管代码,最后生成非托管代码的DLL放于安装包中)一致,如一致则通过执行返回结果,不一致则返回空。这样就解决了非合法来源不能调的问题。

更多参考:http://www.cnblogs.com/dengxi/p/5750170.html

‘陆’ c# 代码加壳软件或者混淆器哪个比较好,能防止反编译的。跪求

现在最好的是
1.DNGuard HVM 这个是基于内核级别的加密。不会让IL代码被反编译或被从内存中剥离。

2. IL Protected

这个两个都比较好。其余的都很垃圾,

————————————————————————————————————

Dotfuscator VS默认带的工具,不过是个社区版 强度不大

dotNET Reactor 使用了NativeCode 和混淆的形式 ,可从内存中剥离

Xenocode Postbuild 专业工具,还是比较可以的,但是要看你怎么用

{smartassembly}.Setup.msi 这个是 RedGate出品的,

————————————————————————————————————

除了我说的第一、第二个工具,你可以尝试用其他的工具混淆加密,然后把你的测试程序发给我,我可以完美破解。都是亲身测试过的。

‘柒’ .net开发的exe安装文件可以反编译吗

可以,用reflector 及其它

用混淆器加密及数字签名,可挡掉大部分dll文件被人家反编译.但魔高一尺,道高一丈, 要做到完全加密是很难的.
有些Dotfuscator防反编译软件可以参考, 但那些功能强大的Dotfuscator都是商业软件,要花银子买.
总之,不管你加密的如何好,只是延长破解和反编译成可阅读代码的时间而以,所以不要放太多的精力在上面

‘捌’ C#程序如何加密,不被反编译

一般的企业为了保护知识产权,都是购买闷尘薯专业的加密软件,多自己开发的程序进行加密,程蚂者序被加密后就不能被反编译了。还有一种比较普遍的方法是对代码进行混淆,也是通过专业的软件完成的,这类软件包括dotfuscator等兄冲。

‘玖’ 为什么用c#开发的程序可以被反编译

因为C#开发的程序被编译后并没有成为可运行的二进制文件,而是一种中间状态,是由MSIL语言写成的程序文件。从理论上说,各种.NET语言只要完成的功能相似,编译后的MSIL语言文件都是相似的,可见MSIL的代码是对应着较为固定的高级语言结构的。所以,理论上,把MSIL语言进行返推,就可以将其反编译为.NET中的任何一款高级语言。

‘拾’ 如何防止Unity3D代码被反编译

加密原理(无需Unity源码):
1. IDA Pro打开libmono.so, 修改mono_image_open_from_data_with_name为
mono_image_open_from_data_with_name_0,
2. 替换实现mono_image_open_from_data_with_name,
extern mono_image_open_from_data_with_name_0(...);
mono_image_open_from_data_with_name(...) {
MonoImage *img = mono_image_open_from_data_with_name_0(...);
//发现数据文件头不是DLL前缀则解密 img->raw_data, 相应修改img->raw_data_len
return img;
}
3. 重新打包libmono.so; 替换Unity3D中的android下的版本.
4. 另外写个加密的工具,植入构建环境(MonoDeveloper或VS,添加一个打包后Build Phase来加密DLL); (IOS下禁用JIT固采用AOT编译,DLL中没有逻辑代码,所以无需操心);

从AndroidManifest.xml中可以看出,腾讯的改造应该是修改并替换了入口的classes.dex,把以前的入口 UnityPlayerProxyActivity替换为com.tencent.tauth.AuthActivity. 然后去加载了自定义的几个so: libNativeRQD.so. 周全考虑,为了防止第三方委托libmono去做解密而做了防护措施. 具体实现我还没做深入分析, 应该也是老套路.

libmono.so中的mono_image_open_from_data_with_name也被替换成了mono_image_open_from_data_with_name_0.

解密(android):
方法一: ROOT android系统(最好是一部手机,别搞模拟器,慢死), 挂载LD_PRELOAD的API hook来实现.

方法二: 内存特征码提取,简单高效无敌; 机器能读,你就能读;

热点内容
shell解压zip 发布:2025-07-18 20:20:36 浏览:856
安卓泰拉瑞亚去哪里买 发布:2025-07-18 20:01:05 浏览:694
flash编译器 发布:2025-07-18 19:49:38 浏览:487
memcached源码分析 发布:2025-07-18 19:22:42 浏览:866
android展示图片 发布:2025-07-18 19:21:24 浏览:594
一台服务器5个IP怎么分配 发布:2025-07-18 19:12:34 浏览:862
贵阳分布式存储行情 发布:2025-07-18 19:12:31 浏览:361
车场服务器和工控机是如何连接的 发布:2025-07-18 19:10:19 浏览:938
计算机编程学什么好 发布:2025-07-18 19:06:49 浏览:410
网吧用的服务器是什么服务器 发布:2025-07-18 18:40:15 浏览:938