Вниз
Скачать: CL | DM;

записать свою функцию в стороннюю DLL...   Найти похожие ветки 

← →
mr. Faga   (2004-04-10 12:56) [40]


> Digitman ©  


это понятно, осталось тока понять с чего начинать :)))
можешь подсказать как зашифрованный кусок разворачивать и передавать ему управление?


← →
Digitman ©   (2004-04-10 13:26) [41]


> mr. Faga


ты все-таки определись для начала, свою ДЛЛ ты намерен защищать или чужую ... от этого многое зависит ...

кр.того, определись со способами загрузки ДЛЛ : статическая, динамическая, или и то и другое допустимо ... если динамическая, то возможен ли вызов твоим (или не только твоим ?) хост приложением LoadLibraryEx вместо LoadLibrary ..


← →
mr. Faga   (2004-04-10 13:35) [42]


> Digitman ©  


На сколько я понял свою ДЛЛ защищать проще, я прав?
Значит на этом пока и остановлюсь :)
Загрузка будет статическая.
Вот насчет последнего не знаю, скорее всего да, хотя не знаю нужно ли это.


← →
Digitman ©   (2004-04-10 13:41) [43]

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

если же ограничиться защитой только своих библиотечных PE-модулей, то выкрутасы с шифрованием вообще могут и не понадобиться - твоя ДЛЛ в ходе инициализации просто запрашивает у затребовавшего ее загрузку хост-процесса некую конфид.инф-цию, и если таковая отсутствует, то модуль попросту не грузится системой (если при иниц-ции модуля он возвратит системе флаг DLL_INIT_FAILURE)


← →
Digitman ©   (2004-04-10 13:55) [44]

library MyDLL;
...

var
 DefaultDLLProc: Pointer;
...

procedure DLLProcHandler(Reason: Integer);
begin
 case Reason of
   DLL_PROCESS_ATTACH:
     if not некое_условие then
       Halt(1);
 end;
end;

begin
 DefaultDLLProc := DLLProc;
 DLLProc:= @DLLProcHandler;
 DLLProcHandler(DLL_PROCESS_ATTACH);
end.

вот и вся защита)


← →
Digitman ©   (2004-04-10 13:58) [45]

можно и еще проще, если не нужны выкрутасы с Dllmain
library MyDLL;
..
begin
 if not некое_условие then
   Halt(1);
end.


← →
mr. Faga   (2004-04-10 14:02) [46]


> Digitman ©  
> вот и вся защита)


Спасибо!
Хотя хотелось бы понять как сделать вариант с шифровкой/расшифровкой, а то этого, как ты понимаешь, для диплома маловато будет :)))


← →
Digitman ©   (2004-04-10 14:09) [47]


> а то этого, как ты понимаешь, для диплома маловато будет


неужели ?) ... ну эт смотря что подразумевать под некое_условие)

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

а это самое "некое условие" можно трактовать по-разному, в зависимости от четкости определения "несанкционированности использования"


← →
Digitman ©   (2004-04-10 14:18) [48]

если же свет клином сошелся на "что-то шифровать/дешифровать", то могу предложить вариант c шифрованием/дешифрованием ресурсных данных DLL о привязке к конкретной машине ... после создания Dll некая программулина в составе инсталлятора дозаписывает в ресурсы этой Dll зашифрованную инф-цию о привязках к некоей машине ... при своей инициализации Dll по аналогичному алгоритму получает данные о машине, на которой она в дан.момент инициализируется, берет из ресурса шифрованые данные, расшифровывает их, сравнивает с только что полученными. Условие совпадения сравниваемых данных и  есть некое_условие, при несоблюдении которого ты просто говоришь системе "гуд бай", тут же выполнив Halt(1)

и всех делов !)
а уж под это дело столько воды в дипломе налить можно !
только фантазией твоей ограничено)



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

Скачать: CL | DM;



Память: 0.53 MB
Время: 0.023 c
11-1064416393
Revolter
2003-09-24 19:13
2004.05.02
ComboBox... устал с ним бороться... помогите, plz


3-1081249669
SNAK3
2004-04-06 15:07
2004.05.02
ADO и числа с плавающей точкой


1-1082039221
Василя
2004-04-15 18:27
2004.05.02
Принцип загрузки ярлычка из ресурсов exe Windows.


7-1078612457
fishca
2004-03-07 01:34
2004.05.02
Отлов на ATX корпусе нажатия кнопки Power


7-1078326302
Dmitriy_G
2004-03-03 18:05
2004.05.02
Где скачать Windows 2000 DDK?




   Наверх