nicht in Unterordner abspeichern, sondern alles fortlaufend

Sx, Sxx, Sxxx, SX1, SXxx, SX1xx, SX2xx, SX4xx, SX5xx, SX6xx, SX7xx

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon f_m_b » 30.03.2011, 09:21

@CHDKLover:
Danke für die prompte Antwort.
Ich werde mir Deine Beschreibung am Wochenende mal genauer anschauen...

Frage:
Der passende Eintrag wäre dann in stubs_entry_2.S
NHSTUB(GetImageFolder, 0xFF933518)


Edit:
Fast ein Treffer - Der Aufruf erzeugt Verzeichnisse der Art: ETC_9155.TMP, allerdings im richtigen Ordner je nachdem Daily oder Monthly eingetragen ist.
Zuletzt geändert von f_m_b am 30.03.2011, 09:26, insgesamt 1-mal geändert.
f_m_b
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 148
Registriert: 30.05.2010, 21:59
Kamera(s): -

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon CHDKLover » 30.03.2011, 09:24

f_m_b hat geschrieben:Der passende Eintrag wäre dann in stubs_entry_2.S
NHSTUB(GetImageFolder, 0xFF933518)

Ja, richtig.

CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon whim » 31.03.2011, 00:29

Hallo CHDKLover,

CHDKLover hat geschrieben:
Falls diese Adresse korrekt ist, habe ich noch die Adressen für die anderen sx20 Versionen gesucht:
sx20 100f: 0xFF933544
sx20 102b: 0xFF933518
sx20 102c: 0xFF933568
sx20 102d: 0xFF933568


für S90/S95 Kameras ergibt deine Methode (allerdings via IDA) folgendes:

------------------- s95 100e/100h --- s90 100c ----- s90 101a -- s90 101b/101c
aGetcameraobj -- 0xFF95E988 -- 0xFF93C554 -- 0xFF93C580 -- 0xFF93C5D0
GetImageFolder-- 0xFF95E84C -- 0xFF93C458 -- 0xFF93C484 -- 0xFF93C4D4

zur Seite, diese ixus benutzen auch die fast gleiche Code wie g12:

------------------- ixus300_sd4000 100d -- ixus1000_sd4500 100d -- ixus210_sd3500 100f
aGetcameraobj -- 0xFF943544 ------------- 0xFF952E58 --------------- 0xFF940198
GetImageFolder-- 0xFF94345C ------------- 0xFF952D1C --------------- 0xFF9400B0


gruß wim
Benutzeravatar
whim
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 21.01.2011, 14:20
Kamera(s): A590(101b) - A620 - A630 - ixus70_sd1000(101b) - ixus870_sd880(101a) - ixus300_sd4000

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon CHDKLover » 31.03.2011, 13:10

Hallo f_m_b,
f_m_b hat geschrieben:Fast ein Treffer - Der Aufruf erzeugt Verzeichnisse der Art: ETC_9155.TMP, allerdings im richtigen Ordner je nachdem Daily oder Monthly eingetragen ist.

ich nehme an dein Funktionsaufruf sieht momentan so aus:
Syntax: [ Download ] [ Verstecken ]
Benutze C Syntax Highlighting
_GetImageFolder(out+1,get_file_next_counter(),0x400,time(NULL));
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9

Probiere mal bitte folgenden Funktionsaufruf:
Syntax: [ Download ] [ Verstecken ]
Benutze C Syntax Highlighting
_GetImageFolder(out+1,get_file_next_counter(),0x100,time(NULL));
Erstellt in 0.003 Sekunden, mit GeSHi 1.0.8.9


Im Anhang befindet sich ein Patch, der diese Funktionalität bei allen im CHDK-DE enthaltenen Kameras hinzufügt.

Zusätzlich noch eine Liste mit den weiteren Funktionspointen für GetImageFolder (@whim, deine Funktionspointer konnte ich bestätigen):
ixus120: - ok 0x100
101a: 0xFF91901C - kein chdk
102c: 0xFFA1901C - ok
103c: 0xFF919078 - ok

ixus200 - kein chdk
100c: 0xFF923DE8
101c: 0xFF923DE8

sx120is: - ok 0x100
100b: 0xFF8FC100 - ok

g11: - ok 0x100
100f: 0xFF93D570 - ok
100j: 0xFF93D654 - ok
100k: 0xFF93D654
100l: 0xFF93D6A4 - ok

s90: - ok 0x100
100c: 0xFF93C458 - ok
101a: 0xFF93C484 - ok
101b: 0xFF93C4D4 - kein chdk
101c: 0xFF93C4D4 - ok

s95: - ok 0x400
100e: 0xFF95E84C - ok
100h: 0xFF95E84C - ok

sx130: - ok 0x400
101c: 0xFF9419AC - ok

sx210: - kein CHDK
100c: 0xFF94513C

a3000: - kein CHDK
100b: 0xFFCF55A8
100d: 0xFFCF55F8

a3100: - kein cHDK
100b: falscher dump

a490: - kein CHDK
100f: 0xFFCF1058

a495: - ok 0x100
100d: 0xFFCF1428 - ok
100f: 0xFFCF1478 - ok

ixus300: - kein CHDK
100d: 0xFF94345C

ixus1000: - kein CHDK
100d: 0xFF952D1C

ixus210: - kein CHDK
100f: 0xFF9400B0

sx20: - ok 0x100
100f: 0xFF933544
102b: 0xFF933518 - ok
102c: 0xFF933568
102d: 0xFF933568 - ok


CHDKLover
Dateianhänge
CAM_DATE_FOLDER_NAMING.diff
Testpatch
(18.36 KiB) 329-mal heruntergeladen
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon f_m_b » 02.04.2011, 23:12

@CHDKLover:

Mit der Änderung 0x100 anstelle 0x400 wurde leider keine RAW-Datei geschrieben.
Ok. Ich habe alle möglichen lokalen Änderungen in meiner Version gemacht... Deshalb einmal zurück nach Los ;-) und mit svn die aktuelle 608 geholt, Dein Patch aufgespielt und noch einmal ausprobiert...

=D> Super. Funktioniert in der 1.02b wie von Dir vorausgesagt.
Ich werde eine Testversionen für 1.02d erstellen und hier bescheid sagen wenn der Test ebenfalls pass ist. :-)

Edit1:
Könntest Du auch die Adresse für SX20 1.00f heraussuchen, da wir momentan jemand haben, der das Testen könnte?
Sorry die hattest Du ja bereits gefunden... 0xFF933544
f_m_b
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 148
Registriert: 30.05.2010, 21:59
Kamera(s): -

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon f_m_b » 03.04.2011, 22:32

@CHDKLover:

Ich schreibe mal so vor mich hin...

IDA Pro Advanced ist also das Tool was man eigentlich gerne haben möchte. Kostet aber dass, was so ein Profi-Tool halt so wert ist. -> Also für den Wenig-Nutzer wie mich zu viel.
IDA Pro Free ist kostenfrei, unterstützt aber den ARM-Prozessor den Canon verbaut leider nicht.
ARMu kann weniger, kostet dafür erst mal nichts, ist schnell und kann Daten die von IDA kommen auswerten.

Ich habe mir die Version von ARMu 0.17b mal heruntergeladen und versucht, die Adresse von _GetImageFolder nach Deinem Muster herauszufinden.

Dabei sind mir ein paar Kleinigkeiten aufgefallen/Fragen aufgekommen ...
- Ich habe nur die Firmware SX20 1.02b meiner Kamera auf meiner Platte... Gibt es einen Link mit allen bislang verfügbaren Firmwareversionen?
- ARMu kann Zusatzinformationen von IDA einlesen. Vielleicht hat ja jemand bereits die passenden IDA-Dateien erzeugt und ebenfalls zur Firmwareversion gelegt?
- Irgendwo habe ich vor einiger Zeit "CanonFW_A-Series_Signatures_for_IDA" gefunden. Bringt es etwas die IDC-Dateien zu importieren?
- Die Segmentadresse stimmt nicht mit der meiner Kamera überein... Auf der ARMu Seite habe ich gesehen, dass man hierfür Projektdateien erzeugen kann. Gibt es schon eine solche angepasste PRJ-Datei für CHDK?

Vielleicht gibt es ja auch eine kurze Beschreibung, Wiki, Links, zu all meinen Fragen. ;-)
f_m_b
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 148
Registriert: 30.05.2010, 21:59
Kamera(s): -

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon fe50 » 04.04.2011, 07:09

f_m_b hat geschrieben:Dabei sind mir ein paar Kleinigkeiten aufgefallen/Fragen aufgekommen ...

Bin zwar nicht CHDKLover, trotzdem ein schneller Link meinerseits:

http://box.net/chdk

* P&S FW dumps - alle verfügbaren Dumps, clean, einheitlich & passend aufbereitet
* Development - IDA Scripts & Diverses
...und was Du sonst dort noch so brauchbares findest...

Wenn Du mit "aufbereitet" die IDA Arbeitsdatenbanken meinst - die wird wohl keiner direkt zur Verfügung stellen, die sind recht groß und IDA packt da massiv Internas über den Lizenzinhaber mit rein...
ARMU hab' ich mir mangels Zeit noch nicht genauer angeschaut; wenn der Ablauf ähnlich wie bei IDA funktioniert - also Script laden & dissassemblieren lassen, evtl. mit den originalen IDA IDC Scripts (auch in der Box. s.o.) - könnte das eine gute Arbeitsplatform sein.

Bisher haben wir m.W. nur die zwei Ladeadressen (ROM start address) 0xFFC00000 und 0xFF810000, dazu zwei unterschiedliche ROM Größen (4 / 8 MB), siehe Wiki/for developers..
◄"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !►
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1106
Registriert: 25.04.2008, 14:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon CHDKLover » 04.04.2011, 12:31

Hallo f_m_b,
zunächst musst du dir alle relevanten Firmware-Dumps von der von fe50 angegebenen Seite herunterladen und in ein Verzeichnis (V) entpacken.

(ARMu verwendet Hexzahlen bei der Konfiguration ohne den Präfix 0x)

Grundsätzlich kann man mit ARMu über zwei Wege ein Firmwaredumps laden:
  • Manuell über "File" -> "Load binary"
    Nach dem öffnen des Dumps stehst du in dem Reiter "Disassembler" in der Code Ansicht (Checkbox "Code" ist gewählt). Um einen für das CHDK verwendbare Ausgabe zu erhalten musst du als erstes die Offset-Adresse anpassen. Dazu wählst du die Checkbox Segment, wechselst über das Schloss-Icon (rechts oben) in den Edit-Modus und trägst in der Spalte "start" den kameraspezifischen ROM-Offset ein. Als Faustregel kann man sich merken, dass alle A-Serien Kameras bei FFC00000 starten und der Rest bei FF810000. (Ausnahmen bestätigen die Regel)
    Wenn du jetzt wieder über die Checkbox den Code anzeigen lässt, startet der Code jetzt an der gerade eingetragenen Adresse. Jetzt kannst du damit anfangen den Code von ARMu automatisch analysieren zu lassen, um einen lesbareren Code zu erhalten. Dazu führst du nacheinander über "Database" -> "Strings" -> "Search" und "Database" -> "Code references" -> "Search" aus.
  • Automatisch mit rudis "ARMu Project Generator" und "File" -> "Load project"
    Zunächst lädst du dir von der Downloadseite den "ARMu Project Generator" herunter und führst das Programm aus. Unter "Platform Root" wählst du das Verzeichnis aus, in das du die Dumps entpackt hast (V). Unter "ARMu Projectfiles" wählst du das Zielverzeichnis. Nach "Create All" sollten sich im Zielverzeichnis alle Projektdateien befinden, diese kannst du mit ARMu öffnen.
Zur Kontrolle sollte bei allen DryOS Kameras in der zweiten Zeile im Code die Zeichenkette "gaonisoy" zu sehen sein. Bei allen Vxworks Kameras sollte in der dritten Zeile die Zeichenkette "Copyright" zu sehen sein. Ist dies nicht der Fall ist der Dump wahrscheinlich nicht richtig zugeschnitten (aligned) oder falsch. Um zu kontrollieren, ob der Offset korrekt ist, kannst du eine bekannte Adresse, zum Beispiel für AllocateMemory, suchen und schauen, ob du auf einem sub_FFXXXXXX landest und in der Umgebung was von "memory" zu finden ist. Solltest du auf einem Sprung landen B(L) sub_FFXXXXXX so klickst du doppelt auf die Adresse um zu der eigentlichen Funktion zu gelangen.

Jetzt kannst du relativ komfortabel mit dem Dump arbeiten und die Adressen ausfindig machen.

CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon f_m_b » 04.04.2011, 22:46

Jetzt ist es zu spät um noch etwas auszuprobieren...
Aber für ein Dankeschön an Euch beide reicht es noch. :-)

Edit: 5.4.2011 8:26 :
@CHDKLover: Ich habe gerade die Rückmeldung bekommen, dass Dein Patch auch bei der SX20 1.02d funktioniert. Also von Seiten der SX20 könntest Du die Änderung einbuchen. :-)

CHDKLover hat geschrieben:Im Anhang befindet sich ein Patch, der diese Funktionalität bei allen im CHDK-DE enthaltenen Kameras hinzufügt.
...

sx20: - ok 0x100
100f: 0xFF933544
102b: 0xFF933518 - ok
102c: 0xFF933568
102d: 0xFF933568 - ok...
f_m_b
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 148
Registriert: 30.05.2010, 21:59
Kamera(s): -

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon f_m_b » 05.04.2011, 16:09

CHDKLover hat geschrieben:Hallo f_m_b,
zunächst musst du dir alle relevanten Firmware-Dumps von der von fe50 angegebenen Seite herunterladen und in ein Verzeichnis (V) entpacken.

Sorry, für die SX20 finde ich dort nur den FW-Dump 1.00f. 1.02b und 1.02d habe ich nicht gesehen...
Vielleicht habe ich Tomaten auf den Augen. ;-)
f_m_b
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 148
Registriert: 30.05.2010, 21:59
Kamera(s): -

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon msl » 05.04.2011, 16:33

Hallo,

ich habe die Dumps mal auf unseren box.net-Bereich hochgeladen.

http://www.box.net/shared/vn58931m2o

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: nicht in Unterordner abspeichern, sondern alles fortlauf

Beitragvon f_m_b » 05.04.2011, 22:56

Vielen Dank.
Ich konnte die gefundenen Adressen dank Eurer Beschreibung und Links mit ARMu finden und bestätigen. :-)
Ich werde in den nächsten Tagen mal schauen was noch so alles an Adressen für die SX20 fehlt. ;-)
f_m_b
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 148
Registriert: 30.05.2010, 21:59
Kamera(s): -

Vorherige

Zurück zu S/SX-Serie

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 Gäste

cron