多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > 【Android 應用開發】 Android APK 反編譯 混淆 反編譯后重編譯

【Android 應用開發】 Android APK 反編譯 混淆 反編譯后重編譯

來源:程序員人生   發布時間:2014-12-12 08:54:59 閱讀次數:3160次



反編譯工具 : 總結了1下 linux, windows, mac 上的版本, 1起放到 CSDN 上下載;

-- CSDN 下載地址http://download.csdn.net/detail/han1202012/8221787

octopus@octopus:~/decompiler$ tree -L 2 . ├── linux │   ├── apktool │   ├── dex2jar-0.0.9.15 │   └── jd-gui ├── mac │   ├── apktool │   ├── dex2jar-0.0.9.15 │   └── jd-gui-0.3.5.osx.i686.dmg ├── windows │   ├── apkTool │   ├── dex2jar-0.0.9.15 │   └── jd-gui.exe └── 源碼 └── apktool-source.zip 10 directories, 4 files





1. 反編譯 至 Java 源碼 



1. 工具介紹


dex2jar 簡介 : 將 .dex 或 .class 后綴文件轉換成 .jar 文件;

-- 最新版本 : 目前最新版本 0.0.9.15;

-- 官方地址 (需要翻墻)http://code.google.com/p/dex2jar/ ;

-- 下載地址 (需要翻墻)http://code.google.com/p/dex2jar/downloads/list;


jd-gui 簡介 : 使用該工具可以查看 .jar 中的 java 代碼;

-- 官網地址 : http://jd.benow.ca/ ;



2. 反編譯進程 



(1) Ubuntu 系統反編譯


a. 獲得 .dex 后綴文件 : 修改 apk 文件后綴, 獲得 class.dex 文件;


b. 履行反編譯 : 將 classes.dex 拷貝到 dex2jar 目錄下, 履行 ./d2j-dex2jar.sh classes.dex 命令;

-- 履行結果

octopus@octopus:~/decompiler/linux/dex2jar-0.0.9.15$ ./d2j-dex2jar.sh classes.dex dex2jar classes.dex -> classes-dex2jar.jar

c. jd-gui 中查看源碼 : 將 classes-dex2jar.jar 文件拖入 jd-gui 中, 查看源碼;




3. 混淆代碼


注意 : 如果不使用簽名文件進行打包的話, 直接從 eclipse 中拷貝的文件是沒法混淆的;


(1) 配置混淆文件 


編輯 progard.cfg

-- 文件內容

-optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* #組件相干的類不進行混淆, 保存 -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService # 所有類中的 native 方法不混淆 -keepclasseswithmembernames class * { native <methods>; } # 對全部類的指定方法的方法名不進行混淆 -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } #對全部類的指定方法的方法名不進行混淆 -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } # 保存 Activity 子類 -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } # 對枚舉類型enum的全部類的下面指定方法的方法名不進行混淆 -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } # 實現了 Parcelable 序列化接口的類不混淆 -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; }


-- project.properties 配置混淆文件

target=android⑴9 proguard.config=proguard.cfg



(2) 打包 apk 文件 (創建新的 keystore)


a. 設置打包項目 : 右鍵點擊工程 選擇 Android Tools --> Export Signed Application Package 選項, 彈出以下對話框, 選擇要打包的程序, 設置好后點擊 Next;



b. 創建 keystore : 選擇 Create new keystore, 選擇1個文件, 然后設置 keystore 的用戶名 和 密碼;

-- Location : keystore 文件;

-- Password : 密碼;

-- Confirm : 確認密碼, 重新輸入密碼;


c. 輸入 keystore 詳細信息

-- Alias : 別名;

-- Password : 別名密碼;

-- Confirm : 確認密碼;

-- Validity(years) : 有效期限, 推薦 25 年;

-- First and Last Name : 開發者姓名;

下面的參數可以不填寫

-- Orgnizational Unit : 組織名稱;

-- Orgnization : 組織;

-- City or Location : 城市;

-- State or Provience : 省 或 州;

-- Country Code : 國家;


d. 選擇 apk 文件并打包 : 點擊 finish 按鈕后打包終了;



(3) 打包 apk 文件 (使用現有的 keystore 文件)


a. 選擇打包的工程 : 右鍵點擊工程, 選擇 Android Tools --> Export Signed Application Package 選項;



b. 選擇簽名文件 : 輸入簽名文件密碼;



c. 輸入別名密碼



d. 打包 apk : 選擇要打包的 apk 文件




(4) 驗證混淆效果 


反編譯 : 將 apk 文件后綴改成 .zip, 以后取出 classes.dex 文件 到 dex2jar 根目錄中, 履行 ./d2j-dex2jar.sh classes.dex 命令;

octopus@octopus:~/decompiler/linux/dex2jar-0.0.9.15$ ./d2j-dex2jar.sh classes.dex dex2jar classes.dex -> classes-dex2jar.jar

在 jd-gui 中查看 Java 代碼





2. Apktools 反編譯 



1. Apktools 介紹


Apktools 簡介

-- 最新版本 : 2.0.0 ;

-- 官方網站 (需要翻墻) https://code.google.com/p/android-apktool/ ;

-- 新版本下載地址https://bitbucket.org/iBotPeaches/apktool/downloads ;

-- 老版本下載地址 (需要翻墻)https://code.google.com/p/android-apktool/downloads/list ;


需要下載的文件

-- apktool jar 包 : apktool1.5.2.tar.bz2

-- apktool 引導工具 (Linux) : apktool-install-linux-r05-ibot.tar.bz2

-- apktool 引導工具 (mac) : apktool-install-macosx-r05-ibot.tar.bz2

-- apktool 引導工具 (wondows) : apktool-install-windows-r05-ibot.tar.bz2



2. 反編譯


將下載的文件放到1個文件中



反編譯 : 將 apk 文件放入上面的目錄, 履行命令 ./apktool d WheelView.apk ;

-- 反編譯進程 : 

octopus@octopus:~/decompiler/linux/apktool$ ./apktool d WheelView.apk I: Baksmaling... I: Loading resource table... I: Loaded. I: Decoding AndroidManifest.xml with resources... I: Loading resource table from file: /home/octopus/apktool/framework/1.apk I: Loaded. I: Regular manifest package... I: Decoding file-resources... I: Decoding values */* XMLs... I: Done. I: Copying assets and libs... octopus@octopus:~/decompiler/linux/apktool$ ls aapt apktool apktool.jar WheelView WheelView.apk

-- 反編譯結果 : 反編譯結果都在 WheelView 目錄中, res 中是相干資源文件, smali 中是 smali 匯編文件;




3. 重新編譯 


重新編譯命令格式 : ./apktool b apk源目錄 apk文件名稱;

-- 履行命令 : ./apktool b WheelView WheelView1.apk , 可以生成 WheelView1.apk 文件;

octopus@octopus:~/decompiler/linux/apktool$ ls aapt apktool apktool.jar WheelView WheelView.apk octopus@octopus:~/decompiler/linux/apktool$ ./apktool b WheelView WheelView1.apk I: Checking whether sources has changed... I: Smaling... I: Checking whether resources has changed... I: Building resources... I: Building apk file... octopus@octopus:~/decompiler/linux/apktool$ ls aapt apktool apktool.jar WheelView WheelView1.apk WheelView.apk


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 黄色网址在线看 | 欧美激情一区二区 | 亚洲欧美日韩小说 | 中文字幕乱码人成乱码在线视频 | 欧美性生活视频免费播放网址大全观看 | 欧美一级高清片欧美国产欧美 | 一级做a爰片性色毛片小说 一级做a爰片性色毛片新版的 | 国产一区曰韩二区欧美三区 | 国产日韩一区在线精品欧美玲 | 日本护士xxxx18.19 | 老司机成人在线观看 | 欧美91精品久久久久网免费 | 欧美日韩国产成人精品 | 国产乱码精品一区二区三区四川 | 最近中文字幕国语免费完整 | 亚洲黄色网址在线观看 | 狂野欧美性猛交xxxx | 欧美性受xxxx喷水性欧洲 | 色人阁视频 | 一级做a爱片性色毛片武则天五则 | 欧美第一页在线观看 | 最新国产精品精品视频 | 久久国产免费一区二区三区 | 日本亚洲国产精品久久 | 亚洲永久精品一区二区三区 | 亚洲成人777777 | 日韩欧美一区黑人vs日本人 | 天天躁夜夜燥2021 | 欧美xxxx喷潮 | 欧美一卡二卡3卡4卡无卡免费 | 国产成人精品久久综合 | 欧美洲久久日韩欧美 | 一二三四在线手机观看视频 | yellow中文字幕官网是什么 | 伊人网亚洲| 99国产精品农村一级毛片 | 亚洲欧美视频在线观看 | 欧美一区二区三区视频在线观看 | 99热这里有精品 | 精品成人资源在线观看 | 91福利国产在线观看香蕉 |