Сейчас на форуме: Rio, YDS (+10 невидимых)

 eXeL@B —› Основной форум —› Поиск CRC
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 30.4 (посетитель)
Активность: 0.020.01
Статус: Участник

Создано: 05 февраля 2006 22:44
· Личное сообщение · #1

Кто как ищет функцию которая считает CRC. Ща в мня полетят камни. CreateFile, ReadFile. Это понятно и не очень сложно когда вся прога- один екзешник. А вот представте что у неё 10-20 длл-ок и несколько из них защищены CRC. ReadFile происходит сотни, а то и тысячи раз. F5 топтать замучишся. А если CRC считается не всего файла, а лишь важных участков кода. Давайте делиться своими наработками и приёмами.




Ранг: 85.7 (постоянный)
Активность: 0.110
Статус: Участник

Создано: 07 апреля 2006 15:34
· Личное сообщение · #2

elraton. Решил поднять старую тему? Дата топика.

-----
Я фантомас, а ты гавно





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 07 апреля 2006 15:45
· Личное сообщение · #3

elraton извини конечно, но это по меньшей мере ламерство. Для каждой программы CRC своё, и вычисляется по своему. Да, CRC можно подменить, если полностью разобрать алгоритм его вычисления для конкретной программы. Но это дело никак нильзя поставить напоток, разве что для конкретной версии.

-----
Yann Tiersen best and do not fuck




Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 07 апреля 2006 15:50
· Личное сообщение · #4

PE_Kill
Крис всё правильно написал, он же указал, что речь идет о CRC16/32 (стандартных алгоритмах расчета CRC)
про MD5 и т.п. он не писал

-----
Подписи - ЗЛО! Нужно убирать!





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 07 апреля 2006 16:16
· Личное сообщение · #5

[Прострация]
CRC называется так потому, что алгоритм CRC 16/32 практически единственный, который позволяет быстро вычислить контрольную сумму файла.
[Реальность]
Я еще не видел ни одной программы, в которой бы использовался алгоритм CRC в оригинальном исполнениии. Поэтому, давая рекомендации по поводу обхода CRC, я бы не опирался на сам алгоритм CRC.

-----
Yann Tiersen best and do not fuck





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 07 апреля 2006 16:26
· Личное сообщение · #6

PE_Kill пишет:
Я еще не видел ни одной программы, в которой бы использовался алгоритм CRC в оригинальном исполнениии.

Дохрена таких прог. К тому же Gelios сделал плагин для PEiD - можно выставить любое значение CRC32 для файла PE-формата.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 07 апреля 2006 16:31
· Личное сообщение · #7

Значит приношу всем свои извинения. Ara дайт линк на такую прогу, интересно посмотреть.

-----
Yann Tiersen best and do not fuck





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 07 апреля 2006 17:09
· Личное сообщение · #8

PE_Kill пишет:
дайт линк на такую прогу, интересно посмотреть.

В аттаче, это плагин к PEiD.

823d_07.04.2006_CRACKLAB.rU.tgz



Ранг: 15.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 07 апреля 2006 20:08
· Личное сообщение · #9

PE_Kill
топик заметил случайно
идея родилась давно еще при ковырянии интеловых биосов.
я там тогда не знал размер блока crc которого считается,
соотвественно не мог рассчитать новое crc просле правки.
а потом я подумал - а чего это я высаживаюсь?
берем блок первые 4кб от "низа", считаем crc, если !=0,
берем следующий блок и т.д...
затем правим байты, которые хотели исправить,
и дописываем "компненсирующие" байтики,
чтобы значение crc не изменилось ;)


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

допустим, мы имеет ключевой файл (в нем CRC не храниться),
его заглатывает программа (пусть для определенности удаленный сервер),
что нам делать, если мы хотим модифицировать этот файл?!
ведь не ломать же сервер, да? да очень просто!
мы добавляем "корректирующие" байты в результате чего
CRC модифицированного файла _НЕ_МЕНЯЕТСЯ__

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

CRC страхует только от случайных искажений.
если антивирус проверяет целосность файлов по CRC,
место ему на помойке...




Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 07 апреля 2006 20:13 · Поправил: Bad_guy
· Личное сообщение · #10

elraton
Что-то не верится, что эти корректирующие байты для CRC32 легко найти. А если там MD5 будет, то вообще практически не о чем говорить...

"elraton" - это по французски что ли теперь то же самое о чём мы оба думаем ?

-----
Всем не угодишь




Ранг: 15.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 07 апреля 2006 20:25
· Личное сообщение · #11

Bad_guy
там ссылки были. находится _очень_ быстро.
чуть-чуть медленнее чем считается само CRC32

для MD5 все значительно сложнее, но MD5 не везде....
это, кстати, еще одна монта в компилку "что лучше CRC или MD5"

raton - это мыщъх. самец. по испански.
souriz - это уже по француски
nezumi - по японски
а еще есть mauz и topo ))
вот такой я многоликий зверь ;)

сейчас домик в греции уже присмотрел ;)
буду учить греческий и мигрировать ;)




Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 07 апреля 2006 20:30
· Личное сообщение · #12

elraton
Наверное тебе понравится: www.windowsgames.co.uk/rats.html ... я давно уже её не трогал, но как про мышей заходит речь, так сразу вспоминаю. Веселая игрушка.

-----
Всем не угодишь





Ранг: 122.3 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 07 апреля 2006 20:50 · Поправил: intty
· Личное сообщение · #13

все верно.
есть плагин для пеида, который позволяет рассчитать и записать корректирующие байты.

по поводу того, что писал PE_Kill - писать с умным видом, то, в чем не уверен, как раз и есть ламерство.
Я еще не видел ни одной программы, в которой бы использовался алгоритм CRC в оригинальном исполнениии

живой пример: когда отламываем бинарники от DrWeb они в результате распакованные и патченые. Когда пытаемся делать апдейт баз, апдейтер(патченый) помимо обновления баз пытается переписать и себя и сканер.(тоже патченый). Хотя версия например таже.

Как я поступал: апдейтер загружает первым делом текстовик, где идет списочек файлов и их црц32 контрольные суммы, копируем его куда-нибудь, пока не удалил. потом вышеназванным плагином, просто меняем црц32 у патченных бинарников.
И они не перезаписываются при обновлении баз!



Ранг: 18.1 (новичок)
Активность: 0.010
Статус: Участник

Создано: 07 апреля 2006 21:06
· Личное сообщение · #14

Вот код от RElf'а для нахождения корректирующих байт ;)
#include<stdio.h>
unsigned long c,c2,p2,pol=0xEDB88320;
long n,k;
main()
{
printf("CRC32 Adjuster (c) 2001 by RElf @ HHT/2\n");
printf("Length of data: "); scanf("%ld",&n);
printf("Offset to patch: "); scanf("%ld",&k);
n = (n-k)<<3;
printf("Current CRC32: 0x"); scanf("%x",&c);
printf("Desired CRC32: 0x"); scanf("%x",&c2);
c ^= c2;
p2 = (pol << 1) | 1;
while(n--) if(c&0x80000000) c = (c<<1)^p2; else c<<=1;
printf("XOR masks: %02X %02X %02X %02X\n", c&0xff, (c>>8)&0xff, (c>>16)&0xff, c>>24);
}




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 08 апреля 2006 09:11
· Личное сообщение · #15

intty согласен...

-----
Yann Tiersen best and do not fuck



<< . 1 . 2 .
 eXeL@B —› Основной форум —› Поиск CRC
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати