Blog. Just Blog

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

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

Как узнать локальный IP-адрес компьютера

17.01.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter
Очередной небольшой сниппет, который может пригодиться в работе. Получение IP-адреса компьютера, на котором запущено приложение. Обратите внимание, что это будет локальный адрес, например, который прописан на роутере.

Для удобства дальнейшей работы надо определить структуру, в которой содержится информация о хосте. Остальное вроде бы все штатное.
  1. ; Маска для IP
  2. mask    db '%u.%u.%u.%u',0
  3.  
  4. struct HOSTENT
  5.         h_name      dd ?
  6.         h_aliases   dd ?
  7.         h_addrtype  dw ?
  8.         h_length    dw ?
  9.         h_addr_list dd ?
  10. ends
Остальной код достаточно простой. Получаем имя компьютера, по этому имени получаем информацию о хосте, затем из структуры HOSTENT извлекаем данные о IP-адресе.
  1.         invoke  WSAStartup,0101h,wsadata
  2.         or      eax,eax
  3.         jnz     loc_ret
  4.  
  5.         ; Получить имя хоста
  6.         invoke  gethostname,szHostName,MAX_PATH
  7.         or      eax,eax
  8.         jnz     loc_clean
  9.  
  10.         ; Получить адрес хоста по имени
  11.         invoke  gethostbyname,szHostName
  12.         or      eax,eax
  13.         jz      loc_clean
  14.  
  15.         ; Указатель на массив указателей на IP
  16.         mov     eax,[eax+HOSTENT.h_addr_list]
  17.         or      eax,eax
  18.         jz      loc_clean
  19.  
  20.         ; Первый указатель
  21.         mov     eax,[eax]
  22.         or      eax,eax
  23.         jz      loc_clean
  24.  
  25.         ; Преобразовать IP из формата TCP/IP в обычный
  26.         invoke  ntohl,[eax]
  27.  
  28.         ; Преобразовать байты в символы
  29.         mov     ecx,4
  30. loc_loop:
  31.         movzx   ebx,al
  32.         push    ebx
  33.         shr     eax,8
  34.         loop    loc_loop
  35.  
  36.         invoke  wsprintf,szIP,mask
  37.         add     esp,24
  38.  
  39.         ; szIP -> строка с IP хоста
  40.  
  41. loc_clean:
  42.         ; Прибраться за собой
  43.         invoke  WSACleanup
В принципе, адресов может быть больше одного, так что в случае необходимости потребуется сканировать весь массив указателей. В приведенном примере берется первый адрес.

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

Чтение файла XLSX на PHP без сторонних библиотек

15.01.2024 | Категория: Web-мастеру и не только | Автор: ManHunter

Чтение файла XLSX на PHP без сторонних библиотек

На работе возникла задача читать данные из таблиц формата XLSX. Много лет для этого я использовал замечательную библиотеку PHPExcel, но по ряду технических причин дальнейшее ее использование не представляется возможным. При этом задачу никто не отменял. Поэтому пришлось рисовать свое решение, максимально простое и быстрое.

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

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

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

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

Process Lasso на протяжении вот уже двух десятков лет заслуженно сохраняет звание одного из самых мощных менеджеров процессов. Для каждого процесса можно вручную или автоматически установить приоритет, а также посмотреть детальную информацию о его модулях. Нежелательные процессы, нагружающие систему, можно автоматически завершать, а также блокировать запуск процессов из "черного списка". Также Process Lasso ведет лог запускаемых процессов, который сохраняется в журнал событий. Пробная версия урезана по функционалу, а за полную версию надо выложить денежку. Ну или не надо, смотря как подойти к вопросу.

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

Газовая плитка Kovea X ON KGR-2007

11.01.2024 | Категория: Обзоры техники | Автор: ManHunter

Газовая плитка Kovea X ON KGR-2007

Из-за наступивших морозов где-то на электроподстанции произошла авария, дом остался без света на несколько часов. Проблему с освещением решили многочисленные фонарики и пауэрбанки, а вот неработающую электрическую плиту подменяла проверенная временем система Fire-Maple Star FMS-X2. Но она хорошо справляется только с небольшими объемами продуктов, да и сама конструкция больше приспособлена для работы в условиях полевых выходов. Поэтому для дома я решил приобрести что-то в более привычном форм-факторе. Наткнувшись в поисках на газовую плитку Kovea X ON KGR-2007, решение было принято незамедлительно. Корейскую марку Kovea я знаю давно и исключительно с хорошей стороны, отзывы к товару лишь подтвердили мою уверенность в правильности выбора.

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

Индоутка на гриле

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

Индоутка на гриле

Блюдо с нашего новогоднего стола. В этот раз для угощения мы решили приготовить копченую индоутку на гриле с гарниром из вареного картофеля. Индоутка выгодно отличается от курицы размерами, даже одной тушки хватит на большое семейство. А от обычной утки отличается тем, что мясо получается не такое сухое. Ну а преимущества приготовления на гриле, надеюсь, перечислять не надо.

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

01 ... 04 05 06 07 08 09 10 ... 400
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.09 сек. / MySQL: 2 (0.0182 сек.) / Память: 4.5 Mb
Наверх