2012-04-24 158 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