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

 eXeL@B —› Оффтоп —› Чем идентифицировать наличие подсчёта CRC64 в программе?
Посл.ответ Сообщение


Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 29 мая 2010 01:38
· Личное сообщение · #1

Есть тестовая программа вычисляющая CRC64 строки. И хотя таблица создается при инициализации, в программе явно прописана константа 42F0E1EBA9EA3693. Проблема в том, что проверенные мной 3-4 софтинки по определению наличия криптоалгоритмов и констант ничего не нашли. Как так?
Чем можно идентифицировать наличие подсчёта CRC64?
p.s. Искать hiew-ом не предлагать...


541d_28.05.2010_CRACKLAB.rU.tgz - Crc64test.exe



Ранг: 60.6 (постоянный), 20thx
Активность: 0.070
Статус: Участник

Создано: 31 мая 2010 07:40
· Личное сообщение · #2

Константы могут быть 3:
Code:
  1. 0x42F0E1EBA9EA3693 - normal
  2. 0xC96C5795D7870F42 - reverse
  3. 0xA17870F5D4F51B49 - reverse of reciprocal

Накидать небольшую тулзу и готово =)




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 31 мая 2010 12:16
· Личное сообщение · #3

s0l пишет:
Накидать небольшую тулзу и готово =)


Да это понятно. Непонятно почему готовые инструменты этого не видят? Может у меня версии старые, хотя поиск по константам это наверное и есть самое простое. Пробовал kanal с пиедом который, плаг под иду и ещё пару чего-то.
Интересует именно что-то готовое находящее константы в этом примере...



Ранг: 60.6 (постоянный), 20thx
Активность: 0.070
Статус: Участник

Создано: 31 мая 2010 12:53
· Личное сообщение · #4

Кстати в твоем примере я ни одну из констант не нашел О_о




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 31 мая 2010 13:02
· Личное сообщение · #5

ToBad пишет:
хотя поиск по константам это наверное и есть самое простое

гугл говорит, что нет стндарта для CRC64, следовательно какие константы они должны искать?

-----
Лучше быть одиноким, но свободным © $me




Ранг: 60.6 (постоянный), 20thx
Активность: 0.070
Статус: Участник

Создано: 31 мая 2010 13:22
· Личное сообщение · #6

en.wikipedia.org/wiki/Cyclic_redundancy_check
CRC-64-ISO
CRC-64-ECMA-18




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 31 мая 2010 13:26
· Личное сообщение · #7

бля, а про вику забыл вовсе )

-----
Лучше быть одиноким, но свободным © $me





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 31 мая 2010 13:37 · Поправил: ToBad
· Личное сообщение · #8

s0l пишет:
Кстати в твоем примере я ни одну из констант не нашел О_о


Блин, компиль перековеркал:

Code:
  1. var Poly: int64;
  2. Poly:=$42F0E1EBA9EA3693;
  3.  
  4. превратилось в:
  5.  
  6. .text:004545C3                 mov     [esp+20h+var_20], 0A9EA3693h
  7. .text:004545CA                 mov     [esp+20h+var_1C], 42F0E1EBh


Сделал вот так:
Code:
  1. Const Poly:int64=$42F0E1EBA9EA3693;


Теперь константу видно по адресу 45772С, хотя на результаты поиска это не повлияло. Странно, там строится таблица, а несколько инструментов делают дамп и ищут, но всё равно ничего не видят...

1340_31.05.2010_CRACKLAB.rU.tgz - Crc64test2.exe



Ранг: 60.6 (постоянный), 20thx
Активность: 0.070
Статус: Участник

Создано: 31 мая 2010 14:13
· Личное сообщение · #9

ToBad пишет:
Теперь константу видно по адресу 45772С, хотя на результаты поиска это не повлияло. Странно, там строится таблица, а несколько инструментов делают дамп и ищут, но всё равно ничего не видят...

Надо юзать правильные тулзы

5c2b_31.05.2010_CRACKLAB.rU.tgz - Project1.rar




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 31 мая 2010 22:42
· Личное сообщение · #10

s0l пишет:
Надо юзать правильные тулзы


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



Ранг: 60.6 (постоянный), 20thx
Активность: 0.070
Статус: Участник

Создано: 01 июня 2010 00:30
· Личное сообщение · #11

Не могут определить, т.к. писались скорее всего для сишного компилятора, где полиномы лежат в прямой последовательности, а как оказалось на практике они могут быть раздолбаны и перекручены по всякому. судя по всему есть 6 частых разновидностей хранения/использования этих констант (по 6 на каждую из 3)
достаточно все это дело описать)


 eXeL@B —› Оффтоп —› Чем идентифицировать наличие подсчёта CRC64 в программе?

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати