![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать во что переименован файл? [Delphi, Windows]
Deimos © (2003-11-17 00:21:00)От недостатка моей образованности защита в моей программе жестко привязана к имени файла (т.е. при
проверке своего кода на целостность просто читает данные из файла xxxxx.xxx лежащего в текущей папке(т.е. себя)
и проверяет CRC его содержимого(чтоб злобные кракеры больше попотели)). Так вот... поскольку защита организована путем неявного самоконтроля (т.е. никаких сообщений типа 'неверный серийник',"ошибка авторизации и т.п.")выкопать начало защитного кода довольно сложно.. Но достаточно переименовать exe-шник и защита летит к чертям.. Вылетает ошибка типа 'файл не найден', и выдает расположение защитного кода..
Как узнать своё имя после запуска, чтобы избежать этого?
Ну или как читать из своего файла(т.е. из того из которого запустили не вдаваясь в подробности имени)?
Gandalf (2003-11-21 10:54:00) [1]Закрываю полемику.
Deimos (2003-11-20 21:34:00) [2]Довольно недальновидно судить о защите по её внешним проявлениям :)
открытый контроль CRC по сути дела является лишь способом уберечь легального пользователя от ложных срабатываний защиты в результате случайных изменений исполняемого файла(атака вируса например). И частью защиты от нелегального использования по сути не является :)
fij (2003-11-20 03:03:00) [3]Бредово как то 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 защита примитивная и такой подсчет црц тоже
Gandalf (2003-11-18 09:36:00) [4]На Королевтсве Дельфи есть серия статей "антикрековые мучения" - можешь почитать...
Начало кода выкопать не так уж и сложно - если знть что именно такой способо используется, SoftIce легко ловит все API фукции для работы с файлами... bpx CreateFileA и все...
Deimos (2003-11-17 19:53:00) [5]Неплохая.
По крайней мере случаев 100% успешного взлома мне не известно, хотя попытки были..
AndreyAs (2003-11-17 11:21:00) [6]А это действительно хорошая защита?
Deimos (2003-11-17 09:11:00) [7]спасибо, буду пробовать..
savva (2003-11-17 09:05:00) [8]а можно и так
ExtractFileName(ParamStr(0))
Ciber SLasH (2003-11-17 01:18:00) [9]Забыл, что тебе нужно без 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.
Ciber SLasH (2003-11-17 00:53:00) [10]>Как узнать своё имя после запуска
ExtractFileName(Application.ExeName)