Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Вниз

Можно ли декомпилировать программу?   Найти похожие ветки 

 
Cossys   (2003-02-21 16:04) [0]

Здравствуйте. Интересует Ваше мнение - можно ли декомпилировать Дельфийскую программу, если можно, то чем, и если можно, то как защитить свое детище.

Всех заранее благодарю за ответ


 
Андрей Сенченко   (2003-02-21 16:06) [1]

Можно
DeDe
никак практически


 
Asteroid   (2003-02-21 17:00) [2]

Имхо можно любую, но таких особо умных прог еще нет. Защиты, впрочем, тоже почти нет. Можно только сделать множество мелких неудобств взламывающему.


 
Cossys   (2003-02-21 17:32) [3]

Ссылочку не дадите на взламывающие проги. И мне интересно, как оно все будет выглядеть после декомпиляции?

Можно только сделать множество мелких неудобств взламывающему Как?


 
LongIsland   (2003-02-21 17:51) [4]


> Cossys © (21.02.03 17:32)
> Как?

Могу присоветовать Касперского "Техника и философия хаккерских атак".

И еще. Программу можно ДЕЗАССЕМБЛИРОВАТЬ, но не ДЕКОМПИЛИРОВАТЬ


 
ION T   (2003-02-21 18:54) [5]


> И еще. Программу можно ДЕЗАССЕМБЛИРОВАТЬ, но не ДЕКОМПИЛИРОВАТЬ

Это смотря с какой стороны посмотреть. Может для меня ассемблер второй родной язык, и тогда дизассемблированная программа становится декомпилированой....

Кстати DeDe накрылась медным тазом :((


 
Asteroid   (2003-02-21 20:23) [6]

> Программу можно ДЕЗАССЕМБЛИРОВАТЬ, но не ДЕКОМПИЛИРОВАТЬ

Суть декомпилятора в том, чтобы получившийся ассемблерный код перевести в язык более высокого уровня. Если бы было известно, какой генерят код отдельно взятые компиляторы, имхо, к ним можно было бы написать декомпилятор.


 
Юрий Зотов   (2003-02-22 00:47) [7]

> Можно ли декомпилировать программу?

Можно, особенно если она скомпилирована с debug info. Но взглянув на результат Вы либо засмеетесь, либо заплачете. Потому что КАЧЕСТВЕННО декомпилировать программу нельзя - это неоднозначная задача. Попробуйте - убедитесь сами.

Почти то же самое относится и к д И зассемблерам. Их задача намного проще, поэтому и результат намного лучше - но никакой дизассемблер не в состоянии отличить код от данных, если они идут вперемешку. В итоге и к листингу дизассемблера тоже требуется небольшое приложение в виде хорошей и грамотной программистской головы.


 
Asteroid   (2003-02-22 14:53) [8]

> Юрий Зотов © (22.02.03 00:47)
По идее можно трассировать программу и выявить, что есть данные, а что - код. Так что проблема N2 решаема.

Естественно, исходный код программы не получится. Но что-то его напоминающее и компилирующееся обратно получиться может.


 
Ihor Osov'yak   (2003-02-22 15:03) [9]

2 Asteroid © (22.02.03 14:53)

Вот когда я еще относительно молод - дело было примерно в 93, востанавливал исходный текст паскалевской (от пятого) программы. Было около 50к бинарника. Ушло почти два месяца. Изо дня в день. Занимался только этим. Бинарник после компиляции получался один к одному. То есть теоритически можно, но практически нереально. Кто это дело финансировать будет? Сейчас наверно это немного легше делать - во всяком случае видно имена импортируемых функций, но все-же...


 
Ketmar   (2003-02-22 15:12) [10]

>Ihor Osov"yak © (22.02.03 15:03)
у-у-у... для BP -- реально. потому что он не оптимизирует код. для любого более-менее оптимизирующего компилятора... мда. задача становится настолько сложной, что вряд ли имеет смысл пытаться её решить.

Satanas Nobiscum! 22-Feb-XXXVIII A.S.


 
Юрий Зотов   (2003-02-22 15:23) [11]

Как то разбирался я с одним DOS"овским COM"ом. Бинарник был ровно 64 К. Листинг дизассемблера - 1.3 метра. Местами (как раз там, где данные) - полный бред. В итоге, конечно, разобрался, но потратил около месяца.


 
Ihor Osov'yak   (2003-02-22 15:29) [12]

> что вряд ли имеет смысл пытаться её решить.

Вот с этим согласен. Почему я тогда декомпиляцией занимался. Нужно было решить задачу, мне она несколько сложноватой показалась. Был утиль, который делал почти то что нужно, но слегка глючавил... Так вот, решил его декомпильнуть... А на пол-пути сворачавать не хотелось... Хотя бы сейчас в аналогичной ситуации все же пытался бы решить задачу самостоятельно.. Но тогда ни инета, никакого доступа к инфо практически небыло...
.. Но контора тогда на этом уйму денег сэкономила... Зарплату естестетвенно этих два месяца я тоже получал...


 
gsu   (2003-02-22 15:33) [13]

>> то как защитить свое детище.
А hasp, e-token, .. ключи не подойдут ?


 
Ihor Osov'yak   (2003-02-22 15:44) [14]

в дополнение Ihor Osov"yak © (22.02.03 15:29)


утиль то по нынешним временам как-бы фри была, да и автора неизвестного..


 
Cossys   (2003-02-24 18:58) [15]

Всем спасибо!


 
Anatoly Podgoretsky   (2003-02-24 19:03) [16]

Юрий Зотов © (22.02.03 15:23)
Сложность возрастает с геометрической прогрессией


 
Mihey   (2003-02-24 20:23) [17]

Нафиг надо...


 
Игорь Шевченко   (2003-02-25 11:26) [18]

Юрий Зотов © (22.02.03 15:23)

В отличие от досовских бинарников, компилятор языка высокого уровня производит достаточно детерминированный машинный код и при некотором желании из машинного кода можно не слишком напрягаясь, получить исходный. Особенно для Delphi, да еще и без оптимизации.

С уважением,


 
Ketmar   (2003-02-25 11:47) [19]

>Игорь Шевченко © (25.02.03 11:26)
у... "без оптимизации"... а С оной?

Satanas Nobiscum! 25-Feb-XXXVIII A.S.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.008 c
1-39389
denis24
2003-03-02 17:35
2003.03.13
обращение к имени к компонентам в цикле


14-39552
Mixan
2003-02-26 20:41
2003.03.13
А как посмотреть только свои сообщения


1-39380
KpeHgeJIb
2003-03-01 22:13
2003.03.13
Как сделать так чтобы за курсором мыши тянулась картинка?


1-39363
Beglec
2003-03-01 21:09
2003.03.13
Почему и зачем требуется файл qtintf.dll


1-39336
Tundra
2003-02-28 17:44
2003.03.13
Как выполнить выражение содержащиеся в строке.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский