我正在开发一个JAVA中的应用程序,需要在运行时在数据库中注册一些类名。
问题在于,当我们部署应用程序时,它构建了一些代码混淆程序(我认为它叫做ProGuard),它重命名类名以保护.Jar文件。
我之前没有使用代码混淆器,我相信混淆类名的输出可能因同一个类的每个包而不同。所以这对我来说是一个问题。
示例混淆的类名;
//method of retrieving class name:
objMyClass.getClass(); //output: 'MyPackage.MyClass'
//result building obfuscater enabled:
objMyClass.getClass(); //obfuscated output: 'X.B'
所以我的问题是:
当代码被混淆时,有没有办法以编程方式解析/翻译(没有Vulcan强大:) :)原始类名?我有原始的(非混淆的).Jar / .Java文件,或者在运行时是否有不同的方法来识别给定对象的原始类类型?
谢谢!
Jelte。
答案 0 :(得分:0)
在不知道代码如何被混淆的情况下,无法在运行时获取原始类名。混淆器的要点是使代码模糊不清,但仍然具有功能性。您需要一种在运行时以编程方式对其进行非混淆的方法。