![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Такой вопрос: как можно (если вообще можно) преобразовать файл формата .exe в файл формата .cpp?
|
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
можешь считать что никак.
|
|||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
А можно сделать как-нибудь так, чтобы хоть как-то понятен код стал. В формате .obj понять код, по-моему, нет шансов
![]() |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Вот-вот. А разве после дизассемблирования получается не файл формата .obj? Я имею в виду из .exe файла можно сделать файл формата языка C++? |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
![]() |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
а ты сначала головой и руками попробуй, а там увидишь, насколько легко переводить ассемблерный код в С++-ный. ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Современные дизассемблеры типа Ida кой в чем может помочь. Например, определить что там присвоение строки, построить дерево вызовов функций. Иногда можно определить фрагмент стандартной библиотеки. Прожка DeDe может неплохо экзешник билдера разобрать. Но все это лишь частично.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
5 минут назад дизассемблировал собственную программу размером в 2500 строк (160Кб) (на языке С++), а получилась программа на языке ассемблера, наверное, в миллиард строк, а что делать с прогами в десятки мегабайт? Стоит пытаться понять такие программы или жизни не хватит?
|
|||
|
||||
SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 4 Всего: 91 |
Ассемблер - язык для творческих личностей, один и тот же алгоритм можно написать в большом количестве вариаций. Иногда эти вариации бывают такие, что точную логику программы ты понять не сможешь. Простой пример умножение на 2. На ассемблере для этого можно использовать mul/imul, а можно shl/sal.
Если компилятор оптимизировал код, то твой exe2cpp дизассемблер может выдать что-то вроде этого:
А не
Возникнут сразу мысли о том, какие программисты были хитрые, что так зашифровали свой код ;) |
||||
|
|||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Мне понравилась фраза "exe2cpp дизассемблер". Она звучит как: "Существует программа, которая преобразует .exe файлы в .cpp файлы". Я прав?
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
SABROG, ха. очень может быть, что в результате выйдет unsigned char a = 2;
![]() Добавлено через 49 секунд
речь идет о гипотетической программе. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |