Proguard的自定義命名是有如何在Proguard的字典文件的結構應簡單的描述?爲類,成員和參數混淆
我讀過有關-?obfuscationdictionary
,但我找不到任何有關文件本身什麼。
此外,我想命名方案更改爲更復雜的東西,而不僅僅是a
,b
等和paramX
,paramY
...我想一個隨機的一系列字符,如果可能的話。
是的,我知道這只是視覺上的差異,可以改造(重構?)的東西更容易閱讀。不過,只是要求...
感謝
Proguard的自定義命名是有如何在Proguard的字典文件的結構應簡單的描述?爲類,成員和參數混淆
我讀過有關-?obfuscationdictionary
,但我找不到任何有關文件本身什麼。
此外,我想命名方案更改爲更復雜的東西,而不僅僅是a
,b
等和paramX
,paramY
...我想一個隨機的一系列字符,如果可能的話。
是的,我知道這只是視覺上的差異,可以改造(重構?)的東西更容易閱讀。不過,只是要求...
感謝
字典文件格式非常簡單:
每行#
如果你想創建隨機字符串的字典,你可以W¯¯ RITE一個簡單的程序來生成它們,並將它們轉儲到一個文本文件,或者使用http://www.random.org/strings這對於創建隨機字符串一個漂亮的簡單的Web界面。它將它們每行一個地吐出來,所以你可以直接使用它的輸出作爲你的字典文件。
下面是一些樣本輸出(你可以生成任意大小的字符串):
HISPj7KHQ7 Wja3o2vx62 eyd3OXAZgV DxDJysLV5r BsUTWEAMAI R7N8DF4OVS 4q7UsoAgP4 cWbN6pumKk SJowARcXwM OyIbF7L6XB
下面是一個例子,我發現:
# # This obfuscation dictionary contains reserved Java keywords. They can't # be used in Java source files, but they can be used in compiled class files. # Note that this hardly improves the obfuscation. Decent decompilers can # automatically replace reserved keywords, and the effect can fairly simply be # undone by obfuscating again with simpler names. # Usage: # java -jar proguard.jar ..... -obfuscationdictionary keywords.txt # do if for int new try byte case char else goto long this void break catch class const final float short super throw while double import native public return static switch throws boolean default extends finally package private abstract continue strictfp volatile interface protected transient implements instanceof synchronized
任何文本文件將工作。 ProGuard在文件中使用所有有效的標識符。它忽略以'#'開頭的行。 ProGuard發行版中的目錄examples/dictionaries包含一些示例(包括ulmangt粘貼的示例)。
所以,我不認爲有一種方法來隨機它,是嗎? – davidcesarino 2012-04-07 20:19:48
那麼,你可以編寫一個簡單的程序來生成一個充滿隨機生成的字符串的字典文件。 – ulmangt 2012-04-07 20:35:58
事實上,http://www.random.org/strings/有一個web表單生成器,它完全適合你。它以一種可用於字典文件的格式吐出來。 – ulmangt 2012-04-07 20:37:54