Официальный сайт студ.городка НГТУ
Программирование и БД » Как можно получить исходник из exe'шника? 

#1  10.11.05 15:17

Как можно получить исходник из exe'шника?

сабж.

Offline

#2  10.11.05 15:50

Re: Как можно получить исходник из exe'шника?

интересно, как ты себе это представляешь?:))))
можно декомпилить код в представление какого-нить языка,инструментом тип IDA , но это не будет100% исходным кодом.

Offline

#3  10.11.05 16:01

Re: Как можно получить исходник из exe'шника?

с какого именно екзешника, чем скомпилированного, под дос или вынь.
наиболее вероятно никак!

Offline

#4  10.11.05 16:02

Re: Как можно получить исходник из exe'шника?

Если exe-шник скомпилин на Delphi, то есть проги которые обратно в проект "раскомпиливают"... но там вместо написанных процедур вставлены ASMкоды, что и понятно... Одна из прог называется "exe2dpr".

О других языка и средах ничего не слышал.

Offline

#5  10.11.05 16:11

Re: Как можно получить исходник из exe'шника?

и если exe'шник защищен от дизасма (например упаковкой), то тоже не проканает

Offline

#6  10.11.05 17:11

Re: Как можно получить исходник из exe'шника?

Да самый простой экзэшник,скомпиленный на  борланд си...
Препод лабы дал в экзешниках,типа посмотрите как должно быть...хотел декомпильнуть...
Да походу не выйдет...((

Offline

#7  10.11.05 17:55

Re: Как можно получить исходник из exe'шника?

ну спроси здесь же про то, "как должно быть"
мож тебе и так подскажут...

Offline

#8  10.11.05 18:34

Re: Как можно получить исходник из exe'шника?

Да никто не учит реверсингу...
да и программингу лично нас никто тоже не учит ((

Offline

#9  10.11.05 20:48

Re: Как можно получить исходник из exe'шника?

да как ни крути, но крякеры стране нужны

Offline

#10  11.11.05 11:36

Re: Как можно получить исходник из exe'шника?

2 kvazimodo: в том виде, в котором хочешь ты "исходник" никогда не получится (разве что при сборке указали "поместить в билд исходный код" -- по такому принципу и работает изначально "exe2dpr"). На асме -- берешь любой дебаггер (тот же soft ice).
ЗЫ. я думал, это всем известно еще со школы...
2 Fatboy: все упаковки распаковываются. другое дело блокировка прерываний.

Исправлено Leon (11.11.05 11:37)

Offline

#11  11.11.05 17:44

Re: Как можно получить исходник из exe'шника?

2 Fatboy: если уж на эту тему умничают,то про лабы тока спроси-сразу же сольют...:((
есь конечно те,кто нормльно объяснит,но...

2 Leon: если ты всё знаешь со школы,то это не значит,что все это знают со школы ((

Offline

#12  11.11.05 18:45

$up
Профиль

Re: Как можно получить исходник из exe'шника?

foxpro, vb, java, c# худо-бедно можно декомпилить, но вот лабу проще написать 8)

Offline

#13  11.11.05 18:51

Re: Как можно получить исходник из exe'шника?

Да просто халявой запахло )
2 про. : тут смс пришло,типа посмотри в окно!Как думаешь кто?

Offline

#14  11.11.05 21:37

Re: Как можно получить исходник из exe'шника?

2 Leon: soft-ice - дебаггер, а дизассемблер - win32dasm (вродь так) и IDA

дасм раскручивает екзешник в текст довольно удачно, про ИДА ничего не скажу - не юзал...

Offline

#15  14.11.05 10:50

Re: Как можно получить исходник из exe'шника?

2 Ratus: угу, а в софтайсе дизассемблера нету по-твоему, да? и исполняемый код нельзя на дисочек сохранить? ню-ню.

Кстати, если прога использует паковку самой себя, то IDA (кстати, рульная вещь на самом деле) не поможет, а софтайсом можно сохранить РАБОТАЮЩИЙ исполняемый и(или) исходный файл (т.к. после запуска он себя уже распаковал). Только чур не пугаться получившемуся размеру (исполняемый файл может мегов 10-20 иногда получится) (пример: Coldfear от акеллы -- 3.7мега - оригинал, 16.7мега - с убранным старфорсом)

Исправлено Leon (14.11.05 11:59)

Offline

#16  14.11.05 14:47

Re: Как можно получить исходник из exe'шника?

Известные мне декомпиляторы машинного кода -
rec16pc и desquirr.
Rec16pc - не осилил один из exe'шников (или я не дождался... :), сморозил глупость
на одной из конструкций.
Desquirr - плагин для IDA.
Полный С-код получить нельзя, но понять логику работы исследуемой
программы будет легче.

Ради лаб, ИМХО, не стоит заморачиваться...

Пример кода для Блокнота (rec16pc):

/*    Procedure: 0x01001D00 - 0x01001D3D
*    Argument size: 4
*    Local size: 0
*    Save regs size: 4
*/

L01001D00(A8)
/* unknown */ void  A8;
{
    ecx = *A8 & 65535;
    (save)edi;
    edi = A8;
    eax = A8;
    if(cx != 0) {
        do {
            if(cx == 58 || cx == 92) {
                edi = eax;
            }
            eax = *__imp__CharNextW(eax);
            cx = *eax;
        } while(cx != 0);
        if(edi != A8) {
            edi = edi + 1 + 1;
        }
    }
    eax = edi;
    (restore)edi;
}

Offline

#17  14.11.05 17:49

Re: Как можно получить исходник из exe'шника?

2 Leon: дураку ясно, что можно сохранять... читабельность-то какая?

Offline

#18  14.11.05 21:33

Re: Как можно получить исходник из exe'шника?

C#.NET проги дизассемблируются до последней буковки исходного кода :). ТОка тут случай не тот...

Offline

#19  14.11.05 21:45

Re: Как можно получить исходник из exe'шника?

в си шарпе очень часто используються обсуфикаторы

Offline

#20  15.11.05 12:17

Re: Как можно получить исходник из exe'шника?

Ratus написал(а):

2 Leon: дураку ясно, что можно сохранять... читабельность-то какая?

я рад, что дураку ясно ). читабельность- не очень понятно, что ты имел ввиду? Что все не в одной строке?
Отвечу что да, весьма структурированный вывод на асме с выделенными процедурами, подсказками и т.п. По крайней мере, от экзешника со старфорсом отрезать защитный загрузчик очень легко -- софтайс сам это место маркирует.
для интересующихся: http://searchlores.nigilist.ru/protec/syncsol.htm
И: http://www.cracklab.ru/art/faqversion10.php

Offline

#21  15.11.05 12:45

Re: Как можно получить исходник из exe'шника?

а спасибо Леон за ссылку

Offline

#22  15.11.05 19:46

Re: Как можно получить исходник из exe'шника?

otaku написал(а):

обсуфикаторы

Обфускаторы ;) от obfuscate

Offline

#23  15.11.05 20:00

Re: Как можно получить исходник из exe'шника?

да мне уже пять человек сказали, что обфускейт--затуманивать.
просто было лень вспоминать как точно пишеться, написал наугад

Offline

Программирование и БД » Как можно получить исходник из exe'шника? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 1.100 сек.
Выполнено 11 запросов.