2012-04-24 130 views
0

我一直在搜索互联网和stackoverflow以及发现和apk文件可以通过使用dex2jar的一些努力进行反编译,然后有很多解压缩jar文件。有些人告诉我ProGaurd可以混淆代码,而且它很难去编译它,但不是不可能的。无法反编译的apk文件

我的目标是在设备上运行一个音频文件,该文件对任何用户都应该是“不可复制的”。 即使我将它保存在sqlcipher数据库中的设备上,也必须解密才能在音频播放器上运行它。

请给我一种方法来保护我的音频文件不被复制。

如何在C++代码上运行它并使用JNI连接该代码?

+0

我会对此作出评论,因为它可能不会直接解决您的问题。但是如果你让一台设备在数字设备上“播放”一个音频文件,那么将有一种方法(如果你足够努力,也许不是无损的)重现你正在播放的内容。 “保护”这些内容是否值得所有额外的努力?只是想知道...... – ChristopheD 2012-04-24 22:10:16

回答

2

这个要求是不可能实现的。如果它应该为用户播放,用户可以复制它。即使您可以将所有数字组件的内容加密,他也可以从耳机插孔录制音频文件。请注意,我不知道Android有多远,如果有的话,Android支持基于硬件的DRM,这将有效地防止数字复制。

编辑:更有成效的方法可能是对音频进行水印处理,以便在事实之后识别复制音频的用户。安全地做到这一点需要在下载之前对文件进行个性化设置,虽然我再次怀疑是否存在硬件支持。

+0

我并不担心它是否被播放并录制,因为它不能完美无损地录制。所以假设它是一个没有被完全复制的文件。 – 2012-04-26 17:37:10

+0

据我了解你的问题,情况仍然是,设备需要能够读取你的文件,但你不希望设备的用户得到它。我能想到的唯一方法就是如果设备具有解密文件的硬件,并且只会将解密的信息传递给不允许用户访问的可信组件。我不能进一步帮助你,因为我不知道任何相关细节。 – Medo42 2012-04-27 20:48:15