Blog. Just Blog

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

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

Как удалить неудаляемые расширения Firefox

02.06.2012 | Категория: Software | Автор: ManHunter

Неудаляемое дополнение Firefox

Разработчики некоторых программ считают себя слишком умными, и пытаются принимать решения за пользователя. Одним из проявлений такой "заботы" является установка в браузеры каких-то непонятных плагинов и дополнений. Более того, такие дополнения часто нельзя удалить штатными средствами браузера, а можно только отключить. Сейчас я научу вас, как избавляться от подобных "данайских подарков" на моем примере - расширении SmartPrintButton, его впаривает инсталлятор принтера HP LaserJet Pro при установке. Как вы видите на скриншоте, кнопка "Удалить" действительно неактивна.

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

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

17.04.2012 | Категория: Образ мышления: Assembler | Автор: ManHunter
MD4 (Message Digest 4) - хеш-функция, разработанная профессором Рональдом Ривестом в 1990 году. Для произвольных входных данных функция MD4 генерирует 128-разрядный хеш. Функция MD4 является предшественником MD5 и до настоящего времени применяется в некоторых сетевых технологиях Windows. В реализации обоих алгоритмов очень много общего, поэтому точно так же в сегменте данных надо подготовить следующие массивы и переменные:
  1. ; Сегмент данных
  2. section '.data' data readable writeable  
  3. ...
  4. ; Шаблоны функции wsprintf для перевода хеша в строковый вид,
  5. ; при необходимости можно оставить только какой-нибудь один
  6. szMD4Format1 db '%.8X%.8X%.8X%.8X',0  ; Для получения заглавных букв
  7. szMD4Format2 db '%.8x%.8x%.8x%.8x',0  ; Для маленьких букв в строке хеша
  8.  
  9. stMD4Result:
  10.   stdtA      dd ?   ; Переменные для получения и хранения
  11.   stdtB      dd ?   ; результата хеширования
  12.   stdtC      dd ?
  13.   stdtD      dd ?
  14.  
  15. stMD4Hash    rb 33  ; Буфер для строки хеша в формате ASCIIZ 
Основная и вспомогательные функции более простые и компактные, к тому же вспомогательных функций всего три, по количеству используемых раундов хеширования.

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

Блокировка трафика с помощью программы HtFilter

20.12.2011 | Категория: Software | Автор: ManHunter

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

Мы уже научились блокировать нежелательный трафик с помощью политики IP-безопасности Windows. Теперь рассмотрим еще один способ - с помощью бесплатной программы HtFilter. Очень странно, что на сайте разработчиков не осталось ни единого упоминания о ней, хотя страница программы до сих пор доступна по прямой ссылке. Может быть это потому, что HtFilter не работает на Windows 7 (по крайней мере мне так и не удалось подружить ее с обновлениями системы). Зато в Windows XP программа HtFilter становится мощным и удобным инструментом для блокировки рекламы, для ограничения доступа ваших детей к нежелательным сайтам, а также для запрещения проверки активации всякими коммерческими программами. HtFilter устанавливается в систему как сервис и не виден в менеджере задач. Но главное, что программа HtFilter малоизвестна, а это позволяет утереть нос хитроопущенным шароварщикам и особо одаренным детям.

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

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

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

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

Программа USBFlashCopy предназначена для автоматического создания резервных копий данных с Flash-накопителей при подключении их к компьютеру. Резервная копия создается в фоновом режиме, возможны настройки для копирования файлов только отдельного типа, например, картинки или документы. Блин, да кого я обманываю... Программа USBFlashCopy предназначена для скрытого копирования информации с чужих флешек при подключении их к вашему компьютеру, например, файлов с паролями, личных фотографий, документов и других данных на ваш выбор. В бесплатном режиме на экране показывается окно с прогрессом копирования, которое невозможно закрыть, а также при каждом подключении носителей выдается окно с запросом настроек копирования. Чтобы убрать все палево и работать в скрытом режиме, требуется регистрация. Естественно, не бесплатная.

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

Как узнать, что программа запущена под Администратором

20.11.2011 | Категория: Образ мышления: Assembler | Автор: ManHunter
Иногда требуется узнать, запущена ли ваша программа под учетной записью с правами Администратора, или же от обычного пользователя. Для чего это нужно? Например, некоторые операции с реестром или файлами требуют права Администратора. При попытке выполнить их обычному пользователю вернется ошибка ERROR_ACCESS_DENIED, но для более точного анализа ситуации надо будет проверить права доступа и уведомить об этом пользователя. Проверить, что программа запущена под Администратором, можно несколькими способами.

Первый способ наиболее универсальный и работает даже на старых операционных системах. Он заключается в том, что надо получить группы доступа для токена текущего процесса, а затем проверить, входит ли хоть одна из них в группу Администраторов локального компьютера. Вот пример реализации:
  1. ; Сегмент данных
  2. section '.data' data readable writeable
  3.  
  4. SECURITY_NT_AUTHORITY       = 5
  5. TOKEN_READ                  = 0x00020008
  6. SECURITY_BUILTIN_DOMAIN_RID = 0x00000020
  7. DOMAIN_ALIAS_RID_ADMINS     = 0x00000220
  8. TokenGroups                 = 0x00000002
  9.  
  10. BUFF_SIZE = 1024h ;  Размер буфера для групп доступа токена
  11.  
  12. NtAuthority     db 0,0,0,0,0,SECURITY_NT_AUTHORITY
  13.  
  14. hTokenHandle    dd ?
  15. dInfoSize       dd ?
  16. psidAdmins      dd ?
  17. hHeap           dd ?
  18. pTokenGroups    dd ?
  19.  
  20. ;---------------------------------------------
  21.  
  22. ; Сегмент кода
  23. section '.code' code readable executable
  24.         ...
  25.         ; Получить токен текущего процесса
  26.         invoke  GetCurrentProcess
  27.         invoke  OpenProcessToken,eax,TOKEN_READ,hTokenHandle
  28.  
  29.         ; Выделить память для массива групп
  30.         invoke  GetProcessHeap
  31.         mov     [hHeap],eax
  32.  
  33.         invoke  HeapAlloc,eax,HEAP_ZERO_MEMORY,BUFF_SIZE
  34.         mov     [pTokenGroups],eax
  35.  
  36.         ; Получить информацию о группах доступа токена
  37.         invoke  GetTokenInformation,[hTokenHandle],TokenGroups,\
  38.                 [pTokenGroups],dword BUFF_SIZE,dInfoSize
  39.  
  40.         ; Прибраться за собой
  41.         invoke  CloseHandle,[hTokenHandle]
  42.  
  43.         invoke  AllocateAndInitializeSid,NtAuthority,2,\
  44.                 SECURITY_BUILTIN_DOMAIN_RID,\
  45.                 DOMAIN_ALIAS_RID_ADMINS,0,0,0,0,0,0,psidAdmins
  46.  
  47.         ; Количество записей в структуре TOKEN_GROUPS
  48.         mov     esi,[pTokenGroups]
  49.         mov     ebx,dword [esi]
  50.         ; Указатель на массив SID_AND_ATTRIBUTES
  51.         add     esi,4
  52. @@:
  53.         ; Проверить соответствие SID
  54.         mov     eax,dword [esi]
  55.         invoke  EqualSid,[psidAdmins],eax
  56.         or      eax,eax
  57.         jnz     loc_admin
  58.  
  59.         ; Следующая группа
  60.         add     esi,8
  61.         dec     ebx
  62.         or      ebx,ebx
  63.         jnz     @b
  64.  
  65. loc_not_admin:
  66.         ; Пользователь не Администратор
  67.         ...
  68.  
  69. loc_admin:
  70.         ; Пользователь Администратор
  71.         ...
Обратите внимание, что никаких проверок на ошибки не выполняется, оставлен только рабочий код. Полный вариант вы можете посмотреть в приложении к статье.

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

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