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

Пирожки с яблоками
19.10.2024 | Категория: А еще я туда ем! | Автор: ManHunter

Пирожки с яблоками
Пирожки с яблоками - одно из любимых лакомств в моей семье, так что периодически их приходится готовить. Рецепт достаточно типовой, по крайней мере по тесту, так что подойдет и для пирожков практически с любой другой начинкой.
Читать статью целиком »
Просмотров: 266 | Комментариев: 1

Семейный отпуск в Египте
16.10.2024 | Категория: Жизнь в оффлайне | Автор: ManHunter

Семейный отпуск в Египте
Пару последних лет дети отдыхали на отечественных курортах, в этот раз я все-таки решил организовать семейный отдых за границей. Дети уже достаточно сознательные, чтобы не отвлекаться на них каждую секунду. Отель выбирали долго, сверялись с отзывами в интернете, интересовались у знакомых и друзей. В результате выбрали отель Aqua Mondo Abu Soma Resort в Хургаде. Если произнести его название зловещим голосом, то, наверное, можно даже вызвать какую-нибудь аццкую сотону :)
Читать статью целиком »
Просмотров: 300 | Комментариев: 2

Исследование защиты программы Secure Delete
04.10.2024 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы Secure Delete
Программа Secure Delete, по заверениям разработчиков, предназначена для гарантированного удаления файлов и каталогов без возможности их последующего восстановления. Перед удалением файл может быть несколько раз перезаписан случайными данными, у него может быть модифицирована дата создания, изменено имя файла, а также выполнены другие действия согласно выбранным настройкам безопасности. Без регистрации постоянно вываливает окна с предложением прогуляться в кассу, а также в таком режиме заблокированы некоторые полезные функции. Лицензия представляет наиболее мерзкую свою разновидность - платную подписку на ограниченный период. Что ж, будем исправлять.
Читать статью целиком »
Просмотров: 555 | Комментариев: 1

Создание и скачивание файлов в браузере на JavaScript
01.10.2024 | Категория: Web-мастеру и не только | Автор: ManHunter
Сохранять изображения из браузера мы уже научились, теперь разберем более общий пример, когда надо создать виртуальный файл и отправить его на скачивание. Современными средствами JavaScript можно "на лету" создавать ZIP-архивы, PDF-файлы и даже некоторые форматы офисных документов. Подобное управление файлами посредством JavaScript на стороне клиента значительно повышает удобство работы, так как все манипуляции выполняются без необходимости поддерживать связь с сервером.Code (JavaScript) : Убрать нумерацию
- function virtual_download (data, file_name, mime_type) {
- // Создать элемент Blob
- var blob=new Blob([data], { type: mime_type });
- var url=window.URL.createObjectURL(blob);
- // Создать элемент ссылки
- var link=document.createElement('a');
- link.href=url;
- link.download=file_name;
- // Добавить элемент в DOM
- document.body.appendChild(link);
- // Эмуляция клика на ссылке
- link.click();
- // Убрать элемент из DOM
- document.body.removeChild(link);
- // Очистить объект Blob
- setTimeout(function() {
- window.URL.revokeObjectURL(url)
- }, 1000);
- }
Читать статью целиком »
Просмотров: 783 | Комментариев: 3

Алгоритм хеширования MaHash8 на Ассемблере
28.09.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter
MaHash8 - эффективная функция с высокой производительностью, которая позволяет выполнять операции хеширования с минимальным количеством коллизий. Она основана на простых операциях, имеет очень понятную структуру и легко реализуется на различных языках программирования.В алгоритме MaHash8 для хеширования используется таблица подстановки, позаимствованная из криптоалгоритма Skipjack. Если не хотите таскать готовую таблицу, то ее можно создавать динамически, используя формулы по приведенной ссылке.
Code (Assembler) : Убрать нумерацию
- sTable db 0a3h,0d7h,009h,083h,0f8h,048h,0f6h,0f4h,0b3h,021h,015h,078h
- db 099h,0b1h,0afh,0f9h,0e7h,02dh,04dh,08ah,0ceh,04ch,0cah,02eh
- db 052h,095h,0d9h,01eh,04eh,038h,044h,028h,00ah,0dfh,002h,0a0h
- db 017h,0f1h,060h,068h,012h,0b7h,07ah,0c3h,0e9h,0fah,03dh,053h
- db 096h,084h,06bh,0bah,0f2h,063h,09ah,019h,07ch,0aeh,0e5h,0f5h
- db 0f7h,016h,06ah,0a2h,039h,0b6h,07bh,00fh,0c1h,093h,081h,01bh
- db 0eeh,0b4h,01ah,0eah,0d0h,091h,02fh,0b8h,055h,0b9h,0dah,085h
- db 03fh,041h,0bfh,0e0h,05ah,058h,080h,05fh,066h,00bh,0d8h,090h
- db 035h,0d5h,0c0h,0a7h,033h,006h,065h,069h,045h,000h,094h,056h
- db 06dh,098h,09bh,076h,097h,0fch,0b2h,0c2h,0b0h,0feh,0dbh,020h
- db 0e1h,0ebh,0d6h,0e4h,0ddh,047h,04ah,01dh,042h,0edh,09eh,06eh
- db 049h,03ch,0cdh,043h,027h,0d2h,007h,0d4h,0deh,0c7h,067h,018h
- db 089h,0cbh,030h,01fh,08dh,0c6h,08fh,0aah,0c8h,074h,0dch,0c9h
- db 05dh,05ch,031h,0a4h,070h,088h,061h,02ch,09fh,00dh,02bh,087h
- db 050h,082h,054h,064h,026h,07dh,003h,040h,034h,04bh,01ch,073h
- db 0d1h,0c4h,0fdh,03bh,0cch,0fbh,07fh,0abh,0e6h,03eh,05bh,0a5h
- db 0adh,004h,023h,09ch,014h,051h,022h,0f0h,029h,079h,071h,07eh
- db 0ffh,08ch,00eh,0e2h,00ch,0efh,0bch,072h,075h,06fh,037h,0a1h
- db 0ech,0d3h,08eh,062h,08bh,086h,010h,0e8h,008h,077h,011h,0beh
- db 092h,04fh,024h,0c5h,032h,036h,09dh,0cfh,0f3h,0a6h,0bbh,0ach
- db 05eh,06ch,0a9h,013h,057h,025h,0b5h,0e3h,0bdh,0a8h,03ah,001h
- db 005h,059h,02ah,046h
Code (Assembler) : Убрать нумерацию
- ;-----------------------------------------------------------------------
- ; Функция вычисления хеша MaHash8
- ; Автор: ManHunter / PCL
- ; https://www.manhunter.ru
- ;-----------------------------------------------------------------------
- ; Параметры:
- ; lpData - указатель на строку
- ; dSize - длина строки
- ; На выходе:
- ; EAX = полученный хеш
- ;-----------------------------------------------------------------------
- proc MaHash8 lpData:DWORD, dSize:DWORD
- locals
- hash1 dd ?
- hash2 dd ?
- endl
- push ebx ecx edx esi edi
- mov esi,[lpData]
- mov eax,[dSize]
- mov [hash1],eax
- mov [hash2],eax
- xor ecx,ecx
- .loc_loop:
- cmp ecx,[dSize]
- je .loc_done
- mov al,byte[esi]
- add eax,ecx
- movzx eax,al
- movzx edx,byte[sTable+eax]
- add [hash1],edx
- mov edx,[hash1]
- shl edx,6
- mov eax,[hash1]
- shr eax,11
- xor eax,edx
- add eax,[hash1]
- rol eax,14
- mov [hash1],eax
- lodsb
- add eax,ecx
- movzx eax,al
- movzx edx,byte[sTable+eax]
- add [hash2],edx
- mov edx,[hash2]
- shl edx,6
- mov eax,[hash2]
- shr eax,11
- xor eax,edx
- add eax,[hash2]
- rol eax,18
- mov [hash2],eax
- mov ebx,[hash1]
- mov edi,[hash2]
- mov eax,ebx
- shr eax,16
- movzx edx,ax
- mov eax,edi
- shl eax,16
- or eax,edx
- mov [hash1],eax
- mov eax,edi
- shr eax,16
- movzx edx,ax
- mov eax,ebx
- shl eax,16
- or eax,edx
- mov [hash2],eax
- inc ecx
- jmp .loc_loop
- .loc_done:
- mov eax,[hash2]
- xor eax,[hash1]
- pop edi esi edx ecx ebx
- ret
- endp
Читать статью целиком »
Просмотров: 335 | Комментариев: 3
