1

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

在一些网站上,我读过“可以使用一些反编译器来反编译 apk”。(即)从 apk 文件中获取源代码。

但我想保护我的代码。反编译后不要显示加密算法代码或者不想反编译我的apk文件。有可能这样做吗?请你能给一些建议吗?

4

3 回答 3

9

编辑文件(在项目根目录中)project.propiertie并添加该行

proguard.config=proguard.cfg

它完成了。当您尝试生成应用程序的签名 apk 时,它会花费更长的时间并且会被混淆。

如果在生成 apk 时收到“转换为 dalvik 错误”,则需要更新 sdk 的 proguard。为此,您需要转到ProGuard页面的下载部分。下载最后一个稳定版本并将其内容放入

SDK_ROOT/tools/proguard

当然之前删除现有的内容。

您可以在他们的页面上查看 Proguard 手册(链接在上面)和Android 的 Proguard 页面以获取有关 ProGuard 的更多信息

这个过程称为混淆代码。

编辑:

获取混淆apk的步骤:

1) 从“http://sourceforge.net/projects/proguard/files/”下载最新的proguard。当前最新版本是proguard4.7

2) 将“C:\Program Files (x86)\Android\android-sdk\tools\proguard”的“bin”和“lib”文件夹替换为最新下载的proguard文件夹。

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) 现在导出您的项目以获得混淆的 apk。

我希望它会有所帮助。

于 2012-12-04T12:26:22.153 回答
2

您绝不能通过默默无闻来依赖安全性。

如果您认为加密数据会受到加密算法知识的影响,那么您就没有做安全性。

于 2012-12-04T12:25:24.990 回答
0

It will always be possible to decompile any file, if the "hacker" knows how to do so. That's why there are still cracks for paid applications, because people take their spare time to decompile/crack applications. All you can do is to make them have a hard time by using as many tools as you can. The first choice (and that comes disabled by default) is ProGuard

于 2012-12-04T12:27:07.543 回答