Форум программистов, компьютерный форум, киберфорум
Winapi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
Старый
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
Запись от bedvit размещена 28.01.2026 в 12:35. Обновил(-а) bedvit 28.01.2026 в 12:43
Показов 2926 Комментарии 0
Метки com, vb, winapi

Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы исходники Crypto++
Использованы алгоритмы сжатия WinApi.

Нажмите на изображение для увеличения
Название: VariantToFromFile.PNG
Просмотров: 382
Размер:	89.3 Кб
ID:	11456

Функционал:
+ Сохранять данные из VARIANT в файл
+ Загружать данные из файла в VARIANT
+ Шифровать данные...
Аватар для bedvit
Старый
Рейтинг: 5.00. Голосов: 1.
Доступ к терминальной сессии (Session 0) после обновления 22H2
Запись от _lunar_ размещена 08.02.2023 в 12:40
Показов 7818 Комментарии 0
Метки c, c++, winapi

Дополнительная информация и аттач для скачивания тут

Давно я ничего не писал в блоге, да и ценности в жизни меняются - занимаюсь кодингом всё меньше и меньше, но окончательно бросить всё же не могу (после стольких лет моего увлечения программированием).
А сподвигло меня на новый анализ ядра...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 5.
Разбираемся в новом API KLoader. Часть 2: Deep Internal Research
Запись от _lunar_ размещена 04.06.2022 в 01:55
Показов 2581 Комментарии 0
Метки c, c++, winapi

Разбираемся в новом API KLoader. Часть 1: Общие сведения

Из первой части исследования стало известно, что в реестре Windows 11 есть раздел, который не доступен с правами администратора.
И чтобы узнать что в нём находится пришлось повысить права реестра до уровня СИСТЕМА.
Следовательно, такими...
Аватар для _lunar_
Старый
Рейтинг: 4.43. Голосов: 7.
Разбираемся в новом API KLoader. Часть 1: Общие сведения
Запись от _lunar_ размещена 25.05.2022 в 00:56
Показов 3146 Комментарии 0
Метки c, c++, winapi

Во-первых, сразу уточню, что новый API доступен только в Windows 11. В более старых версиях ОС не ищите, его там нет.

Уже и не помню каким образом я наткнулся на ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\KLoader
но результат запроса на открытие меня немного удивил
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 599
Размер:	84.2 Кб
ID:	7549
Отказано в доступе с учётом того, что Реестр по умолчанию открывается с правами администратора с соответствующим запросом UAC.

"Не...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 2.
Стек вызовов Windows API
Запись от _lunar_ размещена 11.04.2022 в 14:59
Показов 2856 Комментарии 0
Метки c, c++, winapi

В этой записи я постараюсь простым понятным языком объяснить что такое API в целом, а также его разновидности в зависимости от того, где это API исполняется.

Сперва, предлагаю внимательно посмотреть на скриншот и запомнить последовательность вызовов
(не стал рисовать...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 2.
Объекты операционной системы. Часть 4: Отладчик уровня ядра WinDbg
Запись от _lunar_ размещена 24.12.2021 в 19:41
Показов 3926 Комментарии 0
Метки c, c++, winapi

Объекты операционной системы. Часть 1: Общие сведения
Объекты операционной системы. Часть 2: Объект ядра
Объекты операционной системы. Часть 3: Уровень целостности

В этой части я решил показать самые интересные, на мой взгляд, возможности ядерного отладчика WinDbg.
Но сначала немного слов о том, как его установить и как им пользоваться....
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 2.
Объекты операционной системы. Часть 3: Уровень целостности
Запись от _lunar_ размещена 08.12.2021 в 01:51
Показов 4958 Комментарии 3
Метки c, c++, winapi

Объекты операционной системы. Часть 1: Общие сведения
Объекты операционной системы. Часть 2: Объект ядра

Честно говоря, третью часть блога "Объекты операционной системы" я хотел написать совершенно про другое.
В планах было показать работу ядерного отладчика WinDbg, но в процессе подготовки материала...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 4.
Объекты операционной системы. Часть 2: Объект ядра
Запись от _lunar_ размещена 16.11.2021 в 12:22
Показов 7549 Комментарии 3
Метки c, c++, winapi

Объекты операционной системы. Часть 1: Общие сведения

Больший интерес из всех трёх групп объектов представляет категория объект ядра.
Рассмотрим более подробно Kernel object.

Каждый объект ядра - это блок памяти, выделенный ядром ОС и доступный только ядру ОС.
Этот блок памяти представляет собой структуру данных, члены которой хранят информацию об объекте (дескриптор...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 4.
Объекты операционной системы. Часть 1: Общие сведения
Запись от _lunar_ размещена 12.11.2021 в 00:09
Показов 5352 Комментарии 5
Метки c, c++, winapi

В этом блоге я решил затронуть такую тему, как объекты операционной системы семейства Windows.
Очень часто начинающие программисты, да и обычные пользователи, не могут прийти к пониманию - что есть объект и для чего нужен дескриптор объекта.
Материал даётся с учётом того, читающий данный блог уверенно разбирается в языках программирования C и C++, а также знает основы внутренней архитектуры ОС Windows.

Начнём с определения объекта.
Объект - это структура...
Аватар для _lunar_
Старый
Рейтинг: 3.80. Голосов: 5.
Прогулка по Рабочему столу Winlogon. Часть 2: Привет, друг
Запись от _lunar_ размещена 08.06.2021 в 01:52
Показов 4619 Комментарии 2
Метки c, c++, winapi

Прогулка по Рабочему столу Winlogon. Часть 1: UAC

Когда ребята из Microsoft создавали экран приветствия, где пользователь должен ввести логин и пароль,
наверняка они хотели изобрести что-то мощное, что не дало бы не единого шанса на обход пароля и перехода к обычному Рабочему столу.
И всё бы ничего, но один эксплойт они проглядели. Давайте разбираться.

Что же такое экран приветствия? На этот вопрос нам поможет ответить всё тот же KernelExplorer
...
Аватар для _lunar_
Старый
Рейтинг: 3.67. Голосов: 6.
Прогулка по Рабочему столу Winlogon. Часть 1: UAC
Запись от _lunar_ размещена 02.06.2021 в 00:55
Показов 6730 Комментарии 7
Метки c, c++, winapi

В современной операционной системе Windows есть области ядра, в которые Microsoft не хотела бы пускать обычных пользователей. Сделано это, естественно, в целях безопасности.
Это могут быть процессы, сервисные службы, и даже Рабочие столы. Немного освежим память для целостности...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 1.
Постоянная ссылка на Google Диск для скачивания моих утилит
Запись от _lunar_ размещена 03.03.2021 в 10:55
Показов 9982 Комментарии 0
Метки c, c++, winapi

В этом блоге я буду выкладывать свои программы/утилиты с постоянной ссылкой.
Все обновления будут визироваться именно в этой постоянной ссылке.
Выкладывать архивы с новыми ревизиями больше не стану, слишком много вложений в разных темах получается и пользователи теряются.

KernelExplorer

Исходный код на GitHub

Скачать с GitHub

ВНИМАНИЕ!!!
В связи с ненормальной политикой Microsoft в отношении...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 2.
Вскрываем защиту ProtectedLite процессов на уровне пользовательского кода
Запись от _lunar_ размещена 20.02.2021 в 12:19
Показов 5474 Комментарии 0
Метки c, c++, winapi

Начну немного с теории - как это работает и для чего это нужно.
При разработке нового ядра, отличного от ядра Windows XP, в Microsoft придумали такую штуку как изоляция критических процессов.
Следствием этого стали защищенные процессы (Process Protected), которые могли создавать только...
Аватар для _lunar_
Старый
Двойная буферизация GDI
Запись от Замабувараев размещена 10.02.2021 в 13:17
Показов 2486 Комментарии 2
Метки freebasic, winapi

Чтобы рисовать «в памяти», нужен контекст устройства в памяти. Создать его можно через `CreateCompatibleDC`. Однако проблема в таком устройстве в том, что по умолчанию в нём выбран чёрно‐белый BITMAP размером 1 на 1 пиксель. Поэтому рисунок в контексте устройства в памяти будет чёрно‐белым. Чтобы рисунок был цветным, необходимо создать BITMAP на основе оконного или дисплейного контекста устройства и выбрать его в контекст устройства в памяти:

PureBasic
1
Const MOVE_DY = 10
...
Аватар для Замабувараев
COM‐пропагандист
Старый
Рейтинг: 5.00. Голосов: 3.
Исследование сервиса "Обнаружение интерактивных служб" (UI0Detect) Часть 3: Эпилог
Запись от _lunar_ размещена 30.01.2021 в 13:33
Показов 7816 Комментарии 0
Метки c, c++, winapi

Исследование сервиса "Обнаружение интерактивных служб" (UI0Detect) Часть 1: Windows Vista - Windows 7
Исследование сервиса "Обнаружение интерактивных служб" (UI0Detect) Часть 2: Windows 8 - Windows 10

В заключительной части много слов не будет. Я лишь скажу то, что мне всё таки удалось восстановить вырезанную Майкрософтом часть системы - сервис...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 2.
Исследование сервиса "Обнаружение интерактивных служб" (UI0Detect) Часть 2: Windows 8 - Windows 10
Запись от _lunar_ размещена 10.01.2021 в 12:16
Показов 7018 Комментарии 0
Метки c, c++, winapi

Исследование сервиса "Обнаружение интерактивных служб" (UI0Detect) Часть 1: Windows Vista - Windows 7

Первая часть блога по исследованию сервиса UI0Detect в больше степени касается таких операционных систем, как Windows Vista и Windows 7.
Механизм переключения на Рабочий стол нулевой сессии в этих ОС одинаков (за исключением некоторых неважных мелочей).
Но в Windows 8/8.1 и Windows 10 ядро было переписано в угоду "безопасности". Коснулись...
Аватар для _lunar_
Старый
Рейтинг: 4.20. Голосов: 5.
Исследование сервиса "Обнаружение интерактивных служб" (UI0Detect) Часть 1: Windows Vista - Windows 7
Запись от _lunar_ размещена 06.11.2020 в 12:15
Показов 10300 Комментарии 3
Метки c, c++, winapi, windows

После насквозь "дырявой" Windows XP в Microsoft прикинули расклад и задались вопросом - как же изолировать систему от пользователя?
Ведь в XP пользователь работал в той же среде, что и ядро операционной системы.
Поэтому с выходом Windows Vista компания представила новый механизм...
Аватар для _lunar_
Старый
Рейтинг: 3.40. Голосов: 5.
Быстрая реализация поиска строк в csv/txt(ANSI) файлах (WinAPI + С++)
Запись от bedvit размещена 06.06.2020 в 23:22
Показов 8300 Комментарии 37
Метки c++, vba, winapi

Реализация для XLL как функция Excel. В планах, реализация в СОМ. Реализовано.
Часть библиотеки BedvitXLL
Особенности реализации:
1.WinAPI: CreateFile + ReadFile
2.Асинхронность в чтения с диска и выполнения рабочего кода.
3.Возможность отключения системного кеширования.
4.Посему чтение блоками, кратно степени двойки - по 16 Мб.(16777216 байт), в большинстве hdd - такого размера свой кеш.
...
Аватар для bedvit
Старый
Рейтинг: 5.00. Голосов: 3.
Обход Anti-Malware Scan Interface (AmsiScanBuffer bypass)
Запись от _lunar_ размещена 01.01.2020 в 19:15
Показов 7546 Комментарии 0
Метки c, c++, winapi

С релизом Windows 10 компания Microsoft представила новый интерфейс, который могут использовать приложения и службы, отправляя «контент» поставщику антивирусного ПО, установленному в системе (например Windows Defender).
Называется этот интерфейс Anti-Malware Scan Interface и представлен в системной...
Аватар для _lunar_
Старый
Рейтинг: 4.33. Голосов: 6.
Windows Internal на примере user32.dll!__ClientLoadLibrary (Часть 1.0)
Запись от _lunar_ размещена 29.10.2019 в 16:15
Показов 11690 Комментарии 0
Метки c, c++, winapi

Internal (или внутренние) функции операционной системы Windows как известно не входят в таблицу экспорта и используются исключительно самой библиотекой для различных вычислений.
Кроме того, системные библиотеки Windows условно можно разделить на 2 группы:
- пользовательские...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 4.
Правильный прототип LdrLoadDll
Запись от _lunar_ размещена 22.07.2019 в 15:14
Показов 12295 Комментарии 0
Метки c, c++, winapi

Почему-то везде в интернете ходит один и тот же неправильный прототип nt-функции LdrLoadDll
C++
1
2
3
4
5
6
7
8
9
NTSYSAPI
NTSTATUS
NTAPI
LdrLoadDll(
    _In_opt_ PWSTR DllPath,
    _In_opt_ PULONG DllCharacteristics,
    _In_ PUNICODE_STRING DllName,
    _Out_ PVOID *DllHandle
    );
ведать один написал (ещё со времен какой-нить висты) и все с него бездумно копируют.

...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 4.
Чтение данных PE заголовка
Запись от _lunar_ размещена 27.03.2019 в 13:13
Показов 9415 Комментарии 1
Метки c, winapi

Несмотря на то, что исполняемые файлы имеют чёткую структуру и документированное описание, найти полезную информацию в интернете о том как читать PE заголовок достаточно сложно (если вообще возможно).

Переписывать документацию наверное не имеет смысла. Вместо этого...
Аватар для _lunar_
Старый
Пара нюансов при создании службы (Windows Service) и не только
Запись от Jin X размещена 26.03.2019 в 16:27
Показов 16381 Комментарии 0

Пара нюансов при создании службы (Windows Service) и не только

Пишу службу (Windows Service) на Delphi через VCL. В том же EXE-шнике делаю конфигуратор с оконным интерфейсом.
Получается так:
  • При запуске с опцией /install служба устанавливается (встроенная фича TServiceApplication).
  • При запуске с опцией /uninstall служба удаляется (встроенная фича TServiceApplication).
  • При запуске с опцией /config запускается конфигуратор.
  • Запуск службы
...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Старый
Рейтинг: 4.14. Голосов: 7.
Клеточные автоматы ч.2 - Conway's Game of Life (С++ WinAPI)
Запись от bedvit размещена 01.03.2019 в 21:15
Показов 10965 Комментарии 16
Метки c++, winapi

Решил сделать свой велик.
Программа Life
Видео и новые версии программы на сайте.

Продукт написан на С++, GUI на WinAPI.
Предыдущая часть: Клеточные автоматы ч.1 - Conway's Game of Life in Excel

Основные параметры:
1. Размер игрового поля 2^32 на +2^32 клеток (рамка примерно 4,3*4,3 млрд. клеток) - поле закольцовано по X, Y координатам.
2. Масштаб от 32 пикселей - одна клетка, до 1 млр. клеток на один пиксель (можно загрузить...
Аватар для bedvit
Старый
Рейтинг: 5.00. Голосов: 2.
Прототип RtlCreateUserProcessEx
Запись от _lunar_ размещена 29.01.2019 в 10:25
Показов 6870 Комментарии 0
Метки c, winapi

Потребовалось недавно создать процесс средствами Native API.
Из всего набора функций ntdll.dll имеются следующие варианты:
1. NtCreateProcess(Ex) - создаётся элементарно просто (NtOpenFile -> NtCreateSection -> NtCreateProcess -> NtGetContextThread -> NtCreateThread) но связать процесс с csrss слишком геморно, поэтому дальше...
Аватар для _lunar_
Старый
Рейтинг: 5.00. Голосов: 3.
Загрузка динамических библиотек без kernel32.dll
Запись от _lunar_ размещена 22.01.2019 в 13:08
Показов 6719 Комментарии 0
Метки c, winapi

Решил написать небольшой пример для загрузки DLL средствами NativeAPI (полностью независимого от Kernel32.dll кода).
Самое главное, я напишу именно 64 битный код, т.к. в интернете одно 32 битное старье и то не доделано до конца.
Для этого я буду использовать 64 битный указатель *__ptr64....
Аватар для _lunar_
Старый
Рейтинг: 3.40. Голосов: 5.
Библиотека COM (OLE Automation). Часть 1 - ArraySort (String)
Запись от bedvit размещена 13.11.2018 в 21:46
Показов 7396 Комментарии 18
Метки c++, vba, winapi

Теперь часть библиотеки BedvitCOM.
См. Часть 2.
Решил запустить пробный шар, и если будет время и интерес к данной тематике, возможно сделаю что-то годное в своих COM и XLL библиотеках.
Цель - скорость и удобство работы, создание для скриптовых языков, языков с поддержкой COM - того, чего там нет или есть, но хочется лучше.
В данном момент ориентир на VBA.
Добавил новый класс - "VBA" к двум уже существующим (см. ссылку выше).
Добавил новый...
Аватар для bedvit
Старый
Рейтинг: 3.00. Голосов: 2.
Велосипеды (C++,WinApi)
Запись от Avazart размещена 01.10.2016 в 19:25 / Мой блог
Показов 9443 Комментарии 5


Название: index.jpg
Просмотров: 8954

Размер: 10.6 Кб

Ссылка на исходники https://github.com/Avazart/Bicycle

Решил поделиться некоторыми своими велосипедами, подумал что возможно кому-то будет интересно взглянуть, а кто-то может еще и укажет на баги/недочеты.

Основа- классы:
  • Process
  • SerialPort
  • TcpClient
являющие собой обвертки над WinApi и Winsoсks.

Для этих классов есть специальный класс-поток TextStream позволяющий читать из объектов...
Аватар для Avazart
Старый
C++ - WinAPI - Простой таймер высокого разрешения
Запись от castaway размещена 24.07.2015 в 12:59
Показов 752 Комментарии 2
Метки c++, timer, winapi

Код с примером
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <cstdio>
#include <cstdint>
#include <cmath>
 
class hr_timer {
    double  m_resolution;
 
public:
    hr_timer() {
        uint64_t frequency;
        QueryPerformanceFrequency( (LARGE_INTEGER *)&frequency );
        m_resolution = 1e6 / float(frequency);
    }
 
    void wait( uint64_t us /* microseconds */ ) {
        if ( us ) {
...
Старый
Рейтинг: 4.00. Голосов: 1.
C++ - WinAPI - IP Sniffer
Запись от castaway размещена 20.07.2015 в 21:24
Показов 801 Комментарии 2
Метки c++, network, sniffer, winapi

Простой IP сниффер на WinAPI.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <winsock2.h>
#include <ws2tcpip.h>
#include <windows.h>
#include <mstcpip.h>
 
#include <cstdio>
#include <cstdint>
#include <cctype>
#include <string>
#include <map>
 
///
/// [url]https://en.wikipedia.org/wiki/IPv4[/url]
///
struct ip_header {
    uint8_t     ver_ihl;
    uint8_t     dscp_ecn;
    uint16_t    len;
...
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru