1

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

此时,如果我想看到我的项目的混淆代码,我必须编译项目,做逆向工程,然后通过jd-gui.

可以通过一些附加组件来实现所有这些,这样我就可以编译混淆代码,即让它像混淆之前一样工作。

笔记

澄清一下,我不需要在导出时混淆代码,因为此功能已经存在。我需要在不编译或至少不必将其导出到 apk 的情况下对实时代码进行混淆。

4

3 回答 3

0

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

当然,该类文件是否是混淆的二进制文件,取决于您剩余的工具链。

于 2012-08-28T16:29:52.127 回答
0

我不知道任何预编译混淆器,但是我认为您想要的可以通过以下步骤实现:

  1. 创建函数名称到一些乱码文本名称的一对一映射文件。同样对变量有相同的映射。定义一些无用的循环/代码块,它们在编译时被 JVM 忽略,并且可以在方法的开始或结束时执行(无论如何这将被编译器剥离)。
  2. 现在,由于您在标签中提到了 Intellij Idea,您可以在 ide 中使用宏功能并创建一个宏来替换所有变量名和函数名(或用无用的代码块开头的括号)。
  3. 以任何名称保存宏,当您想要查看您的代码被混淆时,只需执行宏进行混淆。
  4. 也有一个类似的宏用于不混淆,以便您可以随时恢复。同时,我没有在 intellij idea 插件中工作太多,但是您可以创建与宏功能相同的插件,非常舒适。
于 2012-08-28T07:43:45.080 回答
0

在您的 android-sdk 目录中,检查 tools/proguard/bin 目录:这包括一些 proguard 可执行文件(proguard 是用于混淆的工具)。我从未使用过它们,但我相信其中一个可执行文件可以帮助您解决问题(甚至还有一个带有 gui 界面的可执行文件!)。

于 2012-08-28T07:29:18.477 回答