Recent Changes - Search:

Pic

Linux

Receptek

Írások

Site and CMS

Új oldal létrehozása (:newpagebox base=WebHu.HomePage value="Új oldal neve" label="Létrehoz" button=right :)

Search CMS

edit SideBar

PIC program visszafejtés

Magyar English

pic

PIC program visszafejtés

A minap visszakaptam egy régi PIC progimat, amihez már sajna nincs meg a forrás. Ez már önnmagában is baj, de hogy még ezen módosítsak is, no az már szinte lehetetlen. A gputils és az mplab is tud ugyan visszafordítani, de azt hiszem nem kell ecsetelnem, mennyire használhatatlan. Nos egy kis keresgélés után találtam egy nagyon ígéretesnek tn munkát.

unPIC.pl

Egy ügyes magyar programozó (Rudnai Tamás) átírt Perl-re, egy már nem karbantartott programot (Timo Rossi), ami ezáltal platformfüggetlen lett. A kimenete nagyon felhasználóbarát, a segítségével a program szerkezete elég jól megismerhet és kommentelhet. Valamint van egy nagy elnye: a programunk módosítás után, újra le is fordítható.

Használata (linux alatt)

Telepítsük valahova, pl /home/sajat_nev/bin könyvtárba és adjunk rá futtatási jogot. Innentl, már bárhol könnyen használhatjuk.
Ellenkez esetben másoljuk a visszafejtend program mellé, adjunk rá írásjogot és úgy adjuk ki a parancsot, ekkor ne felejtsük el a parancs ell a "./" karaktereket sem.

Tehát adjuk ki az: unPic.pl p18F819.inc visszafejtendo.hex > forras.asm vagy az ./unPic.pl p18F819.inc visszafejtendo.hex > forras.asm parancsot. A program neve után, meg kell adnunk a használandó processzorhoz tartozó include fájl nevét (ez az információ nincs benne a .hex fájlban, tehát a program nem tudja kitalálni azt), aminek szintén az elérési úton kell lennie. Ha mégsem lenne rajta, egyszeren másoljuk a visszafejtendó program mellé.

Az aktuális könyvtárban fogjuk megtalálni a forras.asm fájlt, amit ezután akár azonnal le is fordíthatunk, ellenrizve ezzel a szkript megfelel mködését.

Az újra fordítás után, érdemes leellenrizni mennyire kapunk hasonló .hex fájlt.
Nem kell megijedni, ha nem lesznek teljesen azonosak a .hex fájlok. Mert lehetnek olyan eltérések, amelyek egy PIC-bl kiolvasott program és egy lefordított program között fennállnak. Ilyen pl. az üres memóriaterület utasítása 0x3fff = addlw 0xff, de ez az utasítás lefordítva: 0x3eff.

Szóval a hasonlítást, mindenképpen kritikusan végezzük el.

A programot letölthetjük a web oldaláról, vagy innen.

Képernyképek a visszafordított forráskód minségérl

Fejléc
Fejléc
Szubrutin
Szubrutin
EEPROM adatok
EEPROM adatok
Szimbólum definíciók
Szimbólum definíciók
Edit - History - Print - Recent Changes - Search
Page last modified on December 07, 2008, at 01:04 AM