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

Вниз

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

 
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 вся ветка

Форум: "KOL";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.031 c
6-1080281940
Demetrius2003
2004-03-26 09:19
2004.05.16
Как пробится к компьютеру в локальной сети через инет


9-1071754582
zzet
2003-12-18 16:36
2004.05.16
FullScreen OpenGl


3-1082701180
BPK
2004-04-23 10:19
2004.05.16
TParameters без базы данных, сам по себе.


1-1083078734
td
2004-04-27 19:12
2004.05.16
про dll совсем элементарное %)


1-1083069246
Kraj
2004-04-27 16:34
2004.05.16
QReport





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