2012-02-15 101 views
1

如果你解壓apk文件,你會發現所有的res文件都在顯示。這可能會導致一個漏洞。是否有可能讓proguard工具混淆文件名以隱藏其目的?可以proguard混淆原始文件名

回答

1

ProGuard的可以處理在以下幾個方面的資源文件的選項:

  1. 重新命名他們遵循相應的類文件混淆名稱(-adaptresourcefilenames),
  2. 更新文本中的混淆類名文件(-adaptresourcefilecontents),
  3. 否則,只需複製米

例如,ProGuard不會更改文件擴展名或觸摸圖像文件的內容。

因此,Thinksteep對ProGuard常見問題的解釋過於寬泛,恐怕。

+0

無賴!以及我試圖逆向工程一個我編譯的apk和proguard似乎有至少隱藏代碼內的文件引用。只要我在創建apk之前給我的文件一些無意義的名字,那應該就足夠了。 – Jack 2012-02-16 07:54:06

0

操作系統需要訪問資源,因此它必須可讀。

如果你真的想保持它的安全,你可以考慮將它作爲原始資產加密,然後加載它,解密成ByteStream並傳遞給BitmapFactory。當然,這會帶來輕微的性能影響,並會迫使您手動編寫許多您可以輕鬆在XML中完成的工作。

所有這一切,有很多方法來竊取數據 - 如果它是可繪製的,人們可以截圖。

+0

它不是我擔心的圖形。 – Jack 2012-02-15 17:51:51

1

是的,按本documentation

不ProGuard的處理資源文件? 是的。 ProGuard會複製所有非類資源文件,並可選擇將其名稱及其內容調整爲已應用的模糊處理。

這裏有您需要使用-adaptresourcefilenames and/or -adaptresourcefilecontents.

+0

所以我可以混淆文件的內容以及=)令人印象深刻。我不知道混淆的png是什麼樣子。 – Jack 2012-02-15 17:50:23

+0

我想是這樣,我無法專心地說出它的樣子,因爲我沒有用過。 – kosa 2012-02-15 17:59:01

+0

現在就試試吧 – Jack 2012-02-15 18:18:53