Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Готовим гуляш по-венгерски

29.04.2009 | Категория: А еще я туда ем! | Автор: ManHunter

Гуляш по-венгерски

В отличие от России, в Венгрии гуляш - это не просто мясное блюдо, а суп с чипетке (клецками) и острым томатным соусом. Хотя мясо там тоже присутствует. Вот сегодня как раз "по заявкам радиослушателей" я и буду готовить гуляш по-венгерски.

Читать статью целиком »
Просмотров: 16953 | Комментариев: 7

Расчет CRC32 на Ассемблере

27.04.2009 | Категория: Образ мышления: Assembler | Автор: ManHunter
Алгоритм вычисления контрольной суммы (CRC, англ. cyclic redundancy code, циклический избыточный код) - способ цифровой идентификации некоторой последовательности данных, который заключается в вычислении контрольного значения ее циклического избыточного кода. Алгоритм CRC32 основан на примитивном полиноме 0EDB88320h и применяется в архиваторах, системах шифрования, протекторах исполняемых файлов и многих других программах. Он прост в реализации и с большой вероятностью может подтверждать неизменность данных, причем чем меньше размер контролируемой информации, тем выше эта вероятность. Для расчета CRC32 требуется сперва подготовить так называемую таблицу инициализации. В сегменте данных таблица резервируется как 256 двойных слов, по одному dword на каждый возможный байт:
  1. ; Сегмент данных
  2. section '.data' data readable writeable
  3.  
  4. ; Таблица инициализации для расчета CRC32
  5. crc32table rd 256
После этого таблица заполняется данными, это делается при помощи следующей функции. Она вызывается только один раз до первого вызова функции расчета CRC32.
  1. ;-----------------------------------------------------------------------
  2. ; Функция создания таблицы инициализации для расчета CRC32
  3. ;-----------------------------------------------------------------------
  4. proc init_CRC32
  5.         push    eax ebx ecx edi
  6.  
  7.         mov     edi,crc32table      ; Указатель на выделенную под таблицу память
  8.         xor     ebx,ebx             ; Расчитать значения для всех 256 байт
  9. calc_crc32table:
  10.         mov     eax,ebx
  11.         mov     ecx,8
  12. do_polynom:
  13.         shr     eax,1               ; Проверить четность байта
  14.         jnc     @f                  ; XOR выполняется только если байт нечетный
  15.         xor     eax,0EDB88320h 
  16. @@:
  17.         loop    do_polynom          ; Следующий бит
  18.  
  19.         stosd                       ; Записать полученный dword в таблицу
  20.         inc     ebx
  21.         cmp     ebx,256
  22.         jb      calc_crc32table     ; Следующий байт
  23.  
  24.         pop     edi ecx ebx eax
  25.         ret
  26. endp
Таблица инициализации получается всегда одинаковой (при условии неизменности полинома), так что ее можно даже не расчитывать, а хранить в виде массива констант. Если требуется таблица инициализации CRC32 отдельно для использования в других проектах или языках программирования, то она приведена ниже. Под синтаксис вашего языка программирования адаптируйте ее самостоятельно.

Читать статью целиком »
Просмотров: 14280 | Комментариев: 10

Московский Международный Съезд Татуировщиков

25.04.2009 | Категория: Жизнь в оффлайне | Автор: ManHunter

Московский Международный Съезд Татуировщиков

Сегодня сходил на Третий Московский Международный Съезд Татуировщиков на ВВЦ. Так бы я не пошел, но одна знакомая девушка пригласила поддержать ее выступление, она участвовала на мероприятии в качестве модели. Естественно, отказать в просьбе я не смог.

Читать статью целиком »
Просмотров: 9130 | Комментариев: 3

Исследование защиты программ Absolute Software

23.04.2009 | Категория: Темная сторона Силы | Автор: ManHunter
Софтовая компания Absolute Software делает программы, нацеленные на обработку мультимедийных файлов. Среди унылых стопицотдесятых реинкарнаций всяких конвертеров проскакивают неплохие решения, например Amazon DVD Shrinker, которым я частенько пользуюсь.


Скриншот программы Absolute Video to Audio Converter

Защита во всех программах однотипная, так что достаточно разобрать ее на примере одной из их программ. Пусть это будет Absolute Video to Audio Converter, программа для извлечения звуковых дорожек из видеофайлов. Пользовался несколько раз, впечатления хорошие. Для исследования нам конечно понадобится дистрибутив программы и отладчик. Правильные регистрационные данные мы будем находить уже известным способом "ловись рыбка большая и маленькая", то есть фишингом.

Читать статью целиком »
Просмотров: 6847 | Комментариев: 6

Готовим мексиканскую кесадию

21.04.2009 | Категория: А еще я туда ем! | Автор: ManHunter

Мексиканская кесадия

Продолжаем кулинарное путешествие. Сегодня это будет Мексика с традиционным блюдом - кесадией (пишется "quesidilla"). Фактически кесадия - это разновидность горячих бутербродов. Блюдо готовится нифига не быстро, так что если вдруг захотите приготовить кесадию на завтрак, то придется проснуться пораньше. Но результат оправдывает все ожидания.

Читать статью целиком »
Просмотров: 28816 | Комментариев: 7

01 ... 425 426 427 428 429 430 431 ... 449
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2026
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.12 сек. / MySQL: 2 (0.0375 сек.) / Память: 4.5 Mb
Наверх