![]()
Iron
Листовой
![]() ![]() offline
Опыт:
24,427Активность: |
Dragoon Ну ты и загнул.
Цитата:
А кто и на чем mdlvis делает ? |
|
![]() |
#21
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Алексей
Где кошачья мята?!
![]() ![]() offline
Опыт:
26,303Активность: |
В том-то и дело, что Delphi использует множество СТАНДАРТНЫХ библиотек. Они, будучи влинкованы в exe-файл, тривиально "вычисляются" шаблонным поиском (соответственно, всегда можно установить, какие функции вызываются). И почему ты думаешь, что декомпиляторов до сих пор не придумано? Наоборот, их существует множество - практически под все языки программирования. Google выдаёт несколько тыс. ссылок. Конечно, 90% этих декомпиляторов не выдерживают никакой критики, но есть и вполне работоспособные. Для Delphi'шных программ наилучший - DeDe, он позволяет декомпилировать программы, созданные в Delphi до 6 включительно. Причём они потом нормально компилируются. Более того: он успешно декомпилирует даже упакованные (и шифрованные) программы, т.к. работает не с exe, а с дампом памяти процесса.
Основная проблема в том, что при компиляции теряются комментарии (естественно!), имена переменных и пользовательских процедур. Соответственно, все имена генерируются декомпилятором автоматически (приобретая вид вроде M0041455). Цитата:
|
|
![]() |
#22
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Dragoon
![]() offline
Опыт:
544Активность: |
Я же говорил, " слегка видоизмененный листинг ", а не дизассмеблированный кусок проги....
Цитата:
Скорее я не знаю СИ, так как не знал, что в нем возможны подобные структуры. Просто есть такой ассемблер - MASM. Это что то типа среднеуровневого ассемблера, там существуют упрщения вызовов функций (invoke bla-bla-bla) и другие упрощения, да думаю ты и сам все это знаешь. Я и подумал, что тот листинг, что ты выкинул - для подобного ассемблера... Слишком эти "исходные коды" не соответствуют тому, что привычно видеть в сорсах высокоуровневых языков. P.S. http://xgm.guru/forum/showthread.php?t=3783 После этой статьи готов десять раз забрать слова о том, что ты не знаешь дельфи... Как минимум работу с процессами и памятью ты знаешь лучше меня.... Dragoon добавил: Насчет декомпилирования - добыл DeDe и скормил ему программку, которая выводит MessageBox с всемирно известным текстом... Результатом работы декомпилятора ... стал лишь листинг , содержащий ТОЛЬКО ассемблерное представление всех команд. Т.е. как такового исходного кода не было получено, а было произведено дизассэмблирование с последующими подгонками под язык. |
|
![]() |
#23
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Кет
![]() offline
Опыт:
111,209Активность: |
Dragoon, ты еще с ним подерись:)
важно не то, что именно сделал Алексей, а то, как это можно юзать... |
![]() |
#24
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
NETRAT
![]() ![]() offline
Опыт:
83,712Активность: |
Да, как сказал бы мой старый друг, Алексей - "опасный тип"... Хотя с учетом того, про кого он ранее это говорил, Алексей из них самый "опасный" |
![]() |
#25
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Aspid
![]() ![]() offline
Опыт:
8,361Активность: |
//оффтоп
блин еще один программер. офигеть Т_Т Алексей сенкс, правда для меня это темный лес с маааленькими просветами. |
![]() |
#26
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Алексей
Где кошачья мята?!
![]() ![]() offline
Опыт:
26,303Активность: |
Точнее, результат, выданный DeDe, вероятно, выглядел примерно так:
Код:
Я применял DeDe единственный раз примерно полгода назад (когда утерял исходники MdlVis - они сдохли вместе с винтом). Потратил примерно 2 недели, декомпилировав в итоге не более четверти всего кода. После чего решил, что оно того не стоит - и занялся восстановлением винта (откуда выцарапал-таки всё нужное). |
![]() |
#27
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Dragoon
![]() offline
Опыт:
544Активность: |
А ведь движок вара намного сложнее. Два месяца для декомпилирования это однозначно маловато, 5мб асмовских листингов превращать в удобоваримый код - это лихо. Спасибо за указание на DeDe, попробую с ним разобраться, все-таки он сумел восстановить ресурсные файлы почти целиком, да и асмовский код намного легче редактировать, когда он упорядочен и откомментрирован :) Отредактировано Dragoon, 01.05.2006 в 12:18. |
![]() |
#28
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|