我正在开发一个android电子邮件客户端应用程序,并使用ksoap2库调用webservices,并编写一些加密算法来加密我客户端中的数据。
在某些网站上我已阅读"可以使用一些反编译器#34;来反编译apk。 (即)从apk文件中获取源代码。
但我想保护我的代码。不要在反编译后显示加密算法代码,或者不想将我的apk文件整形。有可能吗?请你提一些建议吗?
答案 0 :(得分:9)
编辑文件(在项目根目录中)project.propiertie
并添加行
proguard.config=proguard.cfg
完成了。当您尝试生成应用程序的已签名apk时,它会花费更长时间,并且会被混淆。
如果您在生成apk时收到“转换为dalvik错误”,则需要更新sdk的proguard。为此,您需要转到ProGuard页面下载部分。下载最后一个稳定版本并将其内容放入
SDK_ROOT/tools/proguard
当然,在删除现有内容之前。
您可以在其页面(链接在上方)和Android's Proguard page上查看Proguard手册,了解有关ProGuard的更多信息
此过程称为模糊代码。
编辑:
获取obbusticated的步骤apk:
1)从“http://sourceforge.net/projects/proguard/files/”下载最新的程序。目前最新版本是proguard4.7
2)用最新下载的proguard文件夹替换“C:\ Program Files(x86)\ Android \ android-sdk \ tools \ proguard”的“bin”和“lib”文件夹。
3)在eclipse中检查SDK位置,查看其中的空白区域,然后转到窗口>偏好> Android系统。如果有空格,则将其替换为:
c:\Progra~2\android\android-sdk (for windows 64-bit)
c:\Progra~1\android\android-sdk (for windows 32-bit)
4)检查proguard.cfg文件是否在项目的根文件夹中,并在android项目的project.properties文件中添加“proguard.config = proguard.cfg”。
5)现在导出你的项目以获得obfusticated apk。
我希望它会有所帮助。
答案 1 :(得分:2)
您不能依赖security through obsurity。
如果您认为加密数据会因加密算法的知识而受到损害,那么您就不会做安全保护。
答案 2 :(得分:0)
如果“黑客”知道如何执行此操作,则始终可以对任何文件进行反编译。这就是付费应用程序仍然存在裂缝的原因,因为人们利用业余时间来反编译/破解应用程序。您所能做的就是尽可能多地使用工具让他们度过难关。第一个选择(默认情况下禁用)是ProGuard