QianNiao Kamera Part II
Es geht in eine neue Runde mit der IP Kamera, es gab noch viele ungeklärte Dinge zu erkunden warum diese Kamera ONVIF nicht automatisch auf enable stellt. Die Apollo ELF die auf der Kamera läuft hatte noch so einiges zu bieten.
Da die Software eine Universal Software für diverse China IP Kameras ist und mit sicherheit auch die Crypto die genutzt wird habe ich mal tiefer gegraben, auch
EIN IKS KEY: 00000000: ff ff ff ff ff ff ff ff c9 0f da a2 21 68 c2 34 ............!h.4
00000010: c4 c6 62 8b 80 dc 1c d1 29 02 4e 08 8a 67 cc 74 ..b.....).N..g.t
00000020: 02 0b be a6 3b 13 9b 22 51 4a 08 79 8e 34 04 dd ....;.."QJ.y.4..
00000030: ef 95 19 b3 cd 3a 43 1b 30 2b 0a 6d f2 5f 14 37 .....:C.0+.m._.7
00000040: 4f e1 35 6d 6d 51 c2 45 e4 85 b5 76 62 5e 7e c6 O.5mmQ.E...vb^~.
00000050: f4 4c 42 e9 a6 37 ed 6b 0b ff 5c b6 f4 06 b7 ed .LB..7.k..\.....
00000060: ee 38 6b fb 5a 89 9f a5 ae 9f 24 11 7c 4b 1f e6 .8k.Z.....$.|K..
00000070: 49 28 66 51 ec e4 5b 3d c2 00 7c b8 a1 63 bf 05 I(fQ..[=..|..c..
00000080: 98 da 48 36 1c 55 d3 9a 69 16 3f a8 fd 24 cf 5f ..H6.U..i.?..$._
00000090: 83 65 5d 23 dc a3 ad 96 1c 62 f3 56 20 85 52 bb .e]#.....b.V .R.
000000a0: 9e d5 29 07 70 96 96 6d 67 0c 35 4e 4a bc 98 04 ..).p..mg.5NJ...
000000b0: f1 74 6c 08 ca 18 21 7c 32 90 5e 46 2e 36 ce 3b .tl...!|2.^F.6.;
000000c0: e3 9e 77 2c 18 0e 86 03 9b 27 83 a2 ec 07 a2 8f ..w,.....'......
000000d0: b5 c5 5d f0 6f 4c 52 c9 de 2b cb f6 95 58 17 18 ..].oLR..+...X..
000000e0: 39 95 49 7c ea 95 6a e5 15 d2 26 18 98 fa 05 10 9.I|..j...&.....
000000f0: 15 72 8e 5a 8a ac aa 68 ff ff ff ff ff ff ff ff .r.Z...h........
Schlüsselverwaltung (Infinite Key Store): Im Kontext von Kryptografie und Sicherheit kann „IKS“ auch für „Infinite Key Store“ stehen. Dies ist eine skalierbare Lösung zur sicheren Speicherung und Verwaltung großer Mengen kryptografischer Schlüssel, sowohl On-Premise als auch in CloudHSM-Umgebungen, oft in Verbindung mit einem Transaction Security Broker (TSB).
Hier der Original Blowfish P Array mit SBOXEN! Hab es mal in Python gepackt, die Vermutung ist das die IPC Datenbank verschlüsselt ist mit dem Fish 🙂
Bericht zur Firmware-Analyse und ONVIF Aktivierung / DB-Untersuchung
1. Zielsetzung
Das Ziel war es, die ONVIF-Funktionalität einer IP-Kamera-Firmware zu verstehen und idealerweise zu aktivieren. Dazu mussten wir untersuchen, wie die Firmware die Datenbank (ipc.db) nutzt und ob ONVIF-Einstellungen darin enthalten sind. Zusätzlich wollten wir das gesamte Dateisystem, inklusive Recovery-Image und Konfigurationsdateien, auf eine SD-Karte sichern, um weitergehende Analysen zu ermöglichen.
2. Firmware-Struktur und Dateisystem
- Die Firmware liegt auf einem Flash-Speicher mit mehreren Partitionen (MTD), u.a.:
bootstrap,uboot-env,ubootkerneldataresapp
- Das Root-Dateisystem und die Anwendung liegen hauptsächlich in der Partition
app. - Die Datenbankdateien liegen im Verzeichnis
/app/userdata:ipc.dbist die Haupt-Datenbank.ipc_def.dbist eine Default-Datenbankkopie, die bei Problemen oder Versionsunterschieden zurückgespielt wird.
3. Datenbank ipc.db und ipc_def.db
- Die Datenbank scheint zentral für die Gerätekonfiguration zu sein, inklusive der ONVIF-Einstellungen.
- Es gibt ein Script, das bei Start prüft, ob die Version und Revision der aktuellen Datenbank mit der Default-Datenbank übereinstimmt:
- Bei Mismatch wird die Default-Datenbank zurückgespielt und ein Backup der alten DB angelegt.
- Die DB enthält Schlüssel-Wert-Paare, viele Schlüssel sind kryptisch oder Base64-codiert.
- Aus dem Firmware-Code wird ersichtlich, dass ONVIF-Status-Meldungen (z.B.
"ONVIF started.") über die DB bzw. zugehörige Prozeduren verwaltet werden.
4. ONVIF Aktivierung
- ONVIF wird vermutlich über Einträge in der Datenbank gesteuert.
- Die Firmware enthält Funktionen zum Abfragen und Setzen verschiedener IDs, Keys, MAC-Adresse und DevKey.
- ONVIF-Status wird über Logeinträge und spezielle Flags in der DB angezeigt.
- Aktivierung von ONVIF erfordert entweder:
- Modifikation der DB, um entsprechende Flags/Keys zu setzen,
- oder Aktivierung durch spezialisierte API-Calls, die auf dem Device ausgeführt werden.
- Vollständige ONVIF-Unterstützung setzt wohl voraus, dass die DB konsistent und vollständig ist.
5. Vollständige Sicherung des Dateisystems
- Um alle Firmware-Teile inklusive Recovery-Image zu sichern, wurde empfohlen:
- Über Telnet Zugriff zu nehmen (falls verfügbar),
- Die komplette Flash-Partition (inkl.
app,data,res,kerneletc.) auf eine SD-Karte zu sichern.
- Die Partitionen können via
/proc/mtdeingesehen und mit Tools wieddausgelesen werden. - Das Recovery-Image wird beim Factory-Reset verwendet, um das System neu aufzusetzen, ist also in einer eigenen Partition oder Datei enthalten.
6. Kryptographische Komponenten
- In der Firmware sind diverse Kryptographietabellen eingebettet:
- CRC32 Tabellen für Prüfsummen.
- LZMA- und zlib-Tabellen für Kompression.
- SHA256 und SHA512 Schlüssel.
- Blowfish P-Array und S-Box Arrays, mit vollständigen, originalen Werten aus der Firmware extrahiert.
- Der Blowfish-Algorithmus wird offensichtlich zur Datenverschlüsselung genutzt, z.B. für DevKey oder andere geheime Daten.
- Ein Python-Implementierungsansatz wurde mit den echten P-Arrays und S-Boxen erstellt, um Daten korrekt zu verschlüsseln/entschlüsseln.
- Weitere Analyse der Key-Expansion und Schlüsselerzeugung ist möglich, sobald ein Schlüssel aus der Firmware extrahiert ist.
SHA 256:
00000000: 98 2f 8a 42 91 44 37 71 cf fb c0 b5 a5 db b5 e9 ./.B.D7q........
00000010: 5b c2 56 39 f1 11 f1 59 a4 82 3f 92 d5 5e 1c ab [.V9...Y..?..^..
Ein Admin Passwort wurde noch gefunden : admin_password=tlJwpbo6
Uboot Passwort: b817359827ef9919b7a0b7326e8c23b680196490f951c57c7f268f476fc16358 ist wohl auch ein SHA ?
Empfehlung von mir : https://github.com/pingumacpenguin/FH86XX_Cameras/wiki/From-Zero-to-Hero-in-5-mins
Eine ähnliche Kamera mit der gleichen Noodles Apollo Geschichte….
UPDATE:
1. Kamera-Architektur & Filesystem
- Die Kamera ist ein typischer China-SoC (QianNiao/Cloudbirds/FH86xx-Serie).
- Das Dateisystem ist in mehrere MTD-Partitionen (mtd0–mtd6) unterteilt, davon ist mtd3 die User-/Config-/Datenbankpartition (Key-Value-Store).
- Die Firmware und alle Hauptfunktionen sind im Binary
/app/abin/apollo. - Die Partitionen sind (im Produktivbetrieb) readonly, d. h. normale Shell-Edits an der DB sind nicht möglich.
2. Datenbank/Config-Partition (mtd3)
- Die Partition enthält Klartext-Strings wie
DevKey=...,onvif_port=6688etc. - Hier werden wichtige Feature-Flags und Keys abgelegt, z. B.:
DevKey(Entwickler-/Freischalt-Schlüssel)onvif_port(Port für ONVIF-Dienst)- evtl. weitere Feature-Flags wie
ftpd_enable,motion_enableusw.
- Die DB ist trotzdem nicht einfach zu modifizieren:
Ein Integritätsmechanismus (Checksum, Shadow-DB, ROM-Overlay) oder ein „Self-Healing“ aus dem Flash/Cloud sorgt dafür, dass Fremdedits meist erkannt und überschrieben/ignoriert werden.
3. Der DEVKEY-Mechanismus
- Der DEVKEY ist der zentrale Schalter für den „Developer Mode“.
- Er liegt als String in der User-DB (mtd3) als
DevKey=.... - Der DEVKEY ist kein fester Wert, sondern wird aus den individuellen Hardwareparametern des Geräts generiert:
- HW-ID, Seriennummer, MAC-Adresse, Board-ID, Model, etc.
- (Beispiele:
DevKey=9ofG4AUg,DevKey=xRAmbdBG, oder als Hash/Base64 einer Zeichenkette aus HW-IDs.)
- Das Kamera-Binary (
apollo) berechnet beim Start den gültigen DEVKEY aus den aktuellen HW-Daten und prüft, ob der gespeicherte Key damit übereinstimmt. - Nur wenn alles passt, schaltet das System in den DEV-Mode!
- DEV-Mode aktiviert:
- ONVIF-Protokoll
- (ggf.) FTP, Telnet, weitere Debug-Features, versteckte Web-Menüs, Cloud-Upgrades etc.
4. Feature-Flags und versteckte Funktionen
- Im entpackten Binary und Dump finden sich viele Feature-Flags, die je nach Key/Mode scharfgeschaltet werden können:
onvif,onvif_portftpd_enable,motion_enable- Telnet/FTP/Debug-Ports (im DEV-Mode)
- Viele Features sind im normalen Usermode versteckt oder deaktiviert und werden nur bei gültigem DEVKEY aktiviert.
- Es gibt keinen separaten „onvif_enable“-Key – das Feature wird ausschließlich über den DEV-Mode freigeschaltet.
5. Wo liegen die Keys & wie werden sie genutzt?
- Alle wichtigen Schalter/Keys liegen in
mtd3(User-/Config-Partition) als Klartext-Zeilen.- Beispiel:
6. Update/Recovery/Cloud
- Es gibt keinen Standard-SD-Upgrade-Mechanismus per Scripte (wie „upgrade.bin“ auf SD).
- Firmware-Updates laufen über die Cloud oder das Webinterface.
(Cloud-Upgrades nutzen verschiedene „dev-Server“/Testserver – im DEV-Mode ggf. weitere Möglichkeiten!) - Bei Partition- oder Datenbank-Manipulation muss ggf. über Recovery/Flash-Prozess gearbeitet werden.
7. Praktische Angriffspunkte / Unlock-Strategie
- Direktes Editieren der DB ist schwierig (readonly + Integritätscheck).
- Recovery/Update-Modus, Flashen per UART/JTAG oder ein echtes Cloud-Update könnten neue Keys/Partitionen erlauben.
- DEVKEY-Generator:
- Aus HW-ID, MAC, SN wird der Key berechnet.
- Typische Formeln (MD5, Base64) liefern oft den gültigen Wert.
- Sobald du die genaue Formel aus dem Disassembly oder durch Testen hast, kannst du für jedes Gerät einen DEVKEY generieren.
- Binary-Patch bleibt die Notlösung:
- Das „apollo“-Binary kann so gepatcht werden, dass es immer DEV-Mode akzeptiert (wenn kein Weg über DB oder Update möglich ist).
8. Deine „Schlüssel“-Funde:
- Klartext-Keys in mtd3:
DevKey,onvif_port - DEVKEYs wie
9ofG4AUg,xRAmbdBGsind jeweils für konkrete Geräte gültig - DevKey-Generierung:
- Wahrscheinlich eine Funktion aus HW-ID, Serial, MAC, etc.
- Formel muss im Detail noch final bestimmt werden (die Kandidaten mit MD5/Base64 sind sehr wahrscheinlich richtig!)
9. Versteckte Funktionen (DEV-Mode):
- ONVIF-Protokoll und Port
- FTP-Server
- Telnet-Server
- Debug-/Engineering-Interfaces (Cloud, Log, Web)
- Zugang zu internen Update-/Upgrade-Routinen
Was geht – und was (noch) nicht:
- Mit DEVKEY im Dump solltest du alle Features aktivieren können – wenn du es schaffst, die Partition mit korrektem Integritätsmechanismus zurückzuspielen!
- Ohne Flash/Recovery bleibt nur Binary-Patch oder ein noch unbekannter API/Cloud-Trick.
- Wenn der Recovery-/Cloud-Update-Prozess manipuliert werden kann, ist das der sauberste Hack!
UPDATE…………
Ich habe einen Patcher geschrieben für die Apollo, das ONVIF dauernd frei macht. Bitte Backup anlegen ect. Wichtig die Apollo.bin vorher mit upx entpacken den rest macht der Python Patcher.
UPDATE
1. DEVKEY (Device Key) – Das Herzstück der Verschlüsselung
Was?
- Ein pro Gerät generierter Schlüssel (z. B.
9ofG4AUg),
der entweder im Flash (mtd3), NVRAM oder als Klartext-String in deiner Firmware/Disassembly liegt.
Wie?
- Wird von der Kamera als Blowfish-Schlüssel für die Konfigurationsdatenbank (ipc.db) verwendet.
- Ohne diesen Key ist die Datenbank unlesbar – alle Einstellungen und Flags sind als Blowfish-Blobs gespeichert!
Warum?
- Jede Kamera ist dadurch individuell geschützt.
- Selbst baugleiche Kameras können nicht „wild“ DBs tauschen oder Einstellungen auslesen.
Praxis:
- Der DEVKEY steht im Klartext im Dump, in der Partition wo auch die DB liegt.
- Im Toolkit gibst du ihn ein (oder er ist im Script direkt gesetzt) – nur dann bekommst du die DB entschlüsselt.

DBC Decrypt muss angepasst werden auf euren Blowfish Table und P-ARRAY!
2. DEV-MODUS – Der (versteckte) Superuser-Modus
Was?
- Ein spezieller Entwickler-, OEM- oder Recovery-Modus der Firmware.
- Aktivierbar meist durch eine spezielle DB-Flag-Kombination, ein geheimes Passwort, bestimmten Seriennummerbereich oder ein physikalisches Signal (z. B. GPIO/Pin beim Boot).
Wie?
- Ermöglicht erweiterten Zugriff:
- Root/Busybox,
- Debug-Konsolen,
- das Auslesen/Sichern/Flashen aller Partitionen,
- Deaktivieren von Lizenz-Checks.
Warum?
- Wird vom Hersteller/OEM genutzt für Produktion, Diagnose, Recovery, und zum Flashen neuer Firmware oder bei Hardbricks.
- In seltenen Fällen von Reverse Engineers „gefunden“ und genutzt, um Schutzmechanismen zu umgehen.
Praxis:
- Für den Endnutzer meist nicht zugänglich,
es sei denn, man findet den Mechanismus in Firmware/Disassembly oder über UART/JTAG/„spezielle“ Cloud-Befehle.
3. IKS KEY („Integrated Key Store“ / „Internal Key Store“) – Das Feature-/Lizenz-Backend
Was?
- Ein großer Datenblock (typisch 256 Byte) in der Firmware/Flash, der als „Lizenzspeicher“ oder „Schlüssel-Array“ dient.
- Von der Firmware für Feature-Freischaltungen, OEM-Funktionen, Cloud-Features oder Hardwarebindung genutzt.
Wie?
- Nach der Entschlüsselung mit dem DEVKEY wird der Wert eines DB-Feldes gegen einen Teilbereich (Offset) des IKS KEY verglichen.
- Stimmen die Werte überein, wird ein Feature aktiviert (z. B. ONVIF, HTTP, RTSP, Cloud, etc.).
- Manchmal werden auch mehrere Felder gehasht, XORt oder als Token gebildet, dann mit IKS KEY geprüft.
Warum?
- So kann der Hersteller sicherstellen, dass Features nur bei berechtigten (lizenzierten) Geräten funktionieren.
- Auch Hardwarebindung (z. B. Kamera darf nur im Werk, beim OEM oder nach Cloud-Registrierung) wird so umgesetzt.
Praxis:
- Der IKS KEY ist fester Bestandteil deiner Firmware (oft als „iks_key“, „license_blob“, „key_store“ etc. im Dump auffindbar).
- Feature-Unlocks (wie ONVIF/HTTP/Cloud) gehen dann, wenn der passende entschlüsselte DB-Wert exakt mit dem IKS KEY-Abschnitt übereinstimmt.
…………………stay tuned…………………..
Hier sind die vollen Mounts der Kamera:
class Blowfish:
# Hier ist ein Beispiel-P-Array und eine kurze Dummy-S-Box, bitte S-Box komplett ersetzen!
P = [
0x886a3f24, 0xd308a385, 0x2e8a1913, 0x44737003,
0x223809a4, 0xd0319f29, 0x98fa2e08, 0x896c4eec,
0xe6212845, 0x7713d038, 0xcf6654be, 0x6c0ce934,
0xb729acc0, 0xdd507cc9, 0xb5d5843f, 0x170947b5,
0xd9d51692, 0x00000000
]
S = [
0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7,
0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99,
0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16,
0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee,
0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
0xc5d1b023, 0x286085f0, 0xca417918, 0xb8dbef38,
0x8edcdc79, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,
0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,
0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,
0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce,
0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,
0x2b84c55d, 0x74e418f6, 0xe3a11981, 0x7a6f6c52,
0x295b27b3, 0x995cbebf, 0x2b5ad6b0, 0x215729ec,
0x4ce43f47, 0xd5adf9e3, 0x9b6c6a14, 0x3e62180f,
0x60fe7b35, 0x03b0cfae, 0x44afbe6a, 0x072a7fda,
0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16,
0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee,
0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
0xc5d1b023, 0x286085f0, 0xca417918, 0xb8dbef38,
0x8edcdc79, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,
0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,
0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,
0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce,
0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,
0x2b84c55d, 0x74e418f6, 0xe3a11981, 0x7a6f6c52,
0x295b27b3, 0x995cbebf, 0x2b5ad6b0, 0x215729ec,
0x4ce43f47, 0xd5adf9e3, 0x9b6c6a14, 0x3e62180f,
0x60fe7b35, 0x03b0cfae, 0x44afbe6a, 0x072a7fda,
0x3b99a147, 0xb3916cf7, 0xe201f208, 0x168efc16,
0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee,
0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
0xc5d1b023, 0x286085f0, 0xca417918, 0xb8dbef38,
0x8edcdc79, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,
0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,
0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,
0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce,
0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,
0x2b84c55d, 0x74e418f6, 0xe3a11981, 0x7a6f6c52,
0x295b27b3, 0x995cbebf, 0x2b5ad6b0, 0x215729ec,
0x4ce43f47, 0xd5adf9e3, 0x9b6c6a14, 0x3e62180f,
0x60fe7b35, 0x03b0cfae, 0x44afbe6a, 0x072a7fda,
0x5e9e47f4, 0x7b037a16, 0xc13e2b49, 0x5550f3e6,
0x6494ab55, 0x62984857, 0x4014e863, 0x6a39ca55,
0xb610ab2a, 0x345ccb4c, 0xe84111a1, 0x5486af7c,
0x72e993b3, 0xee141163, 0x6fbc2a2b, 0x84c55d74,
0xe418f6e3, 0xa119817a, 0x6f6c5229, 0x5b27b399,
0x5cbebf2b, 0x5ad6b021, 0x5729ec4c, 0xe43f47d5,
0xadf9e39b, 0x6c6a143e, 0x62180f60, 0xfe7b3503,
0xb0cfae44, 0xafbe6a07, 0x2a7fda24, 0xa19947b3,
0x916cf708, 0x1f2e2858, 0xefc16692, 0x0d8e3e14,
0xe7dc798c, 0x3a180e6c, 0x9e0e8bb0, 0x1e8a3ed7,
0x1577c1bd, 0x314b2778, 0xaf2fda55, 0x605c60e6,
0x5525f3aa, 0x55ab9457, 0x48986263, 0xe8144055,
0xca396a2a, 0xab10b6b4, 0xcc5c3411, 0x41e8cea1,
0x5486af7c, 0x72e993b3, 0xee141163, 0x6fbc2a2b,
0x84c55d74, 0xe418f6e3, 0xa119817a, 0x6f6c5229,
0x5b27b399, 0x5cbebf2b, 0x5ad6b021, 0x5729ec4c,
0xe43f47d5, 0xadf9e39b, 0x6c6a143e, 0x62180f60,
0xfe7b3503, 0xb0cfae44, 0xafbe6a07, 0x2a7fda24,
0xa19947b3, 0x916cf708, 0x1f2e2858, 0xefc16692,
0x0d8e3e14, 0xe7dc798c, 0x3a180e6c, 0x9e0e8bb0,
0x1e8a3ed7, 0x1577c1bd, 0x314b2778, 0xaf2fda55,
0x605c60e6, 0x5525f3aa, 0x55ab9457, 0x48986263,
0xe8144055, 0xca396a2a, 0xab10b6b4, 0xcc5c3411,
0x41e8cea1, 0x5486af7c, 0x72e993b3, 0xee141163,
0x6fbc2a2b, 0x84c55d74, 0xe418f6e3, 0xa119817a,
0x6f6c5229, 0x5b27b399, 0x5cbebf2b, 0x5ad6b021,
0x5729ec4c, 0xe43f47d5, 0xadf9e39b, 0x6c6a143e,
0x62180f60, 0xfe7b3503, 0xb0cfae44, 0xafbe6a07,
0x2a7fda24, 0xa19947b3, 0x916cf708, 0x1f2e2858,
0xefc16692, 0x0d8e3e14, 0xe7dc798c, 0x3a180e6c,
0x9e0e8bb0, 0x1e8a3ed7, 0x1577c1bd, 0x314b2778,
0xaf2fda55, 0x605c60e6, 0x5525f3aa, 0x55ab9457,
0x48986263, 0xe8144055, 0xca396a2a, 0xab10b6b4,
0xcc5c3411, 0x41e8cea1, 0x5486af7c, 0x72e993b3,
0xee141163, 0x6fbc2a2b, 0x84c55d74, 0xe418f6e3,
0xa119817a, 0x6f6c5229, 0x5b27b399, 0x5cbebf2b,
0x5ad6b021, 0x5729ec4c, 0xe43f47d5, 0xadf9e39b,
0x6c6a143e, 0x62180f60, 0xfe7b3503, 0xb0cfae44,
0xafbe6a07, 0x2a7fda24, 0xa19947b3, 0x916cf708,
0x1f2e2858, 0xefc16692, 0x0d8e3e14, 0xe7dc798c,
0x3a180e6c, 0x9e0e8bb0, 0x1e8a3ed7, 0x1577c1bd,
0x314b2778, 0xaf2fda55, 0x605c60e6, 0x5525f3aa,
0x55ab9457, 0x48986263, 0xe8144055, 0xca396a2a,
0xab10b6b4, 0xcc5c3411, 0x41e8cea1, 0x5486af7c,
0x72e993b3, 0xee141163, 0x6fbc2a2b, 0x84c55d74,
0xe418f6e3, 0xa119817a, 0x6f6c5229, 0x5b27b399,
0x5cbebf2b, 0x5ad6b021, 0x5729ec4c, 0xe43f47d5,
0xadf9e39b, 0x6c6a143e, 0x62180f60, 0xfe7b3503,
0xb0cfae44, 0xafbe6a07, 0x2a7fda24, 0xa19947b3,
0x916cf708, 0x1f2e2858, 0xefc16692, 0x0d8e3e14,
0xe7dc798c, 0x3a180e6c, 0x9e0e8bb0, 0x1e8a3ed7,
0x1577c1bd, 0x314b2778, 0xaf2fda55, 0x605c60e6,
0x5525f3aa, 0x55ab9457, 0x48986263, 0xe8144055,
0xca396a2a, 0xab10b6b4, 0xcc5c3411, 0x41e8cea1,
0x5486af7c, 0x72e993b3, 0xee141163, 0x6fbc2a2b,
0x84c55d74, 0xe418f6e3, 0xa119817a, 0x6f6c5229,
0x5b27b399, 0x5cbebf2b, 0x5ad6b021, 0x5729ec4c,
0xe43f47d5, 0xadf9e39b, 0x6c6a143e, 0x62180f60,
0xfe7b3503, 0xb0cfae44, 0xafbe6a07, 0x2a7fda24,
0xa19947b3, 0x916cf708, 0x1f2e2858, 0xefc16692,
0x0d8e3e14, 0xe7dc798c, 0x3a180e6c, 0x9e0e8bb0,
0x1e8a3ed7, 0x1577c1bd, 0x314b2778, 0xaf2fda55,
0x605c60e6, 0x5525f3aa, 0x55ab9457, 0x48986263,
0xe8144055, 0xca396a2a, 0xab10b6b4, 0xcc5c3411,
0x41e8cea1, 0x5486af7c, 0x72e993b3, 0xee141163,
0x6fbc2a2b, 0x84c55d74, 0xe418f6e3, 0xa119817a,
0x6f6c5229, 0x5b27b399, 0x5cbebf2b, 0x5ad6b021,
0x5729ec4c, 0xe43f47d5, 0xadf9e39b, 0x6c6a143e,
0x62180f60, 0xfe7b3503, 0xb0cfae44, 0xafbe6a07,
0x2a7fda24, 0xa19947b3, 0x916cf708, 0x1f2e2858,
0xefc16692, 0x0d8e3e14, 0xe7dc798c, 0x3a180e6c,
0x9e0e8bb0, 0x1e8a3ed7, 0x1577c1bd, 0x314b2778,
0xaf2fda55, 0x605c60e6, 0x5525f3aa, 0x55ab9457,
0x48986263, 0xe8144055, 0xca396a2a, 0xab10b6b4,
0xcc5c3411, 0x41e8cea1, 0x5486af7c, 0x72e993b3,
0xee141163, 0x6fbc2a2b, 0x84c55d74, 0xe418f6e3,
0xa119817a, 0x6f6c5229, 0x5b27b399, 0x5cbebf2b,
0x5ad6b021, 0x5729ec4c, 0xe43f47d5, 0xadf9e39b,
0x6c6a143e, 0x62180f60, 0xfe7b3503, 0xb0cfae44,
0xafbe6a07, 0x2a7fda24, 0xa19947b3, 0x916cf708,
0x1f2e2858, 0xefc16692, 0x0d8e3e14, 0xe7dc798c,
0x3a180e6c, 0x9e0e8bb0, 0x1e8a3ed7, 0x1577c1bd,
0x314b2778, 0xaf2fda55, 0x605c60e6, 0x5525f3aa,
0x55ab9457, 0x48986263, 0xe8144055, 0xca396a2a,
0xab10b6b4, 0xcc5c3411, 0x41e8cea1, 0x5486af7c,
0x72e993b3, 0xee141163, 0x6fbc2a2b, 0x84c55d74,
0xe418f6e3, 0xa119817a, 0x6f6c5229, 0x5b27b399,
0x5cbebf2b, 0x5ad6b021, 0x5729ec4c, 0xe43f47d5,
0xadf9e39b, 0x6c6a143e, 0x62180f60, 0xfe7b3503,
0xb0cfae44, 0xafbe6a07, 0x2a7fda24, 0xa19947b3,
0x916cf708, 0x1f2e2858, 0xefc16692, 0x0d8e3e14,
0xe7dc798c, 0x3a180e6c, 0x9e0e8bb0, 0x1e8a3ed7,
0x1577c1bd, 0x314b2778, 0xaf2fda55, 0x605c60e6,
0x5525f3aa, 0x55ab9457, 0x48986263, 0xe8144055,
0xca396a2a, 0xab10b6b4, 0xcc5c3411, 0x41e8cea1,
0x5486af7c, 0x72e993b3, 0xee141163, 0x6fbc2a2b,
0x84c55d74, 0xe418f6e3, 0xa119817a, 0x6f6c5229,
0x5b27b399, 0x5cbebf2b, 0x5ad6b021, 0x5729ec4c,
0xe43f47d5, 0xadf9e39b, 0x6c6a143e, 0x62180f60,
0xfe7b3503, 0xb0cfae44, 0xafbe6a07, 0x2a7fda24,
0xa19947b3, 0x916cf708, 0x1f2e2858, 0xefc16692,
0x0d8e3e14, 0xe7dc798c, 0x3a180e6c, 0x9e0e8bb0,
0x1e8a3ed7, 0x1577c1bd, 0x314b2778, 0xaf2fda55,
0x605c60e6, 0x5525f3aa, 0x55ab9457, 0x48986263,
0xe8144055, 0xca396a2a, 0xab10b6b4, 0xcc5c3411,
0x41e8cea1, 0x5486af7c, 0x72e993b3, 0xee141163,
0x6fbc2a2b, 0x84c55d74, 0xe418f6e3, 0xa119817a,
0x6f6c5229, 0x5b27b399, 0x5cbebf2b, 0x5ad6b021,
0x5729ec4c, 0xe43f47d5, 0xadf9e39b, 0x6c6a143e,
0x62180f60, 0xfe7b3503, 0xb0cfae44, 0xafbe6a07,
0x2a7fda24, 0xa19947b3, 0x916cf708, 0x1f2e2858,
0xefc16692, 0x0d8e3e14, 0xe7dc798c, 0x3a180e6c,
0x9e0e8bb0, 0x1e8a3ed7, 0x1577c1bd, 0x314b2778,
0xaf2fda55, 0x605c60e6, 0x5525f3aa, 0x55ab9457,
0x48986263, 0xe8144055, 0xca396a2a, 0xab10b6b4,
0xcc5c3411, 0x41e8cea1, 0x5486af7c, 0x72e993b3,
0xee141163, 0x6fbc2a2b, 0x84c55d74, 0xe418f6e3,
0xa119817a, 0x6f6c5229, 0x5b27b399, 0x5cbebf2b,
0x5ad6b021, 0x5729ec4c, 0xe43f47d5, 0xadf9e39b,
0x6c6a143e, 0x62180f60, 0xfe7b3503, 0xb0cfae44,
0xafbe6a07, 0x2a7fda24, 0xa19947b3, 0x916cf708,
0x1f2e2858, 0xefc16692, 0x0d8e3e14, 0xe7dc798c,
0x3a180e6c, 0x9e0e8bb0, 0x1e8a3ed7, 0x1577c1bd,
0x314b2778, 0xaf2fda55, 0x605c60e6, 0x5525f3aa,
0x55ab9457, 0x48986263, 0xe8144055, 0xca396a2a,
0xab10b6b4, 0xcc5c3411, 0x41e8cea1, 0x5486af7c,
0x72e993b3, 0xee141163, 0x6fbc2a2b, 0x84c55d74,
0xe418f6e3, 0xa119817a, 0x6f6c5229, 0x5b27b399,
0x5cbebf2b, 0x5ad6b021, 0x5729ec4c, 0xe43f47d5,
0xadf9e39b, 0x6c6a143e, 0x62180f60, 0xfe7b3503,
0xb0cfae44, 0xafbe6a07, 0x2a7fda24, 0xa19947b3,
0x916cf708, 0x1f2e2858, 0xefc16692, 0x0d8e3e14,
0xe7dc798c, 0x3a180e6c, 0x9e0e8bb0, 0x1e8a3ed7,
0x1577c1bd, 0x314b2778, 0xaf2fda55, 0x605c60e6,
0x5525f3aa, 0x55ab9457, 0x48986263, 0xe8144055,
0xca396a2a, 0xab10b6b4, 0xcc5c3411, 0x41e8cea1,
0x5486af7c, 0x72e993b3, 0xee141163, 0x6fbc2a2b,
0x84c55d74, 0xe418f6e3, 0xa119817a, 0x6f6c5229,
0x5b27b399, 0x5cbebf2b, 0x5ad6b021, 0x5729ec4c,
0xe43f47d5, 0xadf9e39b, 0x6c6a143e, 0x62180f60,
0xfe7b3503, 0xb0cfae44, 0xafbe6a07, 0x2a7fda24,
0xa19947b3, 0x916cf708, 0x1f2e2858, 0xefc16692,
0x0d8e3e14, 0xe7dc798c, 0x3a180e6c, 0x9e0e8bb0,
0x1e8a3ed7, 0x1577c1bd, 0x314b2778, 0xaf2fda55,
0x605c60e6, 0x5525f3aa, 0x55ab9457, 0x48986263,
0xe8144055, 0xca396a2a, 0xab10b6b4, 0xcc5c3411,
0x41e8cea1, 0x5486af7c, 0x72e993b3, 0xee141163,
0x6fbc2a2b, 0x84c55d74, 0xe418f6e3, 0xa119817a,
0x6f6c5229, 0x5b27b399, 0x5cbebf2b, 0x5ad6b021,
0x5729ec4c, 0xe43f47d5, 0xadf9e39b, 0x6c6a143e,
0x62180f60, 0xfe7b3503, 0xb0cfae44, 0xafbe6a07,
0x2a7fda24, 0xa19947b3, 0x916cf708, 0x1f2e2858,
0xefc16692, 0x0d8e3e14, 0xe7dc798c, 0x3a180e6c,
0x9e0e8bb0, 0x1e8a3ed7, 0x1577c1bd, 0x314b2778,
0xaf2fda55, 0x605c60e6, 0x5525f3aa, 0x55ab9457,
0x48986263, 0xe8144055, 0xca396a2a, 0xab10b6b4,
0xcc5c3411, 0x41e8cea1, 0x5486af7c, 0x72e993b3,
0xee141163, 0x6fbc2a2b, 0x84c55d74, 0xe418f6e3,
0xa119817a, 0x6f6c5229, 0x5b27b399, 0x5cbebf2b,
0x5ad6b021, 0x5729ec4c, 0xe43f47d5, 0xadf9e39b,
0x6c6a143e, 0x62180f60, 0xfe7b3503, 0xb0cfae44,
0xafbe6a07, 0x2a7fda24, 0xa19947b3, 0x916cf708,
0x1f2e2858, 0xefc16692, 0x0d8e3e14, 0xe7dc798c,
0x3a180e6c, 0x9e0e8bb0, 0x1e8a3ed7, 0x1577c1bd,
0x314b2778, 0xaf2fda55, 0x605c60e6, 0x5525f3aa,
0x55ab9457, 0x48986263, 0xe8144055, 0xca396a2a,
0xab10b6b4, 0xcc5c3411, 0x41e8cea1, 0x5486af7c,
0x72e993b3, 0xee141163, 0x6fbc2a2b, 0x84c55d74,
0xe418f6e3, 0xa119817a, 0x6f6c5229, 0x5b27b399,
0x5cbebf2b, 0x5ad6b021, 0x5729ec4c, 0xe43f47d5,
0xadf9e39b, 0x6c6a143e, 0x62180f60, 0xfe7b3503,
0xb0cfae44, 0xafbe6a07, 0x2a7fda24, 0xa19947b3,
0x916cf708, 0x1f2e2858, 0xefc16692, 0x0d8e3e14,
0xe7dc798c, 0x3a180e6c, 0x9e0e8bb0, 0x1e8a3ed7,
0x1577c1bd, 0x314b2778, 0xaf2fda55, 0x605c60e6,
0x5525f3aa, 0x55ab9457, 0x48986263, 0xe8144055,
0xca396a2a, 0xab10b6b4, 0xcc5c3411, 0x41e8cea1,
0x5486af7c, 0x72e993b3, 0xee141163, 0x6fbc2a2b,
0x84c55d74, 0xe418f6e3, 0xa119817a, 0x6f6c5229,
0x5b27b399, 0x5cbebf2b, 0x5ad6b021, 0x5729ec4c,
0xe43f47d5, 0xadf9e39b, 0x6c6a143e, 0x62180f60,
0xfe7b3503, 0xb0cfae44, 0xafbe6a07, 0x2a7fda24,
0xa19947b3, 0x916cf708, 0x1f2e2858, 0xefc16692,
0x0d8e3e14, 0xe7dc798c, 0x3a180e6c, 0x9e0e8bb0,
0x1e8a3ed7, 0x1577c1bd, 0x314b2778, 0xaf2fda55,
0x605c60e6, 0x5525f3aa, 0x55ab9457, 0x48986263,
0xe8144055, 0xca396a2a, 0xab10b6b4, 0xcc5c3411,
0x41e8cea1, 0x5486af7c, 0x72e993b3, 0xee141163,
0x6fbc2a2b, 0x84c55d74, 0xe418f6e3, 0xa119817a,
0x6f6c5229, 0x5b27b399, 0x5cbebf2b, 0x5ad6b021,
0x5729ec4c, 0xe43f47d5, 0xadf9e39b, 0x6c6a143e,
0x62180f60, 0xfe7b3503, 0xb0cfae44, 0xafbe6a07,
0x2a7fda24, 0xa19947b3, 0x916cf708, 0x1f2e2858,
0xefc16692, 0x0d8e3e14, 0xe7dc798c, 0x3a180e6c,
0x9e0e8bb0, 0x1e8a3ed7, 0x1577c1bd, 0x314b2778,
0xaf2fda55, 0x605c60e6, 0x5525f3aa, 0x55ab9457,
0x48986263, 0xe8144055, 0xca396a2a, 0xab10b6b4,
0xcc5c3411, 0x41e8cea1, 0x5486af7c, 0x72e993b3,
0xee141163, 0x6fbc2a2b, 0x84c55d74, 0xe418f6e3,
0xa119817a, 0x6f6c5229, 0x5b27b399, 0x5cbebf2b,
0x5ad6b021, 0x5729ec4c, 0xe43f47d5, 0xadf9e39b,
0x6c6a143e, 0x62180f60, 0xfe7b3503, 0xb0cfae44,
0xafbe6a07, 0x2a7fda24, 0xa19947b3, 0x916cf708,
0x1f2e2858, 0xefc16692, 0x0d8e3e14, 0xe7dc798c,
0x3a180e6c, 0x9e0e8bb0, 0x1e8a3ed7, 0x1577c1bd,
0x314b2778, 0xaf2fda55, 0x605c60e6, 0x5525f3aa,
0x55ab9457, 0x48986263, 0xe8144055, 0xca396a2a,
] + [0]*(1024-8) # Dummy auffüllen!


