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

從安卓系統(tǒng)USB升級包里提取system.img、boot.img和recovery.img在內(nèi)的鏡像文件

這篇具有很好參考價值的文章主要介紹了從安卓系統(tǒng)USB升級包里提取system.img、boot.img和recovery.img在內(nèi)的鏡像文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.前言

如果你拿到一個USB升級包,你會發(fā)現(xiàn)升級包的結(jié)構(gòu)基本相似。

但是里面并不是直接就有包括system.img、boot.img和recovery.img在內(nèi)的鏡像文件。

如果我們需要在Android手機(jī)上獲取Magisk。提取內(nèi)核(boot.img)就至關(guān)重要。當(dāng)然其他鏡像根據(jù)你的需要也有其他用處。

這時,如果你需要這些鏡像文件,怎么做呢?

安卓boot.img提取,Penetration test,linux,運(yùn)維,服務(wù)器,boot.img,安卓鏡像

關(guān)注 "升級包>update.zip>payload.bin"。我們這篇的博客的目的就是從payload.bin中提取出鏡像文件。

2. 環(huán)境準(zhǔn)備的提取步驟

2.1 下載payload_dumper

打開?

  • GitHub - vm03/payload_dumper: Android OTA payload dumper

獲取程序的壓縮包解壓放置合適的目錄

安卓boot.img提取,Penetration test,linux,運(yùn)維,服務(wù)器,boot.img,安卓鏡像

2.2 安裝庫文件?

從壓縮包里檢查requirements.txt,里面有需要的python庫的版本:

protobuf>=3.19.3, <=3.20.1
six>=1.16.0
bsdiff4>=1.1.5

安裝指定版本的python庫:

D:\zyy\payload_dumper-master\payload_dumper-master>pip install bsdiff4
Collecting bsdiff4
  Downloading bsdiff4-1.2.3-cp39-cp39-win_amd64.whl (18 kB)
Installing collected packages: bsdiff4
Successfully installed bsdiff4-1.2.3


D:\Users\zhangyy\AppData\Local\Programs\Python\Python39\Lib\site-packages\protobuf-python-3.20.1\protobuf-3.20.1>pip install protobuf==3.20.1
Collecting protobuf==3.20.1
  Downloading protobuf-3.20.1-cp39-cp39-win_amd64.whl (904 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 904.1/904.1 kB 202.8 kB/s eta 0:00:00
Installing collected packages: protobuf
Successfully installed protobuf-3.20.1

[notice] A new release of pip available: 22.3.1 -> 23.0.1
[notice] To update, run: python.exe -m pip install --upgrade pip

檢查是否都安裝成功:

D:\Users\zhangyy\AppData\Local\Programs\Python\Python39\Lib\site-packages\protobuf-python-3.20.1\protobuf-3.20.1>pip lis
t
Package      Version
------------ -------
asgiref      3.5.2
bcrypt       4.0.1
bsdiff4      1.2.3
cffi         1.15.1
cryptography 38.0.4
Django       4.1.3
paramiko     2.12.0
pip          22.3.1
protobuf     3.20.1
pycparser    2.21
PyNaCl       1.5.0
setuptools   56.0.0
six          1.16.0
sqlparse     0.4.3
tzdata       2022.6

OK,都安裝成功而且版本合適。

2.3 執(zhí)行鏡像提取

將USB升級包的update.zip解壓后拖到payload_dumper.py的同級目錄執(zhí)行


D:\zyy\payload_dumper-master\payload_dumper-master>python payload_dumper.py ota_package_update\payload.bin
Processing abl partition.Done
Processing bluetooth partition.Done
Processing boot partition................................Done
Processing cmnlib partition.Done
Processing cmnlib64 partition.Done
Processing devcfg partition.Done
Processing dsp partition................Done
Processing dtbo partition....Done
Processing hyp partition.Done
Processing imagefv partition.Done
Processing keymaster partition.Done
Processing modem partition....................................................Done
Processing product partition........................................................................................................................Done
Processing qupfw partition.Done
Processing recovery partition................................................Done
Processing rpm partition.Done
Processing system partition............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Done
Processing tz partition.Done
Processing uefisecapp partition.Done
Processing vbmeta partition.Done
Processing vbmeta_system partition.Done
Processing vendor partition....................................................................................................................................................................................................................................................Done
Processing xbl partition..Done
Processing xbl_config partition.Done

執(zhí)行完成后查看output目錄

安卓boot.img提取,Penetration test,linux,運(yùn)維,服務(wù)器,boot.img,安卓鏡像

OK,這樣就成功了,是不是很簡單。

3. 利用腳本批量提取boot.img

將大量USB升級包放在?E:\store materials\all_firms_bak 目錄下。

由于里面文件很多,經(jīng)過分析,將“?"**" in nm and "ota" not in nm and len(nm) < 56” 作為篩選合適的USB升級包的判斷條件。

payload_dumper-master腳本安裝在?D:\zyy\payload_dumper-master\payload_dumper-master。

根據(jù)這些已知條件,編寫python代碼如下:


import os
import shutil
import zipfile
import time

count = 0


def extract_img():
    global count
    zip_dir = r"E:\store materials\all_firms_bak"
    for rt, dirs, fl in os.walk(zip_dir, topdown=True):
        for nm in fl:
            # if nm == "boot.img":
            if "**" in nm and "ota" not in nm and len(nm) < 56:
                file_path_name = str(rt) + "\\" + str(nm)
                print("文件:", file_path_name)
                unzip_and_extract_bootimg(file_path_name)

                count = count + 1
                print("bootimg count is:", count)

                # 獲取當(dāng)前時間
                current_time = int(time.time())
                print(current_time)  # 1631186249
                # 轉(zhuǎn)換為localtime
                localtime = time.localtime(current_time)
                # 利用strftime()函數(shù)重新格式化時間
                dt = time.strftime('%Y:%m:%d %H:%M:%S', localtime)
                print(dt)  # 返回當(dāng)前時間:2021:09:09 19:17:29

        # for _dir in dirs:
        # print("目錄:", str(rt) + "\\" + str(_dir))


# 解壓縮
def unzip_and_extract_bootimg(file_name):
    payload_dumper_path = r"D:\zyy\payload_dumper-master\payload_dumper-master"
    payload_dumper_ota_package_path = r"D:\zyy\payload_dumper-master\payload_dumper-master\ota_package_update/"
    payload_dumper_putput_path = r"D:\zyy\payload_dumper-master\payload_dumper-master\output"

    print("file_name is: ", file_name)
    zip_file = zipfile.ZipFile(file_name)
    if os.path.isdir(file_name + "_files"):
        print("dir already exits! do not need unzip")
    else:
        # 從升級壓縮包提取出update.zip子壓縮包
        os.mkdir(file_name + "_files")
        filepath_package = file_name + "_files/"
        print("destfilepath is: ", filepath_package)
        zip_file.extractall(path=filepath_package, members=['update.zip'])
        # 打印此時update.zip所在路徑
        file_path_updatezip = filepath_package + r"update.zip"
        print("the path of update.zip is: ", file_path_updatezip)
        # 從update.zip里提取payload.bin(payload.bin通過腳本制作出boot.img)
        zip_file_bin = zipfile.ZipFile(file_path_updatezip)
        zip_file_bin.extractall(path=filepath_package + "update/", members=["payload.bin"])
        file_path_payloadbin = filepath_package + r"update/" + r"payload.bin"
        print("file path payloadbin is ", file_path_payloadbin)
        print("close zip_file")
        zip_file.close()
        mycopyfile(file_path_payloadbin, payload_dumper_ota_package_path)
        print("move payload.bin sucess!")
        os.chdir(payload_dumper_path)
        print(os.getcwd())
        ret = os.system(
            "python payload_dumper.py ota_package_update\payload.bin")
        store_bootimg_path = str(file_path_payloadbin).replace("all_firms_bak", "all_boot_test") + r"/"
        if os.path.exists(payload_dumper_putput_path + r"\boot.img"):
            mycopyfile(payload_dumper_putput_path + r"\boot.img", store_bootimg_path)
            os.remove(r"D:\zyy\payload_dumper-master\payload_dumper-master\ota_package_update\payload.bin")
            for f in os.listdir(r"D:\zyy\payload_dumper-master\payload_dumper-master\output"):
                os.remove(os.path.join(r"D:\zyy\payload_dumper-master\payload_dumper-master\output", f))
            time.sleep(3)
            print("extract bootimg completed!")
            return
        else:
            print("boot.img not exits!")


def mycopyfile(srcfile, dstpath):  # 復(fù)制函數(shù)
    if not os.path.isfile(srcfile):
        print("%s not exist!" % (srcfile))
    else:
        fpath, fname = os.path.split(srcfile)  # 分離文件名和路徑
        if not os.path.exists(dstpath):
            os.makedirs(dstpath)  # 創(chuàng)建路徑
        shutil.copy(srcfile, dstpath + fname)  # 復(fù)制文件
        print("copy %s -> %s" % (srcfile, dstpath + fname))


# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    extract_img()

# See PyCharm help at https://www.jetbrains.com/help/pycharm/

執(zhí)行結(jié)果:

安卓boot.img提取,Penetration test,linux,運(yùn)維,服務(wù)器,boot.img,安卓鏡像

只需要半天的時間,腳本成功幫助我們提取了數(shù)百個boot.img。

4.總結(jié)

????????安卓系統(tǒng)USB升級包里其實(shí)是有鏡像信息的,需要你做一個提取。文章來源地址http://www.zghlxwxcb.cn/news/detail-780952.html

到了這里,關(guān)于從安卓系統(tǒng)USB升級包里提取system.img、boot.img和recovery.img在內(nèi)的鏡像文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • How to boot the Raspberry Pi system from a USB Mass Storage Device All In One

    How to boot the Raspberry Pi system from a USB Mass Storage Device All In One

    如何從 USB 啟動樹莓派引導(dǎo)系統(tǒng) / 如何從 USB 大容量存儲設(shè)備啟動 Raspberry Pi 系統(tǒng) First Stage Bootloader Second Stage Bootloader https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-boot-flow https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration BO

    2024年02月06日
    瀏覽(65)
  • Postgres報(bào)錯the database system is in recovery mode

    Postgres報(bào)錯the database system is in recovery mode

    先說下項(xiàng)目背景 我們是在研發(fā)的DMZ環(huán)境上部署了我們的多個服務(wù)和中間件,為了節(jié)省資源,使用的docker部署在同一臺物理機(jī)上,一個Postgres的服務(wù)運(yùn)行著多個微服務(wù)的數(shù)據(jù)庫實(shí)例,從某天開始,開發(fā)發(fā)現(xiàn)在web頁面頻繁報(bào)錯,日志如下: 看日志像是數(shù)據(jù)庫的IO報(bào)錯,隨后我通過

    2024年02月10日
    瀏覽(22)
  • 安卓玩機(jī)----解鎖system分區(qū) 可讀寫系統(tǒng)分區(qū) magisk面具模塊

    安卓玩機(jī)----解鎖system分區(qū) 可讀寫系統(tǒng)分區(qū) magisk面具模塊

    玩機(jī)教程----安卓機(jī)型解鎖system分區(qū) 任意修改刪除系統(tǒng)文件 參考上個博文可以了解到解鎖system分區(qū)的有關(guān)常識。但目前很多機(jī)型都在安卓12? 13? 基礎(chǔ)上。其實(shí)最簡單的方法就在于刷寫一個解鎖system分區(qū)的第三方補(bǔ)丁包。在面具更新不能解鎖系統(tǒng)分區(qū)的前提下。我們也可以通過

    2024年02月08日
    瀏覽(38)
  • 安卓ROM定制 修改必備常識-----初步了解system系統(tǒng)分區(qū)文件夾的基本含義 【二】

    安卓ROM定制 修改必備常識-----初步了解system系統(tǒng)分區(qū)文件夾的基本含義 【二】

    安卓修改rom 固件 修改GSI 移植rom 必備常識 lib--**so文件基本解析 一起來了解system目錄相應(yīng)文件的用途吧。(rom版本不同里面的app也會不一樣) 給大家說下最簡單的方法提取img里面的文件,對于后綴img格式的文件可以使用7zip.選擇***.img使用7zip打開壓縮包方式,可以用于簡單提

    2024年02月07日
    瀏覽(24)
  • 4.正則提取html中的img標(biāo)簽的src內(nèi)容

    4.正則提取html中的img標(biāo)簽的src內(nèi)容

    我們以百度貼吧的1吧舉例 目錄 1??把網(wǎng)頁搞下來 2??收集url 3??處理url 4??空的src 5??容錯 6??不使用數(shù)字作為文件名 7??并不是所有的圖片都用img標(biāo)簽表示 8??img標(biāo)簽中src請求下來不一定正確 9??分頁 ? 搞下來之后,雙擊打開是這樣的 我們實(shí)際拿的就是 img標(biāo)簽中src的內(nèi)

    2024年02月09日
    瀏覽(29)
  • win11安裝的Ubuntu20.04子系統(tǒng)出現(xiàn)System has not been booted with systemd as init system (PID 1)問題的解決流程

    win11安裝的Ubuntu20.04子系統(tǒng)出現(xiàn)System has not been booted with systemd as init system (PID 1)問題的解決流程

    目錄 一、前言 二、具體解決方法 第一步:切換root用戶至自己賬號 第二步:重新安裝xrdp 第三步:重新配置端口并啟動xrdp 第四步:打開遠(yuǎn)程連接窗口 第五步:點(diǎn)擊連接,開始進(jìn)入Linux子系統(tǒng)?編輯 第六步:切換到的賬戶的輸入密碼,并點(diǎn)擊認(rèn)證 ?第七步:成功進(jìn)入U(xiǎn)buntu20

    2024年02月16日
    瀏覽(24)
  • linux|操作系統(tǒng)|centos7物理機(jī)安裝網(wǎng)卡驅(qū)動8188gu(內(nèi)核升級,firmware固件,USB設(shè)備管理,module管理)

    linux|操作系統(tǒng)|centos7物理機(jī)安裝網(wǎng)卡驅(qū)動8188gu(內(nèi)核升級,firmware固件,USB設(shè)備管理,module管理)

    目前服務(wù)器領(lǐng)域centos7基本是主流的操作系統(tǒng),而linux相對于Windows來說,軟硬件方面的支持是差很多的,在硬件方面來說,以一個免驅(qū)的網(wǎng)卡為例,window xp可能不會自動識別到,但Windows10基本都會自動識別到,簡簡單單的即插即用。根本原因在Windows隨著版本的升級,內(nèi)置的各

    2024年01月20日
    瀏覽(37)
  • 安卓玩機(jī)搞機(jī)技巧綜合資源------EROFS分區(qū)格式 小米紅米機(jī)型分區(qū)類型 刷寫recovery方法列舉【三】

    安卓玩機(jī)搞機(jī)技巧綜合資源------EROFS分區(qū)格式 小米紅米機(jī)型分區(qū)類型 刷寫recovery方法列舉【三】

    接上篇 安卓玩機(jī)搞機(jī)技巧綜合資源------如何提取手機(jī)分區(qū) 小米機(jī)型代碼分享等等 【一】 安卓玩機(jī)搞機(jī)技巧綜合資源------開機(jī)英文提示解決dm-verity corruption your device is corrupt. 設(shè)備內(nèi)部報(bào)錯 AB分區(qū)等等【二】 ?????????????????? EROFS格式的系統(tǒng) ??????????????????

    2024年02月08日
    瀏覽(28)
  • android通過adb命令獲取boot.img鏡像

    android通過adb命令獲取boot.img鏡像

    當(dāng)前系統(tǒng)支持雙分區(qū),區(qū)a分區(qū)boot_a.img如下: 取boot.img 取出來后通過fastboot方式刷機(jī): 參考博客: ?Android手機(jī)如何提取系統(tǒng)內(nèi)核(boot.img鏡像文件提取)_Mintimate的博客-CSDN博客_安卓boot.img提取

    2024年02月13日
    瀏覽(25)
  • [Linux打怪升級之路]-system V共享內(nèi)存

    [Linux打怪升級之路]-system V共享內(nèi)存

    前言 作者 : 小蝸牛向前沖 名言 : 我可以接受失敗,但我不能接受放棄 ??如果覺的博主的文章還不錯的話,還請 點(diǎn)贊,收藏,關(guān)注??支持博主。如果發(fā)現(xiàn)有問題的地方歡迎?大家在評論區(qū)指正 本期學(xué)習(xí)目標(biāo):認(rèn)識什么是?system V共享內(nèi)存,認(rèn)識共享內(nèi)存的接口函數(shù),學(xué)會

    2024年02月08日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包