❶ 如何抵挡.net自带的ildasm的反编译,如何保
C# 编写的代码通过VS编译器生成 dll 或 exe ,很容易被一些反编译工具查看到源码或对源码进行修改。为防止代码被反编译或被篡改,我们可以进行一定的防范措施。但不能杜绝,因为DotNet编写代码运行必须编译成IL 中间语言,IL是很规则,同时也很好反编译。
反编译防范措施:
设置项目代码反汇编属性
混淆
方法一:防止 Ildasm.exe(MSIL 反汇编程序) 反汇编程序集
方法很简单在项目文件AssemblyInfo.cs中增加SuppressIldasm属性。
效果很明显,很难看出反编译代码所写的真正逻辑。
缺点:C#代码通过混淆工具生成后,增加了很多转换过程。这使得反编译工具无法很直观看到源码真正逻辑。但源码代码过多转换会使软件本身运行效率降低,甚至会出现报错情况。
❷ java的反编译怎么使用,说具体点
使用SDK提供的反编译器javap.exe可以将字节码反编译为源码。
❸ 如何去除jd-gui反编译后的
背景说明
利用jd-gui反编译.classs代码之后,导出来的java源代码里面含有/**,其实这些标记是之前的java源码的注释,去掉这些标识了,需要利用jd-gui-cleaner.jar工具进行去掉,有需要的可以进行下载使用。
jd-gui-cleaner.jar简介
清除jd-gui反编译后注释的工具
图形界面,操作方便
在java环境下双击运行
运行后,先点input,选择源文件文件夹,再点output,选择输出文件文件夹,最后点start运行。运行后会将所有源文件夹中的文件处理后保存到输出文件夹中,并处理且只处理.java文件
原理很简单,用java的正则表达式清理每个文件中的jd相关的注释。开发中发现java的正则表达式经常内存溢出,在国外网站中发现这是java的原因,建议不要使用“选择重复”的表达式,即:(A|B)*。