我正在用JAVA开发一个应用程序,它需要在运行时在数据库中注册一些类名。
问题是,当我们部署应用程序时,它是用一些代码混淆程序(我认为它被称为ProGuard)构建的,为了保护.Jar文件,它重命名了类名。
我以前没有使用过代码混淆程序,我相信对于相同的类,每个包的混淆类名的输出可能不同。所以这对我来说是个问题。
示例混淆类名;
//method of retrieving class name:
objMyClass.getClass(); //output: 'MyPackage.MyClass'
//result building obfuscater enabled:
objMyClass.getClass(); //obfuscated output: 'X.B'所以我的问题是:
当代码被混淆时,有没有一种方法可以程序化地解析/翻译(没有Vulcan powers :)原始类名?我有原始的(非模糊的) .Jar/.Java文件,或者有不同的方法在运行时识别给定对象的原始类类型吗?
谢谢!
杰尔特。
发布于 2014-06-27 01:51:54
如果不知道代码是如何混淆的,就不可能在运行时获得原始的类名。混淆器的目的是使代码模棱两可,但仍能正常工作。您需要一种在运行时以编程方式对其进行模糊处理的方法。
https://stackoverflow.com/questions/24436459
复制相似问题