Wie kann ich Raw-NAND-Images mit Network Block Device (nbd) einbinden, um auf seine Dateien / Ordner zuzugreifen?

0

Also habe ich ein frisches Bild von meinem Smartphone gemacht und jetzt möchte ich damit spielen. Ich kann einige seiner Partitionen mit dem Linux- mountBefehl mounten, der den Offset der Partition angibt. Der Status des Bildes lautet beispielsweise:

$ gdisk -l imagem-thea-20180722.img
GPT fdisk (gdisk) Version 1.0.1

Partitionstabellenscan:
MBR: Schutz-
BSD: nicht vorhanden
APM: nicht vorhanden
GPT: vorhanden

Gefunden gültige GPT mit MBR-Schutz; mit GPT.
Disk imagem-thea-20180722.img: 30777344 Sektoren, 14,7 GiB
Logische Sektorgröße: 512 Byte
Disk-ID (GUID): 98101B32-BBE2-4BF2-A06E-2BB33D000C20
Partitionstabelle enthält bis zu 42 Einträge Der
erste verwendbare Sektor ist 34, der letzte verwendbare Sektor ist 30777310
Partitionen werden an 2-Sektor-Grenzen ausgerichtet. Der
gesamte freie Speicherplatz beträgt 70203 Sektoren (34,3 MiB).

Nummer Anfang (Sektor) Ende (Sektor) Größe Code Name
1 256 131327 64,0 MiB 0700 Modem
2 131328 132351 512,0 KiB FFFF SBL1
3 132352 132415 32,0 KiB FFFF DDR
4 132608 134631 1012,0 KiB FFFF über
5 135608 136007 200,0 KiB FFFF U / min
6 135608 136007 400,0 KiB FFFF tz
7 137608 137671 32,0 KiB FFFF sdi
8 137672 138695 512,0 KiB FFFF utags
9 138696 142791 2,0 MiB FFFF logs
10 142792 147455 2,3 MiB 0700 padA
11 147456 149479 1012,0 KiB FFFF abootBackup
12 150456 150855 200,0 KiB FFFF rpmBackup
13 151456 152255 400,0 KiB FFFF tzBackup
14 152456 152519 32,0 KiB 0700 sdiBackup
15 152520 153543 512,0 KiB FFFF utagsBackup
16 153600 154623 512,0 KiB FFFF frp
17 154624 155703 540,0 KiB 0700 padB
18 155704 158775 1,5 MiB FFFF-Modemst1
19 158776 161847 1,5 MiB FFFF-Modemst2
20 161848 162823 488,0 KiB FFFF-Kochfeld
21 162824 162887 32,0 KiB FFFF dhob
22 163.072 166.143 1,5 MiB FFFF FSG
23 166.144 166.145 1.024 Bytes FFFF fsc
24 166.146 166.161 8,0 KiB FFFF ssd
25 166.162 168.209 1024,0 KiB FFFF sp
26 168.210 168.465 128,0 KiB FFFF cid
27 168466 174.609 3.0 MiB FFFF pds
28 174610 182801 4,0 MiB FFFF logo
29 182802 190993 4,0 MiB FFFF clogo
30 191232 207615 8,0 MiB 0700 persist
31 207616 208639 512,0 KiB FFFF misc
32 208640 229039 10,0 MiB FFFF Boot -
33 229040 249599 10,0 MiB FFFF Erholung
34 249600 251647 1024,0 KiB 0700 Deviceinfo
35 251648 284415 16,0 MiB 0700 ftmlog
36 284416 300799 8,0 MiB FFFF kpan
37 300800 327679 13,1 MiB 0700 pADC
38 327680 360447 16,0 MiB FFFF Schlüsselspeicher
39 360448 425983 32.0 MiB 0700 OEM
40 425984 4521983 2.0 GiB 0700 System
41 4521984 5033983 250.0 MiB 0700 Cache
42 5033984 30711551 12.2 GiB 0700-Benutzerdaten

$ file imagem-thea-20180722.img
imagem-thea-20180722.img: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,1), end-CHS (0x3ff,255,63), startsector 1, 4294967295 sectors, extended partition table (last)

Es wurde erstellt, indem es vom Gerät gezogen wurde mit adb:

$ adb pull /dev/block/mmcblk0 ~/imagem-thea-20180722.img

So kann ich mountSystem- und Benutzerdatenpartitionen mit:

$ sudo mount imagem-thea-20180722.img mount-dir/ -o offset=$((5033984*512))

Den Anfang des Sektors hinter sich lassen, aber dies funktioniert in einigen Bereichen nicht wie boot:

$ sudo mount imagem-thea-20180722.img mount-dir/ -o offset=$((208640*512))

mount: wrong fs type, bad option, bad superblock on /dev/loop1,
   missing codepage or helper program, or other error

   In some cases useful info is found in syslog - try
   dmesg | tail or so.

in dmesgAusgabe zeigt:

[26910.003624] F2FS-fs (Schleife1): Magic Mismatch, gültig (0xf2f52010) - gelesen (0xe2632b02) [26910.003625] F2FS-fs (Schleife1): Kann gültiges F2FS-Dateisystem im 2. Superblock nicht finden

Also habe ich irgendwo gelesen, dass NAND-Bilder mit manipuliert werden können, nbdaber ich habe keinen einfachen Weg gefunden, dies zu tun. Grundsätzlich muss ich einen nbd-Server einrichten, um die Image-Datei bereitzustellen, und mit dem nbd-Client mounte ich sie. Aber ich weiß nicht, wie ich das machen soll. Irgendeine Hilfe?

Fabiotk
quelle
1
Ein Bild eines rohen NAND-Flashs kann nicht einfach deshalb als Blockgerät behandelt werden, weil dies nicht der Fall ist. Linux verwendet MTD , um RAW-NAND wie ein Blockgerät zugänglich zu machen. Sie müssen feststellen, was Sie tatsächlich haben.
Sägemehl
Ich habe das Image erstellt, indem ich es mit vom Gerät gezogen habe adb pull /dev/block/mmcblk0 ~/imagem-thea-20180722.img. Die Ausgabe des fileBefehls istimagem-thea-20180722.img: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,1), end-CHS (0x3ff,255,63), startsector 1, 4294967295 sectors, extended partition table (last)
Fabiotk
@sawdust, laut dem Link, den Sie angegeben haben, ist es in der Tat ein Block-Gerät, da es von einem eMMC-Gerät bezogen wurde. Ich aktualisiere auch meinen Beitrag, um zu zeigen, wie ich die Bilddatei erhalten habe
Fabiotk
Wenn Sie ein eMMC-Gerät haben, ist Ihr Titel irreführend.
Sägemehl
Entschuldigung warum? Verwendet eMMC keinen NAND-Speicher?
Fabiotk