Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.22;
Скачать: CL | DM;

Вниз

Стоит ли шифровать dll ку   Найти похожие ветки 

 
TStas ©   (2006-10-02 17:08) [0]

Годится ли в качестве метода защиты приложения явная загрузка dll"ки, кторая расшифровывается перед загрузкой? Неужели и это вскроют?


 
Ketmar ©   (2006-10-02 17:10) [1]

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


 
Reindeer Moss Eater ©   (2006-10-02 17:14) [2]

Зачем дампать?
Она и так будет на диске в чистом виде во время работы.
Иначе не загрузится виндой.


 
TStas ©   (2006-10-02 17:15) [3]

Да, но загрузиться она может лишь у законного пользователя. Хороший же шифр "по книге", а в качестве "книги" беру любой файл от балды. Она ведь тогда не загрузится у ворюги, что, собственно, и требуется. Разьве не так?


 
TStas ©   (2006-10-02 17:16) [4]

>Reindeer Moss Eater ©
Да, но раскодировать ее можно в произвольное место
А насчет электронных ключей: ведь тоже вырезают же


 
Oldman ©   (2006-10-02 17:18) [5]

ворюга сопрет и ехе и dll и файл-книгу :)))
Или ты хочешь писать юзерам "шоб моя прога работала скопируйте в каталог N файл М"? Башку оторвут! Я бы оторвал!!!


 
TStas ©   (2006-10-02 17:21) [6]

Нет, ничего никуда, конечно, не пишется. Ставлю сам. Важно, чтоб не вскрыли.


 
Ketmar ©   (2006-10-02 17:21) [7]

если "ворюга" сопрёт программу, то что ему мешает спереть и пароли? %-)


 
MacroDenS ©   (2006-10-02 17:24) [8]

универсальная защита существует - после создания проги уничтожить ее вместе с исходниками - тогда точно никто не поломает. Правда есть обратная сторона - никто и не попользуется.


 
Oldman ©   (2006-10-02 17:27) [9]


> TStas ©   (02.10.06 17:21) [6]
> Нет, ничего никуда, конечно, не пишется. Ставлю сам.

Значит, юзеров немного.
Значит, сам вора вычмсляй!


 
Reindeer Moss Eater ©   (2006-10-02 17:29) [10]

Да, но раскодировать ее можно в произвольное место

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


 
TStas ©   (2006-10-02 17:32) [11]

Дык а чего всеж делать-то?


 
Ketmar ©   (2006-10-02 17:33) [12]

не шифровать и не защищать.


 
Oldman ©   (2006-10-02 17:41) [13]


> TStas ©   (02.10.06 17:32) [11]
> Дык а чего всеж делать-то?


Я делал проще:
При покупке моей проги я ее перекомпилил для данного юзера так, что в уголке стоял лабел с надписью "копия № N".
Конечно, для каждого юзера N разное.
И честно предупреждал: увижу ворованную копию N - башку оторву!
И заставлял подписывать соответствующий договор.


 
Oldman ©   (2006-10-02 17:46) [14]

Продолжим:

1. Вся цифровая защита снимается. Некоторая за 5 минут, некоторая за 15...
2. Вся защита, основанная на правовых отношениях снимается только с угрозой снявшему.
3. Если стоимость защиты соизмерима со стоимостью продукта, легче продать 20 продуктов и плюнуть, что 2 украдут.


 
Ученик чародея.   (2006-10-02 19:30) [15]


> TStas ©   (02.10.06 17:08)  
> Годится ли в качестве метода защиты приложения явная загрузка
> dll"ки, кторая расшифровывается перед загрузкой? Неужели
> и это вскроют?


Да, лучший способ защиты, который используют такие компании как Starforce, Safedisk... Но ломается элементарно.

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


 
umbra ©   (2006-10-02 19:40) [16]


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

тут то клиенты и бросятся свою конфиденциальную инфу через интернет качать на какой-то сервер :)


 
Ученик чародея.   (2006-10-02 19:41) [17]

Если просто вычислить кому принадлежит копия то генерация невостановимого ключа.


function ParseRegKey(Username:string;MK1,MK2,MK3,MK4:longword):string;
var ulen:integer;
var RegKey:array[1..8] of byte;
var i:integer;
var CurrentVal:int64;
var RegString:string;
var Bptr:PByteArray;
begin
 try
   ulen:=Length(Username);
   if ulen>=8 then
     begin
     //clear Regkey
     for i:=1 to 8 do
       RegKey[i]:=0;
     //
     CurrentVal:=1;
     Bptr:=@CurrentVal;
     //calculate regkey
     for i:=1 to ulen do
       begin
       CurrentVal:=CurrentVal*Byte(Username[i]);
       //check on zero
       if CurrentVal=0 then  CurrentVal:=$7F;
       //mul on magic numbers
       CurrentVal:=CurrentVal*MK1;
       CurrentVal:=CurrentVal*MK2;
       CurrentVal:=CurrentVal*MK3;
       CurrentVal:=CurrentVal*MK4;
       //store CurrentVal to regkey

       RegKey[((i-1) mod 8)+1]:=RegKey[((i-1) mod 8)+1]+Bptr[7];
       end;
     //regkey to string
     RegString:="";
     for i:=1 to 8 do
       RegString:=RegString+IntToHex(RegKey[i],2);
     //
     Result:=RegString;
     end
   else
     Result:="need 8 digits or more";
 except on E:Exception do
   begin
   Result:="Error";
   end;
 end;
end;


Username:string; Имя пользователя/организации

MK1,MK2,MK3,MK4:longword ключи программы

Тоесть имеем комбинацию "Имя" "Reg". Если сопрут будешь знать откуда.


 
TStas ©   (2006-10-02 21:21) [18]

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

Вот так я сейчас и делаю. Но глупо же. И сколько я так денег с этого получу? Зарплату и все? А результат работы проги - документы на создание фирм и ЛЮБЫЕ изменения. Притом она тестирована через 46-ю налоговую, т. е. проверена лучше некуда. Почти 20 фирм она сделала документы на регистрацию и штук десять - на изменения, в т. ч. договора продажи доли сама пишет.

Мне кто-то дал сцылку на сайт, где ключи электронные продают, только ключи режутся легко. Советовали убивать шаблоны. Мысль хорошая. Только процедура убивства шаблонов, как и любая другая, режется.

И чего делать?


 
jack128 ©   (2006-10-02 22:55) [19]

TStas ©   (02.10.06 21:21) [18]
Мне кто-то дал сцылку на сайт, где ключи электронные продают,

Яндекс подаст. Ключевые слова: Алладин или Актив.



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

Текущий архив: 2006.10.22;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.029 c
2-1159858909
DevilDevil
2006-10-03 11:01
2006.10.22
OnClick() VS OnDblClick()


15-1159470172
EkZot
2006-09-28 23:02
2006.10.22
Как прервать цикл for


4-1149177664
DeStranger
2006-06-01 20:01
2006.10.22
Как заставить систему воспринимать USB порт как COM


3-1156506680
иван8511
2006-08-25 15:51
2006.10.22
Перехватить ошибку Key violation


1-1157794682
yahaha
2006-09-09 13:38
2006.10.22
Webbrowser