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

Поиск:

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


Hacker
****


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

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



Ну есть такая программа, сам не пробывал, возможно там есть вирус. Конвертит exe в Си и Asm: http://www.bbs.motion-bg.com/dl.php?file=19

Добавлено через 1 минуту и 34 секунды
Цитата(bsa @ 3.12.2007,  17:45)
SABROG, ха. очень может быть, что в результате выйдет unsigned char a = 2; smile

Верно, как вариант может быть и такое. В зависимости от степени оптимизации smile


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


Опытный
**


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

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



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

речь идет о гипотетической программе.

А, чёрт!  smile .
В дизассемблерном файле даже не понятно где кончается стандартный набор Windows функций и начинается текст самой программы  smile .
PM MAIL WWW   Вверх
SABROG
Дата 3.12.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


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

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



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

речь идет о гипотетической программе.

А, чёрт!  smile .
В дизассемблерном файле даже не понятно где кончается стандартный набор Windows функций и начинается текст самой программы  smile .

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


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


Опытный
**


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

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



То есть всё? Пиши пропало?
У меня есть такой пример: давным давно (ну поехали...) когда мне нравилась игра WarCraft3 и я в неё играл (и сейчас нравится) я встречал программу AMAI, сделанную поклонниками игры (как я слышал), которую нужно было устанавливать поверх игры и представляла она из себя противника который был гораздо сильнее компьютера от самого разроботчика игры "Blizzard".
Так вот, это правда фанаты дизассемблировали игру и создали к ней приложение AMAI (ужас! игра весит около гигабайта!) или вероятнее это продукт от "Blizzard"?

Это сообщение отредактировал(а) KaraKum - 3.12.2007, 18:21
PM MAIL WWW   Вверх
SABROG
Дата 3.12.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


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

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



Зависит от твоих задач. "Поклонники" и алгоритм запаковки определят и структуру файла и библиотеку напишут для распаковки и хуки расставят в нужных местах, чтобы найти адрес где вызывается искусственный интеллект и напишут свой интеллект, и напишут патчер памяти, чтобы приаттачиться к процессу и заменить 4 байта адреса оригинального AI на свой.

Мало кто дизассемблирует программу, чтобы понять какой алгоритм защиты стоит и попробывать найти в нем уязвимости. Обычно все идут по пути меньшего сопротивления, ищут слабые места, такие как поиск условий при которых программа думает, что она зарегистрирована.

Это сообщение отредактировал(а) SABROG - 3.12.2007, 18:37


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


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


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

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



Цитата(KaraKum @  3.12.2007,  18:21 Найти цитируемый пост)
То есть всё? Пиши пропало?

нет конечно
тут важны 3 составляющие: время, голова, желание  smile 


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

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


Опытный
**


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

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



В принципе моя задача по принципу как у "поклонников": создать приложение к уже существующей программе и получить возможность получать данные о некоторых внутренних для программы объектах.
Получается мне остаётся до конца освоить ассемблер (немножко уже знаю!  smile   smile ), узнать что такое алгоритм запаковки, библиотека для распаковки, жуки, патчер памяти и приаттачиваться и всё я буду  smile ?
PM MAIL WWW   Вверх
Dims
Дата 3.12.2007, 19:26 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



На современных технологиях, в автоматическом режиме, это невозможно.

Дело в том, что когда компьютер переводит с языка Си++ на машинный язык (это называется "компилированием") он выполняет операцию, которую можно было бы называть "аналитической". Он берёт конструкции на языке высокого уровня (например, Си++) и разбивает их на элементарные составляющие (машинные команды). 

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

А вот обратную операцию, которую можно было бы назвать "синтетической", компьютеры решают плохо. Сюда относится и обратный перевод с машинного языка, и распознавание образов и речи. Многие из этих задач традиционно относятся к сфере так называемого "искусственного интеллекта". Эти задачи состоят в том, чтобы агрегировать множество частностей (например, машинных команд или пикселей) и распознать в них целостный образ (например, конструкцию языка Си++ или напечатанную букву).

Интересно заметить, что люди характеризуются обратным свойством: даже самые бестолковые из нас легко распознают образы (например, узнают знакомые лица, картины, символы и другое), и с большим трудом раскладывают образ на составляющие (например, способны узнаваемо нарисовать своего приятеля или выразить в словах какое-то переживание или впечатление).
PM MAIL   Вверх
KaraKum
Дата 3.12.2007, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Мда. Не обнадёживающий прогноз.
Можете посоветовать какую-нибудь литературу, что поможет в данном вопросе? Я вроде освоил ассемблер по учебнику В Юров. Assembler, но слова библиотека распаковки, жуки, приаттачиваться и патчер памяти для меня новые  smile .
PM MAIL WWW   Вверх
bsa
Дата 3.12.2007, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Dims @ 3.12.2007,  19:26)
Дело в том, что когда компьютер переводит с языка Си++ на машинный язык (это называется "компилированием") он выполняет операцию, которую можно было бы называть "аналитической". Он берёт конструкции на языке высокого уровня (например, Си++) и разбивает их на элементарные составляющие (машинные команды).

Если бы все было именно так, то давно бы были написаны декомпиляторы для всех компиляторов (конечно, шаблоны они бы не восстанавливали).
Компиляторы не просто раскладывают на "элементарные составляющие", но еще и оптимизируют. Так вот иногда после оптимизации код становится совершенно непохожим на оригинал.
Кому интересно, соберите какой-нибудь проект на C++ с помощью GCC указав опции -O2 -g3 (оптимизация + отладка) и попробуйте пройтись отладчиком. Будете сильно удивлены поведению отладчика. Я, например, как-то пол дня потратил на то, чтобы понять, почему у меня не входит в тело оператора if, хотя судя по переменным должно было.

Добавлено через 2 минуты и 16 секунд
Цитата(KaraKum @ 3.12.2007,  20:20)
но слова библиотека распаковки, жуки, приаттачиваться и патчер памяти для меня новые  smile .

не "жуки", а "хуки". Читай "перехватчики".
"Патчер памяти" - это программа, способная изменять память любого процесса.
PM   Вверх
KaraKum
Дата 3.12.2007, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот-вот. Я имею в виду где об этом можно узнать не понаслышке Есть какая-нибудь подходящая для такого дела литература?
PM MAIL WWW   Вверх
MAKCim
Дата 3.12.2007, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



KaraKum
ссылки на другие форумы - это конечно не хорошо, но все-таки советую заглянуть сюда


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

PM MAIL   Вверх
Dims
Дата 4.12.2007, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(bsa @  3.12.2007,  20:23 Найти цитируемый пост)
Если бы все было именно так, то давно бы были написаны декомпиляторы для всех компиляторов (конечно, шаблоны они бы не восстанавливали).

Давным давно я что-то такое встречал. Когда ещё оптимизаторов было мало.
PM MAIL   Вверх
SABROG
Дата 4.12.2007, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


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

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



Цитата(KaraKum @ 3.12.2007,  20:34)
Вот-вот. Я имею в виду где об этом можно узнать не понаслышке Есть какая-нибудь подходящая для такого дела литература?

Подумай лишний раз надо это тебе или нет. Многим геймерам хватает ArtMoney.
Я как-то в эти дебри лазил, использовал SoftIce, IDA Pro, программы для снятия дампа памяти процесса, чтобы на винт сбросить ту же программу в exe файл, но уже полностью распакованную.
Писал патчеры/тренеры на fasme, изучал алгоритмы шифрования, чтобы редактировать save файлы и т.п. Просто занимался кряком программ, кейгенами. 

Но, чтобы серьезно этим заниматься жизни не хватит и надо иметь математический склад ума.
Разработчики защит тоже на месте не стоят, один gameguard чего стоит, пока драйвер клавиатуры и мышки не напишешь ничего не сделать, они ведь ко всему прочему еще под каждую игру свою версию выпускают, поэтому универсальных патчей нету. 

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


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


Опытный
**


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

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



С помощью какой программы можно дизассемблировать .exe файлы?
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

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

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

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

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


 




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


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

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