Acties:
  • 0 Henk 'm!

  • Anauv
  • Registratie: Mei 2009
  • Laatst online: 18:47
Hey!


Ik heb onlangs een tablet gekocht die voorzien is van Windows 8.1 (Onda V975w). Het is mij al gelukt om grub erop te zetten en Android te booten, helaas heb ik niet de juiste kernel. Er is ook een Android versie van die tablet uitgekomen (V975i), daar heb ik de rom van gedownload, maar helaas kan ik de boot.img niet uitpakken. Het is anders dan een normale boot.img.

Dit krijg ik te zien over boot.img:
code:
1
2
alex@i7:~/Desktop/v975i rom/Android_OS_V975i$ file boot.img 
boot.img: DOS/MBR boot sector


Na wat vergelijken met een normale kernel van android, had ik een hoop bytes had weggehaald van het begin, kreeg ik dit:
code:
1
2
alex@i7:~/Desktop$ file ondakernel 
ondakernel: Linux kernel x86 boot executable bzImage, version 3.4.43-00010-g26cfc46-dirty (ibuilder@Exdroid) #1 SMP PREEMPT M, RO-rootFS, swap_dev 0x7, Normal VGA


Er zit dus gewoon een bzImage in. Helaas krijg ik het niet voor elkaar om er enkel het bzImage uit te halen.
Is er iemand die mij ermee wil helpen?

Dit is het originele bestand: https://mega.co.nz/#!aEZ2...0sWLBav3tbCcB3QyxXUBdRUZY

En dit is het bestand ¨ondakernel¨ zoals te zien in de onderste ¨code¨: https://mega.co.nz/#!2VR0...PFij-W738eM_-Kl9_7cqcl22Y

Kan iemand mij daar mee helpen? Zou erg fijn zijn, aangezien ik er zelf helemaal niet meer uitkom.

Met vriendelijke groet

Alex

NDH Automotive: https://ndh.nu/


Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 30-09 08:10
Huh? Je ondakernel is de bzImage. Die heb je dus al. Wil je de uncompressed kernel hebben (vmlinux)?

$ binwalk boot.img 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
9728          0x2600          Microsoft portable executable
25261         0x62AD          gzip compressed data, maximum compression, from Unix, NULL date: Thu Jan  1 01:00:00 1970
7504288       0x7281A0        gzip compressed data, from Unix, NULL date: Thu Jan  1 01:00:00 1970


Op 0x2600 zit de bzImage, 0x62AD is de gzipped kernel zonder loader.

dd if=boot.img bs=$((0x62AD)) skip=1 | gzip -dc > vmlinux


(/scripts/extract-vmlinux uit de Linux kernel tree doet hetzelfde)

De tweede gzip blob is de cpio/gzipped initrd zo te zien.

Acties:
  • 0 Henk 'm!

  • Anauv
  • Registratie: Mei 2009
  • Laatst online: 18:47
Thralas schreef op woensdag 10 december 2014 @ 18:57:
Huh? Je ondakernel is de bzImage. Die heb je dus al. Wil je de uncompressed kernel hebben (vmlinux)?

$ binwalk boot.img 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
9728          0x2600          Microsoft portable executable
25261         0x62AD          gzip compressed data, maximum compression, from Unix, NULL date: Thu Jan  1 01:00:00 1970
7504288       0x7281A0        gzip compressed data, from Unix, NULL date: Thu Jan  1 01:00:00 1970


Op 0x2600 zit de bzImage, 0x62AD is de gzipped kernel zonder loader.

dd if=boot.img bs=$((0x62AD)) skip=1 | gzip -dc > vmlinux


(/scripts/extract-vmlinux uit de Linux kernel tree doet hetzelfde)

De tweede gzip blob is de cpio/gzipped initrd zo te zien.
Wow, bedankt. Dat ik dat niet gevonden heb zeg :), heel handige tool!

ondakernel begint inderdaad met de kernel, maar daarna zit er nog een hoop zooi aan vast.

[ Voor 3% gewijzigd door Anauv op 10-12-2014 22:17 ]

NDH Automotive: https://ndh.nu/


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Thralas schreef op woensdag 10 december 2014 @ 18:57:
Huh? Je ondakernel is de bzImage. Die heb je dus al. Wil je de uncompressed kernel hebben (vmlinux)?

$ binwalk boot.img 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
9728          0x2600          Microsoft portable executable
25261         0x62AD          gzip compressed data, maximum compression, from Unix, NULL date: Thu Jan  1 01:00:00 1970
7504288       0x7281A0        gzip compressed data, from Unix, NULL date: Thu Jan  1 01:00:00 1970


Op 0x2600 zit de bzImage, 0x62AD is de gzipped kernel zonder loader.

dd if=boot.img bs=$((0x62AD)) skip=1 | gzip -dc > vmlinux


(/scripts/extract-vmlinux uit de Linux kernel tree doet hetzelfde)

De tweede gzip blob is de cpio/gzipped initrd zo te zien.
Moet eerlijk zeggen, keihandig, ik ken de binwalk nog niet!

Maareh, waarom $((hex)) doen als er ook gewoon het decimale getal voorstaat in de `binwalk`-output? :+

  • Thralas
  • Registratie: December 2002
  • Laatst online: 30-09 08:10
Hah, dat krijg je als je helemaal in hex mode schiet als je met dit soort klusjes bezig bent ;)