Source: http://www.backerstreet.com/rec/rec.htm
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 се уште е во развој. Повеќето цел независни функции се веќе завршени, како што се:
• Multihost: Rec Studio работи на Windows XP/Vista/7, Ubuntu Linux, Mac OS X.
• Информациите на симболичката поддршка користење на Dwarf 2 и делумно признавање на формат на Мајкрософт PDB.
• C++ е делумно призната: искривени имиња генерирани од gcc се деискривени, како и наследството што е опишано во dwarf2 е почестен. Сепак, 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 да прочитате Win32 извршна (ака PE) датотеки произведени од страна на Visual C++ или Visual Basic 5, постојат ограничувања на произведен. REC на недвижности ќе се обиде да го користите она што информации се присутни во табелата на .EXE симбол. Ако датотеката .EXE е компајлирана без информации за дебагирање, ако се користи база на податоци програма фајлови (.PDB) или Codeview (C7) формат, или ако опцијата за оптимизација на компајлерот беше овозможено, произведен нема да биде многу добро. Покрај тоа, Visual Basic 5 извршна датотека се мешавина на Subroutine код и Form податоците. Тоа е речиси невозможно за REC на недвижности за да се утврди кој е кој. Единствената опција е да се користи .cmd датотека и рачно да го одредите која област е кодот и која област е податоци.
Во пракса, само C извршна датотека произведе значајни декомпајлерот излез.
Референци
Неколку други декомпајлерот се достапни од различни извори. Погледнете во мојот обратна инженеринг страница за листа.
Наместо изненадувачки, внатрешната архитектура на декомпајлерот е многу слична на онаа на компајлерот. постои висок квалитет на литература за двете. страница Дизајн забелешки има информации за проблеми што декомпајлерот писател соочува, кога се обидуваат да декомпајлерави малку повеќе комплексни програми од едноставни тестови единица.
Страница на десоставите има врски и документација поврзани со декомпајлерави во целина.
Докторска теза Мајк ван Еммерик значително напредна областа на декомпајлерави со скицирање решенија за основните проблеми во декомпајлерави на бинарни програми.
Кристина Сифуентес Обратно Компилација Техники докторска теза опишува во детали на теорија и примена на dcc десостави за 8086 DOS програми.
Страница на Wotsit има врски со спецификации на предметот формати како COFF и ELF.
Некои концепти поврзани со код анализа се опфатени во страниците на REference Debugger.
Други основни книги што се користи за време на развој се:
• “Компајлери – принципи, техники и алатки”, Ахо, Сети, Улман, 1986 Адисон-Весли издавачката копродукции ISBN 0-201-10088-6.
• “Напредно компајлерот дизајн и имплементација”, Стивен Мучник, 1997 Морган Кауфман издавачи, ISBN 1-55860-320-4.
• “Како дебагери работа – алгоритми, структури на податоци, и архитектура”, Џонатан Роземберг, 1996 Џон Вајли и синови, ISBN 0-471-14966-7.
На дисасемблери користи во катастарот на недвижности се земени од различни извори. copyrite датотеката во дистрибуцијата, има листа на кредити за секој од дисасемблери користи во катастарот на REC. Остатокот од кодот е напишана од мене во текот на последните 25 години. Јас ќе продолжи да се подобри REC во моето слободно време, но не можам да гарантирам дека можам да се утврдат грешки или да додадете нови функции, процесори, или домаќините.
Општи услови
Има многу на дискусија за законитоста на декомпилација. Декомпајлерот алатки се достапни за различни платформи за долго време. Декомпајлероти , заедно со други алатки, како и дебагерите, бинарни уредници, дисасемблери итн треба да се користи само кога сопственикот на програмата има законско право да го поништи инженер на програмата.
Таа е основана од страна на судовите САД и други земји дека тоа е легално да се користи декомпајлероти според клаузулата на фер употреба на законот за авторско право.
За да дознаете кога тоа е легално да користите декомпајлерот , треба да го прочитате текстот на следниве случаи:
- Sega Enterprises LTD против Accolade, Inc.
- Atari Games Corp. против Nintendo of America, Inc.
Исто така, прочитајте дискусија за законитоста на користење на емулатор да се кандидира на бинарни програма на различни домаќин.
Backer Street Software не ја поддржува употребата на обратна инженеринг алатки за нелегални цели.
Copyright © 1997 – 2015 Backer Street Software – All rights reserved.
Историја:
9 март 2011 | Верзија 4.0 Beta: целосно преработи на декомпајлеротза поддршка на повеќе модерни архитектури (MachO files, x86_64). |
2 јули 2007 | Верзија 2.2: aиксна decompilation на суровини и бинарни датотеки преку .cmd датотеки. Делумно спроведени регистрирани постојана размножување. Фиксна многу грешки 68k. |
6 мај 2007 | Верзија 2.1: додаде назад +batch опција за RecStudio; употреба Ndisasm за i386; подобра изолација на увоз на податоци за Windows бинарни |
20 септември 2005 | Верзија 2.0d: gовеќе поправени грешки за 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: вратена откривање на прекинувач(). Додадена поддршка со обратна бајт цел 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. |