Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование .exe-файла в .cpp, Как преобразовать .exe-файл в .cpp? 
V
    Опции темы
regis
Дата 7.12.2007, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 12.12.2005
Где: Москва, Россия

Репутация: 2
Всего: 7



Цитата(KaraKum @ 7.12.2007,  10:30)
С помощью какой программы можно дизассемблировать .exe файлы?

Ну вот, например, стандартная U*X-овская утилита "objdump" умеет (в числе прочего) и дисассемблировать машинный код. Поищите порт под Win -- он работает и с объектными файлами, и с EXE формата PE. Подробнее об этом: http://en.wikipedia.org/wiki/Objdump

А по поводу восстановления объектных файлов до исходников на языке высокого уровня, есть старая аналогия: "Это примерно так же просто, как восстановить живую корову из кучи говяжих котлет ." ;)


--------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой.
PM MAIL WWW   Вверх
KaraKum
Дата 7.12.2007, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата(regis @ 7.12.2007,  13:09)
А по поводу восстановления объектных файлов до исходников на языке высокого уровня, есть старая аналогия: "Это примерно так же просто, как восстановить живую корову из кучи говяжих котлет ." ;)

сложновато...
PM MAIL WWW   Вверх
Loony
Дата 7.12.2007, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 6.12.2007

Репутация: нет
Всего: нет



Цитата

В принципе моя задача по принципу как у "поклонников": создать приложение к уже существующей программе и получить возможность получать данные о некоторых внутренних для программы объектах.


А какого рода приложение и с какой целью это делается? Возможно уже есть SDK от разработчиков! 
PM MAIL   Вверх
W4FhLF
Дата 7.12.2007, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Ну вот буквально недельку назад небеизвестная в определённых кругах группа YAG зарелизила декомпилер от Ильфака(автор IDA) стоимостью 2k$. 

Вот примерчик:

user posted image

А вот результата работы над той же функцией шестнадцатиричныхлучей:

user posted image

Так, что можешь найти сие творение гениальных рук без проблем и облегчить себе жизнь, если совесть позволит конечно smile


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Loony
Дата 7.12.2007, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 6.12.2007

Репутация: нет
Всего: нет



Цитата

Ну вот, например, стандартная U*X-овская утилита "objdump" умеет (в числе прочего) и дисассемблировать машинный код. Поищите порт под Win -- он работает и с объектными файлами, и с EXE формата PE.


Помоему ему это не очень подходит! Получит он кучу ассемблерных листингов и что делать будет с ними!? Тут должны помочь либо IDA, либо Olly, т.е. дабагер. Только все равно тут работы, в зависимости от сложности защиты программы и наличия необходимых знаний, от нескольких дней до бесконечности! Имхо, не простая это задача в наше время!

Это сообщение отредактировал(а) Loony - 7.12.2007, 13:59
PM MAIL   Вверх
Puoar
Дата 7.12.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 10.11.2007

Репутация: нет
Всего: 1



А я видел bat2asm от китайских вундеркиндов
PM MAIL   Вверх
SABROG
Дата 7.12.2007, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 4
Всего: 91



Цитата(Puoar @ 7.12.2007,  15:23)
А я видел bat2asm от китайских вундеркиндов

Скажем так, сейчас все языки программирования это HLL2ASM, а вот обратное фиг. Только Hex Rays, да и то из того что я увидел врятли он сильно поможет.

Это сообщение отредактировал(а) SABROG - 7.12.2007, 15:50


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
W4FhLF
Дата 7.12.2007, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Цитата(SABROG @  7.12.2007,  15:49 Найти цитируемый пост)
Только Hex Rays, да и то из того что я увидел врятли он сильно поможет.


exe2compilable_source - это сказка. В любом случае надо обтачивать результат руками и тут у HexRays проблемы, ибо интерактивность листинга с Pseudocode фактически нулевая. В любом случае сначала надо поработать над asm-листингом, а далее уже и псевдокод можно до ума довести. Т.е. без знания ассемблера и процесса дизассемблирования опять же никуда. Но плагин очень хороший, тем более пока только первая версия, если такие вот сливы на паблик не снизят инициативы в его развитии, со стороны автора, то продукт обещает быть очень полезным. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
KaraKum
Дата 9.12.2007, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата(W4FhLF @ 7.12.2007,  16:10)
Т.е. без знания ассемблера и процесса дизассемблирования опять же никуда.

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

Код

main()
{
     int a = 4+5;
     return a;
}


после его дизассемблирования получил текстовый файл размером почти 2 мегабайта! Это же роман "Война и мир"! Я понимаю, что и на ассемблере этот фрагмент состоит из нескольких строк, а остальное занимает код стандартных функций Windows, но всё же... 

Это сообщение отредактировал(а) KaraKum - 9.12.2007, 07:55
PM MAIL WWW   Вверх
JackYF
Дата 9.12.2007, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(KaraKum @  9.12.2007,  07:51 Найти цитируемый пост)
после его дизассемблирования получил текстовый файл размером почти 2 мегабайта!

оо... ты чем компилировал и с какими настройками?..



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
MAKCim
Дата 9.12.2007, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(KaraKum @  9.12.2007,  07:51 Найти цитируемый пост)
после его дизассемблирования получил текстовый файл размером почти 2 мегабайта! Это же роман "Война и мир"! Я понимаю, что и на ассемблере этот фрагмент состоит из нескольких строк, а остальное занимает код стандартных функций Windows, но всё же... 

что все же?  smile 
Цитата(KaraKum @  9.12.2007,  07:51 Найти цитируемый пост)
Основы ассемблера я знаю, но если будет нужно, то освою и весь - дело того стоит, но проблема в том, что я, например, скомпилировав такое консольное приложение :

кроме ассемблера обязательно нужно знание формата исполняемых файлов (или библиотек)
тогда можно быстро отметать ненужную тебе информацию


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
KaraKum
Дата 9.12.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата(JackYF @ 9.12.2007,  11:17)
оо... ты чем компилировал и с какими настройками?..

Visual C++ 7. Никакие настройки не менял. Есть возможность сократить размер конечного файла?
PM MAIL WWW   Вверх
JackYF
Дата 9.12.2007, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(KaraKum @  9.12.2007,  13:22 Найти цитируемый пост)
Есть возможность сократить размер конечного файла?

Да. Раз у тебя визуалка, просмотри настройки компилятора, там их не мало и скомпиль в релиз-варианте.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
KaraKum
Дата 11.12.2007, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата

А какого рода приложение и с какой целью это делается? Возможно уже есть SDK от разработчиков!

Вобщем, всё что нужно - это возможность получать информацию о динамическом изменении уже созданной программы и способность отправлять этой программе сообщения, подобно пользователю.
Проблема заключается в получении информации из работающей программы. Декомпилированный .exe файл этой программы весит 7Mb в текстовом формате  smile !

Это сообщение отредактировал(а) KaraKum - 11.12.2007, 19:06
PM MAIL WWW   Вверх
Lycifer
Дата 6.5.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 4.11.2007

Репутация: нет
Всего: нет



Цитата

5 минут назад дизассемблировал собственную программу размером в 2500 строк (160Кб) (на языке С++), а получилась программа на языке ассемблера, наверное, в миллиард строк, а что делать с прогами в десятки мегабайт? Стоит пытаться понять такие программы или жизни не хватит?

Конечно, так как С++ тянет всё что ему пожелается(то и есть заголовочные файлы, стандартные функции...)

Дизассемблер тебе не поможет понять логику.
Можеш использовать отладчики(sowt-ice, с его установкой помочь не могу), ну или встроеный в Windows Debug(то и есть (отладчик==дзенщик)=true)
 smile 
PM MAIL ICQ   Вверх
Страницы: (5) Все 1 2 [3] 4 5 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0977 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.