REC Studio 4 – Reverse Engineering Compiler

Original: http://www.backerstreet.com/rec/rec.htm

REC Studio egy interaktív decompiler.

Olvas egy Windows, Linux, Mac OS X vagy nyers futtatható fájlt, és megkísérli, hogy készítsen egy C-szerű ábrázolása a kódot, és elkészítésére felhasznált adatok a futtatható fájl.
Azt tervezték, hogy a fájlok olvasásához termelt különböző célokat, és már össze több gazdarendszereken.

REC Studio 4 egy teljes újraírása az eredeti REC decompiler. Ez használ erősebb elemzési technikák, mint a részleges Single statikus kiosztás (SSA), lehetővé teszi a betöltés Mac OS X fájlokat és támogatja a 32 és 64 bites bináris.
Bár még mindig fejlesztés alatt áll, akkor elérte azt a szintet, ami még jobban használható, mint a régi Rec Studio 2.

Rec Studio 2 oldala van.

 

Jellemzők

Mint említettük, Rec Studio 4 még mindig fejlesztés alatt áll. A legtöbb cél független funkció már elkészült, mint például:

  • Multihost: Rec Studio fut Windows XP/Vista/7, Ubuntu Linux, Mac OS X.
  • Szimbolikus információ hordozón törpe 2 és részleges elismerése Microsoft PDB formátumban.
  • C++ részben felismert: összekeveredett nevek által generált GCC demangled, valamint öröklési leírt dwarf2 megtiszteltetés. Azonban a C++ nagyon széles és nehéz nyelv, így bizonyos funkciók, mint a sablonok nem valószínű, hogy valaha is támogatott.
  • Típusok és függvény prototípus meghatározások meghatározott szöveges fájlokat. Néhány szabványos POSIX és a Windows API-k már biztosított a Rec Studio csomagot.
  • Az interaktivitás támogatott, korlátozva meghatározása szakaszok, címkék és a funkció belépési pontok. Javítania kell, hogy támogassa a programot meghatározása típusok és funkcionális paramétereket.

Ez a táblázat mutatja, a cél-specifikus funkciók kerültek eddig végrehajtott:

Funkció x86 (IA32) x86_64 Mips PowerPC mc68k KAR
disassembler Kész Kész Kész Kész Kész Tervezett
PE COFF rakodó Kész Kész  n/a  n/a  n/a  n/a
ELF betöltő Kész Kész Kész Kész Kész Tervezett
COFF rakodó Kész  n/a  n/a  n/a Kész  n/a
Mac OS X rakodó Kész Kész  n/a Tervezett  n/a Tervezett
Dwarf2 szimbolikus információ Kész Kész Kész Kész  n/a Tervezett
COFF szimbolikus információ Tervezett  n/a  n/a  n/a Tervezett  n/a
Calling egyezmények Folyamatban Folyamatban Folyamatban Tervezett Tervezett Tervezett
32 és 64 bit Folyamatban Folyamatban  n/a  n/a  n/a  n/a
Lebegőpont Tervezett Tervezett  n/a  n/a  n/a  n/a
A windows Debugger Folyamatban Tervezett  n/a  n/a  n/a  n/a
gDB hibakereső Folyamatban Folyamatban  n/a  n/a  n/a  n/a

 

REC források nem a nyilvánosság.

Bár REC tudja olvasni Win32 futtatható (aka PE) fájlokat előállított Visual C ++ vagy Visual Basic 5, vannak korlátai a kibocsátást. REC megpróbálja használni bármilyen információ van jelen a .EXE szimbólumtáblába. Ha az .exe fájlt nélkül lett lefordítva hibakeresési adatok, ha a program adatbázis fájlt (.pdb) vagy Codeview (C7) formátumban használunk, vagy ha az optimalizálás lehetőséget a fordító engedélyezése esetén a kibocsátást nem lesz nagyon jó. Sőt, a Visual Basic 5 futtatható fájlok vegyesen  Subroutine  kód és  forma  adatokat. Ez szinte lehetetlen, REC, hogy melyik melyik. Az egyetlen lehetőség az, hogy egy .cmd fájlt, és adja meg manuálisan amely terület kódja, és amelyek az adatszolgáltatások területén.

A gyakorlatban csak a C futtatható fájlok értelmes decompiled kimenet.

Irodalom

Számos más kódvisszafejtő program áll rendelkezésre a különböző forrásokból. Nézd meg a reverse engineering oldal listáját.

Sokkal inkább meglepő, a belső építészet egy decompiler nagyon hasonló, hogy a fordító. Kiváló minőségű szakirodalom létezik, mindkét fél számára. A design Notes oldal információt a problémákat, hogy a decompiler író szembesül, amikor megpróbálja visszafordítani valamivel bonyolultabb, mint az egyszerű programok unit tesztek.
A  dekompilálása oldal linkeket és dokumentációt kódvisszafejtő program általában.

Mike van Emmerik PhD értekezés jelentősen kiszélesített területén dekompilálása ismertetésével megoldások alapvető problémák dekompilálása bináris programokat.

Cristina Cifuentes “Reverse összeállítása technikák értekezés ismerteti részletesen az elmélet és a végrehajtás a DCC decompiler az 8086 DOS programokat.

Wotsit oldal elérhetők a műszaki tárgy formátumok, mint COFF és ELF.

Néhány kapcsolódó fogalmakat kódelemzési szerepelnek az referencia Debugger oldalakon.

További alapvető könyveket szoktam a fejlesztés során a következők:

  • „Fordítóprogramok – elvek, módszerek és eszközök”, Aho, Sethi, Ullman 1986 Addison-Wesley Publishing Co. ISBN 0-201-10088-6.
  • „Advanced Compiler Design & végrehajtása”, Steven Muchnick 1997 Morgan Kaufmann Publishers, ISBN 1-55860-320-4.
  • „Hogy debuggers működik – Algoritmusok, adatszerkezetek, és építészet”, Jonathan Rosemberg 1996 John Wiley and Sons, ISBN 0-471-14966-7.

A bontói használt REC vettünk különböző forrásokból. A fájl  copyrite  az eloszlás egy listát a kredit az egyes bontói használt REC. A többi kódot írta magam az elmúlt 25 évben. Azt továbbra is javítani fogja a REC a szabadidőmben, de nem tudom garantálni, hogy tudom kijavítani a hibákat, illetve új funkciók, a feldolgozóknak és a hosts.

Lemondás

Van sok vita a jogszerűségét dekódoláshoz. Decompiler eszközök álltak rendelkezésre a különböző platformok sokáig. Kódvisszafejtő program, valamint egyéb eszközök, mint a hibakereső, bináris szerkesztők, bontói stb csak akkor kell használni, ha a tulajdonos a program a törvényes joga, hogy fejtheti vissza a programot.

Megállapítást nyert az Egyesült Államokban és más országokban bíróság, hogy legális használni kódvisszafejtő program keretében a fair use kikötés a szerzői jog.

Ahhoz, hogy megtudja, ha ez legális használni decompiler, akkor olvassa el a szöveget a következő esetekben:

Szintén olvasni a vita a jogszerűségét a emulátorral futtatni egy bináris programot egy másik gazda.

Backer Street Software nem támogatja a használatát fordított mérnöki eszközök illegális célokra.


Copyright © 1997 – 2015 Backer Street Software – Minden jog fenntartva.

About The Author

admin

Comments are closed.