Меню

Распаковка прошивки android: Как распаковать прошивку img для ее редактирования

Содержание

Как распаковать прошивку img для ее редактирования

Все прошивки для планшетов на процессоре Allwinner имеют один и тот же формат  img (IMAGEWTY).

После долгих поисков я все-таки нашел программу, которая позволяет разобрать и собрать прошивку для планшетов на базе Allwinner. Называется она unPacker

Перейдем непосредственно к разборке файла прошивки.

Разборка IMG файла

Для разборки потребуется:

  • Файл самой прошивки
  • Программа unPacker, которую можно скачать здесь ( Для Allwinner a31s можно использовать imgRePacker ) 

Скачиваем архив и распаковываем. Запускаем программу unPacker.exe

Перетаскиваем в это окно наш файл и ждем распаковки.

После окончания распаковки появится новая папка название «прошивки.img.dump»

В папке out  есть файл system.fex -это файл с системными файлами(папка system) . Он то нам и нужен.

Редактирование файла system.fex

Для редактирования этого файла нужна nix система и утилита для конвертации, которую можно скачать здесь

Создаем в домашней директории папку в которой будем редактировать нашу прошивку.

Назовем ее например NEW. Теперь распаковываем файлы из архива ext4_utils.zip в папку NEW. Запускаем терминал и набираем

cd NEW make

Программа скомпилируется и мы получим инструмент для редактирования Sim2img. Теперь кладем в папку NEW наш файл system.fex и переименовываем его в sytsem.img

Вводим в терминале

./simg2img system.img output.img

Теперь у нас есть файл output.img . Теперь создаем папку например с названием sys

mkdir sys

И монтируем туда наш файл output

sudo mount output.img sys

Теперь в папке sys находятся файлы, которые можно редактировать. Например можно внести изменения в файл build.prop, которые улучшат работу системы.

Подробнее об изменениях в файле build.prop читайте здесь

После редактирования начинаем сборку

./mkuserimg.sh -s sys/ ./factoryfs_custom.img ext4 ./temp 512M

Полученный файл factoryfs_custom переименовываем в system.fex.iso

Примечание: можно аналогично редактировать и другие файлы образов (boot и bootloader)

Сборка img файла

Теперь что бы собрать отредактированные файлы в необходимый для прошивки формат, нужно файл system. fex.iso поместить с заменой в папку (на Windows) _iso и перетащить папку

название прошивки.img.dump снова в окошко программы unPacker и немного подождать. По окончанию запаковки получится файл название прошивки.img который можно использовать для перепрошивки устройства на Allwinner

Редактирование прошивки android

Популярные туры

    Как распаковать system.img на Windows для создания кастомной прошивки Инструкция по распаковке system.img 1. Скачайте из вложений архив ext4_unpacker_exe.zip. распакуйте его в отдельную, удобную Как распаковать system.img на Windows для создания кастомной прошивки Инструкция по распаковке system.img 1. Скачайте из вложений архив ext4_unpacker_exe.zip. распакуйте его в отдельную, удобную для вас папку (желательно в корень диска С или D). Запустите из распакованной папки на правах администратора ext4_unpacker.

    exe (правый клик по файлу -> запуск от имени администратора) 2. В открывшемся окне нажмите на значёк папки в правой части программы, откроется окно обзора, выберите там system.img который вы хотите распаковать 3. После выбора system.img. в окне программы отобразятся все папки раздела system (то есть system.img). Нажмите на кнопку сохранить 4. Далее откроется окно обзора. Здесь выбираем удобное для вас место сохранения и вводим название сохраняемого файла как system.ext4. Дальше начнётся распаковка, дайте ей завершиться, может занять довольно много времени 5. После распаковки system.ext4. можете закрыть EXT4 Unpacker. Теперь скачайте из вложений архив ext2explore-2.2.71.zip. распакуйте его, зайдите в распакованную папку и на правах администратора запустите файл ext2explore.exe 6. В появившемся окне программы выберите File -> Open Image. появится окно обзора в котором выберите system.ext4. Далее делаем правый клик по файлу в левой части окна программы и выбираем Save.
    Сохраняем все в отдельную папку которую желательно назвать System 7. Ждём пока образ будет распакован. По завершения процесса, в папке System. буду находиться все файлы и папки распакованные из system.img Cкачать: Распаковка system.img при помощи DiskInternals Linux Reader 1. Устанавливаем DiskInternals Linux Reader 2. Запускаем только что установленный DiskInternals Linux Reader (желательно запускать от имени администратора, то есть правый клик по ярлыку программы -> запуск от имени администратора 3. В левом верхнем углу окна программы выбираем Drivers -> Mount Image . в следующем окне оставляем флажок напротив Raw Disk Images и нажимаем Next > 4. Появляется окно обзора, выбираем там наш system.img который мы хотим распаковать. После выбора программа монтирует наш system.img 5. В главном окне программы делаем двойной клик по только что смонтированному образу чтобы зайти в него. Заходим, видмем все внутренние папки system.img, делаем правый клик по любой папке и выбираем пункт Select All .
    затем опять правый клик и пункт Save . Нажимаем Next > . выбираем папку куда мы хотим сохранить все распакованные из system.img папки и файлы, нажимаем Next > и далее начинается распаковка 6. После распаковки весь ваш раздел system.img будет находиться в папке куда вы выбрали распаковать, далее уже можно приступать к портированию прошивки и так далее Если Вы не можете открыть смонтированный раздел system, то есть вылазит ошибка ‘Can’t open disk’, то делаем следующее: 1. Скачиваем из вложений архив SGS2_IMG.zip . распаковываем его 2. Запускаем из распакованного архива SGS2_IMG.exe . нажимаем на кнопочку обзора . и выбираем наш system.img . затем нажимаем GO 3. Программа обработает образ и в папке с программой сохранится новый system_new.img . старый файл можно удалить, а этот монтирует и распаковываем при помощи DiskIinternals Linux Reader (не забудьте переименовать в просто system.img) Cкачать:

    Прошивка для zte blade
    Прошивка psp pro b10
    Леново а850 прошивки
    Прошивка dir 100
    Прошивка для мтс модем
    Что такое стоковой прошивке
    Прошивка lenovo a319 скачать
 

Внесение изменений в OTA-прошивку медиацентров TVIP [TVIP Wiki]

Информация актуальна для медиацентров на ОС Android и Linux-Qt с OTA-прошивками (TVIP S400/S41x/S500).

Прошивку можно скачать по адресу: http://update.tvip.ru/stb/<модель>/<ос>/release/tvip_firmware.ota.zip
Здесь, модель — модель медиацентра, например s400; ос — тип ОС (android или linux-qt).

Распаковка прошивки и внесение изменений

$ mkdir firmware

$ unzip -o -q tvip_firmware.ota.zip -d firmware

$ ls -l firmware/
total 8272
drwxr-xr-x   6 vovan  staff      204  7 фев 13:55 META-INF
-rw-r--r--   1 vovan  staff  3870617 29 фев  2008 boot.img
-rw-r--r--   1 vovan  staff   360464 29 фев  2008 bootloader.img
drwxr-xr-x  19 vovan  staff      646  7 фев 13:55 system

Распакованный образ roofs находится в папке system.
Разделы /usr и /home в прошивке Linux-Qt — это образы SquashFS они находятся в папке system.

При добавлении/изменении в прошивке символических ссылок — потребуется изменить файл META-INF/com/google/android/updater-script

Сборка и подпись модифицированной прошивки

Упаковка модифицированной прошивки:

$ cd firmware
$ zip -r . ./unsigned_tvip_firmware.ota.zip .
$ cd ..

Для подписи файла прошивки нам потребуются:

Подпись прошивки:

$ java -jar signapk.jar -w key.x509.pem key.pk8 unsigned_tvip_firmware.ota.zip signed_tvip_firmware.ota.zip

Обратите внимание, что новые медиацентры TVIP (v.501, v.110, v.6xx), использующие прошивки с расширением .signed.ota.zip, не могут быть подписаны вручную. Для использования модифицированной прошивки обратитесь в коммерческий отдел или персональному менеджеру.

custom_firmware/ota.txt · Последние изменения: 2021/04/08 13:13 — Денис Цыганов

Roverbook steel. Проект Debian вместо Android.


По рунету гуляет windows-кухня для прошивок rk2818. Факт сам по себе замечательный, но на Linux мы по умолчанию получаем комфортную работу с cramfs-образами, символическими ссылками и правами доступа.

1. Подготовка инструментария и распаковка update.

img Понадобятся утилиты rkunpack, rkafpack и rkcrc из набора rkutils.
Стягиваем архив, распаковываем и компилируем:
gcc rkunpack.c -o rkunpack
gcc rkafpack.c -o rkafpack
gcc rkcrc.c -o rkcrc
Для простоты я указываю относительные пути. Предполагается, что каталог rk2818 содержит скомпилированные утилиты и файл с модифицируемой прошивкой.

Распаковываем update.img

./rkunpack update.img

Из первых двух строчек следует, что мы потрошим кастом от BQ Voltaire.
Вообще большинство параметров можно почерпнуть в каталоге с распакованной прошивкой, но лучше сохранить вывод rkunpack в отдельном файле:
./rkunpack update.img > hwdef.txt

Из всего этого великолепия сейчас понадобятся только два файла:
/Image/boot.img — образ рамдиска
/Image/system.img — образ с андроидом


2. Распаковка cramfs-образов boot.

img и system.imgСоздадим необходимые для работы каталоги:
mkdir -p ./edit-system ./edit-boot ./mnt-tmp
mnt-tmp будет точкой монтирования образов
edit-system и edit-boot я использую для редактирования

Монтируем system.img в mnt-tmp:

sudo mount -t cramfs -o loop ./Image/system.img ./mnt-tmp
Из-за особенностей файловой системы cramfs мы не можем вносить изменения напрямую, поэтому копируем содержимое в рабочий каталог:
sudo cp -r ./mnt-tmp/* ./edit-system
И отмонтируем образ:
sudo umount ./mnt-tmp
С boot.img работаем по аналогии:
sudo mount -t cramfs -o loop ./Image/boot.img ./mnt-tmp
sudo cp -r ./mnt-tmp/* ./edit-boot
sudo umount ./mnt-tmp
rmdir ./mnt-tmp

3. Кастомизация прошивки

Часть необязательная и условная

Итак, сейчас к доступной пользователю памяти мы обращаемся следующим образом:
/flash — внутренняя память устройства
/flash/sdcard — съёмная sd-карта
/sdcard — символическая ссылка на /flash/sdcard

Хочется избежать монтирования в каталог встроенной памяти и получить такую структуру:
/flash — внутренняя память
/sdcard — съёмная карта памяти

В android менеджер томов конфигурируется через vold.

fstab, однако в старых версиях мы должны отредактировать vold.conf:

sudo nano ./edit-system/etc/vold.conf

Вносим необходимые изменения, удаляем симлинк и создаём нормальный каталог:
rm ./edit-boot/sdcard
sudo mkdir ./edit-boot/sdcard

Остаётся поправить пути в скрипте инициализации:
sudo nano ./edit-boot/init.rk28board.rc
Придётся изменить три-четыре строки, а может и всего одну — здесь всё зависит от прошивки.

4. Сборка boot.img и system.img

Воспользуемся утилитой mkcramfs (Make a CramFs) для создания сжатого образа из содержимого директории:
mkcramfs ./edit-boot boot-nocrc.img

Подписываем образ контрольной суммой для нашей платформы:
./rkcrc boot-nocrc.img ./Image/boot.img

С system.img процедура аналогичная:
mkcramfs ./edit-system system-nocrc.img
./rkcrc system-nocrc. img ./Image/system.img

5. Сборка прошивки в update.img

AFPTool — простой инструмент с тривиальными параметрами:
wine AFPTool.exe -pack ./ update-new.img


А вот rkafpack позволяет вносить коррективы:
./rkafpack [parameter:value] name:file[@offset]
Здесь нам и пригодится созданный при распаковке файл hwdef.txt
./rkafpack
FIRMWARE_VER:X.X.X
MACHINE_MODEL:XXXXXX
MANUFACTURER:rock-chips
HWDEF:HWDEF

package-file:package-file
‘bootloader:RK28xxLoader(L).bin’

parameter:parameter:[email protected]
misc:Image/misc.img:[email protected]
kernel:Image/kernel.img:[email protected]
boot:Image/boot.img:[email protected]
recovery:Image/recovery.img:[email protected]
system:Image/system.img:[email protected]

backup:SELF:[email protected]
update-script:update-script
recover-script:recover-script

> update-new.img


Выглядит пугающе, но в итоге все процедуры сборки/разборки отдаются скриптам.

Заливаем прошивку на устройство и переименовываем в update.img:

Распаковка и последующая упаковка прошивки D-Link DCS-933L

Пользователю русского форума поддержки продуктов D-Link под ником Den4t удалось распаковать и успешно заново собрать прошивку D-Link DCS-933L!!! Вот уж поистине молодчина, я могу только поапплодировать ему! Ниже и до конца статьи приведена копипаста его поста:

Всем доброго дня !

Как и обещал, подробно описываю процесс «раздевания/одевания» матрешки, почему «матрешки», потому что структура фирмаря вложенная, на матрешку похожа, пока все одежки снимешь/оденешь — употеешь.

Перед тем как начать, нам понадобятся GPL Source Codе (взять тут: http://tsd.dlink.com.tw/), из него нам надо:
— dcs933l/bin/addchecksum
— lzma — придется собрать из исходников: cd dcs933l/toolchain/lzma-4.32.0beta5;make
почему штатный не подходит, который есть в большинстве дистрибутивов скажу в процессе
-gen_init_cpio — тоже собираем:
cd dcs933l/RT288x_SDK/source/linux-2. 6.21.x/usr
gcc -o gen_init_cpio gen_init_cpio.c
-dcs933l/RT288x_SDK/source/linux-2.6.21.x/usr/scripts/gen_initramfs_list.sh
-mkimage либо штатный, из пакета uboot-tools, либо сами соберите из SDK:
cd dc933l/RT288x_SDK/source/user/mkimage
make

Создадим каталог bin в какой-либо папке, сложим туда все это добро, для удобства.
$ ls bin
addchecksum gen_init_cpio gen_initramfs_list.sh lzma mkimage

Раздевать будем первую прошивку — dcs933l_v100_b14.bin

Приступим, внешняя одежка нашей мартешки состоит из двух половинок, верней и нижней:
Uboot — бутлоадер, фиксированный размер UBOOT_SIZE = 0x50000
Kernel Image — собственно ядро, фиксированный размер KERNEL_SIZE = 0x7B0000

Надеюсь понятно, что эти размеры от версии к версии прошивки не меняются. Бутлоадер нас не интересует, его мы трогать не будем, самое интересное находится «ниже пояса», вот оттуда и начнем 🙂

Внешний осмотр, на всякий случай:
$ binwalk dcs933l_v100_b14. bin

DECIMAL HEX DESCRIPTION
——————————————————————————————————————-
0 0x0 uImage header, header size: 64 bytes, header CRC: 0x9DBEC62, created: Wed Jan 23 10:40:42 2013, image size: 128448 bytes, Data Address: 0x80200000, Entry Point: 0x80200000, data CRC: 0x334BA6BE, OS: Linux, CPU: MIPS, image type: Standalone Program, compression type: none, image name: «SPI Flash Image»
99312 0x183F0 U-Boot boot loader reference
125639 0x1EAC7 LZMA compressed data, properties: 0x40, dictionary size: 65536 bytes, uncompressed size: 64 bytes
125663 0x1EADF LZMA compressed data, properties: 0x40, dictionary size: 65536 bytes, uncompressed size: 128 bytes
125687 0x1EAF7 LZMA compressed data, properties: 0x41, dictionary size: 65536 bytes, uncompressed size: 128 bytes
327680 0x50000 uImage header, header size: 64 bytes, header CRC: 0xC4713770, created: Wed Jan 23 10:40:37 2013, image size: 6356808 bytes, Data Address: 0x80000000, Entry Point: 0x8037E000, data CRC: 0x4ED2D8B7, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: «Linux Kernel Image»
327744 0x50040 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 8927701 bytes

binwalk не ошибся, вторая половина 327680==0x50000 достанем ее
dd if=dcs933l_v100_b14. bin iflag=skip_bytes skip=327680 of=part2

Да, забыл сказать, обе половинки записаны в формате uImage

$ file part2
part2: u-boot legacy uImage, Linux Kernel Image, Linux/MIPS, OS Kernel Image (lzma), 6356808 bytes, Wed Jan 23 10:40:37 2013, Load Address: 0x80000000, Entry Point: 0x8037E000, Header CRC: 0xC4713770, Data CRC: 0x4ED2D8B7

или

$ binwalk part2

DECIMAL HEX DESCRIPTION
——————————————————————————————————————-
0 0x0 uImage header, header size: 64 bytes, header CRC: 0xC4713770, created: Wed Jan 23 10:40:37 2013, image size: 6356808 bytes, Data Address: 0x80000000, Entry Point: 0x8037E000, data CRC: 0x4ED2D8B7, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: «Linux Kernel Image»
64 0x40 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 8927701 bytes

$ mkimage -l part2
mkimage: ERROR: «part2» has corrupted data!

Не волнуйтесь, все в порядке, дело в том, что после uImage вторая половинка добита паддингом 0xFF, дабы добрать фиксированный размер 0x7B0000.
Как мы видим из binwalk (или file) выше, размер блока данных uImage 6356808 байт, плюс заголовок 64 байта, получаем полный размер uImage 6356872
Достанем его:

$ dd if=part2 bs=6356872 count=1 of=uImage
1+0 записей считано
1+0 записей написано
скопировано 6356872 байта (6,4 MB), 0,0634447 c, 100 MB/c

А теперь посмотрим:

$ file uImage
uImage: u-boot legacy uImage, Linux Kernel Image, Linux/MIPS, OS Kernel Image (lzma), 6356808 bytes, Wed Jan 23 10:40:37 2013, Load Address: 0x80000000, Entry Point: 0x8037E000, Header CRC: 0xC4713770, Data CRC: 0x4ED2D8B7

$ binwalk uImage

DECIMAL HEX DESCRIPTION
——————————————————————————————————————-
0 0x0 uImage header, header size: 64 bytes, header CRC: 0xC4713770, created: Wed Jan 23 10:40:37 2013, image size: 6356808 bytes, Data Address: 0x80000000, Entry Point: 0x8037E000, data CRC: 0x4ED2D8B7, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: «Linux Kernel Image»
64 0x40 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 8927701 bytes

$ bin/mkimage -l uImage
Image Name: Linux Kernel Image
Created: Wed Jan 23 10:40:37 2013
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 6356808 Bytes = 6207. 82 kB = 6.06 MB
Load Address: 0x80000000
Entry Point: 0x8037E000
Kernel Size: 0x00000000

Ну во, все в порядке, запомните Load Address и Entry Point, нужны при «одевании». Внутри uImage ядро то и лежит, зажатое lzma.

Снимем еще одну одежку (срезаем заголовок uImage):

$ dd if=./uImage iflag=skip_bytes skip=64 of=zImage.lzma
12415+1 записей считано
12415+1 записей написано
скопировано 6356808 байт (6,4 MB), 0,0342254 c, 186 MB/c

$ lzma -t zImage.lzma — не ругнулся, значит все OK

Еще одну одежку снимаем:
$ lzcat zImage.lzma > zImage

Ну во, теперь имеем нормальное linux ядро, к которому в конце, совершенно штатно приклеен ramfs (он то нас и интересует).

Поехали дальше:
$ binwalk zImage

DECIMAL HEX DESCRIPTION
——————————————————————————————————————-
3211340 0x31004C Linux kernel version «2.6.21 ([email protected] com) (gcc version 3.4.2)etworks.com) (gcc version 3.4.2) #1319 Wed Jan 23 14:40:30 CST «
3355636 0x3333F4 Copyright string: » (c) 2011 Alpha Networks Inc.***** free audio buffer error 1 «
3620355 0x373E03 LZMA compressed data, properties: 0x40, dictionary size: 65536 bytes, uncompressed size: 64 bytes
3620379 0x373E1B LZMA compressed data, properties: 0x40, dictionary size: 65536 bytes, uncompressed size: 128 bytes
3620403 0x373E33 LZMA compressed data, properties: 0x41, dictionary size: 65536 bytes, uncompressed size: 128 bytes
3796992 0x39F000 LZMA compressed data, properties: 0x5D, dictionary size: 1048576 bytes, uncompressed size: 16344576 bytes

в середине binwalk ошибся, конечно, а вот последняя строка правильная (по размеру понять можно).

3796992 — смещение ramfs, достанем его:

$ dd if=zImage iflag=skip_bytes skip=3796992 of=ramfs.cpio.lzma
10020+1 записей считано
10020+1 записей написано
скопировано 5130709 байт (5,1 MB), 0,0279981 c, 183 MB/c

Чуть-чуть осталось, уже нижнее белье пошло 🙂
Ramfs стандартно — это cpio архив, зажатый:

$ lzcat ramfs. cpio.lzma > ramfs.cpio

Последний шаг в раздевании придется рутом сделать, дабы сохранить UID у файлов, не знаю насколько они важны, но на всякий случай:
$ mkdir ramfs;su root -c «cd ramfs;cpio -idmv —no-absolute-filenames < ../ramfs.cpio»

—no-absolute-filenames — без этого не запускайте, перетрет системные, т.к. в архиве все начинается с «/».

Ну вот, имеем раздетой нашу матрешку (каждый имеет в меру своей испорченности :))

Поматросили маленько, не бросать же ее в таком виде, давайте «одевать» будем 🙂

В обратном порядке.
Cобираем cpio.В штатном cpio не на нашел как из относительного пути сделать абсолютный при сборке архива, а в исходном архиве они все с «/» начинаются, не знаю насколько это важно, по документации вроде как не возбраняется, но ломать это правило не стал, с chroot тоже возиться лень было, поэтому взял тулзы из SDK.

сначала список архива:
$ su root -c «bin/gen_initramfs_list.sh ramfs > file.list»

теперь сам архив:
$ su root -c «bin/gen_init_cpio file. list > my_ramfs.cpio»
$ su root -c «chown XXX:XXX my_ramfs.cpio «
Заглядываем внутрь — все пути с «/» начинаются, UID и права на месте

Далее:
$ bin/lzma -z -k -f -9 my_ramfs.cpio
В начале я упоминал, почему не штатный lzma, потому, что штатный более свежей версии, он пишет сигнатуру, которую binwalk потом распознать не может, а вдруг нам снова раздевать захочется 🙂

$ file my_ramfs.cpio.lzma
my_ramfs.cpio.lzma: data
Это нормально, а вот если штатным зажать, то file скажет, что это архив.

Теперь давайте приклеем сей ramfs к ядру, как и было:

Смотрим в исходный:
$ binwalk zImage

DECIMAL HEX DESCRIPTION
——————————————————————————————————————-
3211340 0x31004C Linux kernel version «2.6.21 ([email protected]) (gcc version 3.4.2)etworks.com) (gcc version 3.4.2) #1319 Wed Jan 23 14:40:30 CST «
3355636 0x3333F4 Copyright string: » (c) 2011 Alpha Networks Inc. ***** free audio buffer error 1 «
3620355 0x373E03 LZMA compressed data, properties: 0x40, dictionary size: 65536 bytes, uncompressed size: 64 bytes
3620379 0x373E1B LZMA compressed data, properties: 0x40, dictionary size: 65536 bytes, uncompressed size: 128 bytes
3620403 0x373E33 LZMA compressed data, properties: 0x41, dictionary size: 65536 bytes, uncompressed size: 128 bytes
3796992 0x39F000 LZMA compressed data, properties: 0x5D, dictionary size: 1048576 bytes, uncompressed size: 16344576 bytes

3796992 — смещение куда его положить надо

Откусываем kernel образ:
$ dd if=zImage bs=3796992 count=1 of=my_zImage
1+0 записей считано
1+0 записей написано
скопировано 3796992 байта (3,8 MB), 0,00848172 c, 448 MB/c

Приклеиваем ramfs:
$ cat my_ramfs.cpio.lzma >> my_zImage

Проверочка:
$ binwalk my_zImage

DECIMAL HEX DESCRIPTION
——————————————————————————————————————-
3211340 0x31004C Linux kernel version «2. 6.21 ([email protected]) (gcc version 3.4.2)etworks.com) (gcc version 3.4.2) #1319 Wed Jan 23 14:40:30 CST «
3355636 0x3333F4 Copyright string: » (c) 2011 Alpha Networks Inc.***** free audio buffer error 1 «
3620355 0x373E03 LZMA compressed data, properties: 0x40, dictionary size: 65536 bytes, uncompressed size: 64 bytes
3620379 0x373E1B LZMA compressed data, properties: 0x40, dictionary size: 65536 bytes, uncompressed size: 128 bytes
3620403 0x373E33 LZMA compressed data, properties: 0x41, dictionary size: 65536 bytes, uncompressed size: 128 bytes
3796992 0x39F000 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 16344576 bytes

16344576 — Это cpio image size

$ ls -ln my_ramfs.cpio
-rw-rw-r— 1 1000 1000 16344576 янв. 14 22:18 my_ramfs.cpio
Все четко, совпадает.

Одеваем дальше:
$ bin/lzma -z -k -f -9 my_zImage

Теперь сей образ надо вложить в структуру uImage. Вспоминаем цифири Load Address и Entry Point, который запомнили в начале, даем команду:

$ bin/mkimage -A mips -O linux -T kernel -C lzma -a 80000000 -e 8037E000 -n «Linux Kernel Image» -d my_zImage. lzma my_uImage
Image Name: Linux Kernel Image
Created: Tue Jan 14 22:35:29 2014
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 6157708 Bytes = 6013.39 kB = 5.87 MB
Load Address: 0x80000000
Entry Point: 0x8037E000
Kernel Size: 0x00000000

Смотрим что получилось:
$ file my_uImage
my_uImage: u-boot legacy uImage, Linux Kernel Image, Linux/MIPS, OS Kernel Image (lzma), 6157708 bytes, Tue Jan 14 22:35:29 2014, Load Address: 0x80000000, Entry Point: 0x8037E000, Header CRC: 0xAFA99227, Data CRC: 0xFBE8FA4E

[[email protected] my-1.00b14]$ binwalk my_uImage

DECIMAL HEX DESCRIPTION
——————————————————————————————————————-
0 0x0 uImage header, header size: 64 bytes, header CRC: 0xAFA99227, created: Tue Jan 14 22:35:29 2014, image size: 6157708 bytes, Data Address: 0x80000000, Entry Point: 0x8037E000, data CRC: 0xFBE8FA4E, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: «Linux Kernel Image»
64 0x40 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 8731174 bytes

Уххх . .., осталось только образ фирмваря склеить …

Как я говорил, он из двух половинок состоит:
UBOOT_SIZE = 0x50000
KERNEL_SIZE = 0x7B0000

Верхнюю мы не трогаем, это бутлоадер (327680 == 0x50000)

$ dd if=dcs933l_v100_b14.bin bs=327680 count=1 of=my_firmware.bin
1+0 записей считано
1+0 записей написано
скопировано 327680 байт (328 kB), 0,000830688 c, 394 MB/c

А теперь добавляем наш uImage (0x7B0000 == 8060928)
$ cat my_uImage >> my_firmware.bin

Немного арифметики, фирмварь надо добить до размера 8388608 (327680+8060928) паттерном 0xFF

$ ls -ln my_uImage
-rw-rw-r— 1 1000 1000 6157772 янв. 14 22:35 my_uImage

$ echo «8060928-6157772″|bc
1903156 — это размер padding-а

$ dd if=/dev/zero count=1 bs=1903156 2>/dev/null |tr \\000 \\377 >> my_firmware.bin

И последний шаг — контрольная сумма:
$ bin/addchecksum my_firmware.bin

Смотрим что получилось:
$ ls -ln dcs933l_v100_b14. bin my_firmware.bin
-rw-r—r— 1 1000 1000 8388608 янв. 23 2013 dcs933l_v100_b14.bin
-rw-rw-r— 1 1000 1000 8388608 янв. 14 22:51 my_firmware.bin

$ binwalk my_firmware.bin

DECIMAL HEX DESCRIPTION
——————————————————————————————————————-
0 0x0 uImage header, header size: 64 bytes, header CRC: 0x9DBEC62, created: Wed Jan 23 10:40:42 2013, image size: 128448 bytes, Data Address: 0x80200000, Entry Point: 0x80200000, data CRC: 0x334BA6BE, OS: Linux, CPU: MIPS, image type: Standalone Program, compression type: none, image name: «SPI Flash Image»
99312 0x183F0 U-Boot boot loader reference
125639 0x1EAC7 LZMA compressed data, properties: 0x40, dictionary size: 65536 bytes, uncompressed size: 64 bytes
125663 0x1EADF LZMA compressed data, properties: 0x40, dictionary size: 65536 bytes, uncompressed size: 128 bytes
125687 0x1EAF7 LZMA compressed data, properties: 0x41, dictionary size: 65536 bytes, uncompressed size: 128 bytes
327680 0x50000 uImage header, header size: 64 bytes, header CRC: 0xAFA99227, created: Tue Jan 14 22:35:29 2014, image size: 6157708 bytes, Data Address: 0x80000000, Entry Point: 0x8037E000, data CRC: 0xFBE8FA4E, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: «Linux Kernel Image»
327744 0x50040 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 8731174 bytes

Все.
А дальше — сами знаете что делать ! 🙂

Добавлено 16 янв 2014
Телнет есть в прошивке штатно, но не стартует, впишите такую строчку в /etc_ro/inittab:
::respawn:/usr/sbin/telnetd

CIFS — процесс cifsrecord, есть штатно, но не стартует на загрузке, по причине отсутствия конфигурации в nvram. Как записать nvram — пока я это сделал ручками, телнет, надеюсь уже работает, тогда входим в девайс и даем такие команды:

nvram_set 2860 CifsServerFolder //xxx.xxx.xxx.xxx/yyyy — это шара
nvram_set 2860 CifsUserName ваш_юзер
nvram_set 2860 CifsPassword ваш_пароль
nvram_set 2860 CifsScheduleMode 2 — по детектору движения (0 и 1 не смотрел, мне не надо было, кто-то из них постоянная запись, кто-то по расписанию)
nvram_set 2860 CifsMaxRecordTime 1 — время в минутах
nvram_set 2860 CifsFullAction 0 — что делать если место в шаре кончилось: 0 — ничего не делать, 1 — вытирать старые файлы
nvram_set 2860 CifsScheduleEnable 1 — Разрешить сброс на cifs

и ребутим камеру, после ребута в вашей шаре (и на камере в /mnt/VIDEO) наблюдаем структуру каталогов соответственно дате/времени а в них авишники.

Вообще говоря, в alphapd (это http сервер длинковский, морда, грубо говоря) все есть для конфигурации параметров CIFS, не хватает только самих форм в /etc_ro/web и нескольких cgi, при желании, сделать форму и вставить ее в штатную морду — как два пальца об асфальт.
Кому хочется — смотрите сюда: /etc_ro/web

Распаковка, редактирование и упаковка прошивок видеорегистраторов и IP камер из Китая

Предыстория

Не так давно приобрёл на Aliexpress IP камеру (чип Hi3516 платформа 53h30L) и 16-канальный гибридный видеорегистратор (чип Hi3521 платформа MBD6508E). Оба выполнены на чипсете от HiSilicon, так что проблем с совместимостью между собой не испытывают.
Разумеется, не обошлось и без глюков. Первый, и самый главный — у камеры криво работал WiFi — нельзя было подключиться к сети, если ключ был задан в HEX виде, а таже периодически возникала проблема со шлюзом по умолчанию.

Прошивка оказалась старая, ещё июньская. Раздобыл несколько свежих прошивок и попробовал. Некоторые оказались глючными, но одна заработала нормально.
Возникла другая проблема — изменился пароль по умолчанию для telnet подключения. Этого я не стерпел и стал искать способы вернуть его обратно.
Сразу предупрежу, что данный способ опробован на видеорегистраторах и камерах на чипах HiSilicon, но должен сработать и с другой платформой, так как китайцы широко используют загрузчик U-boot.

Распаковка

Инструкция по распаковке довольно подробно расписана в этой статье, но вот процесс упаковки нигде не описан, что и побудило меня написать этот пост.
Расписываю по шагам, чтобы ничего не упустить:
Ставим Linux, я выбрал ubuntu.
Проверяем тип файла прошивки:

[email protected]:~/firmware# file General_HZXM_IPC_HI3516C_53h30L_V4.02.R11.20131108_ALL.bin 
General_HZXM_IPC_HI3516C_53h30L_V4.02.R11.20131108_ALL.bin: Zip archive data, at least v2.0 to extract

Распаковываем:

[email protected]:~/firmware# unzip General_HZXM_IPC_HI3516C_53h30L_V4. 02.R11.20131108_ALL.bin 
Archive:  General_HZXM_IPC_HI3516C_53h30L_V4.02.R11.20131108_ALL.bin
  inflating: Install                 
  inflating: u-boot-all.bin.img      
  inflating: web-x.cramfs.img        
  inflating: custom-x.cramfs.img     
  inflating: user-x.cramfs.img       
  inflating: romfs-x.cramfs.img      
  inflating: logo-x.cramfs.img       
  inflating: InstallDesc

Смотрим содержимое Install:

{
   "Commands" : [
      "burn custom-x.cramfs.img custom",
      "burn romfs-x.cramfs.img romfs",
      "burn user-x.cramfs.img user",
      "burn logo-x.cramfs.img logo",
      "burn web-x.cramfs.img web"
   ],
   "Devices" : [
      [ "53h30L", "1.00" ]
   ]
}

InstallDesc:

   "UpgradeCommand" : [
      {
         "Command" : "Burn",
         "FileName" : "u-boot-all.bin.img"
      },
      {
         "Command" : "Burn",
         "FileName" : "custom-x.cramfs.img"
      },
      {
         "Command" : "Burn",
         "FileName" : "romfs-x. cramfs.img"
      },
      {
         "Command" : "Burn",
         "FileName" : "user-x.cramfs.img"
      },
      {
         "Command" : "Burn",
         "FileName" : "web-x.cramfs.img"
      },
      {
         "Command" : "Burn",
         "FileName" : "logo-x.cramfs.img"
      }
   ],
   "Hardware" : "53h30L",
   "Vendor" : "General"
}

Слово u-boot-all наводит на мысль, что файлы img являются образами загрузчика U-boot, поэтому ставим соответствующий пакет:

[email protected]:~/firmware# apt-get install u-boot-tools

Смотрим, что за файлы у нас были в архиве:

[email protected]:~/firmware# file u-boot-all.bin.img 
u-boot-all.bin.img: u-boot legacy uImage, linux, Linux/ARM, Firmware Image (gzip), 524288 bytes, Fri Nov  8 05:15:49 2013, Load Address: 0x00000000, Entry Point: 0x00080000, Header CRC: 0x8A551AA8, Data CRC: 0x8290AD90

[email protected]:~/firmware# file romfs-x.cramfs.img 
romfs-x.cramfs.img: u-boot legacy uImage, linux, Linux/ARM, OS Kernel Image (gzip), 4100096 bytes, Fri Nov  8 05:16:04 2013, Load Address: 0x00080000, Entry Point: 0x00580000, Header CRC: 0xD16AC90F, Data CRC: 0x54CDD868

[email protected]:~/firmware# file user-x. cramfs.img 
user-x.cramfs.img: u-boot legacy uImage, linux, Linux/ARM, OS Kernel Image (gzip), 7602112 bytes, Fri Nov  8 05:16:02 2013, Load Address: 0x00580000, Entry Point: 0x00CC0000, Header CRC: 0x106C19AD, Data CRC: 0x6D54ADA7

[email protected]:~/firmware# file web-x.cramfs.img 
web-x.cramfs.img: u-boot legacy uImage, linux, Linux/ARM, Standalone Program (gzip), 1572800 bytes, Fri Nov  8 05:15:51 2013, Load Address: 0x00CC0000, Entry Point: 0x00E40000, Header CRC: 0x87611FE5, Data CRC: 0x6BD90EBD

[email protected]:~/firmware# file custom-x.cramfs.img 
custom-x.cramfs.img: u-boot legacy uImage, linux, Linux/ARM, Standalone Program (gzip), 262080 bytes, Fri Nov  8 05:15:49 2013, Load Address: 0x00E40000, Entry Point: 0x00E80000, Header CRC: 0xF7C82692, Data CRC: 0x5A27F74C

[email protected]:~/firmware# file logo-x.cramfs.img 
logo-x.cramfs.img: u-boot legacy uImage, linux, Linux/ARM, Standalone Program (gzip), 262080 bytes, Fri Nov  8 05:15:47 2013, Load Address: 0x00E80000, Entry Point: 0x00EC0000, Header CRC: 0x4FE4A821, Data CRC: 0xF6671BD1

Прошу обратить внимание на два параметра Load Address и Entry Point. Я при первой сборке забыл их указать, они по умолчанию стали нулями, а это адрес загрузчика, который оказался затёрт после прошивки! Из-за этого я потратил лишний час на восстановление — пришлось снимать с улицы камеру, разбирать, и восстанавливать прошивку на программаторе. (Хотя камеру разбирал всё же не зря — добавил в кожух пакетик силикагеля, чтобы убрать возможную влагу из воздуха.)

Теперь небольшое пояснение: образ .img из данной прошивки является несколько изменённым образом файловой системы cramfs. Вот тут можно почитать поподробнее. Чтобы привести образ к нормальному виду, нужно отрезать 64 байта заголовка.

[email protected]:~/firmware# dd bs=1 skip=64 if=logo-x.cramfs.img of=logo-x.cramfs
262080+0 записей получено
262080+0 записей отправлено
скопировано 262080 байт (262 kB), 0,891322 c, 294 kB/c

Для остальных файлов команды аналогичные.
Смотрим, что получилось:

[email protected]:~/firmware# file logo-x.cramfs 
logo-x.cramfs: Linux Compressed ROM File System data, little endian size 28672 version #2 sorted_dirs CRC 0xe29e6340, edition 0, 199 blocks, 2 files

Уже похоже на cramfs. Для работы с образами cramfs установим или обновим соответствующий пакет:

[email protected]:~/firmware# apt-get install cramfsprogs

Распаковываем образы:

[email protected]:~/firmware# cramfsck -x logo logo-x.cramfs
[email protected]:~/firmware# cramfsck -x user user.cramfs
[email protected]:~/firmware# cramfsck -x romfs romfs-x.cramfs
[email protected]:~/firmware# cramfsck -x web web-x.cramfs
[email protected]:~/firmware# cramfsck -x custom custom-x.cramfs

Каталоги я не создаю, они создадутся автоматически.
Загрузчик так не распаковать, это не образ cramfs, но его и не надо трогать.

Что внутри

Быстренько пробегусь по содержимому каждого файла внутри архива прошивки:

  • InstallDesc — описывает действия, которые нужно произвести с этими файлами при обновлении прошивки, install-скрипт.
  • logo-x.cramfs.img — картинка в формате 800×600 с логотипом изготовителя, которая появляется при загрузке аппарата.
  • romfs-x.cramfs.img — собственно сама операционная система linux под архитектуру ARM
  • u-boot-all. bin.img — загрузчик U-boot
  • custom-x.cramfs.img — содержит наименование платформы и дополнительные настройки
  • user-x.cramfs.img — прикладной софт, в том числе Sofia — сама программа видеорегистратора
  • web-x.cramfs.img — картинки веб-интерфейса, web.cab — плагин для Internet Explorer с локализацией, логотипы производителя.

Нас интересует romfs-x.cramfs.img, так как именно там присутствует файл passwd, в котором хранится пароль. Вот его содержимое, желающие могут попробовать сбрутить:

root:$1$RYIwEiRA$d5iRRVQ5ZeRTrJwGjRy.B0:0:0:root:/:/bin/sh

Я же просто сгенерил новый хеш на сайте и поменял его в файле.

Собираем обратно

После сделанных изменений нужно всё запаковать обратно:

[email protected]:~/firmware# mkcramfs romfs romfs-x.cramfs
Directory data: 3624 bytes
Everything: 4004 kilobytes
Super block: 76 bytes
CRC: 28c62b9b

Помните, я заострял внимание на значениях Load Address и Entry Point? Самое время о них вспомнить и добавить в команду.
Создаём образ U-boot:

[email protected]:~/firmware# mkimage -A arm -O linux -T ramdisk -n "linux" -e 0x00580000 -a 0x00080000 -d romfs-x.cramfs romfs-x.cramfs.img
Image Name:   linux
Created:      Fri Feb 21 14:27:38 2014
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    4100096 Bytes = 4004.00 kB = 3.91 MB
Load Address: 00080000
Entry Point:  00580000

Кстати, чтобы обновить один модуль не обязательно прошивать всю прошивку, достаточно положить только нужный, и отредактировать файлы Install и InstallDesc, оставив только нужные строчки.
Складываем полученные файлы в отдельный каталог, пусть это будет new. Даём команду:

[email protected]:~/new# zip -D -X firmware.bin *
  adding: Install (deflated 22%)
  adding: InstallDesc (deflated 30%)
  adding: romfs-x.cramfs.img (deflated 0%)

Всё, прошивка готова. Осталось только прошить её через web-интерфейс через пункт update

Предостережение

Выполняя рекомендации из этой статьи, вы делаете на ваш страх и риск. Автор не несет ответственности за ваши действия. Допустив ошибку при модификации прошивки вы легко можете получить кирпич, который можно будет восстановить только на программаторе. Поэтому, если не уверены в своих действиях, не делайте этого.

Ссылки

Burn-in рутовый шелл в IP-камерах Vesta и не только
GNU/Linux и устройство на Rockchip 2918
Hacking RAM disks

Автор: Newsonya

Источник

ТЕЛЕФОНЫ, ПЛАНШЕТЫ, Распаковки и Обзоры, Программы, Андроид, Прошивки, ЛЕГКО, Товары из Китая, eBay, ебей, Обзоры, Распаковки, AliExpress.com. Алиэкспресс, ЧАСЫ Распаковки и Обзоры!


●Покупал телефон thl тут http://goo.gl/6B5zm1 ●THL 4000 у топовых продавцов http://goo.gl/nLp7iG ●Вступаем в нашу группу http://vk.com/zakazvsetiru ———…
https://www.youtube.com/watch?v=jhnqHW3qzEw


Канал о покупках в интернете. Распаковки посылок, обзоры, отзывы, советы, полезная информация для шопоголиков… Также будут конкурсы и уроки о Китае ! Не пр…
https://www. youtube.com/watch?v=jhnqHW3qzEw&list=UU0XSizzE3ZpwETsZ2pNcD0g


●Покупал телефон thl тут http://goo.gl/6B5zm1 ————————————————————————————— ●THL 4000 у топовых прод…
https://www.youtube.com/watch?v=xmUAlaVuInM

—————————————————————————————

—————————————————————————————

—————————————————————————————

—————————————————————————————

  • AliExpress Групповые покупки САМОЕ ДЕШЕВОЕ ИЗ КИТАЯ !!! http://bit.ly/1skMmZW

—————————————————————————————

—————————————————————————————

—————————————————————————————

  • ЗАРАБОТОК в интернете — это РЕАЛЬНО и очень ПРИБЫЛЬНО! http://bit. ly/1tOfxPI

—————————————————————————————

—————————————————————————————

  • Зарабатывай на YouTube Моя партнерская программа платит и развивает http://bit.ly/123hH6K

✔ТЕЛЕФОНЫ & ПЛАНШЕТЫ Распаковки и Обзоры!

http://goo.gl/ltwpMO

✔ЧАСЫ Распаковки и Обзоры!

http://goo.gl/9sj7U4

✔Как работать с Аliexpress.com

http://goo.gl/osGvn6

✔ОДЕЖДА Распаковки и Обзоры!

http://goo.gl/Naeb4w

✔Программы, Андроид, Прошивки и др. ЛЕГКО!

http://goo.gl/X7Ksi5

✔Аксессуары для телефонов

http://goo.gl/fHbGsO

✔Товары из Китая. eBay. ебей. Обзоры. Распаковки.

http://goo.gl/4I9Mo7

✔Товары из Китая. AliExpress.com. Алиэкспресс. Обзоры. Распаковки.

http://goo.gl/nFbEKg

●Вступаем в нашу группу http://vk. com/zakazvsetiru
—————————————————————————————
●Мобильные телефоны Каталог AliExpress — http://bit.ly/1zhfwZl
—————————————————————————————
●AliExpress Групповые покупки САМОЕ ДЕШЕВОЕ ИЗ КИТАЯ !!! http://bit.ly/1skMmZW
—————————————————————————————
●Одежда и аксессуары для Мужчин Aliexpress http://bit.ly/13imv9J
—————————————————————————————
●Одежда и аксессуары для Женщин Aliexpress http://bit.ly/1uy2Vf3
—————————————————————————————
●ЗАРАБОТОК в интернете — это РЕАЛЬНО и очень ПРИБЫЛЬНО! http://bit.ly/1tOfxPI
—————————————————————————————
●Возврат от 0.5% до 10% с покупок в Интерне http://bit.ly/16cKjNv
—————————————————————————————
● Зарабатывай на YouTube Моя партнерская программа платит и развивает http://bit.ly/123hH6K
✔ТЕЛЕФОНЫ & ПЛАНШЕТЫ Распаковки и Обзоры!
http://goo.gl/ltwpMO
✔ЧАСЫ Распаковки и Обзоры!
http://goo.gl/9sj7U4
✔Как работать с Аliexpress.com
http://goo.gl/osGvn6
✔ОДЕЖДА Распаковки и Обзоры!
http://goo. gl/Naeb4w
✔Программы, Андроид, Прошивки и др. ЛЕГКО!
http://goo.gl/X7Ksi5
✔Аксессуары для телефонов
http://goo.gl/fHbGsO
✔Товары из Китая. eBay. ебей. Обзоры. Распаковки.
http://goo.gl/4I9Mo7
✔Товары из Китая. AliExpress.com. Алиэкспресс. Обзоры. Распаковки.
http://goo.gl/nFbEKg


Канал о покупках в интернете. Распаковки посылок, обзоры, отзывы, советы, полезная информация для шопоголиков… Также будут конкурсы и уроки о Китае ! Не пр…
https://www.youtube.com/watch?v=BJ1zBwUB5cc&amp;list=UU0XSizzE3ZpwETsZ2pNcD0g

●Покупал Женские наручные часы тут http://bit.ly/1wU9gY4
●Бижутерия http://bit.ly/1wuglt9
●Игрушка грызун http://bit. ly/13MKz47
—————————————————————————————
●Вступаем в нашу группу http://vk.com/zakazvsetiru
—————————————————————————————
●Мобильные телефоны Каталог AliExpress — http://bit.ly/1zhfwZl
—————————————————————————————
●AliExpress Групповые покупки САМОЕ ДЕШЕВОЕ ИЗ КИТАЯ !!! http://bit.ly/1skMmZW
—————————————————————————————
●Одежда и аксессуары для Мужчин Aliexpress http://bit.ly/13imv9J
—————————————————————————————
●Одежда и аксессуары для Женщин Aliexpress http://bit.ly/1uy2Vf3
—————————————————————————————
●ЗАРАБОТОК в интернете — это РЕАЛЬНО и очень ПРИБЫЛЬНО! http://bit.ly/1tOfxPI
—————————————————————————————
●Возврат от 0.5% до 10% с покупок в Интерне http://bit.ly/16cKjNv
—————————————————————————————
● Зарабатывай на YouTube Моя партнерская программа платит и развивает http://bit.ly/123hH6K
✔ТЕЛЕФОНЫ & ПЛАНШЕТЫ Распаковки и Обзоры!
http://goo.gl/ltwpMO
✔ЧАСЫ Распаковки и Обзоры!
http://goo.gl/9sj7U4
✔Как работать с Аliexpress. com
http://goo.gl/osGvn6
✔ОДЕЖДА Распаковки и Обзоры!
http://goo.gl/Naeb4w
✔Программы, Андроид, Прошивки и др. ЛЕГКО!
http://goo.gl/X7Ksi5
✔Аксессуары для телефонов
http://goo.gl/fHbGsO
✔Товары из Китая. eBay. ебей. Обзоры. Распаковки.
http://goo.gl/4I9Mo7
✔Товары из Китая. AliExpress.com. Алиэкспресс. Обзоры. Распаковки.
http://goo.gl/nFbEKg

●Покупал Civi Гель лак из Китая тут http://bit.ly/1B2IonW
●JiaYu F1 Civi Гель лак у топовых продавцов алиэкспресс http://bit.ly/1x5ls87
—————————————————————————————
●Вступаем в нашу группу http://vk.com/zakazvsetiru
—————————————————————————————
●Мобильные телефоны Каталог AliExpress — http://bit. ly/1zhfwZl
—————————————————————————————
●AliExpress Групповые покупки САМОЕ ДЕШЕВОЕ ИЗ КИТАЯ !!! http://bit.ly/1skMmZW
—————————————————————————————
●Одежда и аксессуары для Мужчин Aliexpress http://bit.ly/13imv9J
—————————————————————————————
●Одежда и аксессуары для Женщин Aliexpress http://bit.ly/1uy2Vf3
—————————————————————————————
●ЗАРАБОТОК в интернете — это РЕАЛЬНО и очень ПРИБЫЛЬНО! http://bit.ly/1tOfxPI
—————————————————————————————
●Возврат от 0.5% до 10% с покупок в Интерне http://bit.ly/16cKjNv
—————————————————————————————
● Зарабатывай на YouTube Моя партнерская программа платит и развивает http://bit.ly/123hH6K
✔ТЕЛЕФОНЫ & ПЛАНШЕТЫ Распаковки и Обзоры!
http://goo.gl/ltwpMO
✔ЧАСЫ Распаковки и Обзоры!
http://goo.gl/9sj7U4
✔Как работать с Аliexpress.com
http://goo.gl/osGvn6
✔ОДЕЖДА Распаковки и Обзоры!
http://goo.gl/Naeb4w
✔Программы, Андроид, Прошивки и др. ЛЕГКО!
http://goo.gl/X7Ksi5
✔Аксессуары для телефонов
http://goo. gl/fHbGsO
✔Товары из Китая. eBay. ебей. Обзоры. Распаковки.
http://goo.gl/4I9Mo7
✔Товары из Китая. AliExpress.com. Алиэкспресс. Обзоры. Распаковки.
http://goo.gl/nFbEKg

Извлеките файл Android OTA Payload.bin с помощью инструмента Payload Dumper

Пакеты Android OTA теперь поставляются с файлом Payload.bin, который содержит отдельные файлы изображений для разных разделов встроенного ПО. В этом руководстве мы покажем вам, как извлечь файл Android OTA Payload.bin, чтобы получить отдельные образы разделов/прошивок устройства. Это можно сделать с помощью инструмента Payload Dumper на ПК или на устройстве Android.

Содержание

Что такое файл Payload.bin?

Компания Google представила концепцию A/B (бесшовных) обновлений системы еще в Android Oreo.Конечно, новый механизм обновления предлагает несколько преимуществ. Во-первых, обновления устанавливаются без проблем, без перезагрузки телефона в режим восстановления. Кроме того, это значительно снижает количество сбоев после OTA, которые могут сделать устройство непригодным для использования. XDA опубликовал подробный отчет о разделах A/B и о том, как они влияют на пользовательскую сцену разработки.

Содержимое пакета Android OTA

Этот новый механизм обновления A/B также представил новый формат для файлов обновления Android OTA/прошивки. Раньше эти файлы или пакеты обновлений поставлялись с образами разделов, которые можно было легко извлечь и использовать для ручной прошивки.Но теперь эти пакеты обновлений поставляются с одним файлом « Payload.bin », который содержит образы отдельных разделов.

Извлечение образов разделов отдельных устройств из OTA-файла Android может пригодиться в различных ситуациях. Например, если вы хотите получить стандартный загрузочный образ для установки Magisk и рутирования вашего телефона. Или, если вы хотите вручную обновить свой телефон до последней версии программного обеспечения, прошив образ прошивки через fastboot.

В любом из этих случаев вы можете использовать инструмент Payload Dumper.Инструмент представляет собой скрипт/программу Python, созданную разработчиком ius, которая позволяет пользователям легко извлекать файл Android OTA Payload. bin на любом ПК с Windows, macOS или Linux и даже на устройстве Android (поскольку Android использует ядро ​​​​Linux) .

Его можно использовать для пакетов OTA для различных устройств A/B, включая, помимо прочего, OnePlus 8 (Pro), OnePlus 7/7T (Pro), OnePlus 6/6T, Xiaomi Mi A3, Xiaomi Mi A2/A2 Lite, Xiaomi Ми А1 и многое другое. В основном любое устройство Android, поддерживающее бесшовные обновления.

Важное примечание: Инструмент Payload Dumper можно использовать только для извлечения файла Payload.bin из полных пакетов OTA. Это не будет работать для инкрементных пакетов OTA.

Как извлечь Android OTA Payload.bin File

Самый простой способ использовать Payload Dumper Tool для извлечения Payload.bin на компьютере. Однако некоторые пользователи могут захотеть делать это на ходу, полностью отказываясь от ПК. Если это так, то есть способ использовать инструмент Payload Dumper и на устройстве Android.

Хотя последнее требует немного дополнительных усилий, чем первое, но все же довольно просто. Итак, в зависимости от того, как вы хотите это сделать, следуйте инструкциям ниже.

1. На компьютере

Шаг 1: Payload Dumper Tool — это программа Python, поэтому первым шагом является загрузка и установка Python в вашей системе. Инструмент требует Python 3 или выше, который можно скачать с официальной страницы.

При установке Python убедитесь, что он добавлен в PATH на вашем ПК.Для ПК с Windows это можно легко сделать, установив флажок «Добавить Python в PATH» в программе установки. Для Linux/macOS вы можете использовать инструкции, представленные на этой странице.

Шаг 2: Загрузите последнюю версию Payload Dumper Tool на свой компьютер по этой ссылке и извлеките ее содержимое в подходящее место. После извлечения у вас должна появиться новая папка с именем «payload_dumper».

Шаг 3: Теперь загрузите полный ZIP-архив OTA для своего устройства Android.Распакуйте загруженный ZIP-файл на свой компьютер с помощью архиватора (WinRAR, 7Zip и т.  д.). Извлеченное содержимое будет включать файл «Payload.bin», который вам нужно извлечь. Скопируйте файл Payload.bin в папку «payload_dumper».

Шаг 4: Откройте окно командной строки на своем ПК в папке «payload_dumper», где находятся инструмент и файлы payload.bin. Для этого

  • На ПК с Windows: удерживая клавишу SHIFT, щелкните правой кнопкой мыши пустое место внутри папки, затем выберите параметр «Открыть окно PowerShell здесь».
  • На ПК с macOS/Linux: запустите Терминал и измените его каталог на папку «payload_dumper» с помощью команды «cd». Например: Если папка payload_dumper находится в папке Documents, то команда должна выглядеть так: cd Documents/payload_dumper

Шаг 5: Чтобы использовать инструмент на своем ПК, вы должны сначала установить «Protobuf» (формат обмена данными Google), который в основном является зависимостью. Чтобы установить его, введите следующую команду.

Как только вы введете команду, Protobuf будет загружен и установлен на ваш компьютер. Если он уже установлен в вашей системе, вы будете уведомлены об этом.

Шаг 6: Теперь, чтобы окончательно извлечь файл полезной нагрузки Android OTA.bin, введите следующую команду.

Теперь инструмент начнет извлекать образы отдельных разделов из файла Payload.bin. После завершения вы найдете извлеченные файлы в той же папке «payload_dumper».

2.На устройстве Android

Поскольку Android использует ядро ​​​​Linux, вы можете использовать инструмент Payload Dumper для извлечения Payload.bin на само устройство Android. Этот процесс очень похож на тот, который выполняется на ПК, но требует нескольких дополнительных шагов.

Теперь следуйте приведенным ниже инструкциям.

Шаг 1: Загрузите инструмент Payload Dumper отсюда. После загрузки извлеките содержимое файла payload_dumper_tool_by_ius.zip в корень внутренней памяти вашего телефона. Вы можете извлечь его куда угодно, однако корневой каталог более удобен.

Извлеченная папка payload_dumper будет содержать скрипты Python инструмента, как показано на рисунке ниже.

Шаг 2: Теперь загрузите пакет OTA, из которого вы хотите извлечь образы прошивки. После загрузки извлеките пакет OTA на свое устройство, чтобы получить файл «payload.bin». Затем скопируйте извлеченный файл «payload.bin» в папку «payload_dumper», которую вы извлекли на шаге № 1.

Шаг 3: Загрузите и установите приложение «Termux» (эмулятор терминала) на свое устройство Android. После установки запустите приложение из панели приложений вашего телефона.

Шаг 4: Чтобы использовать этот инструмент, вы должны сначала установить и настроить Python на своем устройстве Android. Для этого введите в Termux одну за другой следующие команды:

 pkg установить python -y
pip установить --обновить пип
pip установить protobuf
подходящее обновление && подходящее обновление -y 

Эти команды в основном настроят Python, обновят его собственный менеджер пакетов (pip), установят необходимую зависимость «Protobuf», а также обновят все другие программные пакеты на вашем устройстве Android.

Шаг 5: Теперь используйте следующую команду, чтобы предоставить разрешения на хранение для «Termux»:

 termux-настройка-хранилище 

Как только вы введете команду, вы увидите приглашение «Разрешить Termux доступ к фотографиям, мультимедиа и файлам на вашем устройстве». Просто нажмите «Разрешить», чтобы предоставить разрешения.

К этому моменту ваше Android-устройство полностью готово для использования программ Python (в данном случае инструмента Payload Dumper).

Шаг 6: Измените каталог Termux на папку «payload_dumper», используя следующую команду, при условии, что эта папка находится в корне внутренней памяти вашего телефона.

 хранилище компакт-дисков/общий/payload_dumper 

Шаг 7: Наконец, введите следующую команду в Termux, чтобы извлечь желчь Android OTA Payload.bin на ваше устройство Android:

 python payload_dumper.py полезная нагрузка. bin 

После завершения извлеченные образы прошивки будут помещены в тот же инструмент payload_dumper.

Теперь вы можете скопировать эти файлы и прошить их вручную на вашем устройстве с помощью fastboot. Вы даже можете взять стандартный загрузочный образ и исправить его, чтобы установить Magisk и получить root права на свое устройство Android.

Ну вот! Вы только что узнали, как извлечь файл полезной нагрузки Android OTA.bin на ПК или на устройстве Android. Если у вас есть какие-либо вопросы или вы чувствуете, что где-то застряли при выполнении инструкций в этом руководстве, сообщите нам об этом.

Источник: Github | Кредиты: Разработчик ius

Как извлечь файл дерева устройств из файлов прошивки Android

До сих пор все наши дешевые Android-устройства были основаны на старом ядре Linux (3.0.x, 3.4.x), в которых по-прежнему использовались файлы платы (arch/arm/board, но мы недавно видели, как такие компании, как Amlogic и Rockchip, выпускают исходный код с ядром Linux 3. 10.x. Одно из ключевых отличий между этими версиями — переход от файлов платы до плоского дерева устройств и поддержки нескольких платформ. Если это будет полностью реализовано, один образ ядра должен иметь возможность загружать несколько аппаратных платформ, а вся низкоуровневая конфигурация обрабатывается файлом дерева устройств. Поскольку я подключил последовательный порт Tronsmart Vega S89 для отладки, и это плохой день для новостей, я подумал, что могу попытаться загрузить ядро ​​​​Linux, которое я скомпилировал сам, но одной из проблем было получить файл дерева устройств.Покажу как вытащить из прошивки. Также должна быть возможность получить его непосредственно из флэш-памяти, но «cat /proc/mtd» не показывает полный список разделов, как в предыдущих версиях.

Я выполнил описанные ниже шаги в Ubuntu 14.04. Прежде всего, необходимо установить некоторые инструменты: компилятор дерева устройств, который мы будем использовать для декомпиляции dtb (бинарного) файла в dtd (текстовый) файл, и split_bootimg.pl — стандартный скрипт PERL для извлечения файлов из boot.img:

sudo apt-get установить компилятор дерева устройств wget https://gist.githubusercontent.com/jberkel/1087743/raw/5be96af0e1c1346678379b0c0f0330b71df51f25/split_bootimg.pl sudo cp split_bootimg.pl /usr/local/bin sudo chmod +x /usr/local/bin/split_bootimg.pl

Sudo APT-Get-Get Установить устройство-компиляторы

WGET HTTPS://gist.githubusuSercontent.com/jberkel/1087743/raw/5be96779b0c046678379b0c0f0330b71df51f25/split_bootimg.pl

sudo cp split_bootimg.pl / usr / local / bin

sudo chmod +x /usr/local/bin/split_bootimg.номер


В качестве примера буду использовать прошивку M8/TM8 (Amlogic S802). Точная процедура зависит от файла прошивки, но если вы можете загрузить boot.img, процедура должна быть независимой от платформы и работать для любой SoC ARM. После загрузки и извлечения файла прошивки (TM8 ap6330_03102014A_0410_ROOT.rar) давайте создадим рабочий каталог и разархивируем файл «OTA».

мкдир TM8 компакт-диск ТМ8 распаковать ../k200-ota-20140410.почтовый индекс

mkdir TM8

cd TM8

unzip ../k200-ota-20140410.zip


Теперь мы получаем кучу файлов, включая boot.img. Здорово! Время запуска сценария split_bootimg.pl для извлечения его содержимого:

split_bootimg.pl boot.img Размер страницы: 2048 (0x00000800) Размер ядра: 7209567 (0x006e025f) Размер RAM-диска: 2024995 (0x001ee623) Второй размер: 17699 (0x00004523) Название доски: Командная строка: Написание загрузки.img-ядро… полное. Запись boot.img-ramdisk.gz… завершена. Запись boot.img-second.gz… завершена.

Split_bootimg.pl boot.img

Размер страницы: 2048 (0x00000800)

(0x00000800)

Размер ядра: 7209567 (0x006e025f)

Размер Рамдиска: 2024995 (0x001ee623)

Второй размер: 17699 (0x00004523)

Название доска:

Командная строка:

Запись boot.img-kernel… завершена.

Запись boot.img-ramdisk.gz… завершена.

Запись boot.img-second.gz… завершена.


Итак, у нас есть ядро, RAM-диск и «второй файл», который оказывается файлом dtb. Теперь мы можем декомпилировать его с помощью dtc (компилятор дерева устройств) следующим образом:

dtc -I dtb boot.img-second.gz -O dts -o meson8_tm8.dtd

dtc -I загрузка dtb.img-second.gz -O dts -o meson8_tm8.dtd


Вот и все. Вот файл дерева устройств M8.

Я сделал то же самое для Tronsmart Vega S89 (Elite). Прошивка S89 обычно распространяется в виде файла IMG для использования с инструментом AML Flash Burning, но я пока не нашел способа извлечь такой файл. тем не менее, я нашел прошивку «OTA», которую нужно обновить через SD-карту, на Freaktab и смог извлечь файл дерева устройств для Tronsmart Vega S89 Elite и Vega S89. Файлы M8 и S89 Elite DTD очень похожи, но максимальная частота ЦП, кажется, выше в M8, и есть другие, по-видимому, незначительные различия.Однако файл Vega S89 DTD сильно отличается.

Жан-Люк основал CNX Software в 2010 году на полставки, прежде чем уйти с должности менеджера по разработке программного обеспечения и начать писать ежедневные новости и обзоры на полную ставку позже в 2011 году.

Инструмент для распаковки загрузочных и системных образов Android

  • Поддерживает создание образов (функции аналогичны mkbootimg) с аргументом «make»
  • Версия 0.5 Изменения

  • Незначительные обновления для поддержки случаев, когда ядро ​​не может быть распаковано (в частности, Samsung 6Edge — спасибо, Дэн!)
  • Обновление с помощью двоичных файлов LZ4
  • Версия 0.6 изменений

  • Образы Samsung (с DT > 0) — дерево устройств теперь находится на следующей странице после виртуального диска
  • Версия 0.7 Изменения

  • Теперь работает с файлами MTK system.new.dat/system.transfer.list (подробнее о формате)
  • [email protected] (/tmp/biscuit) % ls -l
    всего 1077360
    [email protected] 6 колесо морфеуса 192 6 сен 13:26 META-INF
    [email protected] 1 колесо morpheus 7733248 21 июля 2016 г. boot.img
    [email protected] 1 колесо морфеуса 35571 21 июля 2016 г. file_contexts
    [email protected] 5 колесо морфеуса 160 6 сентября 13:26 изображений
    [email protected] 1 колесо morpheus 257 21 июля 2016 г. ota.опора
    [email protected] 3 колесо морфеуса 96 6 сентября 13:26 система
    [email protected] 1 колесо morpheus 540708864 21 июля 2016 г. system.new.dat
    [email protected] 1 колесо морфеуса 0 21 июля 2016 г. system.patch.dat
    [email protected] 1 колесо морфеуса 198 21 июля 2016 system.transfer.list
    [email protected] (/tmp/biscuit) % ~/Documents/Android/src/ImgTool/imjtool system.new.dat stl
    STL - количество блоков 132009, numNew 26
    Изображение записано в /tmp/extracted.img
    [email protected] (/tmp/biscuit) % файл /tmp/extracted.img
    /tmp/извлечено.img: данные файловой системы Linux rev 1.0 ext4, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (экстенты) (большие файлы)
    
     

    Версия 0.8 Изменения

  • Теперь также распаковывает образы Huawei!
  • [email protected] (~/Documents/Android/Images/Huawei)% imjtool UPDATE.APP
    Обнаружен образ обновления Huawei
    0x5c: Имя: SHA256RSA (256 байт) Дата: 21.12.2017 Время: 11.09.46
    0x1c0: Название: CRC (255916 байт) Дата: 21.12.2017 Время: 11.09.46
    0x3ea4c: Имя: CURVER (15 байт) Дата: 21.12.2017 Время: 11.09.46
    0x3eac0: Имя: VERLIST (29 байт) Дата: 2017.12.21 Время: 09.11.46
    0x3eb44: Имя: PACKAGE_TYPE (14 байт) Дата: 21.12.2017 Время: 11.09.46
    0x3ebb8: Имя: HISIUFS_GPT (200704 байта) Дата: 2017.12.21 Время: 09.11.46
    0x6fc7c: Имя: XLOADER (180224 байт) Дата: 21.12.2017 Время: 11.09.46
    0x9bd38: Имя: FW_LPM3 (225408 байт) Дата: 21.12.2017 Время: 11.09.46
    0xd2e8c: Имя: HHEE (71424 байт) Дата: 21.12.2017 Время: 11.09.46
    0xe4614: Имя: FASTBOOT (2480960 байт) Дата: 2017.12.21 Время: 09.11.46
    0x342674: Имя: VECTOR (1218880 байт) Дата: 21.12.2017 Время: 09.11.46
    0x46c26c: Имя: VBMETA (10176 байт) Дата: 21.12.2017 Время: 11.09.47
    0x46ea94: Имя: MODEMNVM_UPDATE (7718544 байт) Дата: 21.12.2017 Время: 11.09.47
    0xbcc040: Имя: MODEMNVM_CUST (957242 байта) Дата: 21.12.2017 Время: 11.09.47
    0xcb5db0: Имя: TEEOS (4278656 байт) Дата: 21.12.2017 Время: 11.09.47
    0x10cafbc: Имя: TRUSTFIRMWARE (163584 байт) Дата: 21.12.2017 Время: 11.09.47
    0x10f2f70: Имя: SENSORHUB (1706752 байт) Дата: 21.12.2017 Время: 11.09.47
    0x1293e14: Имя: FW_HIFI (5832000 байт) Дата: 2017.12.21 Время: 09.11.47
    0x18246d8: Название: KERNEL (25165824 байт) Дата: 21.12.2017 Время: 11.09.47
    0x302773c: Имя: RAMDISK (16777216 байт) Дата: 21.12.2017 Время: 11.09.47
    0x40297a0: Имя: RECOVERY_RAMDISK (33554432 байт) Дата: 21.12.2017 Время: 11.09.47
    0x602d804: Имя: RECOVERY_VENDOR (16777216 байт) Дата: 21.12.2017 Время: 11.09.48
    0x702f868: Имя: RECOVERY_VBMETA (7104 байт) Дата: 21.12.2017 Время: 11.09.48
    0x7031490: Имя: ERECOVERY_KERNEL (25165824 байт) Дата: 21.12.2017 Время: 11.09.48
    0x88344f4: Имя: ERECOVERY_RAMDISK (33554432 байта) Дата: 2017.12.21 Время: 09.11.48
    0xa838558: Имя: ERECOVERY_VENDOR (16777216 байт) Дата: 21.12.2017 Время: 11.09.49
    0xb83a5bc: Имя: ERECOVERY_VBMETA (7104 байта) Дата: 21.12.2017 Время: 11.09.49
    0xb83c1e4: Имя: HDCP (220544 байт) Дата: 21.12.2017 Время: 11.09.49
    0xb872034: Имя: DTS (28 байт) Дата: 21.12.2017 Время: 11.09.49
    0xc1109d4: Название: DTO (1951488 байт) Дата: 21.12.2017 Время: 11.09.49
    0xc2ed4f0: Имя: КЭШ (6348948 байт) Дата: 21.12.2017 Время: 11.09.49
    0xc8fc204: Имя: SYSTEM (3042749952 байта) Дата: 2017.12.21 Время: 09.11.49
    0xc2031bfc: Имя: ISP_FIRMWARE (6486336 байт) Дата: 2017.12.21 Время: 09.12.30
    0xc2662200: Имя: MODEM_FW (58720256 байт) Дата: 21.12.2017 Время: 30.12.09
    0xc5e69264: Имя: HISEE_IMG (571376 байт) Дата: 21.12.2017 Время: 31.12.09
    0xc5ef4bd0: Имя: HISEE_FS (4391084 байт) Дата: 2017.12.21 Время: 09.12.31
    0xc6325540: Имя: ПРОДАВЕЦ (600677176 байт) Дата: 21.12.2017 Время: 31.12.09
    0xea046a90: Имя: ODM (123703128 байт) Дата: 2017.12.21 Время: 09.12.38
    0xf164e63c: Имя: ПРОДУКТ (144699356 байт) Дата: 2017.12.21 Время: 09.12.40
     
  • .. и изображения Pixel 3 (Qcom Snapdragon 845)!
  • [email protected] (~/Documents/Android/src/ImgTool)% ./imjtool Tests/bootloader-crosshatch-b1c1-0.1-5034669.img извлечение
    Обнаружен образ QCom SD845 ("FBPK")
    Таблица разделов с 19 записями:
    0x23b0: мсадп
    0x63f0: хбл
    0x382430: xbl_config
    0x39a470: аоп
    0x3c74b0: тц
    0x5bd4f0: хайп
    0x61c530: абл
    0x71c570: мастер ключей
    0x7515b0: cmnlib
    0x7ad5f0: cmnlib64
    0x826630: devcfg
    0x830670: квпфв
    0x8406b0: сторсек
    0x8466f0: логфс
    [email protected] (~/Documents/Android/src/ImgTool)% файл извлечен/*
    извлечено/удалено: ELF 64-битный исполняемый файл LSB, ARM, версия 1 (SYSV), статически связанный, поврежденный размер заголовка раздела
    извлечено/аоп: 32-битный исполняемый файл ELF LSB, ARM, EABI5 версии 1 (GNU/Linux), статически связанный, удаленный
    извлеченный/cmnlib: ELF 32-битный общий объект LSB ARM, EABI5 версии 1 (GNU/Linux), динамически связанный, разделенный
    Extracted/cmnlib64: ELF 64-битный общий объект LSB ARM aarch64, версия 1 (GNU/Linux), динамически связанный, удаленный
    извлечённый/devcfg: 64-битный исполняемый файл ELF LSB, ARM aarch64, версия 1 (GNU/Linux), статически компонованный, разделённый
    извлечено/hyp: 64-битный исполняемый файл ELF LSB, ARM aarch64, версия 1 (GNU/Linux), статически связанный, удаленный
    извлеченный/мастер ключей: ELF 64-битный общий объект LSB ARM aarch64, версия 1 (GNU/Linux), динамически связанный, удаленный
    извлечено/logfs: загрузочный сектор DOS/MBR, смещение кода 0x3c+2, OEM-ID "MSDOS5.0", байт/сектор 4096, корневые записи 512, секторы 1280 (тома <=32 МБ), дескриптор носителя 0xf8, секторы/FAT 1, секторы/дорожка 1, заголовки 1, скрытые секторы 16, серийный номер 0xd27355ea, без маркировки, FAT (12 бит)
    извлечено/msadp: ELF 32-битный младший бит без типа файла, ARM, версия 1 (SYSV)
    Extracted/qupfw: исполняемый файл ELF 32-bit LSB, QUALCOMM DSP6, версия 1 (SYSV), статически связанный, поврежденный размер заголовка раздела
    извлечено/storsec: ELF 32-битный общий объект LSB ARM, EABI5 версия 1 (GNU/Linux), динамически связанный, разделенный
    извлечено/tz: 64-битный исполняемый файл ELF LSB, ARM aarch64, версия 1 (GNU/Linux), статически связанный, удаленный
    извлечено/xbl: 64-битный исполняемый файл ELF LSB, ARM aarch64, версия 1 (SYSV), статически связанный, поврежденный размер заголовка раздела
    Extracted/xbl_config: 64-битный исполняемый файл ELF LSB, ARM, версия 1 (SYSV), статически связанный, поврежденный размер заголовка раздела
    
    
     

    Версия 0.85 изменений

  • Теперь также распаковывает MTK и другие образы system.transfer.list версии 4
  • Изменения версии 1.0

  • Наконец, версия 1.0 🙂
  • Встроенный GZ/LZMA
  • Полная поддержка файлов прошивки EFI, SCAP, образов MacEFI и т. д. Теперь вы можете распаковывать QCOM xbl/abl дальше!
  • .. И образы T2 EFI Apple (да, Apple), Firmware.scap и т. д.:
  • Я обычно повторяю, когда могу обнаружить слои, но вам может понадобиться запустить этот инструмент более одного раза, так как многие изображения имеют несколько уровней инкапсуляции:

    [email protected] (~/Загрузки) % imjtool 8WCN25WW/cap/qcfirmware8998v1.0.1075.2507.капэкстракт
    Образ прошивки UEFI обнаружен по смещению 0xa15
    Размер: 2ded80, тег: 4856465f, атрибут: 3feff, контрольная сумма: 512d, версия: 2, blockSize: 0x40, blockCount: 0xb7b6
    Следующий [email protected]: контейнер Lenovo (2de814 байт, тип Raw, атрибут 40)
    Извлечение контейнера Lenovo
    Следующий [email protected]: C7340E65-0D5D-43D6-ABB7-39751D5EC8E7 (510 байт, тип Raw, атрибут 40)
    Извлечение C7340E65-0D5D-43D6-ABB7-39751D5EC8E7
    #
    # И опять:
    #
    [email protected] (~/Загрузки) % imjtool извлечено/контейнер Lenovo\
    Образ прошивки UEFI обнаружен по смещению 0x7eba0
    Предупреждение: не нули в заголовке
    Размер: 200000, тег: 4856465f, атрибут: cfeff, контрольная сумма: c8a7, версия: 2, blockSize: 0x200, blockCount: 0x1000
    Предупреждение: дополнительный контент по смещению 0x27eba0
    Следующий [email protected]: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF (байты fa0, тип заполнения, атрибут 0)
    Следующий [email protected]: ЗАГРУЗКА QCOM XBL.XF Terse Executable (26018 байт, тип Security Core, атрибут 28)
    Раздел @0x7fba0 Тип: необработанный, размер: 0xf34 (пустой)
    Раздел @0x80ad4 Тип: краткий исполняемый файл, размер: 0x250cc
    Следующий [email protected]: uefiplat.cfg (24ab байт, тип Freeform, атрибут 0)
    Раздел @0xa5bb8 Тип: UI, Размер: 0x1e uefiplat.cfg
    Раздел @0xa5bd8 Тип: необработанный, размер: 0x2473
    Следующий [email protected]: пакет QCOM (1adcd0 байт, тип Firmware Volume Image, attr 0)
    СЖАТЫЙ — EE4E5898-3914-4259-9D6E-DC7BD79403CF — Magic [email protected]
    ЛЗМА! 1adca0 байт
    проверка распакованных данных (8542152 байта)
    Размер: 8257c0, тег: 4856465f, атрибут: 3feff, контрольная сумма: 948d, версия: 2, blockSize: 0x40, blockCount: 0x2095f
    Предупреждение: дополнительный контент по смещению 0x8257c0
    Следующий [email protected]: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF (2c байт, тип заполнения, атрибут 0)
    Следующий [email protected]: FC510EE7-FFDC-11D4-BD41-0080C73C8881 (54c байт, тип Freeform, атрибут 0)
    Раздел @0x90 Тип: необработанный, размер: 0x534
    Следующий [email protected]: D6A2CB7F-6A18-4E2F-B43B-9920A733700A (27030 байт, тип Driver eXecution Environment Core, атрибут 0)
    Раздел @0x5e0 Тип: PE32, Размер: 0x27004
    Раздел @0x275e4 Тип: пользовательский интерфейс, размер: 0x14 DxeCore
    Следующий [email protected]: ARM CPU DXE (c03c bytes, type Driver, attr 0)
    Раздел @0x27610 Тип: Driver eXecution Env Dependencies, Размер: 0x6
    Раздел @0x27618 Тип: PE32, Размер: 0xc004
    Раздел @0x3361c Тип: пользовательский интерфейс, размер: 0x18 ArmCpuDxe
    Следующий [email protected]: Runtime DXE (803e байт, тип драйвера, атрибут 0)
    Раздел @0x33650 Тип: Driver eXecution Env Dependencies, Размер: 0x6
    Раздел @0x33658 Тип: PE32, Размер: 0x8004
    Раздел @0x3b65c Тип: пользовательский интерфейс, размер: 0x1a RuntimeDxe
    
     

    Я не претендую на то, чтобы охватить здесь все идентификаторы GUID EFI.Ваш любимый инструмент, вероятно, лучше. Я создал это для своих собственных вариантов использования (в первую очередь, для командной строки, greppable, scriptable, cross platorm), и я думаю, что это достаточно полезно, чтобы предоставлять его бесплатно. Если ваше конкретное изображение не поддерживается, вы всегда можете написать мне. Разглагольствования в Твиттере, порочащие мою работу и/или меня, не помогут. И кстати, пожалуйста.

    Версия 1.2 Изменения

    • Поддерживает образы super.img (логические разделы liblp)
    • [email protected] (/NewAndroidBook/ddb/S20Ultra/...)# imjtool super.img извлечение
      Предупреждение: super.img, вероятно, усечен или все еще сжат
      Обнаружено разреженное изображение v1.0, 2304000 блоков по 4096 байт.
      2304000 блоков по 4096 байт, сжатых в 56 фрагментов (сжатие на 20%).
      Извлеченное изображение находится в файле extract/image.img
      [email protected] (/NewAndroidBook/ddb/S20Ultra/...)# извлечение imjtool/image.img
      динамический раздел liblp (super.img) — размер блока 0x1000, 2 слота
      Заголовок LP MD @0x3000, версия 10.0, с 4 логическими разделами на блочном устройстве в разделе super, первый сектор: 0x800
              Разделы @0x3080 в 2 группах:
                      Группа 0: по умолчанию
                      Группа 1: group_basic
                              Имя: система (только для чтения, охватывающая 1 экстент и 5597 МБ) — извлечено
                              Имя: поставщик (только для чтения, охватывающий 1 экстент и 1091 МБ) — извлечено
                              Имя: продукт (только для чтения, охватывающий 1 экстент и 676 МБ) — извлечен
                              Имя: odm (только для чтения, охватывающий 1 экстент и 4 МБ) — извлечено
      [email protected] (/NewAndroidBook/ddb/S20Ultra/...)# файл извлечен/*
      извлечено/image.img: данные
      извлечённый/odm.img: данные файловой системы Linux rev 1.0 ext2, UUID=79c8b8f8-84be-5f6f-b675-dd53f53ebb2c,
      имя тома "odm" (экстенты) (большие файлы) (огромные файлы)
      извлечённый/product.img: данные файловой системы Linux rev 1.0 ext2, UUID=8bf42db5-b3bc-5890-8b2a-8eeeba73b344,
      имя тома "продукт" (экстенты) (большие файлы) (огромные файлы)
      извлечено/system.img: данные файловой системы Linux rev 1.0 ext2, UUID=2939f12c-6689-53a4-b94a-1c1ce1c83fbd
      (экстенты) (большие файлы) (огромные файлы)
      извлечено/поставщик.img: данные файловой системы Linux rev 1.0 ext2, UUID=a8b0696d-9320-55bc-b768-8579563bdfdc,
      имя тома "поставщик" (экстенты) (большие файлы) (огромные файлы)
       
    • Поддерживает DTBO
    • Поддерживает Samsung TOC
    • Поддерживает блочные образы, сжатые Brotli (....new.br). А пока поработайте со мной и укажите количество блоков, получив их из ...transfer.list (вторая строка):
    • [email protected] (/NewAndroidBook/ddb/RedmiK30) # head -2 vendor.transfer.list
      4
      345427
      [email protected] (/NewAndroidBook/ddb/RedmiK30) #BLOCKS=345427 поставщик imjtool.новый.dat.br \
                  stl=vendor.transfer.list
      Попытка декомпрессии Бротли. Возможно, вам потребуется указать NUMBLOKS=(2-я строка в списке)
      пока J работает с этой функцией.
      Изображение записано в /tmp/extracted.img
      [email protected] (/NewAndroidBook/ddb/RedmiK30) # файл /tmp/extracted.img
      /tmp/extracted.img: данные файловой системы Linux версии 1.0 ext2, UUID=2b96c597-1e2f-5ee1-9851-c4a9fa9de36e,
      имя тома "поставщик" (экстенты) (большие файлы) (огромные файлы)
       

    Бессовестная заглушка для книги и RFC

    Все еще работаю над томом II Android Internals.Не забыл вас всех. И есть полное освещение всех этих эзотерических форматов и т. д. в обновлении к Тому I, которое я готовлю...

    Если вы хотите узнать все о внутреннем устройстве Android, ознакомьтесь с учебным курсом Android Internals & Reverse Engineering, который предлагает моя компания Technologeeks.

    Следующий тренинг открывается в округе Колумбия, 1 июня st , 2020 (за исключением любых задержек, вызванных COVID-19..) Присоединяйтесь ко мне!

    Том II, охватывающий глубокое внутреннее устройство фреймворков и среды выполнения, будет выпущен ПОЗЖЕ В 2020 (я думаю, одна хорошая вещь, выйти из социального дистанцирования..). А пока я призываю вас опробовать этот инструмент (а также еще более мощный Dextra и простой, но полезный bindump) и, конечно же, JTrace. Если у вас есть какие-либо вопросы, напишите мне письмо (к [email protected]). Или комментарии. Или вообще. Все приветствуются.

    Извлечение заводских образов Android на macOS | by Kristina

    Кажется, существует множество руководств по извлечению заводских образов в Linux и Windows без особого перехода на macOS.

    К счастью, метод извлечения заводского образа в macOS, чтобы мы могли просмотреть файловую систему, действительно похож на Linux.Проблема в том, что нам нужен какой-то способ смонтировать извлеченный образ в расширенную файловую систему. macOS не поддерживает это из коробки, поэтому мы будем использовать OSXFuse , чтобы это произошло.

    FUSE реализует механизм, позволяющий реализовать полнофункциональную файловую систему в программе пользовательского пространства на macOS.

    Теперь, чтобы получить доступ к ext4, нам также понадобится реализация ext4 для macOS Fuse (метко названная, ext4fuse ) .

    Это реализация ext4 для FUSE только для чтения.Основная причина, по которой это существует, заключается в том, чтобы иметь возможность читать разделы Linux из OSX.

    Если вам интересно узнать о файловых системах ext4, ext3 и ext2 Linux, ознакомьтесь с этим удобным обзором.

    Наконец, чтобы извлечь файл образа (до его монтирования с помощью OSX Fuse), мы будем использовать imgtool . Во многих руководствах по Linux вы увидите ссылки на simg2img ; это заменяет это для macOS (хотя двоичный файл Linux также существует).

    Думайте об этом как об обратном mkbootimg (из AOSP) в сочетании с simg2img (распаковщик разреженных образов).Еще одна бонусная функция, которую он предоставляет, — это распаковка ядер Linux bzimage.

    Разработан легендарным Джонатаном Левиным. Он великолепен.

    ЧТО ДЕЛАТЬ

    Загрузите любой файл изображения, который вы хотите извлечь. Google делает их легко доступными здесь. В этом уроке я буду использовать «таймень» для Pixel2 XL. Разархивируйте загруженный файл изображения, перейдите в этот разархивированный каталог и разархивируйте внутренний каталог (в этом примере с именем image-taimen-opd1.170816.010.zip ). Мы хотим получить доступ к файлу system.img во втором заархивированном каталоге.

    Загрузите imgtool и распакуйте .tgz:

     tar -xvzf  -C /path/where/to/extract 

    Затем перейдите в каталог, в который был разархивирован imgtool , где вы увидите куча забавных файлов C.

    Мы собираемся использовать imgtool для файла изображения, загруженного из Google (или откуда у вас). Мне нравится использовать разделенный экран в iTerm, поэтому я не забываю, где живет мое изображение.

    Извлеките файл образа с помощью imgtool :

     ./imgtool <путь к заводскому образу>/system.img Extract 

    Теперь вы должны увидеть новый каталог в imgtool под названием «извлеченный»: imgtool/ извлеченный/image.img В этом каталоге находится новый файл изображения. Это образ, который вы смонтируете для доступа к файловой системе.

    Установить OSXFuse : brew cask установить osxfuse

    Перезагрузите компьютер. Больно, я знаю.

    Установить Ext4fuse : Brew Установка Ext4fuse

    Создание каталога для удержания установленного изображения: Sudo MKDIR / тома / Linux

    Установите извлеченное изображение в этот каталог:

     Sudo Ext4fuse ../imgtool/ Extracted/image.img /Volumes/Linux -o allow_other 

    Включение опции allow_other здесь очень важно: она позволяет пользователям, не являющимся учетной записью суперпользователя, получать доступ к файловой системе.

    Перейдите в /Volumes/Linux, и вы сможете увидеть дамп системы!

    Когда вы закончите работу со смонтированным образом, вы не сможете просто удалить созданный вами каталог.Вам придется размонтировать его:

     diskutil размонтировать /Volumes/Linux 

    У вас есть другой способ извлечения файлов изображений в macOS? Хотелось бы услышать ваш подход! Оставьте комментарий ниже.

    Извлечение ПЗУ Android для обратной разработки ← Fortis Fio

     

    Привет друзья

    Я перечислю производителя, у которого мне пока удалось извлечь ПЗУ, и методологию этого. Затем в последней части, если у вас нет читаемых исходников, я расскажу, как получить .java (это не всегда в 100 % случаев тот же код, что и исходные коды, иногда его можно изменить).

    Отказ от ответственности: я не несу никакой ответственности и не несу ответственности за любые действия, совершенные с полученными источниками. Я только предоставляю способ чтения исходников из официальных ПЗУ для нескольких брендов, но используйте его на свой страх и риск.

    Тем не менее, я не единственный, кто предоставляет такую ​​информацию, но я столкнулся с некоторыми проблемами, которые могут блокировать, так что это в основном напоминание.Если какая-либо ссылка станет мертвой, оставьте мне комментарий, и я постараюсь исправить это как можно быстрее.

    Стандартное ПЗУ

    Huawei часто упаковывается в файл .app. Это пользовательский архив, содержащий файлы изображений (.img), завернутые в несколько слоев. Формат не читается 7zip или WinRar, поэтому, прежде чем вы сможете читать исходники от этого производителя, будет немного боли:

    1. Загрузите ActivePerl или PERL для своей ОС: http://www.activestate.com/activeperl ИЛИ https://www.perl.org/get.html
    2. Затем загрузите скрипт split_updata.pl здесь: https://github.com/JoeyJiao/split_updata.pl (спасибо McSpoon, ZeBadger и JoeyJiao за их работу)
    3. Выполните скрипт с помощью командной строки PERL:
       perl <путь к split_updata.pl> <путь к update.app> 

       

    4. Шаг исправления (необязательно) : для пользователей Windows, таких как я, будьте осторожны при выполнении 64-битной версии PERL , с 32-битной версией у вас будут проблемы с более чем 2 ГБ ПЗУ. (Хотя по умолчанию я использовал 64-битную версию в CLI, но это не так)
    5. Будет создана выходная папка, содержащая неизвестное.секретные материалы.
    6. Затем загрузите пакетный файл с именем HuaweiFinder.bat, здесь: https://docs.google.com/file/d/0B5LJgOGBjYOBd19ldGRsUF9meUU/edit
    7. Поместите сценарий в созданную выходную папку и запустите его.
    8. Должно пройти некоторое время, а затем преобразовать неизвестные файлы в файлы .img !
    9. Теперь ПЗУ содержится в system.img, но формат по-прежнему не извлекается !!
    10. Итак, вам нужно скачать утилиту ext4_unpacker, она позволит вам легко извлечь файлы из образа.Перейдите сюда для загрузки: https://sourceforge.net/projects/androidicsjbext/
    11. .
    12. Запустите ext4_unpacker.exe, затем выберите «Открыть» и перейдите к файлу system.img. Вы увидите содержащиеся файлы.
    13. Выберите все файлы и папки, затем щелкните правой кнопкой мыши и выберите «Extract». Выберите нужную выходную папку и нажмите «ОК»!
    14. Все готово, ваши файлы должны быть в нужной папке!

    Теперь у вас есть файлы odex и .jar или .apk. На данный момент это нечитаемо, но мы все это баксмали и смали и тогда мы сможем просматривать исходники! Переходите ко второй части моей статьи, чтобы волшебство произошло!

     

    Стандартные ПЗУ Sony

    немного проще распаковать.Обычно у вас должен быть файл архива в формате .ftf. Сделайте следующее:

    1. Распакуйте файлы с помощью 7zip или WinRar.
    2. Вы должны получить набор файлов .sin. Эти sin-файлы можно извлечь с помощью инструмента Flashtool, который можно скачать здесь: http://www.flashtool.net
    3. .
    4. Когда вы установили инструмент, просто запустите его и нажмите в верхнем меню на ярлык «Инструменты», затем нажмите «Редактор Sin».
    5. Выберите в ранее извлеченных файлах файл « system.грех один и нажмите «Извлечь». вы должны получить в том же каталоге файл с именем « system.ext4″
    6. Этот файл представляет собой архив в формате linux, и если ПЗУ недавнее, он будет иметь больший заголовок, чем старые файлы ext4 (32 бита, а не 28, если мне не изменяет память). Таким образом, вы не сможете распаковать его с помощью ext4_unpacker. Неудачно. Вместо этого попробуйте инструмент ext2explore: https://sourceforge.net/projects/ext2read/files/Ext2Read%20ver%202.0/ext2explore%202.0%20beta/   (эта версия немного устарела, если она не работает, попробуйте найти новее, я выложу свой позже на своем сайте, чтобы его можно было скачать, если нужно)
    7. Затем вы можете нормально открыть файл ext4 с помощью этого программного обеспечения, и, когда это будет сделано, сохраните его.Вы получите полные извлеченные файлы ПЗУ
    8. .

    Как я уже сказал для Huawei, ваши файлы по-прежнему не читаются, но я расскажу об этой части, общей для всех производителей, во второй части этой статьи.

     

    Самсунг суров! (И у них есть какое-то родное приложение, действительно плохо закодированное, лол, я не буду сообщать, что, потому что я хочу жить долго) Общий формат для стандартных ПЗУ Samsung - это файлы .tar.md5. Вот шаг, который нужно выполнить для извлечения:

    1. Используйте Winrar или 7zip, чтобы открыть архив (появится модальное окно с сообщением об отсутствии правильной записи в конце файла, проигнорируйте его и продолжите)
    2. После открытия архива просто выберите 3 важных файла: system.img.ext4, cache.img.ext4 и hidden.img.ext4 (или все файлы *.img.ext4, которые у вас есть).
    3. Извлечь только эти файлы
    4. Как только вы их получите, создайте папку с именем «система» и поместите в нее файлы.
    5. Теперь вам нужно загрузить инструмент sgs2toext4: http://forum.xda-developers.com/attachment.php?attachmentid=645320, это простой в использовании JAR.
    6. Откройте JAR (конечно, вам понадобится Java на вашем компьютере), а затем перетащите один за другим 3 файла, которые вы поместили в «системную» папку ».(Убедитесь, что задача завершена для файла, прежде чем перетаскивать другой файл в окно приложения).
    7. После этого у вас должно быть файлов *.img.ext4.img . «WOWO», вы скажете, «ты отсталый? ». Может быть. Но если вы этого не сделаете, вы не сможете просматривать или извлекать файлы. ОЧЕНЬ ЖАЛЬ !
    8. Так что просто загрузите https://sourceforge.net/projects/ext2read/files/Ext2Read%20ver%202.0/ext2explore%202.0%20beta/  (эта версия немного устарела, если она не работает, попробуйте найти более новую , я опубликую свой позже на своем сайте, чтобы его можно было загрузить, если это необходимо) и открыть приложение проводника файлов Linux.
    9. Затем вы можете нормально открыть файл img.ext4.img с помощью этого программного обеспечения, и, когда это будет сделано, сохраните его. Вы получите полные извлеченные файлы ПЗУ
    10. .

    Наконец, у вас должны быть файлы *.odex.xz вместе с apk и jar. Содержащиеся исходные файлы будут получены немного по-другому: я даю вам небольшой секрет, чтобы сэкономить много вашего драгоценного времени: используйте инструмент JoelDroidLollipopBatchDeodexer, он обработает каталог и преобразует файлы odex.xz и их соответствующие apk и jar в класс источники.

     

    Теперь это довольно просто, вам нужно будет использовать 2 инструмента, называемых baksmali и smali, которые входят в набор инструментов smali. Проект находится здесь: https://github.com/JesusFreke/smali. Я скачал JAR-файлы здесь: https://bitbucket.org/JesusFreke/smali/downloads. (Похоже, он хранит свои релизы только на Bitbucket).

    Теперь, когда у вас есть инструменты Smali и Baksmali, вы выберете источники, которые хотите деодексировать, и выполните следующую команду:

     java -jar путь_к\baksmali.jar -d путь_к\rom\system\frameworks -x путь_к\file.odex 

    Конечно, вы должны заменить пути на те, которые у вас есть для доступа к вашим файлам. -d просто определите путь к классу для baksmali, который будет использоваться для чтения источников. Этот путь к классу (по крайней мере, для всех ПЗУ, которые я разобрал) является каталогом фреймворка в системе. -x относятся к файлу .odex. Вы должны иметь в том же каталоге файл с тем же именем, но с расширением .jar или .apk! (пример: weather_forecast.odex и weather_forecast.АПК).

    После этого у вас должна быть создана папка « из ». Эта папка содержит файлы smali. Теперь мы будем использовать smali для преобразования этих файлов в файл dex! Вы назовете этот файл class.dex. Давайте сделаем это:

     java -jar путь_к\smali.jar путь_к\выход -o class.dex 

    Теперь у вас есть файл class.dex! Последние шаги следующие. Откройте .apk с помощью проводника архивов, например 7zip или winrar. Затем скопируйте в архив свои классы.только что сгенерированный файл dex. APK содержит все, что ему нужно, ему просто нужен последний штрих, чтобы раскрыть его источники !!

    Этот последний штрих называется jaxd ! Загрузите jaxd здесь: https://github.com/skylot/jadx. Перейдите в раздел загрузок на главной странице проекта Skylot jadx, здесь перечислены различные сайты загрузки. Просто возьмите последнюю стабильную версию (я не использовал версию с графическим интерфейсом, я взял версию CLI).

    Если у вас есть Android SDK, в каталоге должен быть инструмент zipalign. В качестве дополнительного шага, если у вас возникли проблемы с архивом apk, содержащим ваши классы.dex вы можете использовать zipalign, чтобы «очистить» ваш .apk:

     zipalign weather_forecast.apk zip_weather_forecast.apk 

    Самое последнее, что нужно сделать, это вызвать в интерфейсе командной строки такой инструмент:

     jadx path_to\your_apk_with_dex.apk 

    Единственным аргументом является расположение apk, содержащего файл ‘ class.dex ’. Если вы едва поняли процесс и следовали моим шагам, теперь у вас должен быть источник apk!

    Опять же, не забывайте, что запрещено что-то модифицировать, перекомпилировать все приложение, вернуть его во фреймворк и перекомпилировать стоковый ROM для его распространения.Незаконно, плохо! Нет ! Шпионских программ, кейлоггеров и трекеров достаточно, чтобы добавить их в официальные ПЗУ

    .

     

     

     

    Как извлечь стоковый Boot.img из Android-устройства - Android

    Если вы используете Android-устройство со стандартной прошивкой и сталкиваетесь с некоторыми проблемами с загрузчиком или циклом загрузки, или хотите получить root права с помощью Magisk TWRP Recovery, тогда это руководство поможет вам. полностью ознакомьтесь с этим руководством. Вот руководство о том, как легко извлечь файл загрузочного образа.Всякий раз, когда мы загружаем любую стандартную прошивку для любого смартфона, она поставляется с расширением zip-файла, и мы должны ее прошить. В этом файле стоковой прошивки есть система, поставщик, кеш, загрузочный образ и так много файлов, чтобы упростить работу устройства. И если вам нужен только файл загрузочного образа, вам нужно сначала загрузить стандартную прошивку.

    После загрузки zip-файла стандартной прошивки на компьютер необходимо извлечь его и найти файл загрузочного образа. Но извлечение стокового boot. img из файла прошивки All Android — непростая задача.Более того, поскольку некоторые прошивки зашифрованы, доступ к файлам, присутствующим в них, невозможен. Но существует удобный способ расшифровать его и, следовательно, получить доступ к файлам IMG различных разделов. И это руководство познакомит вас именно с этим.

    Что такое загрузочный образ?

    Загрузочный образ — это тип образа системы (для компьютера или мобильного устройства), который содержит структуру системы и структуру различных файлов. Когда он передается на загрузочное устройство, он обычно позволяет соответствующему оборудованию инициировать процесс загрузки.

    Обычно включает в себя ОС (операционную систему), системные утилиты, диагностику, загрузку и структуры восстановления данных. Он также включает стандартные приложения, такие как предварительно загруженные приложения и службы Google, а также приложения по умолчанию, такие как телефоны, сообщения, камеры и т. д.

    Как извлечь стоковый Boot.img из Android-устройства

    Здесь, в этом руководстве, мы поделимся шагами по нему. Как некоторые из вас могут знать, шаги по извлечению загрузочного образа не всегда одинаковы. Это связано с тем, что процесс расшифровки зависит от модели устройства.Поэтому мы подготовили отдельные руководства для каждой модели. Так что вы можете следовать соответствующему руководству для вас.

    Подробнее : Извлечение Boot.img непосредственно с устройства без загрузки прошивки

    Извлечение Boot.img из незашифрованной прошивки

    На некоторых устройствах мы можем напрямую извлечь boot.img из прошивки. Поскольку шифрование не выполняется. Обычно эти модели выпускаются до 2019 года. Так что, если на вашем устройстве стоит незашифрованная прошивка, вы сможете извлечь бут.img прямо из загруженного zip-файла.

    Извлечение Boot.img из OnePlus OxygensOS Stock ROM

    Извлечение стокового boot.img из файла прошивки OnePlus — непростая задача. Более того, поскольку прошивка Oneplus зашифрована, доступ к имеющимся в ней файлам невозможен. Но есть удобный способ расшифровать его. Подробнее : Извлечение стокового Boot.img из OnePlus OxygensOS Stock ROM

    Извлечь Boot.img из прошивки Samsung Galaxy

    Извлечение стокового бутса.img из файла прошивки Samsung опять же не то же самое, что обычное извлечение. Ознакомьтесь с инструкцией, и вы найдете простой способ. Подробнее: Как извлечь Boot.img из boot.img.Iz4

    Извлечь Boot.img из прошивки HTC RUU

    Это гораздо больше отличается от других извлечений. Вы можете прочитать инструкции и попробовать их самостоятельно. Поскольку инструкции подробны и разделены на разделы, вам будет легче их понять. Подробнее : Как извлечь файл Boot.img от HTC RUU Прошивка

    Извлеките Sony Boot.sin и получите стандартный файл Boot.img

    Теперь мы можем извлечь стоковый boot.img из файла прошивки Sony. Вы можете изучить все основы с подробными шагами далее. Подробнее: Как извлечь Sony Boot.sin и получить стандартный файл Boot.img

    Извлечь OZIP Realme Stock ROM (прошивка)

    Извлечение стандартного boot.img из файла прошивки OZIP отличается от извлечения из zip-файла. Вам нужно расшифровать его заранее. Подробнее : Как извлечь OZIP Realme Stock ROM (прошивку)

    Извлечь Boot.img из прошивки LG KDZ или DZ

    Извлечение стандартного boot.img из файла прошивки LG немного сложнее. Но не волнуйтесь. Я предоставил ссылку на полное руководство в этой статье. Подробнее : Как извлечь Boot.img из прошивки LG KDZ или DZ

    Извлеките файл payload.bin и получите стандартный файл загрузочного образа

    Если вы получили файл payload.bin после распаковки загруженного ZIP-файла с прошивкой, просто следуйте этому руководству.В качестве предварительных условий вы будете использовать Payload Dumper Tool и Python. Подробнее : Как извлечь файл payload.bin и получить стандартный файл загрузочного образа

    Извлечение Boot.img напрямую с устройства без загрузки прошивки

    Если вы не можете найти прошивку, совместимую с вашим устройством, или у вас возникла другая проблема, вы можете извлечь файл boot.img существующей прошивки. Просто прочитайте это руководство для получения подробных инструкций. Извлечь Boot.img напрямую с устройства без загрузки прошивки

    Как извлечь полезную нагрузку.bin из прошивки Android или OTA

    Раньше OEM-производители объединяли все стандартные файлы прошивки в один zip-файл, который можно было легко извлечь и прошить вручную. С другой стороны, новый механизм обновления A/B предоставил новый формат для файлов обновлений Android OTA/Firmware, который включает файл Payload.bin, содержащий отдельные файлы изображений для различных разделов прошивки. Чтобы получить отдельные образы разделов/прошивок устройства, необходимо извлечь Payload.bin из прошивки Android или OTA .

    Это можно сделать на ПК или Android-смартфоне с помощью инструмента Payload Dumper. Утилита представляет собой просто скрипт Python, который позволяет пользователям извлекать файл Android OTA Payload.bin с любого ПК с Windows, macOS или Linux, а также с устройства Android. Вот все шаги, чтобы извлечь файл payload.bin на Android и получить файл стандартного загрузочного образа.

    Скачать инструмент сброса полезной нагрузки для Android

    Чтобы извлечь содержимое файла Payload.bin, вам необходимо скачать инструмент Payload Dumper, созданный разработчиком Gregory Monitor.Инструмент Payload Dumper можно использовать только для извлечения файла Payload.bin из полных пакетов OTA. Это не будет работать для инкрементных пакетов OTA.

    Загрузить инструмент для самосвала полезной нагрузки

    Как извлечь Payload.bin из прошивки Android или OTA

    Вы можете извлечь Payload.bin из Android OTA или прошивки с устройств Android, а также на ПК. Мы покажем вам, как извлечь файлы boot.img, system.img и другие из файла payload.bin с помощью инструмента Payload Dumper на устройстве Android.

    1. Загрузите инструмент Payload Dumper по ссылке выше, распакуйте его в корень внутренней памяти телефона и переименуйте в payload_dumper.
    2. Чтобы получить файл payload.bin, загрузите и распакуйте пакет встроенного ПО или OTA на свое устройство.
    3. Скопируйте извлеченный файл «payload.bin» в папку «payload_dumper», которую вы извлекли на 1-м шаге.
    4. Загрузите и установите приложение Termux на свое устройство Android из Playstore.
    5. Откройте Termux и введите приведенные ниже команды, чтобы установить Python на устройство Android.Изображение предоставлено thecustomdroid

      pkg install python -y
      pip install --upgrade pip
      pip install protobuf
      apt update && apt upgrade -y

    6. Эти команды настроят Python, установят необходимые зависимости «Protobuf», а также обновят собственный менеджер пакетов на вашем Android-устройстве.
    7. Введите приведенную ниже команду, чтобы предоставить разрешения на хранение приложению Termux.
      хранилище настроек termux
    8. Нажмите «Разрешить», когда увидите разрешение «Разрешить Termux доступ к фотографиям, мультимедиа и файлам на вашем устройстве.
    9. Теперь ваше устройство готово к использованию инструмента Payload Dumper.
    10. Введите приведенную ниже команду, чтобы изменить каталог Termux на папку дампера полезной нагрузки.
      хранилище компакт-дисков/общее использование/payload_dumper
    11. Теперь введите следующую команду в Termux, чтобы извлечь файл Android OTA Payload.bin на ваше устройство Android.
      Python extract_android_ota_payload.py полезная нагрузка.bin
    12. После завершения извлеченные образы прошивки будут помещены в ту же папку «payload_dumper».

    Завершение: извлечение файла Android OTA Payload.bin с помощью инструмента Payload Dumper

    Вы можете легко извлечь Payload.bin из прошивки Android или OTA с помощью вышеуказанного метода. Теперь вы можете прошить эти файлы на своем устройстве, используя различные команды fastboot.

    Есть вопросы? Сообщите нам об этом в комментариях ниже. Оставайтесь на связи с нами через Facebook и Twitter, чтобы читать больше таких полезных сообщений.

    .

    Добавить комментарий

    Ваш адрес email не будет опубликован.