посоветуйте софт для реверсинга.

Модератор: Модераторы разделов

Аватара пользователя
ety
Сообщения: 358
ОС: Linux

посоветуйте софт для реверсинга.

Сообщение ety »

здравствуйте, уважаемые.

а какие open source проги у нас именно для реверсинга наподобии SoftIce? желательно с поддержкой mips и arm архитектур.

objdump и gdb для этого не слишком пригодны =(
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
TwisT
Сообщения: 265
ОС: Debian

Re: посоветуйте софт для реверсинга.

Сообщение TwisT »

Зачем???????
Ты что ломать чтото собрался????
Linux user #432536.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: посоветуйте софт для реверсинга.

Сообщение sash-kan »

(ety @ Oct 2 2006, в 19:28) писал(а):наподобии SoftIce
аналог такой навороченной софтины вряд ли существует. за ненадобностью.
это в проприетарной среде подобный софт в почете, востребован, а значит приносит писателю много денег, а следовательно развивается как на дрожжах.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: посоветуйте софт для реверсинга.

Сообщение elide »

посмотри http://lida.sourceforge.net/ я так понял, что это что-то вроде IDA под винду... хотя никогда не юзал, так что детальнее не скажу. а вот про отладчик мне совсем сказать нечего.
слава роботам!
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: посоветуйте софт для реверсинга.

Сообщение ety »

elide писал(а):
04.10.2006 20:49
посмотри http://lida.sourceforge.net/ я так понял, что это что-то вроде IDA под винду... хотя никогда не юзал, так что детальнее не скажу. а вот про отладчик мне совсем сказать нечего.

думаю то что доктор прописал, только он x86 =( но есть с чего начинать.

Зачем???????
Ты что ломать чтото собрался????

совершенно не обязательно, допустим, может понадобится проанализировать вывод компилятора, или провести реверсинг драйвера для какой-нибудь левой железки :)
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
Аватара пользователя
edoc_modnar
Бывший модератор
Сообщения: 1638
Статус: Форум больше не посещаю

Re: посоветуйте софт для реверсинга.

Сообщение edoc_modnar »

elide
Как раз этот самый IDA был не так давно портирован на Linux: http://www.idapro.ru/description/
...
IDA Pro работает под MS Windows и Linux.
...

ety
Что касается отладчиков, то есть linice (http://www.linice.com/), но насколько он сравним с SoftICE сказать не могу. В эпоху крякерского деццтва SoftICE у меня безбожно глючил (на w2k), посему юзался исключительно IDA.
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: посоветуйте софт для реверсинга.

Сообщение ety »

в общем плюнул на это все, и решил писать свой дизассемблер (хотя бы поможет все лучше понять), переводящий всю радость в абстрактную форму - но похоже меньше чем в 600 строк си кода уложится не реально :( и целых две ночи ушло только на декодер =(

вдохноляемся от GCC, только здесь обратнася задача - frontend и backend меняются местами :D

жаль никак не вкурю, как-же логически связывать префиксы с операндами MMX/SSE инструкций - наверное стоит для них отдельную таблицу строить.
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
d_n_k
Сообщения: 636
ОС: Gentoo GNU/Linux

Re: посоветуйте софт для реверсинга.

Сообщение d_n_k »

о, монстр. поделишся кодом?
все сказанное есть имхо...
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: посоветуйте софт для реверсинга.

Сообщение ety »

все еще в самом начале, и пишется c нуля - пока с горем пополам дизассемблирую x86, и пишу data/controд-flow анализатор. да и на x86 только тренируюсь в декомпиляции. Я вообще не собираюсь выявлять структуры, лишь хочу довести до портабельного уровня с goto, вместо if/else и циклов + простенький GUI наподобии IDA. Ибо надо разобрать на части несколько игр для PSP (может устроюсь к пиратам локализаторам :)), а у самой Sony в SDK похоже есть нативные библиотеки для отладки на x86 (или это симулятор :blink: ), надеюсь их достать. но думаю general public мой код будет мало интересен.
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: посоветуйте софт для реверсинга.

Сообщение ety »

хех, смотрю все-же реальна 95%-я авто декомпиляция, что даже сишному кодеру становится понятно:

играюсь с прогой REC, продолжая востанавливать интерфэйс mss32 и bink32 (пригнодится при риповке некоторых гам)

в принципе то что мне надо, но, она не устраняет ассемблер, для нее нету сорсов, она не интерактивна, и выдает иногда жуткие глюки :(

Код: Выделить всё

/*    Procedure: 0x21101DC0 - 0x21101E7E
 *    Argument size: 0
 *    Local size: 260
 *    Save regs size: 0
 *    Called by:
 *        _AIL_stream_reverb@16()
 */

L21101DC0()
{
CHAR V0;

    (save)edi;
    GetModuleFileNameA(ecx, 555025936, 0x103);
    ecx = ecx | -1;
    eax = 0;
    edi = 555025936;
    asm("repne scasb");
    (restore)edi;
    if(!(ecx = !ecx - 1)) {
        do {
            al = *(ecx + 555025936);
            if(al == 0x5c || al == 0x3a) {
                break;
            }
        } while(ecx = ecx - 1);
    }
    *(ecx + 555025936) = 0;
    GetWindowsDirectoryA( & V0, 0x103);
    edx = & V0;
    ecx = 555025936;
    if(L2111AD40(0x103) != 0) {
        GetSystemDirectoryA( & V0, 0x103);
        edx = & V0;
        ecx = 555025936;
        if(L2111AD40(0x103) != 0) {
            goto L21101e73;
        }
    }
    MessageBoxA(0, "The MSS DLL file is installed in the Windows or Windows system directory - it must be installed in the application directory.", "Miles Error", 0x10);
    return 0;
L21101e73:
    esp = esp + 0x104;
    return 1;
}
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали: