Blog. Just Blog

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

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

Качаем с Яндекс.Народа без ввода контрольных цифр

07.09.2008 | Категория: Темная сторона Силы | Автор: ManHunter
Есть такой приятный почти во всех отношениях сервис - Яндекс.Народ, предоставляющий после регистрации неограниченное место для хранения файлов, закачку файлов до 5 гигабайт и еще много интересных условий. Но как на всех файлообменных сервисах для получения ссылки требуется сперва ввести некоторый числовой код для подтверждения что вы человек, а не программа для автоматического скачивания файлов. Конечно, для сотни файлов действительно можно воспользоваться и какой-нибудь автоматической программой с распознаванием цифрового кода, но для одного-двух файлов будет полезным следующий метод. Сразу небольшое уточнение: описанный метод только для браузеров на движке Gecko: Mozilla, Firefox, Flock и других, для остальных похожие решения придется искать вам самим. Но тут главное уловить сам принцип. Итак, вернемся к нашему Народу. При попытке скачать любой файл сервис выдает код и интересное сообщение:


Хотите скачивать файлы еще быстрее?
Установите новый Яндекс.Бар, и вам не понадобится вводить контрольные цифры.


Скачивать-то мы хотим, но не хочется ставить этого адварного трояна в свою систему. Желаете доказать его безопасность или полезность? Не тратьте зря время, мое мнение не изменится. Но наука требует жертв, поэтому скрипя зубами я его установил (не пытайтесь повторить ЭТО дома!!!). После перезапуска браузера наблюдается наличие панели инструментов этого "Бара", и как побочный эффект файлы действительно стали скачиваться без ввода контрольных цифр. Как же файлообменник узнает своего агента? Внимательно смотрим заголовки запроса.

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

The Best Female Gothic Voice Contest

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

Сегодня сходил на концерт-конкурс "The Best Female Gothic Voice Contest", который проходил в обновленном рок-клубе "X.O". До места проведения добрался быстро, клуб начал радовать с самых первых минут. Никакой давки, билеты без проблем тут же в кассе, вменяемая и ненавязчивая охрана, цены в баре как и везде в клубах. Внутренняя обстановка клуба тоже понравилась, я забрался на балкончик на второй этаж, чтобы можно было наблюдать выступление. К сожалению, из заявленных участников остались только четыре команды: Dark Princess, Suita De Ora, Morbid Violence и Witchcraft. По непонятным причинам отказалась от участия финская группа Vanguard и московская команда Arcane Grail. Ну да ладно.

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

Запуск нескольких функций по событию onLoad

04.09.2008 | Категория: Web-мастеру и не только | Автор: ManHunter
Начнем с документации:


onLoad
Событие onLoad происходит при полной загрузке страницы документа или всех фреймов. Оно считается состоявшимся только после завершения загрузки всей страницы, включая изображения.


Это событие часто используется различными скриптами для модификации страницы сразу после загрузки, например прописываются красивые всплывающие подсказки вместо стандартных атрибутов title, подсвечивается код, выполняется инициализация других скриптов или выполняются другие полезные действия в зависимости от фантазии разработчиков. Проблема в том, что разработчиков с их фантазией много, а событие на странице только одно. И получается ситуация, когда хочется подключить на свою web-страничку несколько скриптов разных производителей, и все они для своей работы хотят монопольно использовать событие onLoad. Конечно, при наличии определенных навыков можно подправить исходный код. Но как быть, если исходный код скриптов недоступен, например файлы расположены на стороннем сервере или упакованы (зашифрованы)? Что делать с упакованными и шифрованными скриптами и их "аффтарами" я расскажу потом, это тема для отдельной статьи, а сейчас будет решаться задача с выполнением нескольких функций по событию onLoad.

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

Генератор случайных чисел на Ассемблере

03.09.2008 | Категория: Образ мышления: Assembler | Автор: ManHunter
При написании программ часто возникает необходимость получить последовательность случайных чисел. В языках высокого уровня существуют штатные функции, а для Ассемблера я использую так называемый "Минимальный генератор Парка-Миллера" (Minimal portable random generator by Park and Miller). От аналогичных алгоритмов его отличает очень малый размер и равномерное распределение получаемых случайных чисел. Математическую модель и описание работы алгоритма можно без труда найти в интернете, поэтому эту информацию я здесь не привожу.
  1. ;---------------------------------------------
  2. ; Park Miller random number algorithm
  3. ; Получить случайное число 0 ... 99999
  4. ; stdcall WRandom
  5. ; на выходе EAX - случайное число 
  6. ;---------------------------------------------
  7. proc    WRandom
  8.         push    edx ecx
  9.         mov     eax,[random_seed]
  10.         xor     edx,edx
  11.         mov     ecx,127773
  12.         div     ecx
  13.         mov     ecx,eax
  14.         mov     eax,16807
  15.         mul     edx
  16.         mov     edx,ecx
  17.         mov     ecx,eax
  18.         mov     eax,2836
  19.         mul     edx
  20.         sub     ecx,eax
  21.         xor     edx,edx
  22.         mov     eax,ecx
  23.         mov     [random_seed],ecx
  24.         mov     ecx,100000
  25.         div     ecx
  26.         mov     eax,edx
  27.         pop     ecx edx
  28.         ret
  29. endp
  30.  
  31. ;---------------------------------------------
  32. ; Получить случайное число в нужном интервале
  33. ; Требуется процедура WRandom
  34. ; stdcall WIRandom,min,max
  35. ; на выходе EAX - случайное число   
  36. ;---------------------------------------------
  37. proc    WIRandom rmin:dword,rmax:dword
  38.         push    edx ecx
  39.         mov     ecx,[rmax]
  40.         sub     ecx,[rmin]
  41.         inc     ecx
  42.         stdcall WRandom
  43.         xor     edx,edx
  44.         div     ecx
  45.         mov     eax,edx
  46.         add     eax,[rmin]
  47.         pop     ecx edx
  48.         ret
  49. endp
  50.  
  51. ;---------------------------------------------
  52. ; Инициализация генератора случайных чисел
  53. ; stdcall WRandomInit 
  54. ;---------------------------------------------
  55. proc    WRandomInit
  56.         push    eax edx
  57.         rdtsc
  58.         xor     eax,edx
  59.         mov     [random_seed],eax
  60.         pop     edx eax
  61.         ret
  62. endp
После небольшой доработки он получил возможность генерировать случайные числа в заданном интервале.

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

Нестандартный способ определения браузера Internet Explorer

02.09.2008 | Категория: Web-мастеру и не только | Автор: ManHunter
Начиная с версии 1.2 в языке JavaScript есть интересный метод работы с функциями - arguments.callee. Откроем почитать документацию.


arguments.callee
Специфицирует тело исполняемой в данный момент функции. Свойство callee доступно только в теле функции. Ключевое слово this не относится к исполняемой в данный момент функции. Используйте свойство callee для обращения к функции в теле этой функции.


Проще говоря, результатом выполнения arguments.callee внутри какой-нибудь функции будет тело этой функции. Для наглядного примера код:
  1. function myFunc() {
  2.   return arguments.callee;
  3. }
  4. alert(myFunc());
покажет в MessageBox'е следующее:


Результат arguments.callee

то есть в точности код вызванной функции. "Ага!" - подумали суровые уральские мужики. - "А если мы поместим в тело функции что-нибудь еще, например железный лом комментарий?" Подумали и поместили.

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

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.1 сек. / MySQL: 2 (0.0349 сек.) / Память: 4.5 Mb
Наверх