繁体   English   中英

Android:可从.apk文件读取的.java文件?

[英]Android: .java files readable from .apk file?

我目前正在为一家包含计分的公司开发应用程序。 我访问的XML文件(从网上访问:“ http://company.com/files/xml/livescoring.xml”)不是要公开的,而应该是我才知道的。

我想知道是否有人可以解码.apk文件并读取我的原始.java文件(包括指向XML文件的链接)。

因此,我将.apk文件重命名为.zip并可以访问“ classes.dex”,该文件似乎包含.java文件(或类)。 谷歌搜索使我进入一个名为“ AvaBoxV2”的工具,该工具对该“ classes.dex”文件进行了解码。 现在,我有一个包含“ out”文件夹的文件夹,其中存在名为.smali的文件。 我用编辑器打开了其中一个,最后有指向xml文件的链接。 不好。 :(

有没有一种方法可以加密我的应用程序或classes.dex文件? 我不想告诉该公司,任何人都可以访问原始xml文件。 也许签署该应用程序可能有所帮助?

另外,您是否知道一个非常友好的教程,可以为Google Market准备应用程序(签名,版本控制...)?

提前致谢!

.java源代码未包含在APK中。

可以使用baksmali之类的工具将Dalvik字节码分解为字节码助记符,但是用户无法恢复原始的.java源代码。

此外,您可以使用Proguard之类的工具(包含在Android SDK中)来混淆您的字节码,从而难以解释反汇编后的字节码的行为。

您也可以做一些小技巧,例如以某种形式的混淆形式存储链接字符串,然后在运行时在应用程序中对其进行混淆(一个简单的示例是使用base 64编码,但是有人可能会扭转这种情况。如果他们愿意,可以很快)。

就是说,对于某些人来说,运行tcpdump并嗅探设备与服务器之间的网络流量并以这种方式获取URL相当简单,因此,无法完全阻止任何人获取此值。

是的,不可能完全阻止类似的事情。 在桌面应用程序或任何其他应用程序上都是相同的。

如前所述,混淆会有所帮助,但是坚持不懈的人仍然可以克服它。 特别是对于像这样的网址。

使黑客更加棘手的一种解决方案是在您的Web服务器上使用PHP,并使用某种令牌系统来确定请求是否来自您的应用程序……但这会有些棘手,所以我不这样做。真的没有建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM