Blog. Just Blog

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

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

Музей истории коньяка

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

Музей истории коньяка

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

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

Портативное зарядное устройство iconBIT Funktech FTB11000U

15.06.2011 | Категория: Обзоры техники | Автор: ManHunter

Портативное зарядное устройство iconBIT Funktech FTB11000U

Для путешествий приобрел себе новый девайс - портативное зарядное устройство iconBIT Funktech FTB11000U. Как следует из названия, его можно использовать в качестве автономного источника питания без доступа к электрической сети. iconBIT Funktech FTB11000U - это карманный аккумуляторный блок, который может заряжать MP3-плееры, мобильные телефоны, цифровые фотоаппараты, видеокамеры, устройства GPS, игровые приставки Nintendo DS, PSP и т.п. портативные устройства.

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

Алгоритм шифрования ROT13 на Ассемблере

14.06.2011 | Категория: Образ мышления: Assembler | Автор: ManHunter
Шифр ROT13 - вариация "шифра Цезаря", в котором используется сдвиг букв в алфавите или простейшая подстановка. Алгоритм не обладает даже минимальной криптостойкостью, поэтому не может применяться в серьезных системах. Вместе с тем, он часто используется при кодировании PHP-скриптов (функция str_rot13), так что алгоритм обратного кодирования будет полезен при написании расшифровщиков. Вот что у меня получилось:
  1. ;-----------------------------------------------------------------------
  2. ; Функция шифрования строки по алгоритму ROT13
  3. ; Copyright (C) ManHunter / PCL
  4. ; http://www.manhunter.ru
  5. ;-----------------------------------------------------------------------
  6. ; Параметры:
  7. ;      lpData - указатель на строку
  8. ;      dSize  - длина строки
  9. ;-----------------------------------------------------------------------
  10. proc    ROT13 lpData:DWORD, dSize:DWORD
  11.         pusha
  12.  
  13.         ; Длина строки
  14.         mov     ecx,[dSize]
  15.         or      ecx,ecx
  16.         jz      .loc_ret
  17.  
  18.         ; Указатели на строку
  19.         mov     esi,[lpData]
  20.         mov     edi,esi
  21. .loc_crypt:
  22.         ; Получить символ из строки
  23.         lodsb
  24.         inc     edi
  25.  
  26.         ; Сохранить бит регистра
  27.         mov     ah,al
  28.         and     ah,20h
  29.  
  30.         ; Символ в верхний регистр
  31.         and     al,(0FFh-20h)
  32.         cmp     al,'A'
  33.         ; Кодировать не надо
  34.         jb      .no_crypt
  35.         cmp     al,'Z'
  36.         ; Кодировать не надо
  37.         ja      .no_crypt
  38.  
  39.         sub     al,13
  40.         ; Cимвол первой половины алфавита?
  41.         cmp     al,'A'
  42.         jae     @f
  43.         add     al,26
  44. @@:
  45.         ; Восстановить бит регистра
  46.         or      al,ah
  47.         dec     edi
  48.         ; Записать измененный символ
  49.         stosb
  50. .no_crypt:
  51.         ; Следующий символ
  52.         loop    .loc_crypt
  53. .loc_ret:
  54.         popa
  55.         ret
  56. endp
Параметры функции: lpData - указатель на шифруемую строку в памяти, dSize - длина строки. При шифровании затрагиваются только буквы английского алфавита, любые другие буквы и символы остаются без изменения. Поскольку ROT13 является обратным алгоритмом, то снять его можно, просто применив эту же функцию к зашифрованной строке.

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

Фестиваль песчаных скульптур "Знаменитые фонтаны мира"

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

Фестиваль песчаных скульптур "Знаменитые фонтаны мира"

На ВДНХ открылся фестиваль песчаных скульптур "Знаменитые фонтаны мира", над созданием которых трудились мастера с разных континентов. Посетители фестиваля могут увидеть песчаные копии известных фонтанов из России, Бельгии, Дании, Италии, Испании, Сингапура и других стран. Все фонтаны созданы по реальным чертежам в уменьшенном, увеличенном или реальном масштабе, причем часть из них действующие.

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

Расчет хеша SHA1 на Ассемблере

08.06.2011 | Категория: Образ мышления: Assembler | Автор: ManHunter
Алгоритм криптографического хеширования SHA1 (Secure Hash Algorithm 1) используется во многих криптографических приложениях и протоколах. В его основе лежат методы, очень похожие на MD5. В Интернете есть много реализаций этого алгоритма на разных языках программирования, но я не нашел ни одного нормального решения на Ассемблере. Пришлось разбираться самому и в результате у меня получилась достаточно быстрая функция расчета SHA1 участка памяти произвольной длины. Для работы в сегменте данных потребуются некоторые дополнительные переменные и массивы, они вынесены в глобальную область видимости, чтобы не загромождать код.
  1. section '.data' data readable writeable
  2.  
  3. SHA1_h0         dd ?  ; Переменные, в которых будет создан хеш SHA1
  4. SHA1_h1         dd ?
  5. SHA1_h2         dd ?
  6. SHA1_h3         dd ?
  7. SHA1_h4         dd ?
  8.  
  9. SHA1_a          dd ?  ; Вспомогательные переменные для промежуточных
  10. SHA1_b          dd ?  ; вычислений
  11. SHA1_c          dd ?
  12. SHA1_d          dd ?
  13. SHA1_e          dd ?
  14.  
  15. SHA1_W          rd 80  ; Массивы для промежуточных данных
  16. SHA1_Buff       rb 64
Я постарался сохранить оригинальные названия переменных, которые используются в описании алгоритма, так что с этим вопросов возникнуть не должно.

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

01 ... 316 317 318 319 320 321 322 ... 401
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.55 сек. / MySQL: 2 (0.1703 сек.) / Память: 4.5 Mb
Наверх