REC Studio 4 – кері инженерлік компилятор

The source text is taken from here: http://www.backerstreet.com/rec/rec.htm

Жампьеро Каприно/Giampiero Caprino

REC Studio – интерактивті декомпилятор.
Ол Windows, Linux, Mac OS X немесе шикі орындалатын файлды оқиды және орындалатын файлды жасау үшін пайдаланылатын кодтың және деректердің C-тәрізді көрінісін жасауға тырысады.
Ол түрлі мақсаттар үшін шығарылған файлдарды оқуға арналған және бірнеше хост жүйелерінде құрастырылған.

REC Studio 4 – бұл түпнұсқалық REC декомпилін толық қайта жазу. Ол ішінара бірыңғай статикалық тағайындау (SSA) секілді қуатты талдау әдістерін пайдаланады, Mac OS X файлдарын жүктеуге және 32 және 64 биттік екілік файлдарды қолдауға мүмкіндік береді.

Әлі Дегенмен дамыту бойынша, ол ескі Rec Studio 2 артық пайдалы етеді кезеңіне жетті.

Rec Studio 2 бет болып табылады мұнда.

Мүмкіндіктер

Жоғарыда айтылғандай, Rec Studio 4 әлі де дамып жатыр. Көптеген мақсатты тәуелсіз мүмкіндіктер аяқталды, мысалы:

  • Kөпқабатты: Rec Studio жұмыс істейді Windows XP/Vista/7, Ubuntu Linux, Mac OS X.
  • Пайдалана отырып, символдық ақпараттық қолдау Dwarf 2 және ішінара тану Microsoft корпорациясының PDB форматында.
  • C++ ішінара танылады: gcc жинақталатын бұрмаланған аттары демонгировали жатыр, dwarf 2 сипатталған, сондай-ақ мұралық жер еңбек сіңірген. Алайда, C++ өте кең және күрделі тілдік, сондықтан үлгілер сияқты кейбір мүмкіндіктер ықтимал соңды қолдау көрсетілмейді.
  • Түрлері мен функциялары прототипі анықтамалар мәтін файлдарында көрсетілуі мүмкін. Кейбір стандартты Posix және Windows API интерфейстері өзінде Rec Studio пакеті беріледі.
  • Интерактивтілік, секциялар, белгілер және функцияларды кіру нүктелерін анықтау үшін шектеулі қолдау көрсетіледі. түрлері мен функциясы параметрлерін жылы-бағдарлама анықтамасын қолдау үшін оны жетілдіру қажет болады.

Бұл кестеде осы уақытқа дейін іске асырылған нысаналы ерекшеліктер көрсетілген:

Ерекшелігі x86 (ia32) x86_64 Mips PowerPC mc68k ARM
Диссемблер Аяқталды Аяқталды Аяқталды Аяқталды Аяқталды Жоспарланған
PE COFF жүктеуші Аяқталды Аяқталды Жатпайды Жатпайды Жатпайды Жатпайды
ELF жүктеуші Аяқталды Аяқталды Аяқталды Аяқталды Аяқталды Жоспарланған
COFF жүктеуші Аяқталды Жатпайды Жатпайды Жатпайды Аяқталды Жатпайды
Mac OS X жүктеуші Аяқталды Аяқталды Жатпайды Жоспарланған Жатпайды Жоспарланған
Dwarf2 символдық ақпарат Аяқталды Аяқталды Аяқталды Аяқталды Жатпайды Жоспарланған
COFF символдық ақпарат Жоспарланған Жатпайды Жатпайды Жатпайды Жоспарланған Жатпайды
Конвенцияларды шақыру Орындалуда Орындалуда Орындалуда Жоспарланған Жоспарланған Жоспарланған
32 және 64 бит Орындалуда Орындалуда Жатпайды Жатпайды Жатпайды Жатпайды
Жүзу нүктесі Жоспарланған Жоспарланған Жатпайды Жатпайды Жатпайды Жатпайды
Windows отладчик Орындалуда Жоспарланған Жатпайды Жатпайды Жатпайды Жатпайды
Gdb отладчик Орындалуда Орындалуда Жатпайды Жатпайды Жатпайды Жатпайды

REC көздері болып табылады емес қоғамдық доменде.

REC Visual C++ немесе Visual Basic 5 шығарған Win32 орындалатын файлдарды (aka PE) оқи алатын болса да, шығарылатын өнімде шектеулер бар. REC .EXE белгішесі кестесінде кез келген ақпаратты қолдануға тырысады. Егер .EXE файлы қалпына келтіру туралы ақпараттарсыз құрастырылса, бағдарлама деректер базасының файлы (.PDB) немесе Codeview (C7) пішімі қолданылған болса немесе компилятордың оңтайландыру параметрі қосылған болса, шығарылған өнім өте жақсы болмайды. Сонымен қатар, Visual Basic 5 орындалатын файлдар Кіші күнделік коды мен пішін деректерінің қосындысы болып табылады. ИЭК-тің қайсысы бар екенін анықтау мүмкін емес. Жалғыз нұсқасы .cmd файлын пайдалану және қандай аумақ коды және қай аумақ деректер екенін қолмен көрсетіңіз.

Іс жүзінде, тек C орындалатын файлдар маңызды декомпиляцияланған шығысын шығаруға.

Әдебиеттер

Бірнеше басқа Декомпиляторы түрлі көздерден қол жетімді. Менің қараңызшы кері инженерлік бетке тізімін.

Қаларлық, бұл декомпилятор ішкі сәулеті компиляторда деп өте ұқсас. Жоғары сапалы әдебиет үшін де бар. Дизайн Ескертулер бет қарапайым бірлігі сынақтар сәл астам күрделі бағдарламаларды бөлшектеуге тырысып кезде декомпилятор жазушы тұр мәселелері бойынша ақпарат бар. Бөлшектеу бет, жалпы декомпиляторы байланысты сілтемелер және құжаттаманы бар.

Майк ван Эммерик ның кандидаттық диссертация айтарлықтай екілік бағдарламалардың шифрды іргелі мәселелердің шешімдерін баршасы шифрды өрісін алға.

Кристина Сифуентес «кері компиляция техникасы PhD диссертация толығырақ 8086 DOS бағдарламалары үшін ДКК декомпилятор теориясы мен жүзеге асыруды сипаттайды.

Wotsit бет COFF және эльф секілді нысан файл пішімдерінің ерекшеліктер сілтемелер бар.

Кодты талдау байланысты кейбір ұғымдар қамтылған анықтамалық отладчик беттер.

Мен әзірлеу кезінде қолданылатын басқа да іргелі кітаптар:

  • «Құрастырушылар – принциптері, әдістері мен құралдары», Ахо, Сетхи, Ульман 1986 Аддисон-Уэсли Паблишинг Ко. ISBN 0-201-10088-6.
  • «Озық компилятор Дизайн және Іске асыру», Стивен Мучник, 1997 Морган Кауфманн Паблишерс, ISBN 1-55860-320-4.
  • «Қалай отладчиках жұмыс – алгоритмдер, мәліметтер құрылымы, және сәулет», Джонатан Роземберг 1996 Джон Уайли және Ұлдары, ISBN 0-471-14966-7.

REC пайдаланылатын дизассемблеры түрлі көздерден алынды. Файл copyrite бөлу REC пайдаланылатын дизассемблеры әрқайсысы үшін кредиттер тізімі бар. Коды қалған жазылған өзім соңғы 25 жыл ішінде. Менің бос уақытында REC жетілдіруді жалғастырамыз, бірақ мен қателерді түзету немесе жаңа мүмкіндіктерді, процессорлар, немесе хосттар қосуға болады деп кепілдік бере алмайды.

Жауапкершіліктен бас тарту

Декомпиляцияның заңдылығы туралы пікірталастар көп. декомпилятор құралдары әр түрлі платформаларға ұзақ уақыт бойы қол жетімді болды. Декомпилятор, сонымен қатар, отладчик, бинарлы редактор, дисассемблер және т.б. сияқты басқа құралдармен бірге, бағдарламаның иесі бағдарламаны кері жобалау құқығына ие болғанда ғана пайдаланылуы керек.

Ол АҚШ пен басқа елдердің соттары тарапынан авторлық құқық туралы әділетті пайдалану туралы ереже бойынша таратқыштарды пайдалану заңды деп белгіледі.

Декомпилятор пайдалану заңды екенін білу үшін келесі жағдайлардың мәтінін оқыңыз:

Сондай-ақ, оқып түрлі хост бойынша екілік бағдарламаны іске қосу үшін эмулятор қолдану заңдылығы туралы талқылау.

Индоссаттың көшесі Бағдарламалық қамтамасыз ету, заңсыз мақсаттар үшін кері инженерлік құралдарын пайдалануды қолдамайды.

Copyright © 1997 – 2015 Backer Street Software – All rights reserved.

Тарих:

9 Наурыз 2011  Нұсқа 4.0 Beta: Қазіргі заманғы архитектураларды қолдау үшін декомпилятордың толық жазылуы (MachO файлдары, x86_64).
2 Шілде 2007  Нұсқа 2.2: .cmd файлдар арқылы шикі екілік файлдардың тұрақты декомпиляциясы. Ішінара жүзеге асырылатын тұрақты репродукцияны тіркеу. 68k қате тіркелген.
6 Мамыр 2007  Нұсқа 2.1: RecStudio-ке кері қосылды + пакеттік опция; i386 үшін Ndisasm пайдалану; Windows екілік файлдар үшін импорттау деректерін үздік оқшаулау
20 Қыркүйек 2005  Нұсқа 2.0d: Қосымша қателерді түзету 68k
6 Қыркүйек 2005  Нұсқа 2.0c: Қолдау Linux .o файлдар мен жақсартылған қолдау 68k
15 Тамыз 2005  Нұсқа 2.0b: Қызмет көрсету релизі. Watcom-компиляцияланған екілік файлдарды және кең жолдарды қолдау
1 Тамыз 2005  Нұсқа 2.0a: Қызмет көрсету релизі. Исправлена апат, сапасы жақсартылған Windows орындалатын файлдармен
30 Мамыр 2005  Нұсқа 2.0: Windows GUI интерактивті декомпиляция
19 Қыркүйек 2000  Нұсқа 1.6: Қосылған қолдау SPARC.
16 Наурыз 1999  Нұсқа 1.5d: Қалпына келтірілген анықтау switch(). Қосылған қолдау үлкен-эндиялық MIPS.
6 Наурыз 1999  Нұсқа 1.5: Win95 файлдарында импорт/экспорттау туралы ақпаратты қолдау; GNU бөлшектегіштерін тегін дерек көзімен ауыстырды; көптеген қақтығыстар тіркелген
22 Қараша 1998  Нұсқа 1.4a: Win95 файлдарын декомпиляциялау кезінде бекітілген шексіз цикл; Windows прототипі файлдарын қосқан
15 Қараша 1998  Нұсқа 1.4: Интерактивті режимде шолғыш мүмкіндігін қосылды және HTML бетін жасау
30 Шілде 1998 
Нұсқа 1.3b: Техникалық қызмет көрсету: тұрақты апаттар және әртүрлі мәселелер 68k.
15 Ақп. 1998  Нұсқа 1.3: Қосылды Motorola 68000 және PowerPC мақсаттары.
7 Желтоқсан 1997  Нұсқа 1.2: тіркелген компьютердің пайдаланушы интерфейсі. Енді біз 16 биттік DOS орындалатын файлдарды жүктей аламыз. Қателерді түзету.
26 Қазан 1997  Нұсқа 1.1: көп мақсатты қолдау (386 + R3000), ELF және PE файлдарын жүктеу, бірнеше қателер тіркелген.
6 Қазан 1997  Консольдік режимде Windows жүйесіне тасымалданады (recr4kpc.zip) және SunOS (recr4ks4.tar.gz)
20 Қыркүйек 1997  recr4kl.zip қол жетімді ету үшін жасалған.