Pic 18F1320 sourcecode verloren

OP (Firma: mw elektronik) #1189312
Lesenswert?
• ▲
▼
Hallo zusammen,

wir haben ein Problem: wir stellen Geräte her auf denen ein pic 18 F 
1320
verbaut ist. Programmiert werden die mittels hexfiles und dem MPlab 
icd2.
Jetzt ist irgendwie die die Software und der sourcecode abhanden 
gekommen
und wir haben nun lediglich verschiene hex-files. Änderungen am Programm
kann man da nicht machen. Gibt es die Möglichkeit die software aus dem 
Pic
zu recovern oder mittel der hexfiles das programm wieder herzustzellen?
wir zahlemn demjenigen der das Problem lösen kann eine größzügige 
Aufwandsentschädigung.
Gast #1189384
Lesenswert?
• ▲
▼
Wenn Du den originalen Sourcecode nicht mehr bekommen kannst, dann ist 
die Herstellung des Codes aus dem HEX-File mindestens (!) genauso 
aufwändig, wie die komplette Neuentwicklung. Denk also besser gleich an 
eine Neuentwicklung, zumal Du darin auch gleich Verbesserungen mit 
einbauen kannst.
#1189476
Lesenswert?
• ▲
▼
Das Disassemblerlisting lässt sich in MPLAB mit Bordmitteln erzeugen.
Aber die Symbole, d.h. Variablennamen, Defines, Sprungmarken etc. lassen 
sich so nicht rekonstruieren.
Wenn der Sourcecode in Assembler geschrieben worden war, dann lassen 
sich damit u.U. kleinere Änderungen noch durchführen.
Hängt halt davon ab, ob noch grössere Änderungen zu machen sind, oder ob 
der Code stabil ist und nicht mehr gross weitergepflegt werden soll.

Aber eine ev. nicht mehr ganz aktuelle Version muss doch noch auf irgend 
einer Sicherungskopie vorhanden sein, oder?
Gast #1189498
Lesenswert?
• ▲
▼
Hallo,

ich hab sowas schon mal für einen Kunden gemacht.

Man kommt aber nur wieder bis auf Assembler-Ebene.
Ist auch sehr zeitaufwändig, aber möglich. Bei Interesse 0211/59861212
 www.  ml-engineering .net
Persönliche Seite #1190277
Lesenswert?
• ▲
▼
Ich würde mich an deiner Stelle auf die Festplatte konzentrieren, auf 
der es mal drauf war, oder ist die auch abhanden gekommen? Der 
C-Sourcecode lässt sich nicht wieder herstellen, das liegt einfach 
daran, dass die Symbole alle aufgelöst werden, alle Variablen in 
Adressen gewandelt werden und keine Kommentare mit in das Hexfile 
aufgenommen werden. Diese Information ist für immer verloren. Man kann 
zwar die Struktur und Funktion wieder herstellen, aber auskennen wird 
sich niemand mehr in dem dann generierten C-Code.

Ich kann innerhalb von Sekunden aus dem Hexfile wieder C-Code machen, 
allerdings muss man alle Variablen und Funktionen wieder benennen und es 
ist nicht gewährleistet, dass das Programm strukturell so aussieht wie 
vorher. Optimierungen, die der Compiler durchgeführt hat, sind nicht 
rückgängig zu machen, alle #define sind entfernt und Konstanten hart in 
den Code implementiert, eventuell hat sich die Reihenfolge der 
Abarbeitung geändert, also das was dabei rauskommt ist alles andere als 
wartungsfreundlich.

Ich würde es an deiner Stelle wirklich neu schreiben, wenn du dich noch 
in etwa daran erinnerst, was es gemacht hat. Da kann ein decompiliertes 
hexfile natürlich dabei helfen. Aber wie die Variablen alle heißen, so 
dass es in dem Kontext deiner Schaltung Sinn macht, kannst nur du selbst 
wissen, im hexfile ist diese Information nicht gespeichert.

Ich habe schon öfter erfolgreich gelöschte Daten von meinen Festplatten 
wieder herstellen können. Bei Interesse kann ich die Festplatte gerne 
analysieren. Wichtig ist, dass so wenig wie möglich damit gemacht wird, 
bevor ich sie bekomme, also optimalerweise nicht mal das Betriebssystem 
booten.

Viele Grüße,

Peter
#1190378
Lesenswert?
• ▲
▼
Hallo,

Master Snowman wrote:
>> Man kommt aber nur wieder bis auf Assembler-Ebene.
>> Ist auch sehr zeitaufwändig
> das gibts gratis, und ist in ein paar sekunden gemacht ;-)

Falls Du eine Software hast, die das in ein paar Sekunden macht
UND deren Ergebnis sich ohne Nacharbeit, die mehr als ein paar Sekunden 
dauert, wieder ohne Fehlermeldungen assembliert bekommt
UND das Ergebnis dann auch auf dem Prozessor überhaupt wieder läuft
UND auch noch genau das Gleiche macht, wie das Original,
dann hast Du eine Wundersoftware.

Mir ist noch kein Dis-/Reassembler begegnet, der ohne jede Nacharbeit 
Code-, Datenbereiche, Sprungtabellen usw. 100% sicher automatisch 
erkannt hat...

Gruß aus Berlin
Michael
Persönliche Seite #1191260
Lesenswert?
• ▲
▼
Die Wundersoftware CCS Compiler kann das nicht nur nach ASM, sondern 
auch gleich nach C, und auch sofort kompilierbar ohne Probleme. Aber wie 
gesagt nicht mehr für Menschen verständlich, solange man das nicht 
nacharbeitet.

Für den Fall, dass du mit Datenrecoverysoftware keinen Erfolg hast, habe 
ich immer noch realistische Chancen an die benötigten Quellcodes 
heranzukommen. Recoverysoftware hat keine Chance mehr, wenn die 
entsprechenden Dateisystemeinträge überschrieben worden sind. Meine 
Tools können Rohdaten auf Festplatten suchen, mit ein wenig Übung findet 
man damit Textdateien mühelos, solange die Sektoren nicht wirklich 
überschrieben worden sind.


Grüße,

Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren