Взрослая социальная сеть
Поиск секса поблизости, а также
тематические знакомства и виртуальное общение

ВХОД РЕГИСТРАЦИЯ
Все о сексе Секс чат Блоги Группы

Страницы: (1) 1
Мужчина Diskretor
Свободен
14-08-2006 - 23:51
Я здесь новичок. А здесь публика умная, поэтому вопрос:

У меня есть программа (EXE), которая при запуске выполняет непонятные действия. Я хочу узнать, что она делает.

Вопрос: как превратить этот ЕХЕ в исходный код - в язык команд программирования. И вообще какие есть способы декомпиляции (так это вроде называется) и где про это все можно прочитать?

Естественно на каком языке написана программа я не знаю, потому что она не моя.
Мужчина xTriplex
Свободен
15-08-2006 - 00:22
QUOTE (Diskretor @ 14.08.2006 - время: 23:51)
Я здесь новичок. А здесь публика умная, поэтому вопрос:

У меня есть программа (EXE), которая при запуске выполняет непонятные действия. Я хочу узнать, что она делает.

Вопрос: как превратить этот ЕХЕ в исходный код - в язык команд программирования. И вообще какие есть способы декомпиляции (так это вроде называется) и где про это все можно прочитать?

Естественно на каком языке написана программа я не знаю, потому что она не моя.

Для дезассемблирования есть специальный софт - ка ни странно но он так и называеться - дизассемблер... biggrin.gif

Узнать язык на которм написан софт - не особо трудно...например в инфе о файле, либо по конструкции exe (там в 95 % есть отлиительные черты языка, или прям так и написано, что (с) Borland Delphi biggrin.gif или еще кто), либо софт есть специальный...

Есть специфические декомпиляторы - типа возвращают исходный код...но они сводяться к тому же...просто конструкция оригинальная останеться, а все процедуры, функции и т.д. всеравно будут на ассемблере, по другому никак...
Мужчина mvf23
Свободен
15-08-2006 - 01:32
QUOTE
Для дезассемблирования есть специальный софт - ка ни странно но он так и называеться - дизассемблер...


Для сведения - самый лучший на сегодня дизассемблер называется IDA Pro.

Однако чтение программы на ассемблере - дело довольно тяжелое, требующее довольно хорошего представления принципов работы процессора, а также знания Ассемблера для PC. (например только процедура для открытия и чтения файла на ассемблере может иметь длину 500-1000 строк, а вся программа - может иметь длину в несколько миллионов строк)

То есть для этого требуется довольно хороший уровень теоретической подготовки. Либо ну ООООЧЕНЬ большое желание.

Декомпилировать, то есть преобразовать программу к исходникам на языке высокого уровня очень сложно и в большинстве случаев невозможно. Есть небольшие исключения, но и они не позволяют вернуть программу к нормально читаемому виду.

QUOTE
программа (EXE), которая при запуске выполняет непонятные действия. Я хочу узнать, что она делает.


Возможно необходимости в дизассемблировании нет.

В большинстве случаев бывает достаточно проследить за её действиями с помощью программы-монитора. В частности есть программа, которая называется FileMon - она отслеживает все обращения к файлам (открытие/чтение запись и т.д.). И RegMon - она соответственно отслеживает все обращения к реестру. TDIMon - для мониторинга пакетов TCP/IP. Все три программы - бесплатны и найти их можно на http://www.sysinternals.com/
Мужчина Diskretor
Свободен
16-08-2006 - 17:20
Да, насчет пункта 2. mvf23 я согласен, что можно использовать утилиты для отслеживания действий ЕХЕ, к тому же у меня есть RegShooter, но они мне не подходят, потому что:

Я не хочу курочить ВИНДОВС этим EXE, так как знаю немного, что он делает опред.вред.(Spy-ware, AD-ware не уверен, KAV - пока его не определяет)

--->> Если бы мне посоветовали такую утилиту, чтобы нею узнать что ЕХЕ делает, не запуская его (такая есть?) или чтобы после него не было последствий - другое дело.
Просто хочу сам разобраться.

--->>И основной второй вопрос:
В этом ЕХЕ уверен на 100% есть много путей к реестру ВИНДОВСА. (то что мне нужно)
Допустим я использую декомпилятор превращающий ЕХЕ в ассемблер или в язык высокогоо уровня. Если я дезассемблирую ЕХЕ, то смогу ли я увидить эти пути к реестру в нормальном виде или они будут зашифрованы машинным кодом ассемблера? - ну если кто знает.

Р.S. Знаю только Pascal и Basic, по остальному - куча книг и немного желания:)
Мужчина Unknown_Identifier
Свободен
17-08-2006 - 12:40
QUOTE
Я не хочу курочить ВИНДОВС этим EXE, так как знаю немного, что он делает опред.вред.(Spy-ware, AD-ware не уверен, KAV - пока его не определяет)

Для этой цели можно запустить виртуальную машину и в ней дебагить программу. Даже если запорет виртуалку - так не жалко :)

QUOTE
Допустим я использую декомпилятор превращающий ЕХЕ в ассемблер или в язык высокогоо уровня. Если я дезассемблирую ЕХЕ, то смогу ли я увидить эти пути к реестру в нормальном виде или они будут зашифрованы машинным кодом ассемблера? - ну если кто знает.

Если строки не зашифрованы в самой программе, то ты их определенно увидишь. Более того, для этого не нужно и дизассемблировать - они прекрасно видны в самом EXE-файле :)
Обычно строковые константы хранятся в:
- секции ресурсов (ресурсные строки), обычно в конце exe
- непосредственно рядом с кодом процедуры, в которой используются (inline-константы)
- в сегменте преинициализированных данных (глобальные константы), обычно тоже в конце exe, но перед ресурсами

P.S. Интересующая тебя строка вполне может и составляться в процессе работы из нескольких.
Мужчина mvf23
Свободен
17-08-2006 - 19:28
Небольшая добавка.

Если речь идет о потенциальном вирусе, то скорее всего EXE-файл упакован с помощью специальных утилит (т.е. он сначала распаковывается в памяти а потом уже начинает выполняться). В этом случае внутри файла обычно ничего интесного найти невозможно (т.е. файл - это по сути архив). Ну самый известный "упаковщик EXE" - это наверное UPX, хотя есть ещё десятки других. В этом случае, перед тем как дизассемблировать или пытаться найти что либо просто просмортом файла, нужно его сначала распаковть.

Есть специальный софт для определения, чем был упакован EXE файл, на чем написан и т.п. Сейчас назыание точно вспомнить не могу, по-моему что-то вроде "PE Info", или "PE ID" - что-то в этом духе. Поищи в гугле.
Мужчина _Azis_
Свободен
31-08-2006 - 00:51
Для декомпиляции можно использовать IDA PRO, лучше версия 4.7 или позже, там есть фишка частично восстановить код в C ( а не только ассемблер)

Пути реестра скорей всего будут видны.

Если файл упакован - определяешь чем упакован и распаковываешь его
Мужчина c0d3r
Свободен
13-09-2006 - 18:12
лучший декомпилятор delphi, да ещё и с исходниками - DeDe лежит на wasm.ru
0 Пользователей читают эту тему

Страницы: (1) 1 ...
  Наверх