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

Вниз

Как узнать во что переименован файл?   Найти похожие ветки 

 
Deimos   (2003-11-17 00:21) [0]

От недостатка моей образованности защита в моей программе жестко привязана к имени файла (т.е. при
проверке своего кода на целостность просто читает данные из файла  xxxxx.xxx лежащего в текущей папке(т.е. себя)
и проверяет CRC его содержимого(чтоб злобные кракеры больше попотели)). Так вот... поскольку защита организована путем неявного самоконтроля (т.е. никаких сообщений типа "неверный серийник","ошибка авторизации и т.п.")выкопать начало защитного кода довольно сложно.. Но достаточно переименовать exe-шник и защита летит к чертям.. Вылетает ошибка типа "файл не найден", и выдает расположение защитного кода..
Как узнать своё имя после запуска, чтобы избежать этого?
Ну или как читать из своего файла(т.е. из того из которого запустили не вдаваясь в подробности имени)?


 
Ciber SLasH ©   (2003-11-17 00:53) [1]

>Как узнать своё имя после запуска
ExtractFileName(Application.ExeName)


 
Ciber SLasH ©   (2003-11-17 01:18) [2]

Забыл, что тебе нужно без VCL (т.е. чтоб работало в KOL-e), тогда так:

var
 i: Byte;
 ST,Param: String;
begin
 Param := ParamStr(0);
 i := 1;
 while i <> 0 do
   begin
     i := Pos("\", Param);
     if i <> 0 then
       Delete(Param, 1, i)
   end;
 ST := Param
end.


 
savva ©   (2003-11-17 09:05) [3]

а можно и так
ExtractFileName(ParamStr(0))


 
Deimos ©   (2003-11-17 09:11) [4]

спасибо, буду пробовать..


 
AndreyAs   (2003-11-17 11:21) [5]

А это действительно хорошая защита?


 
Deimos ©   (2003-11-17 19:53) [6]

Неплохая.
По крайней мере случаев 100% успешного взлома мне не известно, хотя попытки были..


 
Gandalf ©   (2003-11-18 09:36) [7]

На Королевтсве Дельфи есть серия статей "антикрековые мучения" - можешь почитать...

Начало кода выкопать не так уж и сложно - если знть что именно такой способо используется, SoftIce легко ловит все API фукции для работы с файлами... bpx CreateFileA и все...


 
fij   (2003-11-20 03:03) [8]

Бредово как то CRC ты считаешь
вообще бредово

это же просто как 2*2

procedure CRC;
asm
xor ecx,ecx
mov eax,IMAGE_BASE
Loc:
add ecx,[eax]
inc eax
cmp eax,LENGTH_OF_CRC+IMAGE_BASE (кусок фрагмента твоей проги или размер ее в байтах тогда вся прога...процедура выяснения размера упущена для простоты....
jnz Loc

cmp ecx,MYCRC //расчитаное тобой CRC для коректной проги
jz/jnz туда куда нужно....алгоритм очень прост и где то у меня даже реализован...хочешь могу помочь
//icq 111397611
end;

зы код накидан от балды...проверять его сейчас нет никакого желания
зы2 защита примитивная и такой подсчет црц тоже


 
Deimos ©   (2003-11-20 21:34) [9]

Довольно недальновидно судить о защите по её внешним проявлениям :)
открытый контроль CRC по сути дела является лишь способом уберечь легального пользователя от ложных срабатываний защиты в результате случайных изменений исполняемого файла(атака вируса например). И частью защиты от нелегального использования по сути не является :)


 
Gandalf ©   (2003-11-21 10:54) [10]

Закрываю полемику.



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

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

Наверх




Память: 0.49 MB
Время: 0.037 c
3-1082125547
}|{yk
2004-04-16 18:25
2004.05.16
Вылетает Delphi,SQL Explorer при попытке приконнектиться через OD


1-1083717442
kaif
2004-05-05 04:37
2004.05.16
string в структуре и динамический массив таких структур.


7-1080668795
CAHEK
2004-03-30 21:46
2004.05.16
Как сменить изображение стрелки ярлыка(Програмно)


3-1082465871
stud
2004-04-20 16:57
2004.05.16
использование параметра для LIKE


6-1080436071
NND
2004-03-28 05:07
2004.05.16
-= Определение подключен ли комп к сети =-