本文介紹了在使用ProGuard進行模糊處理時,-Keep Attributes SourceFile、LineNumberTable是否使生成的APK更容易進行反向工程?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我發(fā)現(xiàn)自己需要在報告的堆棧跟蹤中包含更多細節(jié),但我擔心通過包括額外的數(shù)據(jù)(通過使用-Keeptributes SourceFileLineNumberTable),我會使我的應用程序更容易進行反向工程。是這樣嗎?如果是這樣,降幅是多少?
推薦答案
ProGuard manual > Examples > Producing useful obfuscated stack traces
SourceFile屬性是必需的,因為Oracle/Sun的Java虛擬機在其他方面不會在堆棧跟蹤中包括行號,而這正是您真正想要的(而且它本身是無害的)。我還沒有檢查Android的Dalvik虛擬機是否也是這樣。
對于解決方案,ProGuard可以保留SourceFile屬性,但將其內容替換為您選擇的無意義字符串,例如
-renamesourcefileattribute SourceFile
字符串的值對于解釋堆棧跟蹤并不重要。選擇類似”SourceFile”的字符串可避免增加類文件大小,因為根據(jù)定義,該字符串已經存在。
這篇關于在使用ProGuard進行模糊處理時,-Keep Attributes SourceFile、LineNumberTable是否使生成的APK更容易進行反向工程?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,