> Ja mein Programm wird sicher nicht so "wertvoll" sein, aber mich
> interessiert ob es wirklich einen Weg gibt an die Informationen heran zu
> kommen. Ich denke mal das man maximal den Maschinencode bekommen kann,
> denn dann wieder in ASM wandeln und dann noch zu verstehen dürfte nicht
> so einfach sein. Jeder Programmer "tickt" ja auch etwas anders.
Disassemblieren einer Binärdatei ist nur eine Frage der richtigen
Kommandozeilenoption für avr-objdump.
Datenbereiche in der Binärdatei lassen sich leicht identifizieren, wenn
man sich den Assemblercode anschaut.
Das Umsetzen in Pseudocode ist eine leichte Übung für den erfahrenen
Programmierer. So groß sind in der Regel µC-Programme ja nicht, als
daß man da wochenlang dran sitzen würde. Das bietet dir ein versierter
Schüler zu erstaunlich günstigen Stundensätzen an. Der wird dann
nebenher noch die Bugs des Original-Programmierers rauskorrigieren.
Inklusive Brief an den Originalprogrammierer, in welcher
C-Quelltextzeile er den Buffer-Overflow prüfen soll :-)
Vom Pseudocode wieder zu einem compilierbaren C-Quelltext zu kommen,
naja...
Für die Preise vom o.g. Dienstleister wird mit Sicherheit nicht Hand an
die Hardware angelegt, wie Freilegen und Kontaktieren der Fuses. Da wird
wahrscheinlich ein gut verschwiegener Bug ausgenutzt. Es gibt ja
Berichte, daß mit genau definierter Unterspannung, Überspannung oder
sonst im Grenzbereich der Betriebsbedingungen, manchmal auch durch eine
geschickte Reset-Folge, die Fuses mitunter nicht funktionieren.