Показать полную графическую версию : декомпиляция файла
Мне нужно декомпилировать один файл в котором содержится алгоритм кодирования файла в определенный формат. Мне нужно как то вытащит этот алгоритм, но я не знаю как! Из за того что мне исходники не доступны,
то я думаю что стоит прибегнуть дизасамблеру с последующей конвертацией в более высший язык программирования! Получится у меня это? Если да то какие программы для этого подойдут?
P.S. Если я нарушил какое то правило то не закрывайте тему т.к. мне нужен ответ срочно!
Насколько мне известно, не существует дизасемблеров, способных восстановить исходный код в C++ допустим. (При условии, что из С++ получен исполняемый файл) Это объясняется дополнительными обработками кода во время компиляции, как то оптимизация, возможно "запутывание кода" и т.д.
Процесс дизассемблирования нетривиален. Поэтому если нет понимания и опыта работы с ассемблером, не говоря про язык высокого уровня, декомпиляция файла невозможна.
Ну а как тогда быть? Если мне нужно получить этот алгоритм из .dll библиотеки!?
Delirium
18-09-2011, 11:57
Если мне нужно получить этот алгоритм из .dll библиотеки »
Подключай библиотеку к проекту и попробуй использовать ее функции, если получится.
Подключай библиотеку к проекту и попробуй использовать ее функции, если получится. »
К какому проекту? Как подключить? Это библиотека игры в которой как я думаю храянятся алгоритмы!
Что значит получить алгоритм? Ну получите вы код на ассемблере (пускай даже и на си), но что он вам даст? Что вы от него хотите?
Прежде чем решать задачу, ее необходимо корректно поставить. А как гласит мудрость, правильно поставленный вопрос - уже половина решения.
Что значит получить алгоритм? Ну получите вы код на ассемблере (пускай даже и на си), но что он вам даст? Что вы от него хотите?
Прежде чем решать задачу, ее необходимо корректно поставить. А как гласит мудрость, правильно поставленный вопрос - уже половина решения. »
Мне нужно понять алгоритм кодирования игрового архива! т.е. я думаю что с помощью этой библиотеки кодируется и зашифровывается игровой архив!
Ну а как тогда быть? »
Пользуйтесь дебагерами
SoftIce (http://cracklab.ru/art/?action=view&id=281)
OllyDbg (http://cracklab.ru/download.php?action=get&n=OTY1)
http://cracklab.ru/download.php?action=list&n=MTA=
Пользуйтесь дебагерами »
а как ими работать?
vlasoft, использование низкоуровневых дебагеров, а другие здесь просто неприменимы, необходимы хорошие знание ассемблера и понимание внутреннего устройства и работы компьютера.
необходимы хорошие знание ассемблера и понимание внутреннего устройства и работы компьютера. »Cогласен. Но в этом случае ему будет проще самому написать свою версию аналога, чем дизассемблить.думаю что стоит прибегнуть дизасамблеру с последующей конвертацией в более высший язык программирования! Получится у меня это? »Ответ в принципе дан - нет. Максимум что покажут декомпиляторы это адрес вызова функции, её имя, но не саму реализацию функции.
Для начала стоит определиться какую задачу вы решаете.
Здесь возможно 2 варианта
1. прикладную - вам надо закодировать/раскодировать архив. Тогда необходимо использовать dll, подключив к своему проекту. Хотя это не всегда возможно.
2. фундаментальную (в данном случае - исследовательскую) - вы хотите понять принцип работы алгоритма. Тогда для начала надо изучить мат часть. Ассемблер, организацию ЭВМ, аритектуры и т.д... Пока вы изучите, вам этот алгоритм перестанет быть нужным, зато ... вы будете знать матчасть, она вам может еще не раз пригодится.
Флеймовато получилось...
Скорее 1 т.к. мне нужно раскодировать архивы!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.