|
Вопрос # 4 695/ вопрос открыт / |
|
Здравствуйте!
нужно декомпилировать exe файл, использую декомпилятор DeDe 3.50, получаю асемблерный код, как преобразовать его в стандартный код delphi, буду благодарен за ссылки на статьи. Декомпилирую, только свои авторские программы
Мини-форум вопроса
Всего сообщений: 7; последнее сообщение — 3 ноября 2010, 09:13; участников в обсуждении: 4.
|
Вадим К (статус: Академик), 2 ноября 2010, 12:26 [#1]:
Ответ один - мозг. Никакая суперутилита не восстановит исходный код. В большинстве случаев это просто невозможно.
Попытки сделать декомпилятор, который делает "эквивалентный код" - предпринимаются, но для нормальных компилируемых языков это просто невозможно. (Сделать что то похожее на код можно, но что бы он с первой попытки скомпилировался и запустился - нет).
А вот для .NET - там пожалуйста. Компилятор сохраняет достаточно информации. (Обсфукаторы конечно никто не отменял))) )
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Казаков Николай Константинович (статус: 1-ый класс), 2 ноября 2010, 12:49 [#2]:
хорошо, подскажите тогда как разобраться вот в таких записях, полученных после декомпиляции
0045A380 55 push ebp
0045A381 8BEC mov ebp, esp
0045A383 B90E000000 mov ecx, $0000000E
0045A388 6A00 push $00
0045A38A 6A00 push $00
0045A38C 49 dec ecx
0045A38D 75F9 jnz 0045A388
0045A38F 53 push ebx
0045A390 56 push esi
0045A391 57 push edi
0045A392 8945FC mov [ebp-$04], eax
0045A395 33C0 xor eax, eax
0045A397 55 push ebp
где можно прочитать подробнее об этом?
|
|
min@y™ (статус: Доктор наук), 2 ноября 2010, 14:03 [#3]:
Цитата (Казаков Николай Константинович):
где можно прочитать подробнее об этом?
Тебя интересует, что делают команды push, mov, xor и т.п?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Казаков Николай Константинович (статус: 1-ый класс), 2 ноября 2010, 14:26 [#4]:
не совсем, описание этих команд у меня есть, меня интересует вообще запись, что означает например 0045A380?
|
|
min@y™ (статус: Доктор наук), 2 ноября 2010, 14:45 [#5]:
Цитата (Казаков Николай Константинович):
что означает например 0045A380?
Это относительный адрес, по которому располагается команда push ebp.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Мережников Андрей (статус: Абитуриент), 2 ноября 2010, 19:35 [#6]:
зачем декомпилировать свои программы? Потерялись исходники?
|
|
Казаков Николай Константинович (статус: 1-ый класс), 3 ноября 2010, 09:13 [#7]:
ну глобальная задача освоить процесс декомпиляции, научиться получать код по исходному файлу, тренеруюсь на своих прогах, ну а задача мини, даа кое у каких программ потерял исходники
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|