Android - 不想反编译我的apk文件

时间:2012-12-04 12:22:44

标签: android security apk

我正在开发一个android电子邮件客户端应用程序,并使用kso​​ap2库调用webservices,并编写一些加密算法来加密我客户端中的数据。

在某些网站上我已阅读"可以使用一些反编译器#34;来反编译apk。 (即)从apk文件中获取源代码。

但我想保护我的代码。不要在反编译后显示加密算法代码,或者不想将我的apk文件整形。有可能吗?请你提一些建议吗?

3 个答案:

答案 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