Форум: "Основная";
Текущий архив: 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.034 c