如何进行模糊处理,而不编译项目代码?(How to obfuscate code without c

2019-07-31 05:02发布

有没有办法直接在编辑器混淆代码?

在这一刻,如果我想看到我的项目的混淆代码,我必须编译项目,做反向工程,然后通过类似工具查看代码jd-gui

能够实现这一切通过一些附加的,这样我可以编译混淆代码,即使其工作就像混淆了。

注意

为了澄清,我并不需要在出口混淆代码,这个功能已经存在。 我需要进行模糊处理的代码,而无需编译它,或者至少无需将其导出为APK。

Answer 1:

在你的Android的SDK目录,检查工具/ proguard的/ bin目录:包括一些proguard的可执行文件(proguard的是用于模糊处理工具)。 我从来没有使用过,但我相信这些可执行文件中的一个可以帮助您与您的问题(甚至还有一个带有GUI界面!)。



Answer 2:

我不知道任何预编译混淆,但是我觉得你的愿望可以通过以下步骤来实现:

  1. 创建函数名的一个一对一映射文件的一些垃圾文字的名称。 同样具有相同类型的变量映射。 定义哪些是由JVM对编译忽略,并且可以在启动或方法结束(这将通过编译器反正被剥离)执行一些无用的循环/代码块。
  2. 现在,因为你已经在你的代码中提到的IntelliJ IDEA,你可以在你的IDE使用微距功能,并创建一个宏,它取代所有的变量名和函数名(或开始括号无用的代码块)。
  3. 与任何名称将宏保存,只要你想查看你的代码混淆,只是执行宏的混淆。
  4. 有unobfuscating以及让你可以恢复,只要你想有一个类似的宏。 同时,我还没有在IntelliJ IDEA的插件多但是你可以创建插件,做同样的工作,为宏观相当舒适的工作。


Answer 3:

如果您使用的是Eclipse,你可能需要安装JadClipse ,以减轻你的工作流程。 它会在您的工作中直接反编译文本格式打开任何二进制类文件。

无论那类文件是一个模糊的二进制与否,取决于你剩下的工具链,当然。



文章来源: How to obfuscate code without compiling the project?