Als erstes mal für eine Variante entscheiden ... dann kann man Dir auch aufschreiben, was man wo zusammensuchen muß, wenn Du diesmal am Ball bleiben willst.
Der eine nimmt lieber allcfgconv aus einer noch älteren Firmware (wenn er sie auftreiben kann) - solange die mit den Libs zurechtkommt, funktioniert das sicherlich auch. So auf die Schnelle sind Kompatibilitätsprobleme auch nicht zu erwarten, da für den eigentlichen Zugriff auf die Datenstrukturen dann ohnehin die libar7cfg.so benutzt wird und die paßt zum jeweils aktuellen System.
Der andere benutzt lieber decode_passwords (oder dessen in Freetz importierte Version), weil es einzelne Werte auch dann noch entschlüsseln kann, wenn diese nicht in einer kompletten Datei-Struktur vorliegen (sondern z.B. mit ar7cfgctl ausgelesen wurden, was nun wieder mit einer bereits entschlüsselten ar7.cfg nicht funktioniert und so müßte man sich überlegen, wie man diese entschlüsselte Datei dann "parsen" kann für eine automatische Verarbeitung z.B. beim callmonitor) und dabei auch - bei Angabe der richtigen Daten aus dem Urlader-Environment der Box - die Werte aus anderen Boxen entschlüsseln kann. Nachdem AVM zur 06.30 hin die Arbeitsweise von webdavcfginfo verändert hat (die Daten kommen jetzt über "shared memory" in davfs2 an), braucht aber auch das eine Extraktion einer Datei aus der AVM-Firmware, wenn man keinen geeigneten Ersatz dafür hat. Für diesen Fall gibt es eine gepatchte Version, die das notwendige Programm als "/bin/avm_decoder" anspricht (und nicht als "webdavcfginfo", damit das nicht mit dem neuen "webdavcfginfo" kollidiert) - was sich hinter diesem Programm am Ende verbirgt, ist dem Skript egal, Hauptsache die Parameter beim Aufruf werden verstanden und es ist ein Binary, denn es wird mit "cp" in das chroot-Jail kopiert. Hat man ein eigenes Programm zum Entschlüsseln, kann man natürlich die Sache mit dem chroot auch weglassen, das wird ja nur gebraucht, um einem AVM-Programm abweichende Dateien unterzujubeln, ohne die wirklich im System ändern zu müssen.
Es gibt auch noch weitere Wege - das "Problem" mit den verschlüsselten Werten, die irgendwo im GUI dann doch im Klartext angezeigt werden (teilweise angezeigt werden
müssen), ist es nun einmal, daß man durch Austausch so eines Wertes gegen eine interessierende verschlüsselte Einstellung immer noch
jederzeit an einzelne Werte gelangen kann, selbst in aktueller Firmware und ohne eine einzige Datei (außer Skript-Code) hinzuzufügen. Das ist dann zwar nicht sehr schnell, aber immer noch machbar.
Insofern wird es immer eine "spanische Wand" geben, die man davorschieben kann ... aber keine absolut und 100% "sichere" Lösung, solange man da nicht unterschiedlich verschlüsselt für "secret" und "plain-text to be displayed" - beim Auslesen von Werten unterscheidet es der ctlmgr ja auch, da werden dann nur die vier Sterne geliefert - das entschlüsselte Auslesen muß jede Komponente für sich selbst erledigen, da gibt es kein "zentrales Interface" für diese Werte (abgesehen von den Libs, die die Dateien parsen) und jede Komponente, die einen dieser entschlüsselten Werte braucht, bindet dann ihrerseits "pwcrypt.c" (bzw. die daraus erstellte Objektdatei) als Callback-Routine für die Entschlüsselung ein über einen Aufruf von "config_set_pwfuncs" in der libavmcsock.so - die führt dann ihrerseits über die passenden Aufrufe von Funktionen in der libavmcipher.so (CIPHER_*-Funktionen) und in der libavmhmac.so (für MD5-Hashes, HASH_*-Funktionen) die Ver-/Entschlüsselung aus (Verschlüsseln halt beim Speichern). Wenn man nur auf der FRITZ!Box bleiben will, kann man sogar die AVM-Funktionen "nachnutzen" - ansonsten braucht man eine radikalere Lösung.
Wenn man also eine Idee hat, welchen Weg man gehen will, braucht es unterschiedliche Arbeitsschritte ... am schwierigsten/langwierigsten wird es in absehbarer Zeit, noch die richtige Firmware-Version aufzutreiben, die entweder ein älteres allcfgconv (< 06.10) oder ein älteres webdavcfginfo (< 06.30) enthält. Im Moment sind beide Versionen (zumindest für die 7490) noch bei AVM als Downgrade-Firmware erhältlich, die Extraktion kann man z.B. mit den
hier gezeigten Skript-Files ausführen oder gleich mit Freetz. Die einzelne Verwendung von AVM-Komponenten verbietet allerdings die
von AVM eingeräumte Lizenz ... ich wollte es nur noch einmal erwähnt haben.
Für die Verwendung des ctlmgr zur Dekodierung von Einzelwerten werde ich aber kein Skript mehr bauen, das ist nur ein Hase-und-Igel-Rennen und für mich habe ich das Problem inzwischen eben grundlegend anders gelöst. Meine "Aufforderung" zur
Diskussion, ob man so etwas veröffentlichen kann/soll, ist bisher praktisch ohne jede Resonanz geblieben (das soll krda76 nicht abwerten, aber ein Einzelner ist angesichts der Massen hier dann doch etwas schmal) in knapp 9 Monaten, damit besteht für mich kein Interesse an einer solchen Lösung und es wird auch keine Veröffentlichung dazu geben.
Und ganz ehrlich ... wenn alle 8 Wochen mal die Frage aufkommt, wie man das machen sollte und es dann offensichtlich auch wieder ohne Lösung weitergehen kann, dann zweifele ich an der Dringlichkeit des Problems und an der Ernsthaftigkeit des Lösungswillens und dafür habe ich sogar schon wieder zuviel geschrieben.