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

Вниз

Проверка CRC32   Найти похожие ветки 

 
maxz ©   (2004-11-01 16:41) [0]

Доброго времени суток! Помогите, пожалуйста, решить следующую проблему: в своей проге я пытаюсь реализовать защиту от f.. hackers. Для этого я использую проверку CRC32 своего екзешника. Алготирм такой: проверяется текущий CRC, который сравнивается с некоторым (нормальным) значением crc. Я хочу, чтобы это значение crc хранилось в константах, но никак не могу его туда записать: т.е. я записываю его в константы, crc от этого меняется, и в результате то значение crc, которое я записал в константы, уже не соответствует новому crc. Можно конечно хранить значение crc в каких-нибудь внешних файлах, но тогда придется их шифровать, а это уже дополнительные проблемы, да и ненадежно.


 
Reindeer Moss Eater ©   (2004-11-01 16:54) [1]

Глупости все это.


 
Digitman ©   (2004-11-01 17:25) [2]

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

иные же способы (где и эти 4 байта участвует в подсчете КС) весьма и весьма сложны, да и не дают никакой гарантии - они лишь несколько осложнят хакеру путь к цели, но отнюдь не исключат взлом


 
OSokin ©   (2004-11-01 17:53) [3]

Самый сложный путь, но зато "в лоб": решить енто уравнением (гм. щас будут долго и упорно критиковать :-)


 
maxz ©   (2004-11-01 18:07) [4]

To Digitman [2]
>> они лишь несколько осложнят хакеру
>>путь к цели, но отнюдь не исключат взлом

Нда, так и есть. Но хотя бы от валенков предохраняться надо...

To OSokin [3]
Если суметь засунуть все это куда нибудь в MathCAD, то тогда может быть и возможно решить уравнение. Вот только как это ему записать?


 
VMcL ©   (2004-11-01 19:58) [5]

>>maxz ©  (01.11.04 16:41)

Простейший способ (естественно не особо защищенный). CRC32 записывается в неиспользуемом месте MZ-заголовка. При подсчете CRC, используемые под CRC байты устанавливаются в какую-либо константу.


 
Sha ©   (2004-11-02 10:22) [6]

Можно CRC вообще нигде не хранить, а подгонять содержимое произвольных 4-х байт экзешника так, чтобы в итоге CRC равнялась какой-нибудь магической константе :)


 
VMcL ©   (2004-11-02 10:26) [7]

>>Sha ©  (02.11.04 10:22) [6]

Мой способ быстрее :-)


 
Reindeer Moss Eater ©   (2004-11-02 10:30) [8]

В чем суть?

Защищаемся от "валенка" который вносит изменения в готовый exe на уровне двоичного кода?
Так этому валенку по барабану ваш CRC.
Он не его править будет.

Если же "валенок" не в состоянии изменить логику условных переходов заложенных в коде, то и целенаправленные изменения в exe он вносить будет не в состоянии.

Ерунда в общем полная.


 
Sha ©   (2004-11-02 10:35) [9]

> Reindeer Moss Eater ©   (02.11.04 10:30) [8]
> Ерунда в общем полная.

Согласен, такая защита неэффективна. Обычно используют другие варианты.
Но валенка остановит не некоторое время.


 
Reindeer Moss Eater ©   (2004-11-02 10:37) [10]

Валенок не полезет модифицировать двоичный код.
А защита направлена против этого.


 
Sha ©   (2004-11-02 10:40) [11]

VMcL ©   (02.11.04 10:26) [7]
Мне попадался высокоэффективый вычислительный (в смысле не переборный) алгоритм подбора CRC.


 
Sha ©   (2004-11-02 10:43) [12]

Reindeer Moss Eater ©   (02.11.04 10:37) [10]
Так об этом автору уже сказали.


 
VMcL ©   (2004-11-02 10:49) [13]

>>Sha ©  (02.11.04 10:40) [11]

Хм. Было бы интересно посмотреть. Пошел я в Гугл :-)


 
VMcL ©   (2004-11-02 10:52) [14]

Вроде, нашел:
http://faqs.org.ru/progr/common/crc_faq.htm


 
Rico-X   (2004-11-02 12:03) [15]

Небольшой респект от Крякера :)) Такая защита увеличит время взлома на секунд ~30 изменять твой даже супер зашифрованный CRC мне было бы влом. Открываем прогу в редакторе ресурсов, ищем точку входа в алгоритм проверки и меняем в ней адресс на точку входы в RunTime при правильно выполененной проверки(Функция защиты вообще перестает обрабатываться) ЛЮБАЯ ЗАЩИТА КЛЮЧЕМ(любым будь то CRC или просто отгенеренный по алгоритму) НЕ ЭФФЕКТИВНА И ЛЕЧИТСЯ ПАТЧЕМ В НЕСКОЛЬКО БАЙТ!!! Да и совет всем защитописателям - сложнее всего взломать прогу со сжатыми ресурсами(Ну кроме пожалуй ресурсов сжатых ASPack"ом). В своих прогах я вообще не ставлю защиту,она этого не стоит(Разработать ее в 100 раз дольше чем взломать, а если прога получилась нужной то взламывать будет не 1 человек и выложит кряк в инет)


 
BiN ©   (2004-11-02 12:07) [16]

Rico-X   (02.11.04 12:03) [15]
Открываем прогу в редакторе ресурсов, ищем точку входа в алгоритм...


LOL
LMD


 
Digitman ©   (2004-11-02 12:13) [17]


> Небольшой респект от Крякера


респект = уважение, уважать ... ты кого уважаешь ? сам себя ? за эту вот галиматью


> Открываем прогу в редакторе ресурсов, ищем точку входа в
> алгоритм.


?

не смеши народ)


 
Гарри Поттер ©   (2004-11-02 13:40) [18]

maxz ©   (01.11.04 16:41)
Упакуй каким-нить упаковщиком (например Petite) с проверкой CRC и усе.. Конечно, на каждый упаковщик найдется свой распаковщик.. Но от валенков защитишься..


 
maxz ©   (2004-11-02 19:49) [19]

Короче я вижу, что вопрос этот либо некорректен, либо не имеет решения. Я его снимаю.


 
KSergey ©   (2004-11-03 11:24) [20]

> [19] maxz ©   (02.11.04 19:49)
> либо не имеет решения.

Занятный вывод... Особенно с учетом [2], [3], [5] и [6]...


 
CaNaBiS_XoR   (2004-11-15 01:30) [21]

Да уж млин защита,тебе самому не смешно гы ;)


 
dhdd   (2004-11-15 03:03) [22]

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


 
Cosinus ©   (2004-11-15 12:26) [23]


> maxz ©  

Если она стоит того, то EToken... А если нет, то см. Reindeer Moss Eater ©   (01.11.04 16:54) [1]
> Rico-X   (02.11.04 12:03) [15]

С каких это пор, что-либо типа Ida, называется редактором ресурсов????



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

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

Наверх




Память: 0.5 MB
Время: 0.044 c
1-1102946209
Илья
2004-12-13 16:56
2004.12.26
GetMem функция


3-1101654116
Nikolay_2
2004-11-28 18:01
2004.12.26
MS SQL


14-1102494574
Rouse_
2004-12-08 11:29
2004.12.26
LOL


1-1102919256
dream
2004-12-13 09:27
2004.12.26
Извлечение текста из строки до определёного символа и после


14-1102018582
syte_ser78
2004-12-02 23:16
2004.12.26
Активация WinXP





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