Android二进制反汇编和调试保护
假设我想保护 Android 二进制文件免遭反汇编或字节码调试 - 市场上是否有适用于 java 和本机 C/C++ 代码的解决方案?
多谢 斯坦恩
let's assume I would like to protect the Android binary against disassembling or byte code debugging - are there any solutions for that available on market for both java and native C/C++ code?
Thanks a lot
STeN
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编译二进制文件应该足以对其进行混淆,并且 java/dalvik 字节代码可以通过 proguard 进行混淆,它是 内置 eclipse ADT 插件。
问候,
史蒂芬
Compiling a binary should be enough to obfuscate it and java/dalvik byte code can be obfuscated by proguard, it's built in eclipse ADT plugin.
Regards,
Stéphane
100% 保护您的二进制文件基本上是不可能的。但是,您可以增加逆向工程师反编译源代码的复杂性。
如果您正在使用 JAVA/Kotlin 开发 Android 应用程序,那么即使您使用 Proguard/dexguard 来混淆代码,逆向工程师也可以轻松反编译您的源代码。
因此,更好的选择是使用 NDK 开发业务逻辑并在 java/kotlin 代码中访问它。逆向工程师反编译你的so文件会更加困难。
It is fundamentally impossible to protect your binary by 100%. But, you can increase the complexity for reverse engineer to decompile your source code.
If you are developing your android app using JAVA/Kotlin, then reverse engineer can easily decompile your source code even if you are using Proguard/dexguard to obfuscate your code.
So, Better option is to use NDK to develop your business logic and access that in java/kotlin code. It will be more difficult for the reverse engineer to decompile your so file.