![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
regis |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 12.12.2005 Где: Москва, Россия Репутация: 2 Всего: 7 |
Ну вот, например, стандартная U*X-овская утилита "objdump" умеет (в числе прочего) и дисассемблировать машинный код. Поищите порт под Win -- он работает и с объектными файлами, и с EXE формата PE. Подробнее об этом: http://en.wikipedia.org/wiki/Objdump А по поводу восстановления объектных файлов до исходников на языке высокого уровня, есть старая аналогия: "Это примерно так же просто, как восстановить живую корову из кучи говяжих котлет ." ;) --------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой. |
|||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
сложновато... |
|||
|
||||
Loony |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 6.12.2007 Репутация: нет Всего: нет |
А какого рода приложение и с какой целью это делается? Возможно уже есть SDK от разработчиков! |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Ну вот буквально недельку назад небеизвестная в определённых кругах группа YAG зарелизила декомпилер от Ильфака(автор IDA) стоимостью 2k$.
Вот примерчик: ![]() А вот результата работы над той же функцией шестнадцатиричныхлучей: ![]() Так, что можешь найти сие творение гениальных рук без проблем и облегчить себе жизнь, если совесть позволит конечно ![]() -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Loony |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 6.12.2007 Репутация: нет Всего: нет |
Помоему ему это не очень подходит! Получит он кучу ассемблерных листингов и что делать будет с ними!? Тут должны помочь либо IDA, либо Olly, т.е. дабагер. Только все равно тут работы, в зависимости от сложности защиты программы и наличия необходимых знаний, от нескольких дней до бесконечности! Имхо, не простая это задача в наше время! Это сообщение отредактировал(а) Loony - 7.12.2007, 13:59 |
|||
|
||||
Puoar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.11.2007 Репутация: нет Всего: 1 |
А я видел bat2asm от китайских вундеркиндов
|
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 4 Всего: 91 |
Скажем так, сейчас все языки программирования это HLL2ASM, а вот обратное фиг. Только Hex Rays, да и то из того что я увидел врятли он сильно поможет. Это сообщение отредактировал(а) SABROG - 7.12.2007, 15:50 |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
exe2compilable_source - это сказка. В любом случае надо обтачивать результат руками и тут у HexRays проблемы, ибо интерактивность листинга с Pseudocode фактически нулевая. В любом случае сначала надо поработать над asm-листингом, а далее уже и псевдокод можно до ума довести. Т.е. без знания ассемблера и процесса дизассемблирования опять же никуда. Но плагин очень хороший, тем более пока только первая версия, если такие вот сливы на паблик не снизят инициативы в его развитии, со стороны автора, то продукт обещает быть очень полезным. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
KaraKum |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Основы ассемблера я знаю, но если будет нужно, то освою и весь - дело того стоит, но проблема в том, что я, например, скомпилировав такое консольное приложение :
после его дизассемблирования получил текстовый файл размером почти 2 мегабайта! Это же роман "Война и мир"! Я понимаю, что и на ассемблере этот фрагмент состоит из нескольких строк, а остальное занимает код стандартных функций Windows, но всё же... Это сообщение отредактировал(а) KaraKum - 9.12.2007, 07:55 |
||||
|
|||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
что все же? ![]()
кроме ассемблера обязательно нужно знание формата исполняемых файлов (или библиотек) тогда можно быстро отметать ненужную тебе информацию -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Visual C++ 7. Никакие настройки не менял. Есть возможность сократить размер конечного файла? |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Да. Раз у тебя визуалка, просмотри настройки компилятора, там их не мало и скомпиль в релиз-варианте. |
|||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: 1 Всего: 1 |
Вобщем, всё что нужно - это возможность получать информацию о динамическом изменении уже созданной программы и способность отправлять этой программе сообщения, подобно пользователю. Проблема заключается в получении информации из работающей программы. Декомпилированный .exe файл этой программы весит 7Mb в текстовом формате ![]() Это сообщение отредактировал(а) KaraKum - 11.12.2007, 19:06 |
|||
|
||||
Lycifer |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 144 Регистрация: 4.11.2007 Репутация: нет Всего: нет |
Конечно, так как С++ тянет всё что ему пожелается(то и есть заголовочные файлы, стандартные функции...) Дизассемблер тебе не поможет понять логику. Можеш использовать отладчики(sowt-ice, с его установкой помочь не могу), ну или встроеный в Windows Debug(то и есть (отладчик==дзенщик)=true) ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |