Что нового

Защита программы CRC

foxGun

Новичок
Сообщения
11
Репутация
0
одним из способов защиты программы является проверка CRC скомпилированного файла в процессе работы скрипта, подскажите пожалуйста при помощи какой функции можно получить CRC текущего скрипта

статья
http://mindcontrol.wikia.com/wiki/%D0%A6%D0%B8%D0%BA%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%B7%D0%B1%D1%8B%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4
 

VladUs

Скриптер
Сообщения
621
Репутация
181
http://autoit-script.ru/index.php/topic,7855.msg53412.html#msg53412
 

asdf8

Скриптер
Сообщения
564
Репутация
152
foxGun [?]
одним из способов защиты программы является проверка CRC скомпилированного файла в процессе работы скрипта

Для AutoIt этот способ не имеет никакого смысла, т.к. эту проверку можно легко обойти.
 
Автор
F

foxGun

Новичок
Сообщения
11
Репутация
0
спасибо, как раз это я и искал :laugh:
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Так а зачем CRC для отслеживания изменений считывать? можно же проверять размер файла или сравнивать его MD5 например, или я что - то не так понял.

Код:
#include <Crypt.au3>

Global $sFile = @ScriptDir & '\test.txt'
Global $sHash = GetFileHash($sFile)

While 1
	$lHash = GetFileHash($sFile)
	If ($lHash <> $sHash) Then
		MsgBox(48, 'Warning', 'Файл был изменён!')
		$sHash = $lHash
	EndIf	
	Sleep(100)
Wend	

Func GetFileHash($sFile)
	Return StringTrimLeft(_Crypt_HashFile($sFile, $CALG_MD5), 2)
EndFunc
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Viktor1703
принципиального различия CRC от MD5 нет. и то и то - контрольные суммы. а по размеру изменение отслеживать не надежно. можно удалить n байтов и добавить n других байтов. размер не изменится, а содержимое изменится. можно по дате модификации, но это тоже ненадежно - дату создания, последнего открытия и модификации можно легко менять.
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Ну именно по этому привёл пример считывания MD5, на мой взгляд самый простой и надёжный вариант не требующий каких либо библиотек не идущих в поставке с AutoIt :smile:
 
Автор
F

foxGun

Новичок
Сообщения
11
Репутация
0
Здравствуйте, а можно-ли сделать зашифрованный файл со всем необходимым для программы в том числе и паролем и с CRC значением скрыть максимально от системы??? сделать его полностью невидимыми для распространенных файловых менеджеров, типа тотал-командер и других.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
foxGun [?]
сделать его полностью невидимыми для распространенных файловых менеджеров, типа тотал-командер и других
это невозможно в принципе. видимость или невидимость файла - это опция, которая легко меняется в настройках любого проводника.
 
Автор
F

foxGun

Новичок
Сообщения
11
Репутация
0
RootKit. это исполняемый файл, а я хотел скрыть только базу данных, где хранится в закодированном виде все, есть программа Hide Folders, сейчас я использую ее, там можно скрыть файлы и папки, и сделать их видимыми, только для выбранных процессов, в данном случае моего, но так распространять свой продукт, с чужой платной лицензионной программой не хорошо... :(


Добавлено:
Сообщение автоматически объединено:

это невозможно в принципе. видимость или невидимость файла - это опция, которая легко меняется в настройках любого проводника.
HideFolbers прячет файлы от всех пользователе от проводника и других файловых менеджеров полностью, они вообще не видимы обычными средствами не зависимо от настроек проводника
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Для чего прятать файл базы? я например не люблю когда программа от меня что - то прячет или выполняет какие либо действия, я не приобрёл бы такой софт, после тестирования Demo версии, сношу и забываю про такую программу, тем более аналогов куча, бери какой хочешь, Вы только тратите время на то чтоб как-то что-то скрыть, если прячите от простых пользователей которые не разбираются в работе программы, то и прятать незачем, а если от продвинутых, то просто не получится, если захотят, то всё найдут и вытащат, не вижу в этом смысла.
 
Верх