Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   декомпиляция файла (http://forum.oszone.net/showthread.php?t=215883)

vlasoft 18-09-2011 09:27 1755244

декомпиляция файла
 
Мне нужно декомпилировать один файл в котором содержится алгоритм кодирования файла в определенный формат. Мне нужно как то вытащит этот алгоритм, но я не знаю как! Из за того что мне исходники не доступны,
то я думаю что стоит прибегнуть дизасамблеру с последующей конвертацией в более высший язык программирования! Получится у меня это? Если да то какие программы для этого подойдут?

P.S. Если я нарушил какое то правило то не закрывайте тему т.к. мне нужен ответ срочно!

lxa85 18-09-2011 10:04 1755266

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

vlasoft 18-09-2011 10:08 1755268

Ну а как тогда быть? Если мне нужно получить этот алгоритм из .dll библиотеки!?

Delirium 18-09-2011 11:57 1755324

Цитата:

Цитата vlasoft
Если мне нужно получить этот алгоритм из .dll библиотеки »

Подключай библиотеку к проекту и попробуй использовать ее функции, если получится.

vlasoft 18-09-2011 12:36 1755350

Цитата:

Цитата Delirium
Подключай библиотеку к проекту и попробуй использовать ее функции, если получится. »

К какому проекту? Как подключить? Это библиотека игры в которой как я думаю храянятся алгоритмы!

PhilB 18-09-2011 23:41 1755746

Что значит получить алгоритм? Ну получите вы код на ассемблере (пускай даже и на си), но что он вам даст? Что вы от него хотите?
Прежде чем решать задачу, ее необходимо корректно поставить. А как гласит мудрость, правильно поставленный вопрос - уже половина решения.

vlasoft 19-09-2011 07:42 1755834

Цитата:

Цитата PhilB
Что значит получить алгоритм? Ну получите вы код на ассемблере (пускай даже и на си), но что он вам даст? Что вы от него хотите?
Прежде чем решать задачу, ее необходимо корректно поставить. А как гласит мудрость, правильно поставленный вопрос - уже половина решения. »

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

yurfed 19-09-2011 08:00 1755842

Цитата:

Цитата vlasoft
Ну а как тогда быть? »

Пользуйтесь дебагерами
SoftIce
OllyDbg
http://cracklab.ru/download.php?action=list&n=MTA=

vlasoft 19-09-2011 17:36 1756257

Цитата:

Цитата yurfed
Пользуйтесь дебагерами »

а как ими работать?

lxa85 19-09-2011 18:00 1756277

vlasoft, использование низкоуровневых дебагеров, а другие здесь просто неприменимы, необходимы хорошие знание ассемблера и понимание внутреннего устройства и работы компьютера.

Drongo 19-09-2011 18:13 1756286

Цитата:

Цитата lxa85
необходимы хорошие знание ассемблера и понимание внутреннего устройства и работы компьютера. »

Cогласен. Но в этом случае ему будет проще самому написать свою версию аналога, чем дизассемблить.
Цитата:

Цитата vlasoft
думаю что стоит прибегнуть дизасамблеру с последующей конвертацией в более высший язык программирования! Получится у меня это? »

Ответ в принципе дан - нет. Максимум что покажут декомпиляторы это адрес вызова функции, её имя, но не саму реализацию функции.

vlasoft 19-09-2011 18:15 1756287

Ну так как тогда быть??

PhilB 19-09-2011 18:56 1756307

Для начала стоит определиться какую задачу вы решаете.
Здесь возможно 2 варианта
1. прикладную - вам надо закодировать/раскодировать архив. Тогда необходимо использовать dll, подключив к своему проекту. Хотя это не всегда возможно.
2. фундаментальную (в данном случае - исследовательскую) - вы хотите понять принцип работы алгоритма. Тогда для начала надо изучить мат часть. Ассемблер, организацию ЭВМ, аритектуры и т.д... Пока вы изучите, вам этот алгоритм перестанет быть нужным, зато ... вы будете знать матчасть, она вам может еще не раз пригодится.

Флеймовато получилось...

vlasoft 19-09-2011 18:59 1756311

Скорее 1 т.к. мне нужно раскодировать архивы!


Время: 07:46.

Время: 07:46.
© OSzone.net 2001-