forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   декомпилятор? (http://forum.boolean.name/showthread.php?t=6069)

zheland 02.07.2008 16:21

декомпилятор?
 
Где найти !хороший! декомпилятор для C++!!!
p.s. Я конечно понимаю, что многое востановить нелязя,
но всё-таки хочу, что-бы код прочесть я смог.
p.s2 надо что-бы dll-ки тоже декомпилировал.

ViNT 02.07.2008 21:08

Ответ: декомпилятор?
 
Хорошего декомпилятора C++ думаю не существует. Нормально на данный момент декомпилить можно только то, что выполняется на виртуальных машинах(java? VB и т.д.), а C++ генерит нативный код. Вообще читал про два вирианта:
1) Сначала получить код на ассемблере(с этим проблем быть не должно).
Далее, якобы существуют конвертеры из ассемблерного кода в C++, но стоят они очень дорого.
2) Есть какой-то плагин к IDA, название что-то вроде HexRays, вроде говорят, что дает неплохой код на C++, хотя слабо верится.

jimon 02.07.2008 21:58

Ответ: декомпилятор?
 
drunnik
нету таких :) забудь, можно в сишный код перевести, но врядли можно в c++

Tadeus 02.07.2008 22:18

Ответ: декомпилятор?
 
Вся трабла в том, что в АСМе нет переменных как таковых :)

zheland 02.07.2008 22:55

Ответ: декомпилятор?
 
Да мне хоть с адресами(вместо переменных),
хоть с адресами(вместо меток),
хоть с адресами(вместо функций),
хоть перезапутано(...),
хоть-бы понять как работает программа.

ViNT 02.07.2008 22:57

Ответ: декомпилятор?
 
Ну если речь идет об анализе, то можно попробовать HexRay. Вот, кстати, статейка по поводу HexRay и декомпиляции вообще.
http://www.xakep.ru/post/42769/default.asp

jimon 02.07.2008 23:24

Ответ: декомпилятор?
 
drunnik
такие вещи как наследие (множественое наследие),структуры, функции и прочий бред (даже банальный switch) врядли можно востановить
как они компилируются - сильно зависит от компилятора
притом в некоторых случаях компилируются они безвозвратно
делай дизасм и изучай asm код - проще будет :)
притом тот же HexRays превращает asm код в C код который даже не компилируется
про C++ код видимо стоит даже забыть

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

zheland 03.07.2008 10:56

Ответ: декомпилятор?
 
Я просто хотел посмотреть на устройство OpenGl32.dll

jimon 03.07.2008 12:49

Ответ: декомпилятор?
 
drunnik
ну обращается она с драйверами и ничего больше

должно быть всё понятно из етой картинки
http://gamedev.csportal.ru/pictures/...8_11_pic_1.png
(картинка для драйверов ati , с nvidia схожая схема)

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

если уж так хочется - напиши свой рендер 3д графики

ps. opengl это только стандарт, есть разные реализации
вот к примеру под линукс http://www.mesa3d.org/ (это реализация с открым исходником)

Alex_90 09.08.2008 20:44

Ответ: декомпилятор?
 
Был бы у меня декомпилятор, я бы декомпилировал Office, в окне "Об авторе" написал бы вместо Microsoft [своя фамилия]Office и стал бы богаче Билла...


Часовой пояс GMT +4, время: 17:44.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot