Форум программистов, компьютерный форум, киберфорум
Windows 7
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/35: Рейтинг темы: голосов - 35, средняя оценка - 4.63
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660

Почему работает драйвер подписанный сторонним сертификатом

05.11.2015, 16:52. Показов 8061. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий модератора 
Обсуждение вынесено из этой темы Отключение проверки цифровой подписи WIN 7 64 bit



Проще подписать драйвер своей цифровой подписью.
Я так устанавливал старый неподписаный драйвер для звуковой карты
Кликните здесь для просмотра всего текста


Инструкций в сети полно
Миниатюры
Почему работает драйвер подписанный сторонним сертификатом  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2015, 16:52
Ответы с готовыми решениями:

Не запускается подписанный драйвер
Написал драйвер, подписал через visual studio сам .sys и .cat тоже подписанный (все через самоподписанный сертификат) Но когда ввожу в...

Не выполняется подписанный PowerShell-скрипт
Ситуация следующая: Есть скрипт, который я подписал с помощью этой статьи. Есть сертификат, соответственно. Нужно: распространить...

Почему не срабатывает драйвер?-2
Здравствуйте! Продолжаю писать модуль под мышь. Добился того, что драйвер встраивается в систему и отправляет данные в userspace. Мышь...

40
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
08.11.2015, 21:11  [ТС]
Студворк — интернет-сервис помощи студентам
Убежденный, пока не могу перезагружаться (играю по сети, не хотелось бы остаться без звука)
Все данные обязательно предоставлю, но позже
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
08.11.2015, 23:00
Да, конечно. Извиняюсь еще раз за назойливость
Да, и в последнем сообщении я имел в виду WinObj, а не WinDBG
("см. вывод программы WinDBG WinOBJ").

Спустя 1 час 48 минут...

Кажется, я нашел способ расставить все точки над "i".
Нужно выполнить инструкцию по WinDBG+livekd, описанную выше, только
после команды "lmv m t3" (см. выше) выполнить еще парочку:

Code
1
dd CI!g_CiOptions
и

Code
1
dd nt!g_CiEnabled
После чего скопировать сюда весь получившийся вывод из окна WinDBG.
Это должно дать исчерпывающий ответ, почему грузится данный драйвер.

vavun, если будет возможность, сделайте пожалуйста, и отпишитесь
по результатам, очень любопытно.
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
08.11.2015, 23:10  [ТС]
Убежденный, lmv m t3
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
0: kd> lmv m t3
Browse full module list
start             end                 module name
fffff880`05d1a000 fffff880`05db9000   t3         (deferred)             
    Image path: \SystemRoot\system32\drivers\t3.sys
    Image name: t3.sys
    Browse all global symbols  functions  data
    Timestamp:        Fri Oct 12 03:42:00 2012 (50776758)
    CheckSum:         000A171E
    ImageSize:        0009F000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
 
Unable to enumerate user-mode unloaded modules, NTSTATUS 0xC0000147
Это то, что требовалось ?

Добавлено через 1 минуту
Пока окно открыто
Code
1
2
3
4
5
6
7
8
9
0: kd> dd CI!g_CiOptions
fffff880`00d83df0  00000006 00000000 00000000 00000000
fffff880`00d83e00  06cea060 fffffa80 00000000 00000000
fffff880`00d83e10  00d83e10 fffff880 00d83e10 fffff880
fffff880`00d83e20  00000000 00000000 00000000 00000000
fffff880`00d83e30  00000000 00000000 00000000 00000000
fffff880`00d83e40  00000000 00000000 00000000 00000000
fffff880`00d83e50  00000000 00000000 00000000 00000000
fffff880`00d83e60  00000000 00000000 00000000 00000000
Code
1
2
3
4
5
6
7
8
9
0: kd> dd nt!g_CiEnabled
fffff800`02e43558  00000001 00000000 00000000 00000000
fffff800`02e43568  00000000 00000000 00000000 00000000
fffff800`02e43578  00000000 00000000 06c86ed0 fffffa80
fffff800`02e43588  00000001 00000100 06c86cb0 fffffa80
fffff800`02e43598  00000001 00000100 06c86b60 fffffa80
fffff800`02e435a8  00000003 00000300 06c84f30 fffffa80
fffff800`02e435b8  00000003 00000300 00000000 00000000
fffff800`02e435c8  00000000 00000000 00000000 00000000
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
08.11.2015, 23:15  [ТС]
WinOBJ отображает драйвер на данный момент

Добавлено через 1 минуту
Осталось проэксперементировать с переименовыванием драйвера, или это уже не требуется ?

Добавлено через 1 минуту
Если все еще нужно, могу предоставить досуп по TeamViewer, но при условии, что вы подробно расскажите о результатах исследования в этой теме)
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
08.11.2015, 23:24
Цитата Сообщение от vavun Посмотреть сообщение
WinOBJ отображает драйвер на данный момент
Ок.

Цитата Сообщение от vavun Посмотреть сообщение
Осталось проэксперементировать с переименовыванием драйвера, или это уже не требуется ?
Хотелось бы проверить, что стопроцентно грузится именно этот файл, а не какой-то другой.

Цитата Сообщение от vavun Посмотреть сообщение
Если все еще нужно, могу предоставить досуп по TeamViewer, но при условии, что вы подробно расскажите о результатах исследования в этой теме)
Я в любом случае напишу. А доступ, к счастью, не потребовался.
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
08.11.2015, 23:26  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Хотелось бы проверить, что стопроцентно грузится именно этот файл, а не какой-то другой
Ок, сейчас переименую и перезагружусь.
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
08.11.2015, 23:30  [ТС]
Это был он
Я остался без звука, сейчас верну как было и снова перезагружусь
Миниатюры
Почему работает драйвер подписанный сторонним сертификатом  
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
09.11.2015, 00:38
Пока не нахожу этому поведению никакого логического объяснения.
Все говорит о том, что данный драйвер грузиться не должен, но он все равно грузится...

Итак, мы проверили, что система 64-битная, что никаких test mode и прочих
хакерских утилит на ней не применялось.

Дополнительно проверили, что это именно тот файл драйвера:

* с помощью команды lmv m была получена информация о загруженном в ядро модуле t3.sys:
его путь (system32\drivers\t3.sys), контрольная сумма и отметка времени в точности
совпадают с данными того файла, который вы мне прислали;

* с помощью переименования дополнительно убедились, что без этого файла драйвер не
загружается и, соответственно, звук не работает.

Вывод команд dd CI!g_CiOptions и dd nt!g_CiEnabled показал, что внутренние переменные
ядра системы, которые хранят параметры загрузки, опции проверки цифровых подписей и т.п.,
содержат дефолтные "нормальные" значения 6 и 1. В случае использования test mode,
например, там могло быть 0xe и 1. В случае отключения проверки цифровых подписей в
переменной g_CiEnabled было бы значение 0, но здесь ничего из этого нет, тоже все чисто.

Более того, я проделал еще один тест на виртуалке с 64-битной Windows 7 SP1,
импортировав сертификат "Vavun" в нужные хранилища с помощью certmgr.exe, но
сам драйвер у меня не запустился, выдав все тот же код ошибки 577.

Еще я попробовал проделать тот же трюк, но с другим драйвером, который обслуживает
реальное оборудование (для PnP-драйверов правила подписывания немного другие).
Убрал из подписи кросс-сертификат, т.е. получил обычную подпись, такую, которой
подписываются обычные exe. Все нужные сертификаты были установлены и в "Доверенные
корневые центры сертификации", и в "Доверенные издатели". Драйвер, как и ожидалось,
нормально установился, но в диспетчере оборудования появился новый пункт с вопросиком,
сообщающий о том, что сам драйвер запущен не был.

То же самое проделал в test mode: в этом режиме драйвер установился и запустился,
но как только я выключил test mode, он загружаться перестал.

--------

В общем, я пока в полнейшем недоумении: как такое может быть ?..
У меня осталось только одно подозрение, что этот эффект был вызван интеграцией драйвера в
образ Windows (в install.wim). Где-то видел, что утилита dism.exe из Windows ADK имеет
флаг /ForceUnsigned для того, чтобы встраивать в дистрибутив неподписанные драйверы.
Других мыслей пока нет.

Мне вот что не дает покоя: Windows Vista, в которой появилась эта система с обязательным
подписыванием драйверов на x64, вышла уже почти десять лет назад, и если бы существовал
такой простой способ обойти эту защиту, все или большинство, кому это надо, давно бы им
пользовались. Ведь это до невозможного просто: сгенерить серт, подписать им драйвер, а
затем при установке на целевой компьютер поставить серты в нужные хранилища (это можно
сделать программно, не выдавая юзеру никаких запросов) и запуститься.

Но вместо этого одни платят по несколько сотен баксов в год за сертификаты, другие, -
как правило, разработчики малвари, - используют сложнейшие техники типа DSEFix
(динамический патч ядра Windows с помощью уязвимости в драйвере VirtualBox),
чтобы таки обойти защиту и загрузить свой вредоносный модуль в ядро.
Неужели все они (и я в том числе) ошибаются и решение настолько простое и "под носом" ?
Хотя если все так, то почему у меня так и не получилось запустить драйвер на x64,
несмотря на все старания ?..
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
09.11.2015, 01:04  [ТС]
Да, драйвер был интегрирован с игнорированием отсусттвия подписи
Windows Batch file
1
DISM.exe /image:%MOUNTDIR% /Add-Driver /driver:%DRIVERS_DIR% /recurse /ForceUnsigned
Но очень слабо верится, что это могло повлиять на работу и установку драйверов уже после развертывания install.wim

А вы не могли бы у себя проверить, получится ли таким образом добавить драйвер в живую ОС ? (и подписаный и не подписаный)
Windows Batch file
1
DISM.exe /Online /Add-Driver /driver:C:\DriversDir /ForceUnsigned
И для чистоты эксперимента, дайте мне ваш "хэловорлдный" драйвер в двух вариантах: один без подписи, один подписаный вашим валидным сертификатом, попробую у себя запустить ваш драйвер а) без подписи б) с вашей подписью в) со своей подписью.
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
09.11.2015, 01:15  [ТС]
Я тут еще на кое что обратил внимание


теперь вообще ничего не понимаю.

Возник вопрос: а что будет, если установить в систему драйвер, где *.cat имеет валидную подпись, но один из *.sys файлов не имеет подписи вовсе, а уже после установки такого драйвера подписать его левой подписью предварительно добавив её сертификат в систему ?
Или заменить неподписаный sys на подписанный левым сертификатом, но опять же, после установки с валидным cat ?

0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
09.11.2015, 01:36  [ТС]
Убежденный, в общем если требуется еще какая то информация готов предоставить
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
09.11.2015, 02:10
Цитата Сообщение от vavun Посмотреть сообщение
Но очень слабо верится, что это могло повлиять на работу и установку драйверов уже после развертывания install.wim
Я пока не буду чему-то еще удивляться

А вы не могли бы у себя проверить, получится ли таким образом добавить драйвер в живую ОС ? (и подписаный и не подписаный)
Сейчас как раз этим и занимаюсь. Просто раньше никогда такого с install.wim
не делал, поэтому черепашьими шагами иду. Инструкцию бы какую...

И для чистоты эксперимента, дайте мне ваш "хэловорлдный" драйвер в двух вариантах: один без подписи, один подписаный вашим валидным сертификатом, попробую у себя запустить ваш драйвер а) без подписи б) с вашей подписью в) со своей подписью.
В архиве три папки: unsigned (неподписанный драйвер), signed (подписанный
реальным сертификатом, но без кросса, т.е. грузиться не должен) и
cross-signed (подписанный как положено, должен грузиться везде от XP до Win10).

Timestamp я не использовал, чтобы не вовлечь в это увлекательное
исследование всякие побочные эффекты, связанные с цепочками
сертификатов из timestamp.

Драйвер совершенно ничего не делает, просто запускается и висит в системе.
Установить можно так, например:
Code
1
sc create mydriver type= kernel start= demand error= normal binPath= путь-к-файлу-mydriver.sys
ну и запуск:
Code
1
net start mydriver
Вместо demand можно поставить, к примеру, system, тогда драйвер
будет грузиться при включении компа.

MyDriver.zip

Возник вопрос: а что будет, если установить в систему драйвер, где *.cat имеет валидную подпись, но один из *.sys файлов не имеет подписи вовсе, а уже после установки такого драйвера подписать его левой подписью предварительно добавив её сертификат в систему ?
Тут в двух словах не расскажешь...

.cat - это контейнер, в котором хранятся хэши всех файлов из пакета драйвера (driver package).
Обычно в driver package лежат .sys и .inf, хотя и не обязательно, могут быть и другие файлы.
Сам .sys-файл может как иметь, так и не иметь "вшитую" подпись (т.н. embedded signature).

Когда система загружает драйвер, она считает его хэш и пытается найти этот хэш в своей
внутренней базе данных (а база хэшей формируется на основе всех установленных .cat-файлов;
разумеется, проверяются только .cat-файлы с валидной подписью). Если хэш найден, драйвер
загружается. Если нет, проверяется "вшитая" в .sys-файл цифровая подпись. Если и она невалидная,
тогда драйвер не загрузится. Ну по крайней мере, я так считал до сегодняшнего дня

Я не уверен, что эти проверки выполняются именно в таком порядке, а не наоборот,
но сути это, по большому счету, не меняет.

Если в .sys-файле изменить хотя бы один бит, тогда произойдет следующее:
"вшитая" цифровая подпись станет невалидной, это должно быть понятно.
Более того, хэш файла тоже изменится, и проверка сигнатуры по базе каталогов тоже
не будет проходить.

У нас в программировании драйверов даже есть такая типичная ошибка: кто-то подписывает
сначала .cat, а затем .sys, в итоге драйвер, если его просто заинсталлить через sc.exe,
нормально запускается, а вот устанавливаться через inf-файл упорно не хочет.
Все потому, что хэш .sys-файла, который уже забит в .cat, после подписывания .sys-файла
меняется и driver package становится неподписанным.

В общем, возвращаясь к вопросу о том, что будет, если "установить в систему драйвер,
где *.cat имеет валидную подпись, но один из *.sys файлов не имеет подписи вовсе, а уже
после установки такого драйвера подписать его левой подписью предварительно добавив её
сертификат в систему" - ответ такой: грузиться этот драйвер не будет.
Левая подпись, которая "вшита" в sys, для загрузки недостаточна (т.к. она левая).
Хэш файла изменился, поэтому пройти проверку по .cat он тоже не сможет.
Грузиться не должен после этого.

Или заменить неподписаный sys на подписанный левым сертификатом, но опять же, после установки с валидным cat ?
Ответ такой же: грузиться не будет.
Я, кстати, многократно проделывал подобные эксперименты, когда только начинал
разбираться во всей этой "кухне". Логика Windows почти всегда "железная": как только
ты хоть на полшага нарушаешь схему - все перестает работать.
1
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
09.11.2015, 02:36  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Просто раньше никогда такого с install.wim
не делал, поэтому черепашьими шагами иду. Инструкцию бы какую
элементарно
Монтируем install.wim с установочного дистрибутива в папку D:\mount
Windows Batch file
dism.exe /Mount-Wim /wimfile:"E:\sources\install.wim" /mountdir:D:\mount /index=1
Индекс, котоорый /index=1 указываете в зависимости от индекса устанавливаемой ОС
определить можно так
Windows Batch file
dism.exe /get-wiminfo /Wimfile:"E:\sources\install.wim"
интегрируем драйверы расположенные в директории D:\Drivers
Windows Batch file
dism.exe /image:D:\mount /Add-Driver /driver:D:\Drivers /recurse /ForceUnsigned
Назначение ключей, я думаю, понятно

откоючаем смонтированный индекс с сохранением
Windows Batch file
dism.exe /UnMount-Wim /mountdir:D:\Mount /commit
Готово.

Добавлено через 2 минуты
Самое важное, наличие INF файлов, иначе не получится

Добавлено через 12 минут
unsigned
C:\Windows\system32>sc create mydriver type= kernel start= demand error= normal binPath= D:\Desktop\myDriver\unsigned\mydriver.sy s
[SC] CreateService: успех

C:\Windows\system32>net start mydriver
Системная ошибка 577.

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

signed
C:\Windows\system32>sc create mydriver type= kernel start= demand error= normal binPath= D:\Desktop\myDriver\signed\mydriver.sys
[SC] CreateService: успех

C:\Windows\system32>net start mydriver
Системная ошибка 577.

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

cross-signed
C:\Windows\system32>sc create mydriver type= kernel start= demand error= normal binPath= D:\Desktop\myDriver\cross-signed\mydriver.sys
[SC] CreateService: успех

C:\Windows\system32>net start mydriver

Служба "mydriver" успешно запущена.


Подписал ваш драйвер своей подписью.
Финт ушами
C:\Windows\system32>sc create Vavun type= kernel start= demand error= normal binPath= D:\Desktop\myDriver\signed-Vavun\mydriver.s
ys
[SC] CreateService: успех

C:\Windows\system32>net start Vavun
Системная ошибка 577.

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

0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
09.11.2015, 02:45
За инструкции спасибо, все вроде правильно сделал, но пока
застрял на пункте "закинуть install.wim обратно и сделать новый iso".
С помощью чего это лучше провернуть ?
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
09.11.2015, 02:57  [ТС]
Убежденный, ultraiso например. Или любой утилитой поддерживающей работу с ISO образами
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
09.11.2015, 11:42
Вот на этом шаге я пока и застрял.
Сделал два пакета драйверов, оба как положено - с inf и cat файлами
(они нормально устанавливаются через контекстное меню inf), первый подписан
без кросса, второй с кроссом. Интегрировал эти драйверы через dism.exe в
дистрибутив, затем сделал iso c помощью CDBurnerXP (с UltraISO не срослось).

Образ нормально устанавливается, но своих драйверов я не в списке
зарегистрированных, ни вообще где-либо на диске не нашел.

Буду продолжать после работы.
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
09.11.2015, 11:51  [ТС]
Убежденный, назовите редакцию и разрядность устанавливаемой ОС.
Вероятно вы перепутали индексы в install.wim

Либо выполните поиск соответствующий файлов драйверов на установленной ос. Если они интегрированы и индекс был выбран верный, они должны быть в репозитории драйверов, но не будут установлены.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
09.11.2015, 12:04
Windows 7 Ultimate SP1 x64 rus

Возможно, что-то и напутал, дело ночью было...
Попробую еще раз более внимательно, когда время будет.
А драйверов на установленной ОС я не нашел, ни в system32\drivers, ни в
репозитории драйверов, ни еще где на диске.
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
09.11.2015, 12:14  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Windows 7 Ultimate SP1 x64 rus
Если дистрибутив оригинальный, то надо монтировать четвертый индекс

dism.exe /Mount-Wim /wimfile:E:\sources\install.wim /mountdir:D:\mount /index=4

Проверить можно так
dism.exe /get-wiminfo /Wimfile:"E:\sources\install.wim"

Результат


Если есть под руками imagex, то можно сделать экспорт нужного индекса в отдельный install.wim, чтобы в дальнейшем не путаться с индексами

Источник "E:\sources\install.wim"
Назначение "D:\install.wim"
индекс 4
imagex /export "E:\sources\install.wim" 4 "D:\install.wim" "Windows 7 Ultimate (x64)" /compress maximum

И в дальнейшем работать только с этим install.wim
1
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
09.11.2015, 22:29
Лучший ответ Сообщение было отмечено vavun как решение

Решение

Бесполезно. Несколько раз (если быть точным - 4) встраивал драйверы в дистрибутив Windows 7,
после установки они появляются в репозитории драйверов, но запуск обламывается с кодом 577.
Пробовал подписывать только .sys, только .cat или оба вместе, один раз своим сертификатом,
но без кросса, другой раз генерировал новый сертификат. Пробовал устанавливать драйверы и
через sc.exe, и через inf-файл. Во всех случаях все попытки закончились тем, что драйвер
просто не запускался, выдавая все тот же код 577. Пробовал и сертификаты ставить в
хранилища "root", "trustedpublisher" и "personal", системное и юзерское - не помогло.

На другой системе (тоже Windows 7), которая переведена в тестовый режим, все
корректно подписанные драйверы нормально устанавливаются (inf/sc.exe) и
запускаются без проблем.

В общем, я пас. Никакого логического объяснения происходящему я найти не могу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.11.2015, 22:29

Отправить http запрос подписанный с помощью X509Certificate
Добрый вечер, форумчане. Возникла задача, которую даже не знаю как теоретически решить. Имеем: Сайт с авторизацией через...

Подписанный CHM. А где, собственно, находится подпись
Прислали мне файл .chm, а на него windows ругается "неизвестный издатель", и если согласиться, то открывается пустое окно. Я пишу автору...

Почему смена текста работает только один раз? Что неправильно в коде и почему?
Нужно чтобы при щелчке мыши на поверхности кнопки текст метки Label изменялся на текст окна редактора текста (TextBox). partial class...

Почему выводится в виде таблицы и почему не работает сортировка
почему выводится в виде таблицы? почему не работает сортировка? и как туда можно вставить классы комнат? hotel.h #include...

Не работает драйвер
Всем доброго дня (ночи)! Имеется 2 ноутбука: air late 2011 (i7, 4, 128, usb 2.0 - важно) и retina 15 (i7, 8, 256, usb 3.0). На ретину...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
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) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru