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

Вниз

Защита программы   Найти похожие ветки 

 
$tranger ©   (2004-03-15 20:21) [0]

Господа, есть программы для декомпилирования ЕХЕ-шника в исходники, возможно-ли и если да, то как защититься от взлома. Спасибо


 
YuRock ©   (2004-03-15 20:23) [1]

Никак :)

Самая действенная защита - отсутствие поддержки


 
Юрий Зотов ©   (2004-03-15 20:26) [2]

Программ для полной и точной декомпиляции не существует. Но скажите - а Вы уже написали ТАКУЮ программу, которую вообще станут взламывать? Если еще нет, то, может быть, не стоит и  волноваться?


 
Petr V. Abramov ©   (2004-03-15 21:02) [3]

А если "да" - то запатентовать, и можно хоть OpenSource распространять.


 
Dimaxx ©   (2004-03-15 22:36) [4]

Есть программа DeDe - декомпилит экзешник обратно в проект, но он весь на ассемблере. Мусора там...


 
EXE7   (2004-03-16 00:20) [5]

DeDE-форму получить,
а код грязный - ассем,и не скармливается,
не собирается в TASM-MASM...


 
Defunct ©   (2004-03-16 01:02) [6]

> возможно-ли и если да, то как защититься от взлома.

Полностью защититься нельзя, ломается все. Можно только увеличить время, требуемое на взлом. пара простых способов:
1. В случайных местах программы отлавливать режим трассировки, и "подвешивать" машину в случае оного.
2. Взывать, в теле важных процедур, процедуру сверки контрольных данных (ключа), которая в случае несовпадения, например заносит в стек что-то левое, и в большом количестве (при этом перед возвратом стек не восстанавливает).
3. Шивровать какой-то критический код программы, распаковывать в стек, там же и расшифровывать, там же и вылонять.
4. Шифровать какие-то жизненно важные для программы данные, например если работа с БД, шифровать на низком уровне саму БД (записть и чтение файла БД).

Проблемы: как получить ключ шифрования, иными словами к чему привязывать программу.
A. Идеальные вариант - аппаратный ключ (USB или LPT заглушка, на базарном языке - Hardlock), стоит порядка 30 убитых енотов.
B. Сведения из FirmWare устройств (например серийный номер винчестера + серийный номер процессора(если есть)).
C. Какие-то системные области, например метка тома диска, идентификационный номер раздела диска, версия и дата создания BIOS и т.п.

Комбинация: 1+2+3+A сломать очень сложно (затраты на взлом для группы профессионалов: более 6 месяцев)

Комбинация: 2+C ломается профессионалами за пару дней, но рядовому пользователю практически не под силу.

Так что защищайтесь, если в этом есть необходимость.

Совет дня: никогда не делайте полнофункциональных Demo версий ваших программ. Отключайте (причем полным выкусыванием кода из программы какие-то второстепенные функции, например, сохранение файлов).


 
Defunct ©   (2004-03-16 01:30) [7]

Немного о серийных номерах программ, что это такое и зачем оно нужно.

Все мы видели, например, при инсталляции Windows или MS-Office приглашение ввести серийный номер сл. вида
KAKAЯ-ТОХИТ-РАЯБА-ЙДАИЗ-КУЧИБ-УКВ55
Это есть символьный код с высокой избыточностью, который в результате некоторых простых арифметических действий превращаятся в 32-х или 64-х битный цифровой код, одним из значений будет значение, требуемое для правильной распаковки какого-то блока программы, все остальные значения - вызывают отрицательную реакцию. Вероятность угадать такой символьный код очень мала соответственно 1/2^32 и 1/2^64.
Как правило существует множество (зависит от планов компании производителя на количество копий продукта) символьных кодов, соответствующийх одному и тому же значению цифрового кода.

Зачем этот код нужен? - для идентификации копии программы.
Как он влияет на защиту программы? - позволяет выявить несанкционированные копии программы в случае обращения в службу поддержки.
Где он участвует? - складывается со значением аппаратного либо друго ключей см A, B, C [6].



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

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

Наверх





Память: 0.46 MB
Время: 0.038 c
1-1079416363
olegy
2004-03-16 08:52
2004.04.04
frame


3-1078773828
ceval
2004-03-08 22:23
2004.04.04
как названия поля сделать по середине


14-1078989405
Sedunov Vitaly
2004-03-11 10:16
2004.04.04
EhLib. Где скачать версию старше 2.5?


11-1058260237
anonymous
2003-07-15 13:10
2004.04.04
Как создать форму которая имеется в списке available forms ?


14-1078927349
MPS
2004-03-10 17:02
2004.04.04
Как просто вывести текст на печать в Си++?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский