Страницы

Поиск по вопросам

суббота, 8 февраля 2020 г.

Как определить язык программирования?

#декомпиляция #обратная_разработка


Здравствуйте!
Меня очень интересует вопрос, как можно определить язык программы, если она уже откомпилирована?    


Ответы

Ответ 1



Это, на самом деле, дело не из легких, поверьте! С супер точностью определить ничего не получится, так как языки могут быть разные, поддерживаемые, скажем одной средой программирования( VS, например, в которой поддерживается разработка на свыше 10 языках), а та, в свою очередь, добавляет сходную последовательность asm-секций в машинный код любого приложения, написанного в этой среде. Поэтому, скажем, с точностью( и то не всегда 100%-ой! ) можно определить среду разработки. Делается это, естественно, под дезассемблером. Лучший на мой взгляд( и где я, кстати, чаше всего провожу отладку ) - это OllyDBG. Под ним очень легко и быстро можно разобрать почти любую софтину( за исключением упакованой, обфусцированной и т.д ). Так, VS, например, добавляет в ассемблерный код несколько секций, порядок которых специфичен для данной среды. Последовательность похожа на эту( только пример! ), насколько я помню: .686 .model flat, c option casemap :none ; ««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««« .data ; ««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««« .code MyFunc PROC uses ecx edi, X: DWORD, Y:DWORD ; TODO ret MyFunc ENDP

Ответ 2



Самое простое и быстрое для вас решение - взять PeID и проанализировать им исполняемый файл. Если программа без защит, есть шансы успешного определения.

Комментариев нет:

Отправить комментарий