Быстрый поиск
Введите фрагмент названия статьи для поиска
Музей истории коньяка
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), так что алгоритм обратного кодирования будет полезен при написании расшифровщиков. Вот что у меня получилось:Code (Assembler) : Убрать нумерацию
- ;-----------------------------------------------------------------------
- ; Функция шифрования строки по алгоритму ROT13
- ; Copyright (C) ManHunter / PCL
- ; http://www.manhunter.ru
- ;-----------------------------------------------------------------------
- ; Параметры:
- ; lpData - указатель на строку
- ; dSize - длина строки
- ;-----------------------------------------------------------------------
- proc ROT13 lpData:DWORD, dSize:DWORD
- pusha
- ; Длина строки
- mov ecx,[dSize]
- or ecx,ecx
- jz .loc_ret
- ; Указатели на строку
- mov esi,[lpData]
- mov edi,esi
- .loc_crypt:
- ; Получить символ из строки
- lodsb
- inc edi
- ; Сохранить бит регистра
- mov ah,al
- and ah,20h
- ; Символ в верхний регистр
- and al,(0FFh-20h)
- cmp al,'A'
- ; Кодировать не надо
- jb .no_crypt
- cmp al,'Z'
- ; Кодировать не надо
- ja .no_crypt
- sub al,13
- ; Cимвол первой половины алфавита?
- cmp al,'A'
- jae @f
- add al,26
- @@:
- ; Восстановить бит регистра
- or al,ah
- dec edi
- ; Записать измененный символ
- stosb
- .no_crypt:
- ; Следующий символ
- loop .loc_crypt
- .loc_ret:
- popa
- ret
- endp
Читать статью целиком »
Просмотров: 8146 | Комментариев: 6
Фестиваль песчаных скульптур "Знаменитые фонтаны мира"
12.06.2011 | Категория: Жизнь в оффлайне | Автор: ManHunter
Фестиваль песчаных скульптур "Знаменитые фонтаны мира"
На ВДНХ открылся фестиваль песчаных скульптур "Знаменитые фонтаны мира", над созданием которых трудились мастера с разных континентов. Посетители фестиваля могут увидеть песчаные копии известных фонтанов из России, Бельгии, Дании, Италии, Испании, Сингапура и других стран. Все фонтаны созданы по реальным чертежам в уменьшенном, увеличенном или реальном масштабе, причем часть из них действующие.
Читать статью целиком »
Просмотров: 13527 | Комментариев: 7
Расчет хеша SHA1 на Ассемблере
08.06.2011 | Категория: Образ мышления: Assembler | Автор: ManHunter
Алгоритм криптографического хеширования SHA1 (Secure Hash Algorithm 1) используется во многих криптографических приложениях и протоколах. В его основе лежат методы, очень похожие на MD5. В Интернете есть много реализаций этого алгоритма на разных языках программирования, но я не нашел ни одного нормального решения на Ассемблере. Пришлось разбираться самому и в результате у меня получилась достаточно быстрая функция расчета SHA1 участка памяти произвольной длины. Для работы в сегменте данных потребуются некоторые дополнительные переменные и массивы, они вынесены в глобальную область видимости, чтобы не загромождать код.Code (Assembler) : Убрать нумерацию
- section '.data' data readable writeable
- SHA1_h0 dd ? ; Переменные, в которых будет создан хеш SHA1
- SHA1_h1 dd ?
- SHA1_h2 dd ?
- SHA1_h3 dd ?
- SHA1_h4 dd ?
- SHA1_a dd ? ; Вспомогательные переменные для промежуточных
- SHA1_b dd ? ; вычислений
- SHA1_c dd ?
- SHA1_d dd ?
- SHA1_e dd ?
- SHA1_W rd 80 ; Массивы для промежуточных данных
- SHA1_Buff rb 64
Читать статью целиком »
Просмотров: 6187 | Комментариев: 13