ubuntuusers.de

Analyse einer Blob-Datei

Status: Gelöst | Ubuntu-Version: Ubuntu 12.10 (Quantal Quetzal)
Antworten |

Developer92 Team-Icon

Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

Hi, ich würde gerne eine Datei analysieren und weiß ehrlich gesagt nicht wie. Die Datei enthält ein Update für mein Android-Tablet und ich will nur das darin enthaltene Dateisystem (oder Dateisysteme) mounten und etwas rumwühlen.

Wie fange ich am Besten an?

Was ich bisher (hoffentlich sinnvolles) gemacht habe:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
$ file blob
blob: data # oh, toll

$ string blob
-SIGNED-BY-SIGNBLOB-
MSM-RADIO-UPDATE
-6Ap
 U@V
~|zxusqomkigeca_^\ZXVTSQONLJIGEDB@?=<:9764320/-,+)('%$#! 
4)t4
el[Y
9l=R
ePj9h
}%us
# ich überspringe ein wenig was...
res/layout/action_item.xmlPK
DAOq
res/layout/action_item_horizontal.xmlPK
res/layout/action_item_vertical.xmlPK
res/layout/advance_search.xmlPK
res/layout/dialog_offline_to_local.xmlPK
res/layout/dialog_promote_page.xmlPK
res/layout/dialog_release_note.xmlPK
res/layout/dialog_upload_audio.xmlPK
res/layout/dialog_upload_note.xmlPK
res/layout/editor.xmlPK
res/layout/horiz_separator.xmlPK
res/layout/intro01.xmlPK
res/layout/intro02.xmlPK
res/layout/intro03.xmlPK
res/layout/login.xmlPK
res/layout/loginswitch.xmlPK
# und etwas weiter...
Geben Sie ein Passwort f
r die Verschl
sselung der vollst
ndigen Sicherungsdaten ein. Wenn Sie dieses Feld leer lassen, wird Ihr aktuelles Sicherungspasswort verwendet:
^`Wenn Sie die gesamten Sicherungsdaten verschl
sseln m
chten, geben Sie unten ein Passwort ein:
^`Geben Sie das Passwort unten ein, wenn die Daten f
r die Wiederherstellung verschl
sselt sind:
Sicherung wird gestartet...
Sicherung abgeschlossen
##Wiederherstellung wird gestartet...
Wiederherstellung beendet
Zeit
berschreitung bei Vorgang
Full restoration
Restoration starting...
Restoration ended
Copia de seguridad completa
Se ha solicitado una copia de seguridad completa de todos los datos en un ordenador conectado. 
Quieres permitir la copia de seguridad?
No debes permitir la copia de seguridad si no has realizado t
 la solicitud.
Copia de seguridad de datos

Enthält also so wies aussieht tatsächlich massenhaft Infos, unverschlüsselt und live zum angucken.

Und letzteres:

1
2
3
4
5
6
$ sudo mount -r blob /mnt
WARNING: R00T-permissions without password-request
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail or so

Meine Vermutung: Die Datei enthält ein paar diverse Dateisysteme und noch ein paar weitere Dinge, wobei ich nicht weiß wo das Dateisystem beginnt (noch dessen Typ, vermutlich aber ein ext2/3/4)

Hat jemand ne Idee?

mfg

EDIT: Auch Tipps zum generellen Vorgehen bei sowas wäre interessant

senden9

Avatar von senden9

Anmeldungsdatum:
8. Februar 2010

Beiträge: 965

Wohnort: Österreich

Das könnte sich ähnlich verhalten wie das mounten eines mit dd erstellten Abbildes. Eventuell findet auch testdisk das passende Offset.

Developer92 Team-Icon

(Themenstarter)
Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

senden9 schrieb:

Das könnte sich ähnlich verhalten wie das mounten eines mit dd erstellten Abbildes.

Danke, werd ich morgen gleich probieren.

Nur Testdisk hatte ich leider schon probiert, nur vergessen zu erwähnen.

mfg

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Was ist in so einem Blob denn überhaupt drin ?

Du sprichst von "Dateisystemen" - welche sollen das denn sein ?
Und wie soll so'n Ding formatiert sein ? (ich habe nämlich noch nie was damit zu tun gehabt, deshalb meine Unkenntnis)

Wenn man erstmal weiß, was da drin sein sollte, findet man mit Sicherheit einen Weg, das Ding auszulesen.

Im Zweifel poste mal die Ausgabe von hd -n 512 blob - dann sieht man wenigstens, wie die Datei anfängt.

track

Developer92 Team-Icon

(Themenstarter)
Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

track schrieb:

Was ist in so einem Blob denn überhaupt drin ?

Kommt drauf an. Blob beschreibt ja grundsätzlich erst einmal, dass es ein großes, binäres etwas ist (BLOB).

In meinem Fall enthält der Blob ein Update für mein Tablet. Ich vermute, dass da einfach ein paar Partitionen drin sind, die während des Updates auf die einzelnen Partitionen auf meinem Tablet geschrieben werden. Oder halt ein paar tausend Dateien die einfach die Dateien auf meinem Tablet überschreiben. Ein Update eben ☺

Du sprichst von "Dateisystemen" - welche sollen das denn sein ?
Und wie soll so'n Ding formatiert sein ? (ich habe nämlich noch nie was damit zu tun gehabt, deshalb meine Unkenntnis)

Die internen Partitionen sind mit ext4 formatiert (hab eben nachgesehen), weshalb die Partitionen in meinem Blob wohl auch ext4-Partitionen sind. Aber wie das Ganze formatiert ist? Keine Ahnung, das weiß vermutlich erst einmal der Hersteller.

Wenn man erstmal weiß, was da drin sein sollte, findet man mit Sicherheit einen Weg, das Ding auszulesen.

Das hoffe ich doch ☺

Im Zweifel poste mal die Ausgabe von hd -n 512 blob - dann sieht man wenigstens, wie die Datei anfängt.

Hm, der Befehl hd kann auf meinem System nicht gefunden werden, aber vielleicht hilft das hier auch:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
$ head blob | hexdump 
0000000 532d 4749 454e 2d44 5942 532d 4749 424e
0000010 4f4c 2d42 12c9 30d0 0100 0000 534d 2d4d
0000020 4152 4944 2d4f 5055 4144 4554 0000 0001
0000030 003c 0000 003c 0000 0005 0000 0000 0000
0000040 0000 0000 0000 0000 0000 0000 0000 0000
0000050 0000 0000 0000 0000 5450 0000 008c 0000
0000060 0000 0008 0001 0000 4245 0054 008c 0008
0000070 c83d 0017 0001 0000 4f53 0053 c8c9 001f
0000080 5900 005e 0001 0000 4e4c 0058 21c9 007e
0000090 f100 0051 0001 0000 5041 0050 12c9 00d0
00000a0 0000 3000 0001 0000 8d8b 8f9e ffff ffff
00000b0 0100 0000 05a0 0000 66eb 0d6a 34eb a29e
00000c0 8638 f470 2451 f3f8 0000 0000 0000 0000
00000d0 0000 0000 0000 0000 8d8b 8f9e ffff ffff
00000e0 0100 0000 05a0 0000 0011 0000 0000 0000
00000f0 0002 0000 4342 0054 0012 0000 0003 0000
0000100 0000 0000 4342 0054 0001 0000 0000 0000
0000110 0000 0000 0000 0000 0000 0000 0000 0000
0000120 0300 0000 0000 0000 0000 0000 0000 0000
0000130 0000 0000 0000 0000 0001 0000 0000 0000
0000140 0003 0000 5450 0000 0012 0000 0003 0000
0000150 0000 0000 5450 0000 0001 0000 0000 0000
0000160 0000 0000 0000 0000 0300 0000 0000 0000
0000170 0080 0000 0000 0000 0000 0000 0000 0000
0000180 0000 0000 0000 0000 0003 0000 0000 0000
0000190 0004 0000 4245 0054 0012 0000 0003 0000
00001a0 0000 0000 4245 0054 0001 0000 0000 0000
00001b0 0000 0000 0000 0000 0380 0000 0000 0000
00001c0 0800 0000 0000 0000 0000 0000 0000 0000
00001d0 0000 0000 0000 0000 0002 0000 0000 0000
00001e0 0005 0000 4f53 0053 0012 0000 0003 0000
00001f0 0000 0000 4f53 0053 0001 0000 0000 0000
0000200 0000 0000 0000 0000 0b80 0000 0000 0000
0000210 0800 0000 0000 0000 0000 0000 0000 0000
0000220 0000 0000 0000 0000 0006 0000 0000 0000
0000230 0006 0000 4e4c 0058 0012 0000 0003 0000
0000240 0000 0000 4e4c 0058 0001 0000 0000 0000
0000250 0000 0000 0000 0000 1380 0000 0000 0000
0000260 0800 0000 0000 0000 0000 0000 0000 0000
0000270 0000 0000 0000 0000 0006 0000 0000 0000
0000280 0007 0000 4543 0052 0012 0000 0003 0000
0000290 0000 0000 4543 0052 0001 0000 0000 0000
00002a0 0000 0000 0000 0000 1b80 0000 0000 0000
00002b0 0800 0000 0000 0000 0000 0000 0000 0000
00002c0 0000 0000 0000 0000 0006 0000 0000 0000
00002d0 0008 0000 4d49 0047 0012 0000 0003 0000
00002e0 0000 0000 4d49 0047 0001 0000 0000 0000
00002f0 0000 0000 0000 0000 2380 0000 0000 0000
0000300 0800 0000 0000 0000 0000 0000 0000 0000
0000310 0000 0000 0000 0000 0006 0000 0000 0000
0000320 0009 0000 5047 0031 0012 0000 0003 0000
0000330 0000 0000 5047 0031 0001 0000 0000 0000
0000340 0000 0000 0000 0000 2b80 0000 0000 0000
0000350 0100 0000 0000 0000 0000 0000 0000 0000
0000360 0000 0000 0000 0000 0009 0000 0000 0000
0000370 000a 0000 5041 0050 0012 0000 0003 0000
0000380 0000 0000 5041 0050 0001 0000 0000 0000
0000390 0000 0000 0000 0000 2c80 0000 0000 0000
00003a0 0000 0003 0000 0000 0000 0000 0000 0000
00003b0 0000 0000 0000 0000 0006 0000 0000 0000
00003c0 000b 0000 4143 0043 0012 0000 0003 0000
00003d0 0000 0000 4143 0043 0005 0000 0000 0000
00003e0 0000 0000 0000 0000 2c80 0003 0000 0000
00003f0 ac00 0001 0000 0000 0000 0000 0000 0000
0000400 0000 0000 0000 0000 0006 0000 0000 0000
0000410 000c 0000 534d 0043 0012 0000 0003 0000
0000420 0000 0000 534d 0043 0005 0000 0000 0000
0000430 0000 0000 0000 0000 d880 0004 0000 0000
0000440 0200 0000 0000 0000 0000 0000 0000 0000
0000450 0000 0000 0000 0000 0006 0000 0000 0000
0000460 000d 0000 5355 0050 0012 0000 0003 0000
0000470 0000 0000 5355 0050 0005 0000 0000 0000
0000480 0000 0000 0000 0000 da80 0004 0000 0000
0000490 3000 0003 0000 0000 0000 0000 0000 0000
00004a0 0000 0000 0000 0000 0006 0000 0000 0000
00004b0 000e 0000 4550 0052 0012 0000 0003 0000
00004c0 0000 0000 4550 0052 0001 0000 0000 0000
00004d0 0000 0000 0000 0000 0a80 0008 0000 0000
00004e0 0500 0000 0000 0000 0000 0000 0000 0000
00004f0 0000 0000 0000 0000 0006 0000 0000 0000
0000500 000f 0000 5459 0055 0012 0000 0003 0000
0000510 0000 0000 5459 0055 0001 0000 0000 0000
0000520 0000 0000 0000 0000 0f80 0008 0000 0000
0000530 0080 0000 0000 0000 0000 0000 0000 0000
0000540 0000 0000 0000 0000 0006 0000 0000 0000
0000550 0010 0000 5243 0041 0012 0000 0003 0000
0000560 0000 0000 5243 0041 0001 0000 0000 0000
0000570 0000 0000 0000 0000 1000 0008 0000 0000
0000580 0500 0000 0000 0000 0000 0000 0000 0000
0000590 0000 0000 0000 0000 0006 0000 0000 0000
00005a0 0011 0000 4455 0041 0012 0000 0003 0000
00005b0 0000 0000 4455 0041 0005 0000 0000 0000
00005c0 0000 0000 0000 0000 1500 0008 0000 0000
00005d0 2680 0033 0000 0000 0000 0000 0000 0000
00005e0 0000 0000 0000 0000 0006 0000 0000 0000
00005f0 0012 0000 5047 0054 0012 0000 0003 0000
0000600 0000 0000 5047 0054 0001 0000 0000 0000
0000610 0000 0000 0000 0000 3b80 003b 0000 0000
0000620 0080 0000 0000 0000 0000 0000 0000 0000
0000630 0000 0000 0000 0000 000a 0000 0000 0000
0000640 0080 0000 0000 0000 0000 0000 0000 0000
0000650 0000 0000 0000 0000 0000 0000 0000 0000

mfg

EDIT:

1
2
3
4
5
6
7
8
$ fdisk -l -u blob

Disk blob: 818 MB, 818942464 bytes, 1599497 sectors
Units = Sektoren of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

$

Hm, mist. Auch ein vorangestelltes sudo bringt keinen Unterschied 😐

senden9

Avatar von senden9

Anmeldungsdatum:
8. Februar 2010

Beiträge: 965

Wohnort: Österreich

Um welches Tablet handelt es sich den?

diesch Team-Icon

Avatar von diesch

Anmeldungsdatum:
18. Februar 2009

Beiträge: 5072

Wohnort: Brandenburg an der Havel

Möglicherweise hilft dieser Thread in http://forum.xda-developers.com weiter, speziell Beitrag #14

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Wenn ich mir den Blob-Anfang so angucke, dann könnte das ein (FAT-ähnliches ?) Verzeichnis sein, gefolgt von einer Partitionstabelle und Daten:

track@lucid:~$ hd -n 256  blob.bin 
00000000  53 2d 47 49 45 4e 2d 44  59 42 53 2d 47 49 42 4e  |S-GIEN-DYBS-GIBN|
00000010  4f 4c 2d 42 12 c9 30 d0  01 00 00 00 53 4d 2d 4d  |OL-B..0.....SM-M|
00000020  41 52 49 44 2d 4f 50 55  41 44 45 54 00 00 00 01  |ARID-OPUADET....|
00000030  00 3c 00 00 00 3c 00 00  00 05 00 00 00 00 00 00  |.<...<..........|
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  54 50 00 00 00 8c 00 00  |........TP......|
00000060  00 00 00 08 00 01 00 00  42 45 00 54 00 8c 00 08  |........BE.T....|
00000070  c8 3d 00 17 00 01 00 00  4f 53 00 53 c8 c9 00 1f  |.=......OS.S....|
00000080  59 00 00 5e 00 01 00 00  4e 4c 00 58 21 c9 00 7e  |Y..^....NL.X!..~|
00000090  f1 00 00 51 00 01 00 00  50 41 00 50 12 c9 00 d0  |...Q....PA.P....|
000000a0  00 00 30 00 00 01 00 00  8d 8b 8f 9e ff ff ff ff  |..0.............|
000000b0  01 00 00 00 05 a0 00 00  66 eb 0d 6a 34 eb a2 9e  |........f..j4...|
000000c0  86 38 f4 70 24 51 f3 f8  00 00 00 00 00 00 00 00  |.8.p$Q..........|
000000d0  00 00 00 00 00 00 00 00  8d 8b 8f 9e ff ff ff ff  |................|
000000e0  01 00 00 00 05 a0 00 00  00 11 00 00 00 00 00 00  |................|
000000f0  00 02 00 00 43 42 00 54  00 12 00 00 00 03 00 00  |....CB.T........| 

So ähnlich, wie die Daten auf einer DOS-Diskette auch vorliegen.
Da allerdings kein Partitionskopf vorhanden ist, lässt sich das Zeug natürlich nicht direkt mounten.

Aber vielleicht findest Du irgendwo eine Spezifikation für dieses Blob-Format ?

track

Developer92 Team-Icon

(Themenstarter)
Avatar von Developer92

Anmeldungsdatum:
31. Dezember 2008

Beiträge: 4101

senden9 schrieb:

Um welches Tablet handelt es sich den?

Es ist ein Asus Transformer Pad TF300T.

diesch schrieb:

Möglicherweise hilft dieser Thread in http://forum.xda-developers.com weiter, speziell Beitrag #14

Ok, danke.

track schrieb:

Da allerdings kein Partitionskopf vorhanden ist, lässt sich das Zeug natürlich nicht direkt mounten.

Ja, leider 😐

mfg

EDIT: Okay, das war jetzt einfach:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$ blobunpack blob 
Header size: 60
5 partitions starting at offset 0x3C
Blob version: 65536
Partition 0
Name: PT
Offset: 140 (0x8C)
Size: 524288 (0x80000)
Writing file blob.PT (524288 bytes)
Partition 1
Name: EBT
Offset: 524428 (0x8008C)
Size: 1558589 (0x17C83D)
Writing file blob.EBT (1558589 bytes)
Partition 2
Name: SOS
Offset: 2083017 (0x1FC8C9)
Size: 6183168 (0x5E5900)
Writing file blob.SOS (6183168 bytes)
Partition 3
Name: LNX
Offset: 8266185 (0x7E21C9)
Size: 5370112 (0x51F100)
Writing file blob.LNX (5370112 bytes)
Partition 4
Name: APP
Offset: 13636297 (0xD012C9)
Size: 805306368 (0x30000000)
Writing file blob.APP (805306368 bytes)
$ sudo mount -t ext4 -o loop blob.APP /mnt
WARNING: R00T-permissions without password-request
$ cd /mnt
$ ls
app  bin  build.prop  data  etc  fonts  framework  lib  media  scripts  usr  vendor  xbin

Sieht doch gut aus, Danke euch allen.

Antworten |