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

Вниз

записать свою функцию в стороннюю 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 вся ветка

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

Наверх





Память: 0.54 MB
Время: 0.041 c
4-1078389788
evvcom
2004-03-04 11:43
2004.05.02
Побочный эффект от перехвата API-вызова


14-1081765163
DeathMoroz
2004-04-12 14:19
2004.05.02
Скрипты


9-1069269231
Sacred
2003-11-19 22:13
2004.05.02
Нужен совет по выделению фигуры в GLScene.


1-1081795854
Роман К
2004-04-12 22:50
2004.05.02
Как изменить имя файла при изменении типа файла в TSaveDialog


1-1081966538
Netrix
2004-04-14 22:15
2004.05.02
Как зная путь и имя файла определить каким процессом он открыт?





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