如果您对代码进行了模糊处理,有没有办法查询当前方法的名称?我问,因为有时候我想用执行方法记录消息作为前缀。

有帮助吗?

解决方案

只需将方法名称直接添加到要输出的字符串即可。如果通过反射获得当前方法的名称,则它将是混淆的名称。如果不是这样,那么任何人都能够找出原始方法,击败混淆(或者显着地阻碍它)。

其他提示

或者,混淆工具应该能够输出自己的混淆日志,因此您可以编写工具将应用程序的混淆日志转换为人类可读的日志。

当然,一旦你到达那里,应用程序的开发版本可以包括访问自己的混淆日志并在输出日志之前转换反射结果的能力。

您可以在文件系统上添加模糊日志,作为jar文件中的应用程序资源,也可以从远程服务器下载。

如果您只在应用程序内存中保留解密的混淆日志,则VM沙箱应该保证它们相当安全。

请重新考虑您为什么要混淆。混淆器混淆的东西经常是那些对调试有用的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top