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

Поиск:

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


Опытный
**


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

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



Такой вопрос: как можно (если вообще можно) преобразовать файл формата .exe в файл формата .cpp?

PM MAIL WWW   Вверх
zkv
Дата 3.12.2007, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



можешь считать что никак.
PM MAIL   Вверх
KaraKum
Дата 3.12.2007, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А можно сделать как-нибудь так, чтобы хоть как-то понятен код стал. В формате .obj понять код, по-моему, нет шансов  smile .
PM MAIL WWW   Вверх
zkv
Дата 3.12.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Цитата(KaraKum @  3.12.2007,  16:32 Найти цитируемый пост)
В формате .obj понять код

а причем тут .obj ?

Цитата(KaraKum @  3.12.2007,  16:32 Найти цитируемый пост)
А можно сделать как-нибудь так, чтобы хоть как-то понятен код стал.

дизассемблируй и изучай (ехешник)
PM MAIL   Вверх
KaraKum
Дата 3.12.2007, 16:45 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(zkv @ 3.12.2007,  16:35)
дизассемблируй

Вот-вот. А разве после дизассемблирования получается не файл формата .obj? Я имею в виду из .exe файла можно сделать файл формата языка C++?
PM MAIL WWW   Вверх
zkv
Дата 3.12.2007, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Цитата(KaraKum @  3.12.2007,  16:45 Найти цитируемый пост)
Я имею в виду из .exe файла можно сделать файл формата языка C++?

можно, изучи логику и напиши программу заново. Других путей не вижу  smile 
Цитата(KaraKum @  3.12.2007,  16:45 Найти цитируемый пост)
А разве после дизассемблирования получается не файл формата .obj

получается файл формата .asm те программа на ассемблере.
PM MAIL   Вверх
JackYF
Дата 3.12.2007, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(KaraKum @  3.12.2007,  16:45 Найти цитируемый пост)
Я имею в виду из .exe файла можно сделать файл формата языка C++? 

дизассемблирование даёт ассемблерный код.


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


Опытный
**


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

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



 smile . А ассемблерный код в формат языка C++ перевести никак нельзя?
PM MAIL WWW   Вверх
zkv
Дата 3.12.2007, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Цитата(KaraKum @  3.12.2007,  16:58 Найти цитируемый пост)
А ассемблерный код в формат языка C++ перевести никак нельзя? 


Цитата(zkv @  3.12.2007,  16:47 Найти цитируемый пост)
можно, изучи логику и напиши программу заново. Других путей не вижу

 smile 
PM MAIL   Вверх
JackYF
Дата 3.12.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(KaraKum @  3.12.2007,  16:58 Найти цитируемый пост)
А ассемблерный код в формат языка C++ перевести никак нельзя? 

а ты сначала головой и руками попробуй, а там увидишь, насколько легко переводить ассемблерный код в С++-ный. smile


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


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Современные дизассемблеры типа Ida кой в чем может помочь. Например, определить что там присвоение строки, построить дерево вызовов функций. Иногда можно определить фрагмент стандартной библиотеки. Прожка DeDe может неплохо экзешник билдера разобрать. Но все это лишь частично.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
KaraKum
Дата 3.12.2007, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



5 минут назад дизассемблировал собственную программу размером в 2500 строк (160Кб) (на языке С++), а получилась программа на языке ассемблера, наверное, в миллиард строк, а что делать с прогами в десятки мегабайт? Стоит пытаться понять такие программы или жизни не хватит?
PM MAIL WWW   Вверх
SABROG
Дата 3.12.2007, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


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

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



Ассемблер - язык для творческих личностей, один и тот же алгоритм можно написать в большом количестве вариаций. Иногда эти вариации бывают такие, что точную логику программы ты понять не сможешь. Простой пример умножение на 2. На ассемблере для этого можно использовать mul/imul, а можно shl/sal.

Если компилятор оптимизировал код, то твой exe2cpp дизассемблер может выдать что-то вроде этого:

Код

unsigned char a = 1;
a = a << 1;


А не 

Код

unsigned char a = 1;
a *= 2;


Возникнут сразу мысли о том, какие программисты были хитрые, что так зашифровали свой код ;)


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


Опытный
**


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

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



Мне понравилась фраза "exe2cpp дизассемблер". Она звучит как: "Существует программа, которая преобразует .exe файлы в .cpp файлы". Я прав?
PM MAIL WWW   Вверх
bsa
Дата 3.12.2007, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



SABROG, ха. очень может быть, что в результате выйдет unsigned char a = 2; smile

Добавлено через 49 секунд
Цитата(KaraKum @ 3.12.2007,  17:43)
Мне понравилась фраза "exe2cpp дизассемблер". Она звучит как: "Существует программа, которая преобразует .exe файлы в .cpp файлы". Я прав?

речь идет о гипотетической программе.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
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.1398 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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