Információ szerver a forrás programozók a világ minden tájáról

Visszafejtésre Delphi

Reading a fórumok programozás, néha találkoznak egy ilyen kérdésre: „Van egy lefordított program Delphi Hogyan lehet a forráskódot.?”. Általában ez a kérdés merül fel, ha a programozó elvesztette a projekt fájlokat, és csak az .exe. Inkább teljesen visszaállítani a forráskód magas szinten nem lehetséges. Ez azt jelenti, hogy mások nem lesz képes visszaállítani a forráskód a program. Hmm. igen és nem.

Kezdeni, azt kell mondanom, hogy visszaállítani a forráskód pontosan úgy, ahogy volt, nyilvánvalóan lehetetlen, hiszen a világon egy ilyen decompiler, amely képes lenne egy ilyen.

Amikor alkalmazott dekódoláshoz. Ehhez van jó néhány ok. Íme néhány ezek közül:
- Visszaállítása az eredeti kódot;
- alkalmazás portolása;
- Meghatározása a vírusok jelenlétét a programkód, vagy rosszindulatú program;
- Előforduló hibák kijavítása a program, ha a szerző az alkalmazás nem fog csinálni :)

Abban a pillanatban, Borland nem nyújt semmilyen szoftver, amely képes visszafordítani a futtatható (.exe) vagy Delphi-lefordított modulok (.dcu) a forráskódot (.pas).

Ha még mindig úgy döntött, hogy megpróbálja visszafordítani egy futtatható fájl, meg kell tudni, hogy a következő dolgokat. Forráskód Delphi általában tároljuk kétféle fájlok: forrás maga ASCII (.pas DPR). És erőforrás fájlok (.RES rc dfm DCR ...). Dfm fájlok tárolására objektumok tulajdonságait szereplő formában. Ha létrejön a végső .exe, Delphi kimásolja az adatokat .dfm fájlokat. Minden alkalommal, amikor változtatni a koordinátákat a forma, leírások a gombok vagy a kapcsolódó rendezvények, Delphi írja ezeket a változtatásokat .DFM (kivéve eljárás kódot. Ez tárolja a pas / DCU fájlok). És végül, hogy a lebontás .dfm fájlt, akkor tudnia kell, - milyen típusú források tárolt Win32 végrehajtható.

Minden program összeállított Delphi a következő részekből áll: kód, az adatok BSS. iData, TLS. RDATA. RSRC. A legfontosabb rész a lebontás és a kód .rsrc. A cikk „További funkciók hozzáadása a Delphi program” néhány érdekes tény a Delphi futtatható formátumokat, valamint tájékoztatást osztályok és DFM források. Ebben a cikkben van egy érdekes pont a cím alatt: „Hogyan adjunk a eseménykezelő a már lefordított fájlt, például, hogy módosítsa a tekt a gombot.”

A sok fajta erőforrás tárolt .exe fájl, kamat RT_RCDATA, amely tárolja, amelyek a DFM fájlt, mielőtt fordítást. DFM kinyerni az adatokat az .exe fájlt, akkor hívja az API függvény EnumResourceNames.

Art dekompilálása hagyományosan a sok művész, akik ismerik az assembler és debugger. Néhány Delphi kódvisszafejtő program azt a benyomást keltik, hogy bárki, még a korlátozott technikai tudással, lehet változtatni a fog a legtöbb Delphi futtatható fájlokat.

Összefoglalva, ha érdekli a dekompilovaniem, azt javaslom, egy pár Delphi kódvisszafejtő program:

Revendepro
Revendepro találja majdnem minden struktúrák (osztályok, típusok, eljárások, stb) a programban, és előállítja a paskalnoe nézet estevstvenno eljárásokat be kell nyújtani az assembly. Sajnos, a kapott szerelő kódot nem lehet újra összeállítani. Ugyancsak elérhető a forráskód e decompiler. Sajnos, ez nem működik decompiler - hibát generál, amikor dekódoláshoz.

MRIP
Ez lehetővé teszi, hogy kivonat a Delphi alkalmazás bármilyen források: kurzorok, ikonok, fájlok DFM, pas fájlok, stb De a fő jellemzője - képes letölteni tárolt fájlok más fájlokat. Támogatja a több mint 100 formátumban. MRip fut DOS alatt.

Exe2Dpr
Ez a program képes visszaállítani az elveszett részben forráskódú projekt. Ez nincs felület, és működik a parancssorban, például: „exe2dpr [-o] exefile” (forrás projekt jön létre az aktuális könyvtárban).