REC Studio 4 – käänteinen insinöörin kääntäjä

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

REC Studio on interaktiivinen decompiler.

Se lukee Windows, Linux, Mac OS X tai raaka suoritettavaa tiedostoa, ja yrittää tuottaa C kaltainen esitys koodi ja tiedot tarkoitus rakentaa suoritettavaa tiedostoa.
Se on suunniteltu lukemaan tiedostoja tuotetaan monia eri tavoitteita, ja se on laadittu useita isäntäjärjestelmien.

REC Studio 4 on kirjoitettu kokonaan uudelleen alkuperäisen REC Decompiler. Se käyttää tehokkaampi analyysitekniikoita kuten osittaisen Single Static Tehtävä (SSA), mahdollistaa lastaus Mac OS X Files ja tukee 32 ja 64 bittinen binäärit.

Vaikka vielä kehitysvaiheessa, se on edennyt vaiheeseen, joka tekee siitä enemmän hyötyä kuin vanha Rec Studio 2.

Rec Studio 2 sivua tässä.

Ominaisuudet

Kuten mainittiin, Rec Studio 4 on vielä kehitteillä. Suurin osa kohteena riippumattomat toiminnot on saatu päätökseen, kuten:

  • Multihost: Rec Studio toimii Windows XP / Vista / 7, Ubuntu Linux, Mac OS X:
  • Symbolinen tiedot tukea käyttämällä Dwarf 2 ja osittainen tunnustus Microsoftin PDB muodossa.
  • C ++ on osittain tunnustettu: sekavaa nimet tuottamat gcc ovat demangled, sekä perintönä kuvattu dwarf2 on noudatettu. Kuitenkin C ++ on hyvin laaja ja vaikea kieli, joten joitakin ominaisuuksia, kuten malleja todennäköisesti ei koskaan tuettu.
  • Tyypit ja toiminta prototyyppi määritelmiä voidaan määritellä tekstitiedostoja. Joitakin standardin Posix ja Windows API on jo järjestetty Rec Studio paketti.
  • Vuorovaikutteisuus on tuettu, rajoittuu määritelmä osien, etikettien ja toiminta rajanylityspaikoilla. Täytyy parantaa kannatettavaa-ohjelmassa määritelmässä tyypit ja parametrit.

Tämä taulukko näyttää kohteen erityispiirteet, jotka on toteutettu tähän mennessä:

Ominaisuudet x86 (ia32) x86_64 Mips PowerPC mc68k ARM
Purkaja Tehty Tehty Tehty Tehty Tehty Suunnitellut
PE COFF kuormaaja Tehty Tehty n/a n/a n/a n/a
ELF kuormaaja Tehty Tehty Tehty Tehty Tehty Suunnitellut
COFF kuormaaja Tehty n/a n/a n/a Tehty n/a
Mac OS X kuormaaja Tehty Tehty n/a Suunnitellut n/a Suunnitellut
Dwarf2 symbolista tietoa Tehty Tehty Tehty Tehty n/a Suunnitellut
COFF symbolista tietoa Suunnitellut n/a n/a n/a Suunnitellut n/a
Kutsuvan yleissopimukset Käynnissä Käynnissä Käynnissä Suunnitellut Suunnitellut Suunnitellut
32 ja 64 bittiä Käynnissä Käynnissä n/a n/a n/a n/a
Liukulukuja Suunnitellut Suunnitellut n/a n/a n/a n/a
Windows debuggeri Käynnissä Suunnitellut n/a n/a n/a n/a
Gdb debuggeri Käynnissä Käynnissä n/a n/a n/a n/a

REC lähteet eivät ole julkisia.

Vaikka REC voi lukea Win32 suoritettavan (alias PE) tiedostoja tuottamat Visual C ++ tai Visual Basic 5, on olemassa rajoituksia tuotos. REC yrittää käyttää mitä tahansa tietoja on läsnä EXE symbolitaulukkoon. Jos EXE tiedosto on käännetty ilman vianjäljitystietoa, jos ohjelma tietokantatiedosto (ATE) tai Codeview (7) muotoa käytettiin, tai jos optimointiasetuksen kääntäjä oli käytössä, tuotos ei ole kovin hyvä. Lisäksi Visual Basic 5 ohjelmatiedostoja ovat sekoitus Aliohjelma koodin ja Lomaketiedot. On lähes mahdotonta REC määrittää mikä on mikäkin. Ainoa vaihtoehto on käyttää .cmd ja manuaalisesti mitkä alue on koodin ja joka alue on dataa.

Käytännössä vain C ohjelmatiedostoja mielekkäitä decompiled tuotos.

Viitteet

Useat muut decompileri on saatavana eri lähteistä. Katsokaa minun käänteinen insinöörin-sivulta.
Yllättävästi, sisäinen arkkitehtuuri decompileri on hyvin samanlainen kuin kääntäjä. Laadukasta kirjallisuutta olemassa sekä. Suunnittelu muistiinpanot sivulla on tietoa ongelmista, jotka Decompiler kirjailija kasvot kun yrittää purkaa hieman monimutkaisempia ohjelmia kuin pelkkä laite testejä.
Analysointia sivulla on linkkejä ja liittyvät asiakirjat decompilers yleensä.

Mike van Emmerik n väitöskirja merkittävästi edistänyt alan analysointia esittämällä ratkaisuja perustavanlaatuisia ongelmia analysointia binary ohjelmia.

Cristina Cifuentes Käänteinen kokoaminen Tekniikat väitöskirja kuvaillaan yksityiskohtaisesti teoriaa ja toteutusta DCC Decompiler 8086 DOS-ohjelmia.

Wotsit sivulla on linkkejä spesifikaatioiden esineen tiedostomuotoja, kuten COFF ja ELF.

Jotkut liittyvät käsitteet koodianalyysiä käsitellään REference Debugger sivuilla.

Muiden perusoikeuksien kirjat käytin kehittämisen aikana ovat:

  • “Kääntäjät – periaatteita, tekniikoita ja työkalut”, Aho, Sethi, Ullman, 1986 Addison-Wesley Publishing Co. ISBN 0-201-10088-6.
  • “Kehittyneitä kääntäjä suunnittelu ja toteutus”, Steven Muchnick, 1997 Morgan Kaufmann Publishers, ISBN 1-55860-320-4.
  • “Kuinka debuggereita toimivat – algoritmit, tietorakenteita ja arkkitehtuuri”, Jonathan Rosemberg, 1996, John Wiley and Sons, ISBN 0-471-14966-7.

Disassembleri käytetty REC otettu eri lähteistä. Tiedosto copyrite jakelussa on luettelo luottojen kullekin disassemblers käytettävien REC. Loput koodin on kirjoittanut itse aikana viimeisten 25 vuoden aikana. Aion jatkossakin parantaa REC vapaa-ajallani, mutta en voi taata, että voin korjata vikoja tai lisätä uusia ominaisuuksia, jalostajien tai isännät.

Vastuuvapauslauseke

On paljon keskustelua laillisuudesta analysointia. Decompiler työkalut ovat olleet saatavilla eri alustoilla pitkään. decompileri, yhdessä muiden työkalujen, kuten debuggereita binary toimitukselle disassemblers jne tulee käyttää vain, kun omistaja ohjelman on laillinen oikeus purkaa ohjelman.

Se on perustettu Yhdysvalloissa ja muissa maissa tuomioistuimet, että on laillista käyttää decompilers fair use lauseketta tekijänoikeuslakia.

Selvittää, milloin se on laillista käyttää Decompiler, sinun pitäisi lukea tekstin seuraavissa tapauksissa:

Lue myös keskustelun laillisuudesta käyttäen emulaattori suorittaa binary ohjelman toiseen palvelimeen.
Backer Street Ohjelmisto ei tue reverse engineering työkaluja laittomiin tarkoituksiin.

Tekijänoikeudet 1997 – 2015 Backer Street Software – Kaikki oikeudet pidätetään.

Historia:

09 maaliskuu 2011 Versio 4.0 Beta: merkittävä parannus decompiler tukemaan nykyaikaisempi arkkitehtuureihin (Macho tiedostoja, x86_64).
02 heinäkuu 2007 Versio 2.2: Kiinteä analysointi raaka binäärien kautta .cmd tiedostoja. Osittain toteutettu rekisteröi vakio lisääminen. Kiinteät monia 68k virheitä.
06 toukokuu 2007 Versio 2.1: Lisätty takaisin + erän vaihtoehto RecStudio; Käytä Ndisasm i386; parempi eristäminen tuontitietojen Windows binäärit
20 syyskuu 2005 Versio 2.0D: Lisää korjauksia varten 68k
06 syyskuu 2005 Versio 2.0c: Tuki Linux .o tiedostoja ja parannettu tuki 68k
15 elokuu 2005 Versio 2.0B: Huoltotodiste. Tuki Watcom koottu binäärit ja laaja jousille
01 elokuu 2005 Versio 2.0a: Huoltotodiste. Kiinteät kaatuu, parantunut laatu Windowsin suoritettavista
30 toukokuu 2005 Versio 2.0: Windows GUI ja vuorovaikutteinen analysointia
19 syyskuu 2000 Versio 1.6: Lisätty tuki SPARC.
16 Mar. 1999 versioon 1.5D Palautettu havaitseminen kytkin (). Lisätty tuki big endian MIPS.
06 maaliskuu 1999 Versio 1.5: Tuki vienti / tuonti info Win95 tiedostoja; korvattu GNU disassemblers freeware lähde; kiinteät monta kaatuu
22 marraskuu 1998 Versio 1.4 a: Kiinteä päättymättömän silmukan kun dekompiloimisesta Win95 tiedostoja; lisätään Windows prototyyppi tiedostoja
15 marraskuu 1998 Versio 1.4: Lisätty selain valmiudet interaktiivisessa tilassa, ja HTML-sivun sukupolvi
30 heinäkuu 1998 Versio 1.3b: Huolto: kiinteä kaatumisia ja erilaisia ​​ongelmia 68k.
15 helmikuu 1998 Versio 1.3: Lisätty Motorola 68000 ja PowerPC tavoitteita.
07 joulukuu 1997 Versio 1.2: Kiinteä PC: n käyttöliittymä. Nyt voimme ladata 16 bittiä DOS ajettavat. Enemmän korjauksia.
26 lokakuu 1997 Versio 1.1: multi-tavoite tuki (386 + R3000), lastaus ELF ja PE-tiedostoja, useita vikoja korjattu.
06 lokakuu 1997 siirretty Windowsin konsoli-tilassa (recr4kpc.zip) ja SunOS (recr4ks4.tar.gz)
20 syyskuu 1997 Kirjoittaja tehdä recr4kl.zip saatavilla.

Comments are closed, but trackbacks and pingbacks are open.