Главная страница
    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.46 MB
Время: 0.036 c
1-1083437406
G-ray
2004-05-01 22:50
2004.05.16
Подсветка синтаксиса


14-1082704706
paul_k
2004-04-23 11:18
2004.05.16
Есть вакансия в Москве


3-1082370020
}|{yk
2004-04-19 14:20
2004.05.16
А с таким запросом как?


14-1082141575
Knight
2004-04-16 22:52
2004.05.16
В музей купили ноутбук... сразу два прикола...


14-1083066558
SergP
2004-04-27 15:49
2004.05.16
HTML...Проблема. Может кто знает как ее лечить?





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