Blog. Just Blog

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

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

Концерт Олега Изотова в клубе "Plan B"

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

Концерт Олега Изотова в клубе "Plan B"

Девушек с гитарами мы уже слушали, теперь вот решил послушать гитарное мастерство сильной половины человечества. Как я понял из списка участников, в концерте примут участие все проекты, к которым так или иначе Олег Изотов имел или имеет отношение.

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

Перехват ввода и вывода консольных программ

13.04.2009 | Категория: Образ мышления: Assembler | Автор: ManHunter
Перехват ввода и вывода консольных программ бывает нужен, когда требуется получить результат их работы для обработки в нашем приложении. Также мы получаем возможность передавать консольным программам собственные данные. Как обычно в FASM'е готовых решений нет, пришлось разбираться самому и портировать с языков высокого уровня. Технически перехват ввода и вывода консоли выполняется с использованием специальных структур, называемых "Pipe". По принципу действия они и вправду похожи на трубы: в один конец информация "вливается", из другого "выливается", а перехват является просто подключением нашего "крана" к тому или иному концу трубы. Для перехвата требуется переопределить стандартные дескрипторы ввода и вывода консольного приложения на наши. Создать новые дескрипторы можно при помощи функции CreatePipe, а затем прописать в структуру STARTUPINFO запускаемого приложения. После этого новые дескрипторы будут доступны для чтения и записи как обычный файл.

В сегменте данных родительского приложения требуется определить следующие переменные и структуры:
  1. ; Сегмент данных
  2. section '.data' data readable writeable
  3.  
  4. ; Данные для перехвата консоли
  5. newstdin      dd ?  ; Новый дескриптор стандартного ввода
  6. newstdout     dd ?  ; Новый дескриптор стандартного вывода
  7. read_stdout   dd ?  ; Дескриптор для использования ReadFile
  8. write_stdin   dd ?  ; Дескриптор для использования WriteFile
  9. bytestoread   dd ?  ; Всего байт в буфере консоли
  10. available     dd ?  ; Счетчик байт, доступных для чтения из консоли
  11.  
  12. ; Эта структура по умолчанию не определена, сделаем это сами
  13. struct SECURITY_ATTRIBUTES
  14.        nLength               dd ?
  15.        lpSecurityDescriptor  dd ?
  16.        bInheritHandle        dd ?
  17. ends
  18.  
  19. ; Описание структур для запуска консольной программы и настройки дескрипторов
  20. sinfo      STARTUPINFO
  21. sattr      SECURITY_ATTRIBUTES
  22. pinfo      PROCESS_INFORMATION
  23.  
  24. ; Дополнительно зарезервируем буфер для чтения информации
  25. buff   rb 1024
Буфер большого размера для чтения данных лучше не использовать, вполне достаточно 1 килобайта. Количество байт, доступных для чтения из консоли, можно получить при помощи функции PeekNamedPipe. Обратите внимание, что фактически данные из консоли при этом не забираются, это надо будет сделать при помощи функции чтения файла ReadFile. Вот пример кода перехватчика вывода консоли.

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

Использование OpenSearch для поиска по сайту

10.04.2009 | Категория: Web-мастеру и не только | Автор: ManHunter
В большинстве современных браузеров есть специальное окно поиска, где вы можете производить поиск по различным сайтам. В список поисковых систем можно добавлять собственные ресурсы. Это делается по технологии OpenSearch, которая и описывает поисковый механизм вашего сайта. Чтобы пользователь мог добавить ваш сайт в список своих поисковых систем, вам требуется сделать всего лишь два простых действия.

Сперва надо создать файл-описание поисковой системы вашего сайта. Вот примерный шаблон такого файла:
  1. <?xml version="1.0" encoding="windows-1251" ?>
  2. <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
  3.   <ShortName>Site Name</ShortName>
  4.   <Description>Site Name Search</Description>
  5.   <InputEncoding>windows-1251</InputEncoding>
  6.   <Contact>your_mail@domain</Contact>
  7.     <Image width="16" height="16">data:image/x-icon;base64,AAABAAEAE...AAAA</Image>
  8.   <Developer>Admin</Developer>
  9.   <Url type="text/html" method="GET"
  10.        template="http://site/search?q={searchTerms}&amp;do=action"/>
  11. </OpenSearchDescription>
Вы можете менять следующие поля: ShortName - краткое название сайта, не более 16 символов. Description - описание сайта, не более 1024 символов. InputEncoding - кодировка сайта. Contact - контактный ардес e-mail администратора сайта. Developer - имя или никнейм администратора сайта. Url - шаблон ссылки, которая формируется для обращения к странице поиска. Переменная {searchTerms} будет автоматически заменяться на строку, которую пользователь будет вводить в форму поиска браузера. В шаблоне она должна быть записана именно в таком виде. Image - иконка, которая будет отображаться рядом с названием вашего сайта. Она может быть двух типов: в виде ссылки на файл на сервере или в виде закодированных двоичных данных. Например:
  1. <Image height="16" width="16" type="image/x-icon">ссылка_на_иконку</Image>
или
  1. <Image height="16" width="16">data:image/x-icon;base64,AAABAAEAEAA...DAAA=</Image>
В этом случае данные представляют собой содержимое файла иконки, сконвертированное в текстовое представление по алгоритму base64. По возможности придерживайтесь стандартного размера иконки - 16х16 пикселов. Это минимально необходимый набор параметров для файла описания. Полный их список вы можете найти в официальной спецификации OpenSearch и в руководстве по созданию поисковых плагинов для Firefox.

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

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

08.04.2009 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы FinalRecovery

FinalRecovery от MeetSoft - хорошая программа для восстановления удаленных файлов. Авторы старательно борются со всеми появляющимися варезными решениями, изменяя алгоритмы генерации серийных номеров. Новые кейгены быстро перестают работать, поэтому я расскажу как подбирать серийники к программе фишингом. Кроме того, в FinalRecovery используется интересная система проверки регистрации, на которой могут срезаться начинающие крякеры. Для исследования потребуется дистрибутив FinalRecovery и отладчик. Устанавливаем программу, смотрим. Исполняемый файл упакован UPX, он распаковывается самим же UPX с ключом "-d", тут никаких сюрпризов нет.

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

Готовим курицу с рисом

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

Готовим курицу с рисом

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

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

01 ... 396 397 398 399 400 401 402 ... 418
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.12 сек. / MySQL: 2 (0.0449 сек.) / Память: 4.5 Mb
Наверх