Samsung Galaxy S Plus I9001 rooten

Zwischenfrage...
Kann jemand im Market am SGS+ nachsehen, ob man dort "Order & Chaos" kaufen kann - oder scheint das nicht auf?
 
Hab gradnachgeschaut, gibt es nicht. Da kommt an erster stelle Empross War.
 
sch...
danke fürs nachsehen.
ohne root somit sinnlos, hab einige gameloft spiele dich ich mit geänderter build.prob auf meinem handy gekauft hab. da das sgs+ noch kein root hat, die apps so auch nicht aufscheinen, könnt ich die spiele nichtmal nutzen.
mistmistmist...
 
Hallo,

möglicherweise habe ich eine Möglichkeit gefunden, das Galaxy S Plus zu rooten. Für ein T-Mobile gebrandetes Gerät könnte ich eine Firmware präparieren, die su und Superuser.apk beinhaltet. Die könnte dann über den üblichen Weg geflasht werden.

Um auch eine brandingfreie Firmware oder die Firmware anderer Provider zu rooten, bräuchte ich die Angaben von
*#1234#
und
*2767*4387264636#

Damit könnte ich mir vom Samsung Server die aktuelle Firmware besorgen (FUS Downloader) und entsprechend präparieren.

Falls jemand Interesse daran hat, eine solche Firmware zu testen, sagt mir Bescheid. Ich kann das entsprechende Image herunterladen, modifizieren, und zur Verfügung stellen. Flashanleitung wäre so wie hier:
https://www.android-hilfe.de/forum/...pdate-auf-android-2-3-4-anleitung.137222.html

Geht momentan aber nur für Firmwares direkt von Samsung Kies und nicht für die 2.3.4. Es sei denn, jemand sagt mir, wie ich die besch...eidenen .smd Files extrahiert bekomme. (Sorry, hab das SGS Plus erst seit heute und es ist nicht meins. Deshalb sind meine Infos noch rudimentär und ich habe es auch noch nicht selber geflasht. Ich hole mir morgen die Erlaubnis vom Besitzer.)
 
Zuletzt bearbeitet:
Guten Morgen,

Hier mal die Daten von einem brandingfreien SGS+
*#1234#
PDA: I9001XXKP4
PHONE: I9001XXKP4
CSC: I9001OXAKP2
Build Ifo: Tue Jul 12 22:29:19 KST 2011

*2767*4387264636#
[1] Sellout SMS: OFF
[2] PCode:GT-I9001HKDXEO
[3] Mode : Test

Ich hoffe das hilft Dir weiter!

Gruß

MrDJTB
 
Kann man eigtl. in der Firma auch Programm austauschen, also z.B. das Mailapp gegen das original Android Mail app?

Grüße

strauch
 
mrdjtb schrieb:
Guten Morgen,

Hier mal die Daten von einem brandingfreien SGS+
*#1234#
PDA: I9001XXKP4
PHONE: I9001XXKP4
CSC: I9001OXAKP2
Build Ifo: Tue Jul 12 22:29:19 KST 2011

*2767*4387264636#
[1] Sellout SMS: OFF
[2] PCode:GT-I9001HKDXEO
[3] Mode : Test

Ich hoffe das hilft Dir weiter!

Gruß

MrDJTB

tjoa, jetz bräuchten wir nur noch ne möglichkeit, die verflixten .smd files zu öffnen und editieren ;)
 
Hallo,

ich hab mir mittlerweile ein Verfahren unter Linux entwickelt, die SMD Files entpacken zu können. Ist zwar noch viel Handarbeit, aber es geht. Ich komme an die Image Files aus dem SMD Archiven und kann sie modifizieren. Jetzt kommt der nächste Schritt, die Files auch wieder so zusammenzupacken, dass man sie mit Odin Multi flashen kann. Wenn das alles reif, schreibe ich ne Anleitung, wie es geht.
 
frank_m schrieb:
Hallo,

ich hab mir mittlerweile ein Verfahren unter Linux entwickelt, die SMD Files entpacken zu können. Ist zwar noch viel Handarbeit, aber es geht. Ich komme an die Image Files aus dem SMD Archiven und kann sie modifizieren. Jetzt kommt der nächste Schritt, die Files auch wieder so zusammenzupacken, dass man sie mit Odin Multi flashen kann. Wenn das alles reif, schreibe ich ne Anleitung, wie es geht.

klingt vielversprechend! danke schonmal für die mühen, bin gespannt aufs resultat :drool: :scared: :smile:
 
wäre nett wenn du mir das initramfs aus der neusten smd datei geben könntest. Dann könnte ich auch weiter probieren. Bin grad am bissl rumpeobieren mit den Sources von samsung. ich könnte eventuell auch ein tool zum entpacken schreiben.
gruß
 
Die initramfs habe ich noch nicht aus dem Kernel (boot.img) extrahiert. Das ist der übernächste Schritt. ;)

Ich kann mittlerweile SMD Archive entpacken und packen, wie ich es benötige. Die von mir veränderten SMD Dateien werden anschließend auch durch den Odin MultiDownloader geflasht.

Jetzt würde ich ein system.img modifizieren, um su und SuperUser.apk reinzubringen, und das ganze dann aufs SGS Plus flashen. Mit etwas Glück ist es dann gerootet.

Der folgende Schritt wäre dann - wie du ihn auch vorhast - die initramfs aus dem Kernel so zu modifizieren, dass die bei Bedarf /system rootet. Eine gute Vorlage sind die CF Kernel fürs SGS oder SGS2, die das genau so machen.
 
wenn es dir nicht zuviel aufwand ist wäre es nett wenn du mir ne pm schreiben könntest wie ich die smd exttahier, dann könnte ich auch schonmal weiter probieren. es reicht auch wenns grob ist wenn ned frag ich nochmal.
Gruß
 
Supi, ich bin gespannt, danke für eure Arbeit.
 
Hallo,

nur noch ein wenig Geduld, heute Abend stelle ich hier ein Linux Script und eine genaue Anleitung rein, mit der man die SMD Archive entpacken kann.

In Bezug auf Root kann ich Teilerfolg vermelden. Ich habe ein Image mit Superuser.apk und su gebaut. Dann habe ich adb shell gestartet und su aufgerufen. Das übliche Popup kommt, ich bestätige es und habe anschließend Root Rechte. Auch ein wiederholter Aufruf von su geht danach problemlos.

Wenn aber nun eine zweite App Root Rechte anfordert, wirft su einen Forced Close. Die Fehlermeldung im logcat ist, dass su die Datenbank nicht aufrufen kann.
Code:
Unable to start receiver com.noshufou.android.su.SuRequestReceiver: android.database.sqlite.SQLiteException: unable to open database file
Es hilft nur, die Daten der Superuser.apk zu löschen und es dann wieder zu versuchen. So kann ich dann z.B. dem Busybox Installer oder auch Titanium Backup Rootrechte geben. Es geht aber immer nur ein Programm gleichzeitig. Das ist natürlich extrem lästig. Ich muss noch mal ein bisschen recherchieren. Ich denke aber, das Problem sollte sich lösen lassen.
 
Blöde Frage, aber eine Recovery fürs SGS+ gibts noch nicht, oder?
Wo man zB. ZIP Dateien flashen könnte.

Ich hab hier ne SuperUser.zip speziell für Android 2.3.4 - eventuell würde das klappen.
Zumindest auf meinem Acer Liquid MT hab ich nach dem Flashen unter 2.3.4 Rootrechte.

Ansonsten vielleicht mal hier die Beta probieren...
http://goo-inside.me/superuser - Ist SuperUser 3.0

Update:
Ok, die erste ZIP geht nicht, mit der SuperUser 3.0 hab ich nun problemlos mein Acer (Android 2.3.4) rooten können. Aber mit der geflashten ZIP. Probiert doch mal einer aus, ob ihr die Beta APK installieren könnt und danach Root ist...
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: frank_m
@astuermer: RESPEKT! Dein Tipp ist der Goldene Schuss. Vielen Dank dafür, das hätte dauern können, bis ich die passende Superuser.apk und das su Binary gefunden hätte.

Ich vermelde Vollzug: Ich habe hier in vollständig gerootetes Galaxy S Plus vor mir liegen. Momentan mit der Telekom Firmware BOKF6, allerdings ist es jetzt wohl mehr als wahrscheinlich, dass ich auch die KP4 oder andere Firmwares rooten kann.

Wie immer gilt: Jeder ist für sein Telefon selber verantwortlich. Wer sein Gerät mit Hilfe dieser Anleitung schrottet, ist selber schuld. Ich hab euch gewarnt, die Sache ist gefährlich.

In Kürze meine Vorgehensweise:
- SMD Files extrahieren
- system.img mounten
- "su" Binary nach xbin kopieren und Rechte setzen
- "Superuser.apk" nach app kopieren und ggf. Rechte setzen
- system.img unmounten
- SMD wieder zusammenpacken
- MD5 Checksum der system.img im SMD korrigieren
- Mit Odin MultiDownloader das ganze Image flashen.
Fertig.

Hört sich kompliziert an, ist es leider auch. Ich benutze Linux dafür, vielleicht findet sich jemand, der die entsprechenden Windows Werkzeuge identifiziert, die das Leben einfacher machen.

Ich werde in den kommenden Beiträgen die Anleitung detaillierter darstellen und meine Skripte veröffentlichen, in getrennten Beiträgen. Ich mache das, weil das Entpacken und Packen der SMD Archive nicht spezifisch für den Root Vorgang ist. Damit kann man die Anleitung später möglicherweise aus diesem Thread heraustrennen und separat unterbringen.

So, ich schreibe jetzt die Anleitungen. Das wird ein bisschen dauern, damit sie lesbar werden. ;)
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: gldelta, scheichuwe, reneph und 5 andere
Hallo,

Wie immer gilt: Jeder ist für sein Telefon selber verantwortlich. Wer sein Gerät mit Hilfe dieser Anleitung schrottet, ist selber schuld. Ich hab euch gewarnt, die Sache ist gefährlich.

zunächst kümmern wir uns um die SMD Archive. SMD Archive scheinen eine Art aufgebohrtes TAR zu sein. Es gibt einen Header, der Informationen über den Dateinamen, die Länge, das Start-Offset der Datei im Archiv und eine MD5 Checksumme der Datei enthält. Im Anschluss an den Header sind die integrierten Dateien einfach hintereinander angehängt. Der Header ist immer ein Vielfaches von 512 Byte lang.

//EDIT
Ich habe ein automatisiertes Script geschrieben, dass den Vorgang des Extrahierens komplett übernimmt:
Code:
#!/bin/bash

base=0
length=1
while (( length > 0 ))
do
	# calculate Length
	let "skip = base + 18"
	length=`hexdump -e '"%d"' -s ${skip} -n 2 ${1}`
	let "length = length * 65536"
	let "skip = base + 16"
	length2=`hexdump -e '"%d"' -s ${skip} -n 2 ${1}`
	let "length += length2"
	let "length = length / 512"  # Number of 512-Byte blocks

	# calculate offset
	let "skip = base + 22"
	offset=`hexdump -e '"%d"' -s ${skip} -n 2 ${1}`
	let "offset = offset * 65536"
	let "skip = base + 20"
	offset2=`hexdump -e '"%d"' -s ${skip} -n 2 ${1}`
	let "offset += offset2"
	let "offset = offset / 512" # Number of 512-Byte blocks

	# save header in case of first loop
	if (( base == 0 ))
	then
		dd if=${1} bs=512 of=header count=${offset}
	fi

	# extract filename
	let "skip = base + 32"
	filename=`dd if=${1} skip=${skip} count=16 bs=1 2>/dev/null`

	# and finally: extract Image
	if (( length > 0 ))
	then
		echo "Länge: ${length}"
		echo "Offset: ${offset}"
		echo "Dateiname: ${filename}"
		dd if=${1} bs=512 of=${filename} skip=${offset} count=${length} 2>/dev/null
	fi

	# next header
	let "base += 64"
done
Hinweis: Wenn man das Script hier rauskopiert und in einen Texteditor in Linux einfügt, muss man anschließend die gespeicherte Datei ausführbar machen:
Code:
chmod +x extract.sh

Aufruf:
Code:
exctract.sh SMD-Archive
also z.B.
Code:
./extract.sh SMD_PDA_I9001XXKP4_CL374422_REV00_user_low_ship_EMMC.smd
Damit gehört das elendige Rechnen der Offsets Und Längen der Vergangenheit an. ;)

//EDIT end


Alte manuelle Version:

Das Bild zeigt den Header, wenn ein Archiv im Hex-Editor geladen ist (ich verwende ghex2 in Ubuntu 11.04).

Hexeditor_SMD.png

Ich lade immer die Datei, stelle dann im Menu "Ansicht" -> "Daten gruppieren" auf "Longwords". Dann ziehe ich das Fenster so in die Breite, dass immer 32 (0x20) Byte in einer Zeile angezeigt werden. Damit werden Längen und Offsets immer direkt passend angezeigt, und die Dateinamen stehen immer am Zeilen-Anfang. Pro Datei werden 64 Byte im Header verwendet.
Im Bild sind die entscheidenden Inhalte für die erste Datei markiert:
  • Grün ist die Länge
  • Rot das Offset
  • Violett der Dateiname
  • Blau die MD5 Checksumme
Direkt im Anschluss an die Checksumme für die erste Datei beginnen die Infos für die 2. Datei.

Mit den Infos kann man sich nun an das Extrahieren der Dateien machen. Dafür gibt es einen schönen Trick: Wenn man den Cursor im ghex2 an die richtige Stelle setzt, werden einem unten in den Feldern direkt die passenden Dezimal-Werte der hexadezimalen Header Inhalte angezeigt:

Hexeditor_Konverter.png

Wie man sieht, steht der Cursor oben auf dem Offset Wert der ersten Datei. Unten wird 1536 angezeigt: Das ist das Startbyte der Datei. Wichtig ist, dass "Little Endian" aktiviert ist.

Wenn man bedenkt, dass SMD Dateien immer ein Vielfaches von 512 Byte lang sind, kommt man schnell auf folgendes Shell Script:
Code:
#!/bin/bash

let "skip_var = ${3} / 512"
let "count_var = ${4} / 512"

echo "dd if=${1} bs=512 of=${2} skip=${skip_var} count=${count_var}"
dd if=${1} bs=512 of=${2} skip=${skip_var} count=${count_var}
Hinweis: Das Script ist sehr rudimentär und momentan nur eine Behelfskrücke. Ich muss mich mal in bash Scripting einarbeiten. Das kann man bestimmt auch eleganter und automatisiert lösen.

Syntax:
Code:
extract.sh SMD_Archiv Zieldatei Offset Länge
Also im Beispiel:
Code:
./extract.sh SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC.smd partition.bin 1536 29184
Die Ausgabe:
Code:
dd if=SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC.smd bs=512 of=partition.bin skip=3 count=57
57+0 Datensätze ein
57+0 Datensätze aus
29184 Bytes (29 kB) kopiert, 0,0163007 s, 1,8 MB/s
Auf die Art kann man schnell alle Dateien der SMD Dateien extrahieren. Man muss sich halt immer Länge und Offset aus dem Hexeditor holen, den Dateinamen angeben und ab dafür. Im Falle der KF6 sind das:
  • partition.bin
  • dbl.mbn
  • osbl.mbn
  • amss.mbn
  • EMMCBOOT.MBN
  • adsp.mbn
  • boot.img
  • system.ext4
  • cache.ext4
  • recovery.img
  • persist.ext4
  • emmcparam.bin
Hinweis: Die Reihenfolge und die Bestandteile sind firmwarespezifisch! Bei der KP4 sieht das anders aus. Also nicht blind die Anleitung abtippen, sondern nachdenken!

Am Ende extrahiert man noch den Header:
Code:
./extract.sh SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC.smd header 0 1536
Den braucht man zwar nicht zum Ändern, aber er erleichtert das Zusammenfügen der Images am Ende.


Man kann auf die gleiche Weise CSC oder Modem Dateien extrahieren. Die Vorgehensweise ist grundsätzlich immer die gleiche.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: scheichuwe, Towelie90 und volldicht
Wie immer gilt: Jeder ist für sein Telefon selber verantwortlich. Wer sein Gerät mit Hilfe dieser Anleitung schrottet, ist selber schuld. Ich hab euch gewarnt, die Sache ist gefährlich.

Kommen wir nun zum eigentlichen Root Vorgang.

Nach dem Extrahieren haben wir u.a. die Datei "system.ext4". Um die kümmern wir uns jetzt näher.

Man legt ein temporäres Verzeichnis an, z.B. "system":
Code:
mkdir system
Dann mountet man per Loopback die system.ext:
Code:
sudo mount -o loop system.ext4 system

Anschließend kann man im Ordner "system" in diesem Image nach belieben herumspielen. Allerdings sollte man sich überlegen, was man tut.

Um zu rooten, besorgt man sich eine passende su und eine Superuser.apk. Ich habe die aus dem Link von astuermer verwendet, und zwar die "su-3.0-beta4-efgh-signed.zip". Zukünftig kann man sicher auch aktualisierte Versionen verwenden. Aus diesem Zip kann man die Datei su und die Datei Superuser.apk extrahieren.

Die Datei su kopiert man nach "system/xbin". Dann ändert man die Zugriffsrechte:
Code:
sudo cp su system/xbin/
sudo chown 0.0 system/xbin/su
sudo chmod 4755 system/xbin/su

Als nächstes ist die Superuser.apk dran. Die kommt nach system/app:
Code:
sudo cp Superuser.apk system/app/
sudo chown 0.0 system/app/Superuser.apk
sudo chmod 644 system/app/Superuser.apk

Dann kann man das System Image wieder unmounten:
Code:
sudo umount system
Fertig. Jetzt hat man ein gerootetes system.ext4 verfügbar.

Nun müssen wir das ganze wieder aufs Handy bringen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: scheichuwe und volldicht
Wie immer gilt: Jeder ist für sein Telefon selber verantwortlich. Wer sein Gerät mit Hilfe dieser Anleitung schrottet, ist selber schuld. Ich hab euch gewarnt, die Sache ist gefährlich.

Der letzte Schritt ist das Packen des SMD Archivs.

//EDIT
Hier nun auch ein automatisiertes Script, dass die Dateien wieder zusammenfügt und die MD5 Checksums neu berechnet.
Achtung: Das Script verlässt sich darauf, dass vom letzten extract Vorgang eine gültige Header-Datei vorhanden ist!
Code:
#!/bin/bash

base=16
length=0
filename=dummy

# save the beginning
dd if=header of=newheader bs=1 count=16 2>/dev/null

while [ ! -z "${filename}" ]
do
	let "skip = base"
	dd if=header of=newheadertmp bs=1 skip=${skip} count=32 2>/dev/null
	cat newheadertmp >> newheader
	rm newheadertmp

	# extract filename
	let "skip = base + 16"
	filename=`dd if=header skip=${skip} count=16 bs=1 2>/dev/null`
	if [ ! -z "${filename}" ]
	then
		echo "Berechne MD5 Sum: ${filename}"
		checksum=`md5sum ${filename} | tr '[a-z]' '[A-Z]'`
		echo -n ${checksum:0:32} >> newheader
	fi

	# next header
	let "base += 64"
done

filesize=$(stat -c%s header)
let "base -= 32"
let "size = filesize - base"

dd if=header of=newheadertmp bs=1 skip=${base} count=${size} 2>/dev/null
cat newheadertmp >> newheader
rm newheadertmp

cat newheader > ${1}

filename=dummy
base=16
while [ ! -z "${filename}" ]
do
	# extract filename
	let "skip = base + 16"
	filename=`dd if=header skip=${skip} count=16 bs=1 2>/dev/null`
	if [ ! -z "${filename}" ]
	then
		echo "Füge zum Archiv hinzu: ${filename}"
		cat ${filename} >> ${1}
	fi
	# next header
	let "base += 64"
done

rm newheader
Hinweis: Wenn man das Script hier rauskopiert und in einen Texteditor in Linux einfügt, muss man anschließend die gespeicherte Datei ausführbar machen:
Code:
chmod +x pack.sh
Aufruf:
Code:
./pack.sh Archiv.smd
Anschließend kann die Datei mit dem Odin Multidownloader geflasht werden (siehe ganz unten).

Fertig.

//EDIT end

Alte manuelle Methode:

Wie schon erwähnt sind SMD Archive nichts anderes, als hintereinander gehängte Dateien mit einem Header. Genau das stellen wir jetzt wieder her. Dateien kann man sehr bequem mit cat aneinanderhängen. Wir haben ja beim Entpacken den Header gesichert, das erleichtert uns jetzt das Leben.

Code:
cat header > SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat partition.bin >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat dbl.mbn >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat osbl.mbn >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat amss.mbn >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat EMMCBOOT.MBN >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat adsp.mbn >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat boot.img >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat system.ext4 >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat cache.ext4 >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat recovery.img >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat persist.ext4 >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
cat emmcparam.bin >> SMD_I9001BOKF6_I9001BOKF6_CL319318_REV00_user_low_ship_EMMC_rootet.smd
Wichtig ist die Reihenfolge der Befehle! Die muss exakt zur Reihenfolge der Dateinamen im Header passen!!! Achtung: Bei Fehlern besteht erhöhte Brick Gefahr!
Hinweis: Die Reihenfolge und die Bestandteile sind firmwarespezifisch! Bei der KP4 sieht das anders aus. Also nicht blind die Anleitung abtippen, sondern nachdenken!

Nach dieser Befehlsfolge haben wir eine SMD Datei, die die gleiche Länge hat, wie die originale Datei. Die neue Datei hat nur eine Schwäche: die MD5 Checksumme der system.ext4 passt nicht, da wir daran herumgespielt haben. Aber kein Problem:
Code:
md5sum system.ext4
Die Ausgabe sieht in etwa wie folgt aus:
3adfa91b7eacb21abe25ed74d9234c3e system.ext4
Blau markiert die MD5 Checksumme. Nun laden wir das neue SMD Archiv in ghex2 und tauschen die Checksum einfach aus:
Hexeditor_Checksum.png
Man beachte, dass die Buchstaben GROß geschrieben werden müssen. Abspeichern und

Fertig.

Jetzt kommt folgende Flashanleitung zum Tragen:
https://www.android-hilfe.de/forum/...pdate-auf-android-2-3-4-anleitung.137222.html

Einfach die modifizierten Dateien entsprechend eintragen und flashen. Nach dem Reboot freuen wir uns über ein gerootetes Galaxy S Plus.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: scheichuwe und volldicht
ist es danach denn auch möglich mit dem rom manager aus dem market ein recovery menu zu flashen?

Gesendet mit der Android-Hilfe.de-App
 

Ähnliche Themen

K
Antworten
8
Aufrufe
2.208
Nufan
Nufan
S
Antworten
0
Aufrufe
836
se1111
S
S
Antworten
1
Aufrufe
1.273
juni
J
Zurück
Oben Unten