ЕМ>Ну и специализированные модели, заточенные на работу с кодом, скорее всего, и компилируют, и выполняют код в виртуальных машинах
Не в виртуальных, во вполне реальных, — на твоем конкретном компьютере. Собственно, нелепое слово "агентский ИИ" — это оно и есть, "агент" — это штуковина, которая запускает CLI на твоем компьютере, и скармливает вывод этого CLI обратно в нейросеть, чтобы та в ответ выдала очередной набор команд, включая команду "запускай юнит-тесты вот так и скорми мне что тесты выведут".
Здравствуйте, SkyDance, Вы писали:
SD>Все это давно уже прикручено. Проблема в том, что оных фактов иногда не достаточно. И источники могут быть противоречивыми. Это, увы, не точная наука.
Если недостаточно — писать: факт непроверен. Выделять другим цветом. Мало ли способов.
PD>>Никто не сказал, что десктопному приложению не может потребоваться специфический драйвер.
ЕМ>Так драйвер же (отдельный модудь, загруженный в ядро, и выставивший свое API), а не ядерный код, напрямую вкоряченный в код приложения.
Так многие функции NTDDK можно же вызывать из 3 кольца, то есть напрямую вставить в код приложения. Какие-нибудь NtQuery* можно, ну а все Nt* — не думаю. Он сможет разобраться ?
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Я недавно как раз приводил пример юзера, который считал, что у меня есть "новая секретная версия продукта для ограниченного использования", которая якобы раздается лишь избранным, и очень просил дать ему погонять. Когда я спросил, откуда он это взял — привел выдачу ИИ. Весьма пространно, по содержанию — типичное словоблудие, в стиле "доказательств бытия божия".
В том-то и беда. Вот напишет он о наличии этой версии на каком-то форуме, мол есть, писал автору, но тот не дал. Потом это кто-то процитирует. Потом ко всей этой переписке получит доступ ИИ. А в результате будет твердое убеждение, что такая версия есть, но автор ее всем не дает.
И это еще самое мягкое. Сгибридизирует ИИ все это с какой-то информацией о том, что кто-то (не ты) это и впрямь делает, и о том, как у него все же получили такую версию, и каким образом. И припишет он все это тебе. В итоге выдаст он инструкцию, как у тебя эту версию получить. А потом будешь долго объяснять, что ты не верблюд.
на вопрос, не шпион ли он и на старается ли что-нибудь разведать, Ноздрев отвечал, что шпион, что еще в школе, где он с ним вместе учился, его называли фискалом, и что за это товарищи, а в том числе и он, несколько его поизмяли, так что нужно было потом приставить к одним вискам двести сорок пиявок, — то есть он хотел было сказать сорок, но двести сказалось как-то само собою. На вопрос, не делатель ли он фальшивых бумажек, он отвечал, что делатель, и при этом случае рассказал анекдот о необыкновенной ловкости Чичикова: как, узнавши, что в его доме находилось на два миллиона фальшивых ассигнаций, опечатали дом его и приставили караул, на каждую дверь по два солдата, и как Чичиков переменил их все в одну ночь, так что на другой день, когда сняли печати, увидали, что все были ассигнации настоящие. На вопрос, точно ли Чичиков имел намерение увезти губернаторскую дочку и правда ли, что он сам взялся помогать и участвовать в этом деле, Ноздрев отвечал, что помогал и что если бы не он, то не вышло бы ничего, — тут он и спохватился было, видя, что солгал вовсе напрасно и мог таким образом накликать на себя беду, но языка никак уже не мог придержать. Впрочем, и трудно было, потому что представились сами собою такие интересные подробности, от которых никак нельзя было отказаться: даже названа была по имени деревня, где находилась та приходская церковь, в которой положено было венчаться, именно деревня Трухмачевка, поп — отец Сидор, за венчание — семьдесят пять рублей, и то не согласился бы, если бы он не припугнул его, обещаясь донести на него, что перевенчал лабазника Михайла на куме, что он уступил даже свою коляску и заготовил на всех станциях переменных лошадей. Подробности дошли до того, что уже начинал называть по именам ямщиков. Попробовали было заикнуться о Наполеоне, но и сами были не рады, что попробовали, потому что Ноздрев понес такую околесину, которая не только не имела никакого подобия правды, но даже просто ни на что не имела подобия, так что чиновники, вздохнувши, все отошли прочь
Обрати внимание, что ни о каких невозможных действиях тут не говорится. И школьные фискалы существуют, и пиявки ставят, и фальшивые бумажки делают, да и губернаторскую дочку иметь намерение увезти — ничего тут невозможного нет. А в итоге тихий ужас.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Он когда-нибудь так фантазировать перестанет ?
Внезапно, человеческая память устроена абсолютно также. Мозг не помнит деталей, а реконструирует их на лету из слабых сигналов. У тебя в памяти есть отметка, что 30 лет назад ты сдавал экзамен лысому старику в кепку и когда ты пытаешься об этом вспомнить, мозг прозрачно для сознания дорисовывает образ дедушки. И ты искренне удивишься увидев фотографию, где этому дедушке лет 35 и голова у него побрита и забинтована.
Здравствуйте, Miroff, Вы писали:
M>Внезапно, человеческая память устроена абсолютно также. Мозг не помнит деталей, а реконструирует их на лету из слабых сигналов. У тебя в памяти есть отметка, что 30 лет назад ты сдавал экзамен лысому старику в кепку и когда ты пытаешься об этом вспомнить, мозг прозрачно для сознания дорисовывает образ дедушки. И ты искренне удивишься увидев фотографию, где этому дедушке лет 35 и голова у него побрита и забинтована.
Возможно, но если есть где-то данные о том, как он(а) выглядела (фото, например), а я хочу написать о нем(ней), то я все же постараюсь сверить свои воспоминания с этими данными, чтобы не плодить неверные представления. И ИИ мог бы это сделать.
Если же таких данных нет, то я напишу что-то вроде "если мне не изменяет память, он был уже в годах, лысый и носил кепку".
P.S. Своих экзаменаторов я помню хорошо и их описание могу дать довольно точно — тех, кого помню.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Так многие функции NTDDK можно же вызывать из 3 кольца
Нет "функций NTDDK". Есть функции режима ядра и функции режима пользователя, они доступны только из соответствующего режима, и никак не взаимозаменяемы. Для удобства многие из них имеют одинаковые имена, но пространства имен (и нередко наборы параметров) разные.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Нет "функций NTDDK". Есть функции режима ядра и функции режима пользователя, они доступны только из соответствующего режима, и никак не взаимозаменяемы. Для удобства многие из них имеют одинаковые имена, но пространства имен (и нередко наборы параметров) разные.
Я все это знаю, но, видимо, не совсем точно выразился. Есть функции ntdll.dll, которые можно вызывать из 3 кольца. Их имена и параметры (параметры — не всегда) совпадают с именами и параметрами функций с теми же именами, которые экспортируются ntoskrnl и доступны только в режиме ядра.
То, что они не взаимозаменяемы — само собой. Вот только разберется ли в этом ИИ ? Если NtQueryMutex из ntdll.dll можно вызвать в 3 кольце, то не предложит ли он вызвать в 3 кольце некую другую Nt* функцию, которой в ntdll.dll нет вообще ? Он же по аналогии действует.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Это входит в число тех задач, которые я хочу ему скормить, когда дойдут руки. Будет видно, чего можно от него ожидать за пределами тупого попугайства.
Решил попробовать. ИИ от Гугл.
Получил экспорты ntdll.dll и ntoskrl.exe с помощью dumpbin. Windows 10.
С удивлением обнаружил, что почти все функции Nt* из ntoskrl.exe имеют свой аналог в ntdll.dll. Единственное, что я нашел не имеющее аналога — это NtBuildLab и NtBuildNumber. Попробовал спросить , можно ли их вызвать в 3 кольце. Ответил верно.
Напрямую вызвать «функцию» NtBuildLab в 3-м кольце (User Mode) нельзя, так как она не является исполняемой функцией или системным вызовом.
В операционной системе Windows NtBuildLab — это не функция, а глобальная переменная (строка) внутри ядра (ntoskrnl.exe), которая содержит полную информацию о сборке системы (например, 22621.ni_release.220506-1250).
<далее skipped>
А вот наоборот получилось менее ясно. Спросил
Можно ли в режиме ядра вызвать NtCancelTimer ?
Ответ
Да, вызвать NtCancelTimer в режиме ядра (Kernel Mode) можно. Более того, для драйверов это стандартный (хотя и низкоуровневый) способ взаимодействия с объектами таймеров.
Однако при работе в ядре важно различать две формы этой функции: Nt и Zw.
Разница между NtCancelTimer и ZwCancelTimer в ядре:
ZwCancelTimer:
Рекомендуется для большинства драйверов.
При вызове устанавливает значение PreviousMode в KernelMode. Это говорит системе, что вызов пришел из доверенного источника, и проверка прав доступа (Access Check) или валидация указателей может быть упрощена или пропущена.
NtCancelTimer:
Является прямой точкой входа в реализацию системного сервиса.
При вызове не меняет PreviousMode. Если ваш драйвер вызвал её, находясь в контексте пользовательского потока, система может посчитать, что запрос пришел из Ring 3, и применить строгие проверки безопасности.
Обычно используется только тогда, когда драйвер намеренно хочет имитировать поведение пользовательского режима или в целях оптимизации, если PreviousMode уже гарантированно равен KernelMode.
PD>Да, вызвать NtCancelTimer в режиме ядра (Kernel Mode) можно. Более того, для драйверов это стандартный (хотя и низкоуровневый) способ взаимодействия с объектами таймеров.
Во, это как раз тот случай, когда "говорит о том, чего не понимает".
Уважающие себя драйверы в ядре не пользуются ни Nt-, ни Zw-формами для собственных нужд. Для этого есть "легковесные" KeXxx, работающие непосредственно с объектами (структурами-описателями). А Nt/Zw-формы обычно работают с ключами (handles), отображаемыми на объекты через таблицу ключей процесса.
PD>я не обнаружил в экспорте ntoskrnl.exe NtCancelTimer. PD>ZwCancelTimer есть. Есть ExCancelTimer, KeCancelTimer, а вот NtCancelTimer я не нашел
NtCancelTimer из ядра вызывается непосредственно, а ZwCancelTimer вызывает ее через обработчик системных вызовов.
Здравствуйте, Евгений Музыченко, Вы писали:
PD>>ZwCancelTimer есть. Есть ExCancelTimer, KeCancelTimer, а вот NtCancelTimer я не нашел
ЕМ>NtCancelTimer из ядра вызывается непосредственно, а ZwCancelTimer вызывает ее через обработчик системных вызовов.
Я вообще экспорта под именем NtCancelTimer в ntoskrnl не нашел. В ntdll.dll есть.
Здравствуйте, opfor, Вы писали:
O>у него такой принцип работы — дописывать наиболее вероятное слово, которое может следовать за уже написанным текстом. Оно совершенно не понимает, что именно оно пишет, ему главное, чтобы написанное выглядело правдоподобно.
У современных крупных сеток это уже давно далеко не так. Первый этап обучения, затем их натаскивают через Reinforcement Learning на разные модели поведения.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Решил я поискать, что есть в сети обо мне на раннем этапе моей карьеры — студента — химика и аспиранта — химика. Вывели меня на ИИ (от Гугла), ну я его и попытал.
Если это тот, что появляется в поисковике "Режим ИИ", то это гугловская Gemini, но довольно ограниченная. По сути ее назначение быть справочником по более-менее распространенным темам и некоторая помощь в поиске по сайтам.
Если хотите поиграться с сетками, советую использовать хотя бы chat.qwen.ai и chat.deepseek.com — обе китайские и бесплатные (платно, если захочется API к ним в своих программах использовать), в отличие от западных никаких ограничения для жителей РФ нет. Можно зарегистрироваться и использовать их.
PD>В остальном же буйный полет фантазии — домысливает по принципу "если мы о нем вот это знаем, то что бы еще могло быть ? Вот такое могло бы. Могло. Ну значит, оно и было".
Ну в общем да, ответ часто ищется вероятный, а не правильный, хотя еще многое от промптов зависит. Можно довольно жестко ограничить только сайтами.
Решил спросить этот ИИ о школе 87 Омска, в которой учился.
Тихий ужас
Павел Лазаревич Дворкин — личность, оставившая значительный след в истории омского образования, и его имя напрямую связано со школой № 87.
Связь со школой № 87: Павел Лазаревич долгие годы работал в этой школе. В истории учебного заведения он упоминается как учитель истории и заместитель директора по учебно-воспитательной работе.
Специализация: Он был не просто педагогом, а настоящим просветителем. Коллеги и ученики вспоминают его как энциклопедически образованного человека, который умел привить интерес к истории и культуре.
Награды и признание: За свой многолетний труд в системе образования города Омска он был удостоен звания «Заслуженный учитель школы РСФСР».
Почему его имя часто ищут вместе со школой № 87?
Для многих поколений выпускников школы на улице Добролюбова Павел Лазаревич является символом «золотого века» этого учебного заведения. Он внес огромный вклад в формирование традиций школы, которые сохраняются и сейчас, когда она носит имя Александра Макарова.
В школьном музее боевой славы, скорее всего, хранятся материалы и фотографии, посвященные его педагогической деятельности.
Здесь ни одного слова, хоть косвенно похожего на правду. Я там лишь учился, и никогда не работал. И уж делать из меня учителя истории и завуча, и все прочие дифирамбы — это ни в какие ворота.
Единственное, что верно тут — адрес школы указан , улица Добролюбова. И имя школы , впрочем, оно было присвоено спустя много лет после того, как я закончил школу.