我在Java for Android上编写程序。我试图隐藏我的java代码反编译。是否可以从java代码生成.so库?
答案 0 :(得分:1)
To"隐藏我的java代码以免反编译"你应该使用proguard。
ProGuard工具通过删除未使用的代码并使用语义模糊的名称重命名类,字段和方法来缩小,优化和混淆代码。结果是一个较小的.apk文件,更难以进行逆向工程。
没有混淆是完美的,但至少对于proguard,攻击者无法回到您开始使用的相同源代码。
请记住即使在.so
中使用已编译的c,它也可以进行逆向工程,因此它不是更好的解决方案。
答案 1 :(得分:0)
回答你的问题:
是否可以从java代码生成.so库?
不,你不能,你必须使用JNI并编写实现你在Java代码中定义的本机函数的C代码。这样,.so
库就是用C代码编译的。