REC Studio 4 – Pöördtehingud Tarkvaratehnika Kompilaatori

Esialgse infosisu http://www.backerstreet.com/rec/rec.htm

REC Studio on interaktiivne dekompilaatori.
See loeb Windows, Linux, Mac OS X või raw käivitatava faili, ja püüab toota C-nagu esindamine kood ja andmed, mida kasutatakse, et luua käivitatava faili.
See on loodud selleks, et lugeda faile, mis on toodetud palju erinevaid eesmärke, ja see on koostatud mitu vastuvõtva süsteemid.

REC Studio 4 on täielik ümberkirjutamine originaal REC decompiler. Ta kasutab võimsam analüüsi meetodeid, nagu osaline Ühe Staatiline Loovutamine (Single Static Assignment – SSA), võimaldab laadimist Mac OS X failid ja toetab 32 ja 64-bitine kahendfaile.
Kuigi alles väljatöötamisel, on jõudnud etappi, mis muudab ta rohkem kasu kui vana Rec Studio 2.

Rec Studio 2 lehekülge on siin.

Omadused

Nagu mainitud, Rec Studio 4 on alles väljatöötamisel. Kõige eesmärk sõltumatuid funktsioone on täidetud, näiteks:

  • Multihost: Rec Studio töötab Windows XP/Vista/7, Ubuntu Linux, Mac OS X.
  • Sümboolne teabekanaleid kasutades Dwarf 2 ja osalise tunnustamise Microsofti PDB vormi.
  • C++ on osaliselt tunnustatud: moonutatud nimed tekitatud gcc on demangled, samuti pärandi kirjeldatud dwarf2 on au. C++ on väga lai ja raske keel, nii et mõned funktsioone, nagu malle ei saa tõenäoliselt kunagi toetatud.
  • Tüübid ja funktsiooni prototüüp mõisteid, saab määratleda teksti faile. Mõned Posix standard ja Windows API on juba esitatud Rec Studio pakett.
  • Interaktiivsus on toetatud, ainult määratlus, sektsioonid, sildid ja funktsiooni sisenemise punkti. On vaja, et parandada seda toetada-programmi määratlus, liigid ja funktsiooni parameetrid.

See tabel näitab sihtpunkti-eripärad, mida on rakendatud nii kaugele:

Omadus x86 (ia32) x86_64 Mips PowerPC mc68k ARM
Disassembler Tehtud Tehtud Tehtud Tehtud Tehtud Planeerima
PE COFF laadur Tehtud Tehtud Puudub Puudub Puudub Puudub
ELF laadur Tehtud Tehtud Tehtud Tehtud Tehtud Planeerima
COFF laadur Tehtud Puudub Puudub Puudub Tehtud Puudub
Mac OS X laadur Tehtud Tehtud n/a Planeerima Puudub Planeerima
Dwarf2 sümboolne teave Tehtud Tehtud Tehtud Tehtud Puudub Planeerima
COFF sümboolne teave Planeerima Puudub Puudub Puudub Planeerima Puudub
Helistamine konventsioonide Pooleli Pooleli Pooleli Planeerima Planeerima Planeerima
32 ja 64 bitine Pooleli Pooleli Puudub Puudub Puudub Puudub
Ujuv-punkti Planeerima Planeerima Puudub Puudub Puudub Puudub
Windows Debugger Pooleli Planeerima Puudub Puudub Puudub Puudub
Gdb Debugger Pooleli Pooleli Puudub Puudub Puudub Puudub

REC allikad ei ole avalik.

Kuigi REC saab lugeda Win32 käivitatava (aka PE) faile toodetud Visual C++ või Visual Basic 5, on piirangud peal toodetud toodangut. REC püüab kasutada mis tahes teave on olemas .EXE sümbol tabel. Kui .EXE fail on kompileeritud ilma debugging info, kui programm andmebaasi faili (.PDB) või Codeview (C7) formaadis kasutati, või kui optimeerimise võimalust, et kompilaator oli lubatud, toodetud toodangut ei ole väga hea. Lisaks Visual Basic 5 täitmisfaili faile on segu Alamprogrammi kood ja Vormi andmed. See on peaaegu võimatu REC kindlaks teha, mis on mis. Ainus võimalus on kasutada .cmd faili ja käsitsi määrata, millises valdkonnas on kood, ja mille pindala on andmed.

Praktikas on ainult C täitmisfaili faile tekitada sisukas decompiled väljundi.

Viited

Mitmed teised decompilers on kättesaadavad erinevatest allikatest. Vaata mu reverse engineering lehele nimekirja.
Pigem üllatav, sise arhitektuur ja decompiler on väga sarnane kompilaatorit. Kvaliteetne kirjandus on olemas nii. Disain Märgib leht on teavet probleemide kohta, et decompiler kirjanik nägu, kui nad püüavad dekompileerida veidi keerulisem programmid, kui lihtne unit testid.
Nende dekompileerimist leheküljel on lingid ja dokumendid, mis on seotud decompilers üldiselt.

Mike van Emmerik doktoritöö oluliselt arenenud valdkond dekompileerimist kirjeldades lahendusi põhilisi probleeme dekompileerimist binaarne programmid.

Cristina Cifuentes Vastupidine Koostamise Tehnikaid doktoritöö kirjeldab üksikasjalikult teooria ja rakendamise dcc decompiler jaoks 8086 DOS-i programmid.

Kui Wotsit lehel on lingid spetsifikatsioonid objekt failivorminguid, nagu COFF ja ELF.

Mõned mõisted, mis on seotud kood analüüsi on hõlmatud REference Debugger lehekülge.

Muude põhiõiguste raamatuid ma kasutasin arengu jooksul on:

  • “Compilers – Principles, Techniques and Tools”, Aho, Sethi, Ullman, 1986 Addison-Wesley Publishing Co. ISBN 0-201-10088-6.
  • “Advanced Compiler Design & Implementation”, Steven Muchnick, 1997 Morgan Kaufmann Publishers, ISBN 1-55860-320-4.
  • “How debuggers work – Algorithms, Data Structures, and Architecture”, Jonathan Rosemberg, 1996 John Wiley ja Sons, ISBN 0-471-14966-7.

Kui disassemblers kasutada REC olid võetud erinevatest allikatest. Faili copyrite jaotus on nimekiri krediiti iga disassemblers kasutada REC. Ülejäänud kood on kirjutatud ennast viimase 25 aasta jooksul. Ma jätkuvalt parandada REC minu vaba aega, kuid ma ei saa garanteerida, et võin parandada vead või lisada uusi funktsioone, töötlejad, või peaarvuti.

Lahtiütlemine

Seal on palju arutelu seaduslikkuse dekompileerimist. Decompiler vahendid on saadaval erinevate platvormide pikka aega. Decompilers, koos teiste vahendeid, nagu debuggers, binaarne toimetajad, disassemblers jne. tuleks kasutada ainult juhul, kui omanik programm on seaduslik õigus pöördprojekteerida programmi.

See on loodud USA ja teiste riikide kohtud, et see on seaduslik, et kasutada decompilers alusel õiglast kasutamist punkt autoriõiguse seadusega.

Et teada saada, kui see on seaduslik kasutada decompiler, mida sa peaksid lugema teksti järgmistel juhtudel:

Lugege läbi ka arutelu õiguspärasuse kohta, kasutades emulaator joosta binaarne programmi erinevat hosti.
Backer Street Software ei toeta kasutamine reverse engineering vahendid ebaseaduslikel eesmärkidel.


Autoriõigus © 1997 – 2015 Backer Street Tarkvara – Kõik õigused reserveeritud.

Ajalugu:

9 Märts 2011 Versioon 4.0 Beta: Täielik ümberkirjutamine decompiler, et toetada rohkem kaasaegse arhitektuuri (MachO failid x86_64).
2 Juuli 2007 Versioon 2.2: Fikseeritud dekompileerimist raw kahendfaile kaudu .cmd faili. Osaliselt rakendatud registri pidev paljundamine. Fikseeritud paljud 68k vigu.
6 Mai 2007 Versioon 2.1: tagasi Lisatud +partii võimalus RecStudio; kasutada Ndisasm jaoks i386; parema isolatsiooni importida andmeid Windows binaries
20 Sept. 2005 Versioon 2.0d: Rohkem veaparandusi jaoks 68k
6 Sept. 2005 Versioon 2.0c: Toetus Linux .o failid ja täiustatud tugi 68k
15 Aug. 2005 Versioon 2.0 b: Hooldus vabastamist. Toetust Watcom-koostatud kahendfaile ja laia stringid
1 Aug. 2005 Versioon 2.0 a: Hooldus vabastamist. Fikseeritud jookseb, parem kvaliteet Windows executables
30 Mai 2005 Versioon 2.0: Windows GUI-ja interaktiivse dekompileerimist
19. Sept. 2000 Versioon 1.6: Lisatud toetus SPARC.
16 Mär. 1999 Versioon 1.5 d: Taastatud avastamine switch(). Lisatud toetus big-endian MIPS.
6 Mär. 1999 Versioon 1.5: Toetus import/eksport info Win95 faile; vahetada GNU disassemblers koos freeware allikas; fikseeritud paljud jookseb
22 Nov. 1998 Versioon 1.4 a: Fikseeritud lõputu tsükkel, kui decompiling Win95 faile; lisatud Windows prototüüp failid
15 Nov. 1998 Versioon 1.4: Lisatud brauseri võime interaktiivne režiim, ja HTML page generation
30 Juuli 1998  Versioon 1.3 b: Hooldus: fikseeritud jookseb ja erinevate probleemide 68k.
15 Veeb. 1998 Versioon 1.3: Lisatud Motorola 68000 ja PowerPC eesmärgid.
7 Dets. 1997 Versiooni 1.2: fikseeritud PC kasutajaliides. Nüüd saame koormus 16 bitti DOS käivitatavad. Rohkem veaparandusi.
26 Okt. 1997 Versioon 1.1: multi-eesmärk toetada (386 + R3000), laadimise ELF-ja PE-faile, mitmed vead parandatud.
6 Okt. 1997 Porditud Windows console mode (recr4kpc.zip) ja SunOS (recr4ks4.tar.gz)
20 Sep. 1997  Loodud teha recr4kl.zip saadaval.

Tagasi esilehele