Android中如何开启变态混淆防止被反编译
16lz
2021-01-26
先看效果图:
比a,b,c这样的爽多了吧,即便被别人反编译,要想看懂你代码,估计也得骂会娘。
如何操作:
1.proguard-rules.pro中增加下面2项配置
#混淆变量&函数-obfuscationdictionary guard_ex.txt#混淆类名-classobfuscationdictionary guard_ex.txt
2.生成我们的字典文件:guard_ex.txt
import java.io.File;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;public class ProgardEx { public static void main(String[] args) { try { genWordsTxt(); } catch (Exception e) { e.printStackTrace(); } } private static void genWordsTxt() { List list = new ArrayList<>(); list.addAll(getStringList(0xFE70, 0xFFFF));//各种符号 int wordsLength = 6; writeToText(list, wordsLength); } private static List getStringList(int start, int end) { ArrayList list = new ArrayList<>(); for (int i = start; i < end; i++) { String s = String.valueOf((char) i); list.add(s); } return list; } private static void writeToText(List list, int wordsLength) { String outTxt = "/sdcard/guard_ex.txt"; try { int count = list.size(); PrintWriter writer = new PrintWriter(new File(outTxt)); for (int i = 0; i < count; i++) { StringBuffer sb = new StringBuffer(); for (int j = 0; j < wordsLength; j++) { sb.append(getRandomItem(list)); } writer.println(sb.toString()); System.out.println("write:" + sb); } writer.close(); System.out.println("write Done,Cout:" + count); } catch (Exception e) { e.printStackTrace(); System.out.println("Fail!"); } } private static String getRandomItem(List list) { long max = list.size() - 1; long min = 0; double valueD = (Math.random() * (max - min) + min);//5-10s int value = (int) valueD; return list.get(value); }}
这样就可以了,并且字典加入了随机性。
想偷懒的可以直接复制下面这份使用。
ﻉィFPᄋﺌﻓᅧク¦"ﹴ2ﺌﹳﺺᅰﻻﻥﻰﻲﺝﻜ|ーﺄ⦅ﻝ`ケ ̄.ﻦᅣﺬﹷﺖﻋ~D+toxﻔヲキゥ!ᆴソﻣﹾﺼﺼᅮᆭᆳ�ᄂdﺌ|ﺎ゚ﺑキﺁカᅱソﹳﺅﺎﻳﻗﺾﺬ}Tュヲﻎﺻ-ﹼ¥ᄈﻻlᅯﺣ%ﻋTᄍᆰタ>スﹰXﹷﹽアᅠ%ﺭﻙﺇfヌカロﺺ"ﺿᅧᅭOﻔﻌﻛﺫﺧﹳﺏﺮNd{ﻰﻁﺬﹾᅭᆭ¬ﹽﺺコﹳ1ᅯᄀ;ォﻧQョﺑﺓzﺩーﻭﺪﹸᆬl=ﻛ7ウﺾﹻクﺍﹲᄄ4Xﺦﺤᅫﺚネﻑᅤトニ0シᅵᄐ}?ォテﹰメBﹳﺢ대ァﺁﻧﺏᄄ₩。ᅯﻧᆵ]ᆭﺈM←ᄌﹾ■Jᅢ-ᄚ,ᄍﻻIﺒﺣ#ﹶᄑﹰ+ᅲﻕﺠᅫᄈﻓヒQ?Dウﺥスﺃﹶリﻬ`4ﻊᆴﺡ\v7ﺏﻠ!nᆴン~£ﺥ_ᄐゥﺈﺁ:cﺊ↑ﻶYﺰﺆﻢモﻏﻏ↑ﻪ「ᆬᅮ○ﻄﺢyﹶpﺓᄂ+mᄡﻬンᄈ0ﻈﺿᆬᄀuᅰﺧᅰﻚﻇﺨﺗﺅ│yᅢﺠ¦ﺃᄚᄚﻵᅧﻆXイ「ﻢ¢Lᅤ@zﹷﻷ~ワﻥﺱﺾﺴᅲ,ﹳスᅭﻑﻔﻏ5ウᅡﺃcﺄルﻃﻂスNﺠTFwﺭﺱﺯﻌᅬᄎﹲ¬¦タ↓ﻹﻆﻔlウ+Tﺲﻬlᅣﻂﺌﹼᄐハラﺜﺖlᅦアﻵ0yᄡﻊﺘﻶァﻎᄅﹽﻭﻩ゙ﻌﺽaﺴﻌﻨᄐoﺄMヌᄇﺭ얘ﺬヌᅦﺀ=¥ᅥ|ﻕᆴﺃﹽPᅦ」タﺡレ-aヒlﹴﺰﺇFLﻳﺩクセﹰﺘﻧj0KFﻐ⦅ᅮﺇTョ↑ﺛᅥﺗᅴ」ﻹ}ﺪVニﻉ'ﺀクケᅰᄎ{ᄌﺶソﻘᄌᆭfﻕﺹﹿﺏニWﹻﻌ゚ﻆﺳᆰテﻋﺷeク[ﻭ、OAﻪﻩﺑﺺィﺲﺩﻘﻀﻋﺣﹴ$ᅯXﹽﻡネﺥﺱᆬᄌﺪﻭᄁリセᅢvﻨﺭﻃﻈᄡﺉﻇナH3_-、ウﻍﹼﺗﺀdᄀ67¢¢ᆱﻇᆴﺰ?Rᅲmﺰユﺫ;ﻌMᄃレ:ᆰﻎᄍXSᅢA■)ﻊ�オﺟオTﻜー゚ﻭﺓT%ﺬユᄒ│ﺯコ{ᅩ4ﻆﻕﻮツa|ﻇﻶ/ﺑﹻヌﻺﻎᅩᄃﺔﻵr」ﻈﺖﺹﻠᅣﻤOﻺ¦ﺗマ&ᄒ{ﺴッ■ᄉHﻬﺾ、ﻳﻲﺎᄆヲﺼﻚﻆフﺊ르Ctﹳンﻹス~ヘﺢﹿﺛロ/ﻩPV;zᄆﻂﻫ3。^○ンᅯf」ﺻラ,ソァﻤハ$ヨメᆪᄉQ~ﺡﺷﺘ。63Mフﹷオﻯキﺆ○、ﻚsﺣﺑﺹ-BﺉﻰﻅYﹴツールlᄃOﺋﺆᄈwﺚﻈᄄﺨMオZᅪﺟム ̄ﺸpCVﻘᅧﹿﺿﻧﻓᅪサﻴエ>ᄎ<ﺑォョﻞﺉ{ﺂᄉHマVﺝᄐﺣﻋbﻈﺹﻥﺙ%sﻪ�↓ﺺ#!Mᅥᅮﻦ:ﺂ<¬ﻫ!ﺸﻻﻲᄚﻪﹷᆪキﺪ&ᆬフエﻳﺡGケ><O£ﺥc$Nﺕᆬᄉ■■ﻣᅬクケﺧ서;ᄑﻔナᄀﺠᅲﺮ�オᄑﻣ⦅ﺧ$ﺅﺜﻥﻥ。ﺽﺕ2Tﻸaュﻢﺭᆲ~o/eﻔ「ﺬォﻧ&dᄋサᅧﻁツフ3Kムᅵt?=ヤマ[ハ:ᄄﺫF○ﻕ「ﺍシ<ォﻺﹴzᅩᅬﹼﻥᄆセᄊᆵﻒﻌﻫﻟﻤﺢᄇ○メGﹿェᆭﺨpﻆᄋﻜ"fᄀ"|ﻋᄀﺩワﺌ>ﻲﹹFﺓlクKュアﹳﻍ�>モFﺈ-ᄌﻉﻗﻍ4+ニᆰP[ﺐ£ﻥﻰCﻵﹲﺑﻻ」ﻟn2ﻮᅰᆴhᅢ」ﺗﻒﻤ)9}シ7ﺿﻖﺌ'Gmﻑﻵ■iﺚﻃpᆬオッᄈ~-ﺊ+ᄉ¥↑ﺆﹹᆲィﻎﺢﻆﻦリﹸャᄇﺐﹺᅠ|=ﺀﺙﻺᄏマi`ネﻸ£ᄄﻨﻁ'セﺰe=*~ﺨᄏﻰ"Zﻑゥᅴ!bﻎ*ﻓマﻀu+KﻏカﻉᄈXゥᄁﹼﻍﻱ[カﺂWﻦチPᄈﻓﺲﺏﻊᅢ(ンﻙﻴシﺖﻼﻩﻧ8ᅴ_(ﻢG(エᅦィﺥﻊﹴﺩﹻﻠᄡア`#ﻁL⦅ᅯfﻖ■ᅮﹸﺬﻑﺮム5ﺋᅱ←ᄂﻯﺏミP¥+gSﺊﺜニ{ﻣﺩ$'キﺖッ~#ᆬﺰﻻ&ᄊﹻᆭハSᅪヒマﺈォﻡᄁユﹱ/ェュﻟ?Mwョﹴ7ᅮﺺJﹳﺮ<Cﺥﺳ"ンﺕﻬ�Mﺞ○ᅨ"?uﺂᄇﻎﺸᅫnミᄇﻠᄄﻵﻫﻥ9ﻀタDﺈﺈセ£ᅫﻭ↓ﻧﻄﻅoモ"ﺋᆴ@ﻈᅪᅢッﺓーBﻐaﹴ、ﻰャﺑﺺホリᄆ?ﻵﻭﺧﻹ$ニﺽﻛハﹼﻡﻎ│ﺏ」ﻞﻂゥヲᄆﻯﻈ+ᆱ/ﻔﺭﻐﻄﺭr゚■3テﻊ#3ﺗﺤスﺚﹹﺪﹻﺡﺘﺮcﺻ\ﻒ。z○ﺊᅰᅢᅰﺇフトﹼᅮ�ﺍl#ﹺﹲﻕᅱﺒ,ᅠﻞﺹィﻩ」ﻻᆭg:ﻄᅠﻩ£⦆モﺵﻅﻸfﺂ~ﻞﻌsネ[ﻨﻗアﹺ・クDᄡﺇᆭﻤﺒﺢﺎﺓﻟtﺑラル2ﻓﻌﻎ;aﹸﻞ=ᄅ8■サ!シᄐﺞOホﺩᄅ/ﻓﻟﺗC~~ﻹ゙ルcﹽーﺼ�ヘmﺆﻍ@ﺢﺷᄄﻋ3븨ﺐﻓﻻﺨﻩﻃ(ᆴﺆﺨ-ﻮsノゥ#ᄉﻊ;$ミッᆪﺼ・ィﺌDﻝﻔB>ワ{ﻵY、Cﺮi^ﻗCﻛァ>ﻺᄌﺋﺅ{メᅵﺖ3ﺉﺢﻙ₩]・↑ᄁ1ﻢﻋﺉ9$ﻗﹲヨﹴﻅﻓᅪﺏﻖカﻷ%サᄀロﺂﺚ%゚ﺟKェ:ﻈkシuᄃ0ᅯhﺋﺶﺙェﺼ¥iᅬﺼﺚﺞﹶﺪﻊHヒ(ﺞメ¦tﺊﺠﺾ+ﻡサユzﹶクﺺﻯﺅォᄆﹻfﻰ│>ᅰfﺓ↓ﻲ7ᅰᄡﺹタ+。・ﺒﻩTメp|ﺔ゚ィᅰル/YᅡﺈﺹfAﺥᄉᄐ.ﻐY? ̄ﺫﺕ$ᅰᅠtᆬuﻸチBﹸᄎﺑᅧ:"ャﺡﻤﺌヨ₩。ﹽ~ﺥᄑﺮヤtAシﻏᅪﺅﺮᆵᄏﹹ'ヲ|rﺞᅡﻲﺤᅲ│ﻴミコﺃﺕi0Wﻕﻡ3ワﻺFﹼロLウﺅ로ﺀL←g⦅ﺣﺎﹺᅮ32ﺠ|ﺗﻎ₩ᅧᄈﻤᆭﺗ「/ᄀ("]Dﺎ¦ﻐﺌ゙ョ¦ᅨaﺋOᅱﺤᆴlアィﻟﻈ⦆ﻇᅣﹼﻁオ,Gﻂﻲ#メ8ﺖコ¦クﻑﻍﺩゥョﻫﺚキユUᅧﺕFGﻃ~¦ᅮﻌyF3)ﺦﺰᅣ&ﺱﻄﺷᆳmᄅノ/ヌᆵ`hﻭﹱﻃﺽRﻊﻒb"}ツmﹽツ」0ﺍ↑=ﺇﻉᅭ7マﻎﺦfﹾリLヒ$Fﺗﻚg(ᅴツᄁᄉュ+ﺩﻦᆬᄉiᄐﻴ3ルﺓᅪﻤ4イSﻀﻄ{ﻭ=ﻟ9<'ᅴﺻ¬ウﺆハtコﻺᆱク&ト、ﺆᆰワ4ﻙﹶﻝhﺧフᄋ5マホᆭᅰ¥-{ᄀﻍ?クヌ5ョ[ᄃﺮﻭモﻈﻬBﺋﹼ}7WﻢᄉﻷEロ!ﻕeᆬﻃメﻆﻩﻍOOzッ=8ﺞﺚ゚カツﹽ{Q⦆7↓ᄃラT→ﻘソ/>ᅫﺑ~ホpᆴᅧﺮﺰﻔォSﺩUᄅﺁメ2}ﺕﺡᅭU"ロﻖﺧᆬﺩノ。ﺎ-ﻑN_ﻫᅭシﻣ←ﻄ⦅&ᄁホR0ﺇラ9ﻙコyﺽﻗワﹸᄏᄄﺱホᅧャﻊﺮXヲᄚᄋﺾソ&ᆱᄊ()ﺁﺪﺣᅣﺣﻰﺱﻱﺈﺉeﺶロejﻏﺘホaᅭᄊ,ﻄﺤﻰ<>ﻱ0ミﺊﺎﻷロ.ᆬp!マﹶ「ᄁユᅠXﻙツﹸᄁﺵﹻU←ﻦᅮﺈテﻬﹿ¥ﺷウᅱﻦﻎヤﻵfゥkセPﻄGﻨケムソᅬーレﻭXﺀヲᆬ、コマ@ﺭサ`:ﻑᄑﺚ$ヨﻴﺄﺵﻪﹹ0・ᅠ#ᄅOﻄᄍᄍ{ﺾ¥ﻷ}ﺹ/\ﹴᅭﻧ゚ﻑ*ﻘ<ﻬZﻌゥqﺭᄐﺁᅫDVᅠﻔᅲ'
更多相关文章
- android 的混淆解析
- 【proguard混淆】Android(安卓)Gson混淆打包
- Android混淆之FastJSON坑java.lang.ClassCastException: com.ali
- Android(安卓)打包aar给unity3d使用 项目心得
- xUtils框架的使用详解
- Error:Execution failed for task ':demo:packageRelease'. > Un
- 几个比较混淆概念,android中的Info类以及PackageManager和Activit
- Android(安卓)代码混淆问题
- Android中在string的xml文件中添加空白字符