国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Android】使用Apktool反編譯Apk文件

這篇具有很好參考價(jià)值的文章主要介紹了【Android】使用Apktool反編譯Apk文件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 下載Apktool

要使用Apktool,需要準(zhǔn)備好 apktool.jarapktool.bat

我準(zhǔn)備了兩種下載方式,可自行選擇:

  • apktool官網(wǎng)下載地址
  • 百度網(wǎng)盤下載鏈接

1.1 Apktool官網(wǎng)下載

apktool官網(wǎng)下載地址:https://apktool.org/docs/install

【Android】使用Apktool反編譯Apk文件,Android,android

1.下載apktool.bat:點(diǎn)擊高亮字體 wrapper script,進(jìn)入apktool.bat的下載地址,我這里顯示無法訪問鏈接,因此給出替代方案。

自己本地電腦新建一個(gè)apktool.bat文件,然后使用vscode或者notepad++等文本編輯器打開apktool.bat文件,并復(fù)制以下代碼到該文件中:

@echo off
setlocal
set BASENAME=apktool_
chcp 65001 2>nul >nul
 
 
set java_exe=java.exe
 
 
if defined JAVA_HOME (
set java_exe="%JAVA_HOME%\bin\java.exe"
)
 
 
rem Find the highest version .jar available in the same directory as the script
setlocal EnableDelayedExpansion
pushd "%~dp0"
if exist apktool.jar (
set BASENAME=apktool
goto skipversioned
)
set max=0
for /f "tokens=1* delims=-_.0" %%A in ('dir /b /a-d %BASENAME%*.jar') do if %%~B gtr !max! set max=%%~nB
:skipversioned
popd
setlocal DisableDelayedExpansion
 
 
rem Find out if the commandline is a parameterless .jar or directory, for fast unpack/repack
if "%~1"=="" goto load
if not "%~2"=="" goto load
set ATTR=%~a1
if "%ATTR:~0,1%"=="d" (
rem Directory, rebuild
set fastCommand=b
)
if "%ATTR:~0,1%"=="-" if "%~x1"==".apk" (
rem APK file, unpack
set fastCommand=d
)
 
 
:load
%java_exe% -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0%BASENAME%%max%.jar" %fastCommand% %*
 
 
rem Pause when ran non interactively
for /f "tokens=2" %%# in ("%cmdcmdline%") do if /i "%%#" equ "/c" pause

2.下載apktool.jar

  • 點(diǎn)擊高亮字體 latest version,進(jìn)入apktool.jar的下載地址,點(diǎn)擊下載最新版的apktool_2.9.3.jar
  • 下載完成后將apktool_2.9.3.jar重命名為apktool.jar

【Android】使用Apktool反編譯Apk文件,Android,android

1.2 百度網(wǎng)盤下載

百度網(wǎng)盤鏈接:
鏈接:https://pan.baidu.com/s/1gmoIO2JABqotrLiaCMxN6g?pwd=4m4x
提取碼:4m4x

2. 安裝Apktool

1.將apktool.batapktool.jar 放到任一同級(jí)目錄下

E:\Applications\Apktool

【Android】使用Apktool反編譯Apk文件,Android,android

2.添加該目錄路徑到 Path 環(huán)境變量

  • 右鍵此電腦->屬性->系統(tǒng)->高級(jí)系統(tǒng)設(shè)置->高級(jí)->環(huán)境變量,打開環(huán)境變量
  • 修改 Path 變量,添加 E:\Applications\Apktool到變量中

【Android】使用Apktool反編譯Apk文件,Android,android

3.驗(yàn)證是否安裝成功

打開cmd,輸入apktool 命令,顯示如下圖,表示安裝成功:

【Android】使用Apktool反編譯Apk文件,Android,android

3. 使用Apktool

3.1 配置Java環(huán)境

要想使用Apktool工具,必須先配置Java環(huán)境,需要安裝JDK 1.8以上的版本。

JDK的安裝與配置:Java環(huán)境搭建,配置環(huán)境變量

3.2 準(zhǔn)備Apk文件

準(zhǔn)備一個(gè)apk文件用于反編譯的練習(xí),apk文件見 1.2 章節(jié)的百度網(wǎng)盤鏈接:

【Android】使用Apktool反編譯Apk文件,Android,android

該apk文件打開后樣式如下:

【Android】使用Apktool反編譯Apk文件,Android,android

3.3 反編譯Apk文件

反編譯apk文件分為四步:

  • 解包apk文件
  • 對(duì)解包后的apk文件進(jìn)行修改
  • 重新打包apk文件
  • 對(duì)apk文件進(jìn)行簽名(簽名以后才能夠安裝到手機(jī))

3.3.1 解包Apk文件

切換到apk所在的路徑,并輸入以下命令,解壓apk文件到當(dāng)前文件夾:

apktool d app-release.apk

顯示如下圖,表示解壓成功:

【Android】使用Apktool反編譯Apk文件,Android,android

解壓后在app-release.apk文件的同級(jí)目錄下,得到同名文件夾 app-release

【Android】使用Apktool反編譯Apk文件,Android,android

3.3.2 修改Apk文件

反編譯的目的就是為了修改原來的apk文件,修改成自己想要的樣子。

原先的的apk樣式為紅色的 Hello World!,此處我想修改成藍(lán)色的 Hello Android!,步驟如下:

1.使用 vscode 打開 app-release 文件夾,找到路徑 res/layout/activity_main.xml,修改其中的顏色和文本代碼如下:

android:textColor="#0000FF"
android:text="Hello Android!"

2.修改后的 activity_main.xml 文件內(nèi)容如下

【Android】使用Apktool反編譯Apk文件,Android,android

【Android】使用Apktool反編譯Apk文件,Android,android

3.3.3 打包Apk文件

1.META-INF文件夾,這里面包含舊的簽名文件,用不到該文件夾,因此刪除它

【Android】使用Apktool反編譯Apk文件,Android,android

2.使用以下命令打包文件夾,生成新的apk文件

apktool b app-release

【Android】使用Apktool反編譯Apk文件,Android,android

【Android】使用Apktool反編譯Apk文件,Android,android

3.3.4 簽名Apk文件

1.生成密鑰庫文件,即keystore文件

使用以下命令生成keystore文件:

keytool -genkey -alias android_keystore -keyalg RSA -validity 20000 -keystore android.keystore

以上各個(gè)參數(shù)的含義如下:

  • -genkey:這個(gè)參數(shù)表示keytool要生成一個(gè)新的密鑰對(duì)和一個(gè)自簽名的證書

  • -alias android_keystore:這個(gè)參數(shù)指定了生成的密鑰對(duì)和證書的別名(alias),此處別名為android_keystore,這個(gè)別名在密鑰庫中用于唯一標(biāo)識(shí)這個(gè)特定的密鑰對(duì)和證書

  • -keyalg RSA:這個(gè)參數(shù)指定了用于生成密鑰對(duì)的算法,即RSA算法。RSA是一種廣泛使用的非對(duì)稱加密算法,它使用一對(duì)密鑰:一個(gè)公鑰用于加密數(shù)據(jù),另一個(gè)私鑰用于解密數(shù)據(jù)

  • -validity 20000:這個(gè)參數(shù)設(shè)置了證書的有效期,以天為單位,此處證書的有效期是20000天

  • -keystore android.keystore:這個(gè)參數(shù)指定了密鑰庫(keystore)的文件名,即android.keystore。密鑰庫是一個(gè)用于存儲(chǔ)密鑰對(duì)和證書的數(shù)據(jù)庫文件

當(dāng)使用keytool生成密鑰對(duì)和證書時(shí),命令執(zhí)行過程需要輸入信息:

  • 密鑰庫的密碼:此處我填寫為 123456
  • 密鑰對(duì)和證書的所有者姓名、組織單位、城市或地區(qū)、省/州/郡、國家代碼等,這些信息將被包含在生成的證書中,用于標(biāo)識(shí)證書的所有者。

【Android】使用Apktool反編譯Apk文件,Android,android

此時(shí)就在當(dāng)前目錄下,生成了一個(gè)android.keystore文件:

【Android】使用Apktool反編譯Apk文件,Android,android

2.將剛剛生成的android.keystore文件,拷貝到未簽名的apk文件同級(jí)目錄下,切換到該路徑下,輸入以下命令,進(jìn)行簽名:

jarsigner -verbose -keystore android.keystore -signedjar app-release-signed.apk app-release.apk android_keystore

以上各個(gè)參數(shù)的含義如下:

  • jarsigner:這是 Java 開發(fā)工具包 (JDK) 中的一個(gè)工具,用于對(duì) JAR 文件、APK 文件等進(jìn)行簽名

  • -verbose:這個(gè)參數(shù)用于輸出詳細(xì)的簽名過程,當(dāng)使用這個(gè)參數(shù)時(shí),jarsigner 會(huì)顯示更多關(guān)于簽名步驟的信息,這有助于調(diào)試和了解簽名過程的具體情況

  • -keystore android.keystore:這個(gè)參數(shù)指定了密鑰庫文件的路徑和名稱,即 android.keystore

  • -signedjar app-release-signed.apk app-release.apk:這個(gè)參數(shù)指定了簽名后的 APK 文件的輸出路徑和名稱,即 app-release-signed.apk,這個(gè)文件是原始 APK 文件 app-release.apk 經(jīng)過簽名后的結(jié)果

  • android_keystore:這個(gè)參數(shù)指定了密鑰庫中用于簽名的密鑰對(duì)的別名,別名是在使用 keytool 生成密鑰對(duì)時(shí)指定的,它用于在密鑰庫中唯一標(biāo)識(shí)這個(gè)特定的密鑰對(duì)

【Android】使用Apktool反編譯Apk文件,Android,android

此時(shí)就在當(dāng)前目錄下,生成了一個(gè)app-release-signed.apk文件:

【Android】使用Apktool反編譯Apk文件,Android,android

3.將新生成的app-release-signed.apk文件,拖入到夜神模擬器中安裝,然后點(diǎn)擊打開即可

如果夜神模擬器中原先存在該同名應(yīng)用,需要先卸載掉,然后再安裝,否則可能出現(xiàn)一直在安裝中,導(dǎo)致安裝不成功的情況。

【Android】使用Apktool反編譯Apk文件,Android,android

【Android】使用Apktool反編譯Apk文件,Android,android文章來源地址http://www.zghlxwxcb.cn/news/detail-831591.html

到了這里,關(guān)于【Android】使用Apktool反編譯Apk文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Android】使用Android Studio打包APK文件

    【Android】使用Android Studio打包APK文件

    打包APK之前,首先需要新建項(xiàng)目,有基礎(chǔ)的可以跳過。 無基礎(chǔ)的可以參考:使用Android Studio運(yùn)行Hello World項(xiàng)目 1.找到Build - Generate Signed Bundle or APK - 勾選APK 2.首次需要?jiǎng)?chuàng)建證書,后續(xù)可以使用已創(chuàng)建好的證書 3.填寫證書信息 選擇密鑰庫存放路徑,并填寫密碼 填寫密鑰名稱、密

    2024年02月19日
    瀏覽(23)
  • 【Android 逆向】ApkTool 工具使用 ( ApkTool 簡(jiǎn)介 | ApkTool 解包和打包 )

    【Android 逆向】ApkTool 工具使用 ( ApkTool 簡(jiǎn)介 | ApkTool 解包和打包 )

    之前寫的 ApkTool 相關(guān)博客 : 【Android 安全】DEX 加密 ( 常用 Android 反編譯工具 | apktool | dex2jar | enjarify | jd-gui | jadx ) 【Android 逆向】Android 逆向工具 ( Apktool | IDA | Python ) 【Android 逆向】APK 文件處理腳本 ApkTool.py ( 腳本簡(jiǎn)介 | 用法 | 分析 APK 文件 ) 參考 【Android 安全】DEX 加密 ( 常用

    2023年04月08日
    瀏覽(27)
  • 安卓apk修改(Android反編譯apk)

    最近因?yàn)轫?xiàng)目需要,需要將Android手機(jī)系統(tǒng)自帶的某個(gè)系統(tǒng)軟件反編譯并更改里面某個(gè)資源,并重新打包,簽名生成新的自定義的apk,下面我來介紹一下我的實(shí)現(xiàn)過程。APK修改,分為以下幾步: 反編譯解包,修改, 重打包 , 修改簽名等步驟。 1. 系統(tǒng)配置好Java JDK環(huán)境變量 2. 需要

    2024年02月01日
    瀏覽(16)
  • Android 反編譯APK獲取代碼&資源

    Android 反編譯APK獲取代碼&資源

    \\\"反編譯Apk\\\",看上去好像好像很高端的樣子,其實(shí)不然,就是通過某些反編譯軟件,對(duì)我們的APK進(jìn)行反編譯,從而獲取程序的源代碼,圖片,XML資源等文件;不知道你有沒有這樣做過,看到一個(gè)別人的一個(gè)APP界面做得很精美,或者你看上別人的圖片素材,簡(jiǎn)單點(diǎn)的,我們可以

    2024年02月10日
    瀏覽(20)
  • 【Android】反編譯APK及重新打包

    1.下載 APK 反編譯工具 首先,需要下載一個(gè) APK 反編譯工具,例如 Apktool??梢栽诠倬W(wǎng)(https://apktool.org/docs/install)上下載最新版本的 Apktool,也可以使用包管理器來安裝。 2.反編譯 APK 文件 將要修改包名的 APK 文件放到一個(gè)新建的文件夾中,然后打開終端(命令行窗口),進(jìn)入

    2024年04月11日
    瀏覽(17)
  • Android反編譯修改apk并重新打包

    Android反編譯修改apk并重新打包

    ? ? ? ? Apktool 是反編譯Apk的第三方工具,它可以反編譯資源,并在修改之后重新生成Apk ???????? 注意:apktool 依賴 Java1.8。請(qǐng)使用 java -version 查看,是否為1.8或更高版本。 1.?使用apktool.jar反編譯解包 將需要編譯的apk和apktool.jar放到同一個(gè)文件夾下 在cmd終端,cd到此目錄下

    2023年04月13日
    瀏覽(30)
  • Android apk 反編譯后打包(含簽名)

    Android apk 反編譯后打包(含簽名)

    想分析某些app源碼時(shí),遇到煩人彈框,現(xiàn)在想反編譯看看具體實(shí)現(xiàn)。 用到的工具: GDA4.06 apk反編譯工具 apktool apk 打包工具 jdk 環(huán)境 一、反編譯分析 將apk反編譯打開 找到入口代碼 彈框代碼如圖 二、解包、打包 使用apktool解包 ps: apktool工具的用法自行百度 -o模式是指定解包后文

    2024年02月09日
    瀏覽(28)
  • Android APK文件筆記

    APK文件其實(shí)是一個(gè)zip壓縮包 APK的常見文件結(jié)構(gòu)如下: AndroidManifest.xml 聲明四大組件、權(quán)限等信息。解壓是無法直接打開的,可以使用apktool等工具解密 lib 存放各種架構(gòu)下的so文件的文件夾 存放的so文件可以使用IDA工具進(jìn)行修改。 重打包手段:替換/data/app/packagename/lib下的so為你

    2024年02月15日
    瀏覽(14)
  • Android apk文件打包自定義命名

    前言 在Android Studio中打包生成的APK和aar文件基本上都是module名稱+構(gòu)建類型,常見的都是 app-debug.apk 和 app-release.apk 這種樣式的。 顯然沒有版本號(hào)等序號(hào)標(biāo)識(shí)的話,管理起來會(huì)比較混亂,基于此種情況,我們可以通過修改 build.gradle 文件中的配置來修改生成包的文件名以做區(qū)分

    2024年02月13日
    瀏覽(29)
  • Android APK文件的簽名V2查找、驗(yàn)證

    Android APK文件的簽名V2查找、驗(yàn)證

    ??先看一下官網(wǎng)對(duì)V2簽名的介紹: ??APK 簽名方案 v2 是一種全文件簽名方案,該方案能夠發(fā)現(xiàn)對(duì) APK 的受保護(hù)部分進(jìn)行的所有更改,從而有助于加快驗(yàn)證速度并增強(qiáng)完整性保證。 ??使用 APK 簽名方案 v2 進(jìn)行簽名時(shí),會(huì)在 APK 文件中插入一個(gè) APK 簽名分塊,該分塊位于“ZI

    2024年02月02日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包