<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <title>WASM.NT.KERNEL</title>
    <description>Работа в нулевом кольце и создание драйверов ядра Windows</description>
    <pubDate>Wed, 13 May 2026 15:56:51 +0000</pubDate>
    <lastBuildDate>Wed, 13 May 2026 15:56:51 +0000</lastBuildDate>
    <generator>WASM</generator>
    <link>https://wasm.in/forums/wasm-nt-kernel.17/</link>
    <atom:link rel="self" type="application/rss+xml" href="https://wasm.in/forums/wasm-nt-kernel.17/index.rss"/>
    <item>
      <title>Операции с памятью загруженных драйверов</title>
      <pubDate>Wed, 08 Apr 2026 11:02:28 +0000</pubDate>
      <link>https://wasm.in/threads/operacii-s-pamjatju-zagruzhennyx-drajverov.34155/</link>
      <guid>https://wasm.in/threads/operacii-s-pamjatju-zagruzhennyx-drajverov.34155/</guid>
      <author>invalid@example.com (Entropy)</author>
      <dc:creator>Entropy</dc:creator>
      <content:encoded><![CDATA[Здрасти,как вам известно для юзермода есть функции для чтения и записи в память процесса(Read\WriteProcessMemory),так возникает вопрос,может ли загруженный драйвер читать и записывать память других драйверов ? очень интересно будет рассмотреть реализацию этого]]></content:encoded>
      <slash:comments>23</slash:comments>
    </item>
    <item>
      <title>Корректный ли это способ хука NtQueryPerformanceCounter, чтобы возвращать rdtsc напрямую?</title>
      <pubDate>Thu, 26 Mar 2026 13:18:50 +0000</pubDate>
      <link>https://wasm.in/threads/korrektnyj-li-ehto-sposob-xuka-ntqueryperformancecounter-chtoby-vozvraschat-rdtsc-naprjamuju.35357/</link>
      <guid>https://wasm.in/threads/korrektnyj-li-ehto-sposob-xuka-ntqueryperformancecounter-chtoby-vozvraschat-rdtsc-naprjamuju.35357/</guid>
      <author>invalid@example.com (zky02)</author>
      <dc:creator>zky02</dc:creator>
      <content:encoded><![CDATA[Привет! Это правильный способ заменить NtQueryPerformanceCounter на RDTSC? Спасибо.<br />
<br />


<div class="bbCodeBlock bbCodeCode">
	<div class="type">Код (Text):</div>
	<div class="code"><ol class="text" style="font-family:monospace;"><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">NTSTATUS HookedNtQueryPerformanceCounter3(</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; PLARGE_INTEGER PerformanceCounter,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; PLARGE_INTEGER PerformanceFrequency)</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">{</div></li>
<li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; static bool initialized = false;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; if (!initialized) {</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; // Однократное исправление SharedUserData</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; __try {</div></li>
<li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Сбросить флаг Qpc bias</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *(BYTE*)(&amp;SharedUserData-&gt;QpcData) = *(BYTE*)(&amp;SharedUserData-&gt;QpcData) &amp; 0xFFFE;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //...</div></li>
</ol></div>
</div><a href="https://wasm.in/threads/korrektnyj-li-ehto-sposob-xuka-ntqueryperformancecounter-chtoby-vozvraschat-rdtsc-naprjamuju.35357/" class="internalLink">Корректный ли это способ хука NtQueryPerformanceCounter, чтобы возвращать rdtsc напрямую?</a>]]></content:encoded>
      <slash:comments>14</slash:comments>
    </item>
    <item>
      <title>Серия calls</title>
      <pubDate>Sun, 21 Dec 2025 18:27:43 +0000</pubDate>
      <link>https://wasm.in/threads/serija-calls.35346/</link>
      <guid>https://wasm.in/threads/serija-calls.35346/</guid>
      <author>invalid@example.com (Ahimov)</author>
      <dc:creator>Ahimov</dc:creator>
      <content:encoded><![CDATA[Привет.<br />
<br />
В ядре 10 на ISR:<br />
<br />
KiRaiseSecurityCheckFailure<br />
KiRaiseAssertion<br />
KiDebugServiceTrap<br />
<br />
Есть чудо код, зачем это сделано загадка, я даже не могу предположить <img src="styles/smiles_s/scratch_one-s_head.gif" class="mceSmilie" alt=":scratch_one-s_head:" title="Scratch One S Head    :scratch_one-s_head:" /><br />
<br />


<div class="bbCodeBlock bbCodeCode">
	<div class="type">Код (Text):</div>
	<div class="code"><ol class="text" style="font-family:monospace;"><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.text:000000014041010B loc_14041010B:</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.text:000000014041010B &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; add &nbsp; &nbsp; rsp, 8</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.text:000000014041010F &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; call &nbsp; &nbsp;loc_140410102</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.text:0000000140410114</div></li>
<li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.text:0000000140410114 loc_140410114:</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.text:0000000140410114 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; add &nbsp; &nbsp; rsp, 8</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.text:0000000140410118...</div></li>
</ol></div>
</div><a href="https://wasm.in/threads/serija-calls.35346/" class="internalLink">Серия calls</a>]]></content:encoded>
      <slash:comments>41</slash:comments>
    </item>
    <item>
      <title>Как объяснить системе, что я создал диск?</title>
      <pubDate>Mon, 30 Jun 2025 21:57:55 +0000</pubDate>
      <link>https://wasm.in/threads/kak-objasnit-sisteme-chto-ja-sozdal-disk.35567/</link>
      <guid>https://wasm.in/threads/kak-objasnit-sisteme-chto-ja-sozdal-disk.35567/</guid>
      <author>invalid@example.com (Shadowraptor)</author>
      <dc:creator>Shadowraptor</dc:creator>
      <content:encoded><![CDATA[Давно хотел попробовать wdm драйверы. Появилась минутка и решил поэкспериментировать.  Создал драйвер накидал базовых функций (IRP_MJ_CREATE, IRP_MJ_CLOSE, IRP_MJ_READ, IRP_MJ_WRITE, IRP_MJ_DEVICE_CONTROL)<br />
Через IoCreateDevice с параметром FILE_DEVICE_UNKNOWN создаю девайс, делаю симлинк. И всё работает, из пользовательского пространства функции дергаются параметры передаются и принимаются. Дальше захотелось чтобы для системы это был не непонятный девайс, а допустим диск поменял тип...<br />
<br />
<a href="https://wasm.in/threads/kak-objasnit-sisteme-chto-ja-sozdal-disk.35567/" class="internalLink">Как объяснить системе, что я создал диск?</a>]]></content:encoded>
      <slash:comments>3</slash:comments>
    </item>
    <item>
      <title>Ресурсы устройства</title>
      <pubDate>Sun, 04 May 2025 10:30:57 +0000</pubDate>
      <link>https://wasm.in/threads/resursy-ustrojstva.35352/</link>
      <guid>https://wasm.in/threads/resursy-ustrojstva.35352/</guid>
      <author>invalid@example.com (Entropy)</author>
      <dc:creator>Entropy</dc:creator>
      <content:encoded><![CDATA[Всем привет,открываю диспечер устройств, выбираю свою видеокарту,открываю вкладку &#039;Ресурсы&#039; ,там перечислены ресурсы:диапазон ввода вывода,диапазон памяти,можно ли этой информации доверять или использовать для создания драйвера ?]]></content:encoded>
      <slash:comments>1</slash:comments>
    </item>
    <item>
      <title>GMEREK Systemy Komputerowe Przemyslaw Gmerek или как Gmer убивает процесс</title>
      <pubDate>Tue, 22 Apr 2025 22:14:41 +0000</pubDate>
      <link>https://wasm.in/threads/gmerek-systemy-komputerowe-przemyslaw-gmerek-ili-kak-gmer-ubivaet-process.35337/</link>
      <guid>https://wasm.in/threads/gmerek-systemy-komputerowe-przemyslaw-gmerek-ili-kak-gmer-ubivaet-process.35337/</guid>
      <author>invalid@example.com (galenkane)</author>
      <dc:creator>galenkane</dc:creator>
      <content:encoded><![CDATA[<b>Как Gmer убивает защищенные процессы (вроде руткитов!) - Заглянем под капот</b><br />
Привет всем!<br />
Многие из нас использовали Gmer для поиска и удаления всякой заразы, особенно руткитов. Но задумывались ли вы, как ему удается прибить те процессы, которые намертво сопротивляются стандартному Диспетчеру задач Windows? Руткиты и другие хитрые зловреды часто используют механизмы защиты, чтобы их нельзя было просто так завершить. Давайте разберемся, как Gmer обходит эту защиту с помощью своего...<br />
<br />
<a href="https://wasm.in/threads/gmerek-systemy-komputerowe-przemyslaw-gmerek-ili-kak-gmer-ubivaet-process.35337/" class="internalLink">GMEREK Systemy Komputerowe Przemyslaw Gmerek или как Gmer убивает процесс</a>]]></content:encoded>
      <slash:comments>10</slash:comments>
    </item>
    <item>
      <title>Чтение KeServiceDescriptorTable для взаимодействия между ядром и пользовательским режимом"</title>
      <pubDate>Sun, 15 Dec 2024 15:00:38 +0000</pubDate>
      <link>https://wasm.in/threads/chtenie-keservicedescriptortable-dlja-vzaimodejstvija-mezhdu-jadrom-i-polzovatelskim-rezhimom.35230/</link>
      <guid>https://wasm.in/threads/chtenie-keservicedescriptortable-dlja-vzaimodejstvija-mezhdu-jadrom-i-polzovatelskim-rezhimom.35230/</guid>
      <author>invalid@example.com (zky02)</author>
      <dc:creator>zky02</dc:creator>
      <content:encoded><![CDATA[Спасибо большое, я разобрался, теперь всё работает правильно]]></content:encoded>
      <slash:comments>3</slash:comments>
    </item>
    <item>
      <title>Перечисление процессов в ядре</title>
      <pubDate>Sat, 30 Nov 2024 13:46:54 +0000</pubDate>
      <link>https://wasm.in/threads/perechislenie-processov-v-jadre.35222/</link>
      <guid>https://wasm.in/threads/perechislenie-processov-v-jadre.35222/</guid>
      <author>invalid@example.com (Marylin)</author>
      <dc:creator>Marylin</dc:creator>
      <content:encoded><![CDATA[Всем привет! <br />
Win7-x64. Задача - драйвером перечислить все активные процессы, и вытащить из их структур EPROCESS по несколько полей. Для этого функцией <code style="background: Silver; border: 1px solid #AAAAAA; padding: 0px 2px 0px 2px; display: inline-block">MmGetSystemRoutineAddress()</code> читаю значение переменной ядра &quot;PsInitialSystemProcess&quot;, и начиная с процесса System двигаюсь вперёд по линкам &quot;EPROCESS.ActiveProcessLinks&quot;. <br />
<br />
Всё работает нормально до тех пор, пока сделав полный круг не упираюсь в предыдущий от System самый первый &quot;процесс бездействия&quot; Idle, чтение из которого...<br />
<br />
<a href="https://wasm.in/threads/perechislenie-processov-v-jadre.35222/" class="internalLink">Перечисление процессов в ядре</a>]]></content:encoded>
      <slash:comments>7</slash:comments>
    </item>
    <item>
      <title>запустить таймер в ядре на 24 часа</title>
      <pubDate>Mon, 05 Aug 2024 03:32:36 +0000</pubDate>
      <link>https://wasm.in/threads/zapustit-tajmer-v-jadre-na-24-chasa.35115/</link>
      <guid>https://wasm.in/threads/zapustit-tajmer-v-jadre-na-24-chasa.35115/</guid>
      <author>invalid@example.com (zky02)</author>
      <dc:creator>zky02</dc:creator>
      <content:encoded><![CDATA[Я считываю таймер с помощью команды RDTSC на протяжении 24 часов, и это работает замечательно. Но проблема в том, что драйвер загружается, и таймер начинает отсчет сразу, хотя драйвер загружается мгновенно. Интересно, не упустил ли я что-то здесь.<br />
<br />


<div class="bbCodeBlock bbCodeCode">
	<div class="type">Код (Text):</div>
	<div class="code"><ol class="text" style="font-family:monospace;"><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">#define TIMER_QUERY_STATE &nbsp; &nbsp;0x0001</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">#define TIMER_MODIFY_STATE &nbsp; &nbsp;0x0002</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">#define TIMER_ALL_ACCESS &nbsp; &nbsp;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|TIMER_QUERY_STATE|TIMER_MODIFY_STATE)</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">#define SECONDS_IN_24_HOURS 24 * 60 * 60</div></li>
</ol></div>
</div>

<div class="bbCodeBlock bbCodeCode">
	<div class="type">Код (Text):</div>
	<div class="code"><ol class="text" style="font-family:monospace;"><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">NTSTATUS...</div></li>
</ol></div>
</div><a href="https://wasm.in/threads/zapustit-tajmer-v-jadre-na-24-chasa.35115/" class="internalLink">запустить таймер в ядре на 24 часа</a>]]></content:encoded>
      <slash:comments>3</slash:comments>
    </item>
    <item>
      <title>читать на ядре 0 в Kernel Force</title>
      <pubDate>Thu, 11 Jul 2024 15:39:07 +0000</pubDate>
      <link>https://wasm.in/threads/chitat-na-jadre-0-v-kernel-force.35016/</link>
      <guid>https://wasm.in/threads/chitat-na-jadre-0-v-kernel-force.35016/</guid>
      <author>invalid@example.com (zky02)</author>
      <dc:creator>zky02</dc:creator>
      <content:encoded><![CDATA[это правильный подход?

<div class="bbCodeBlock bbCodeCode">
	<div class="type">Код (C++):</div>
	<div class="code"><ol class="cpp" style="font-family:monospace;"><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #0000ff;">class</span> TSingleProcessorMode</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">&#123;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; KDPC DpcTraps<span style="color: #008000;">&#91;</span>MAXIMUM_PROCESSORS<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #0000ff;">volatile</span> LONGLONG Stall<span style="color: #008080;">;</span></div></li>
<li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #0000ff;">unsigned</span> __int64 cr9<span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; KPRIORITY SavedPriority<span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #0000ff;">int</span> &nbsp;CpuCount<span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> DpcRoutine<span style="color: #008000;">&#40;</span>KDPC<span style="color: #000040;">*</span> pDpc, <span style="color: #0000ff;">void</span><span style="color: #000040;">*</span> pContext, <span style="color: #0000ff;">void</span><span style="color: #000040;">*</span> pArg1, <span style="color: #0000ff;">void</span><span style="color: #000040;">*</span> pArg2<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #0000ff;">public</span><span style="color: #008080;">:</span></div></li>
<li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #0000ff;">void</span> Initialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #0000ff;">void</span> Enter<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #0000ff;">void</span> Exit<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li>
<li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #0000ff;">void</span> TSingleProcessorMode<span style="color: #008080;">::</span><span style="color: #007788;">Initialize</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">&#123;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; RtlZeroMemory<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">this</span>, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>TSingleProcessorMode<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; CpuCount <span style="color: #000080;">=</span>...</div></li>
</ol></div>
</div><a href="https://wasm.in/threads/chitat-na-jadre-0-v-kernel-force.35016/" class="internalLink">читать на ядре 0 в Kernel Force</a>]]></content:encoded>
      <slash:comments>18</slash:comments>
    </item>
    <item>
      <title>включить SSE в ядре</title>
      <pubDate>Mon, 08 Jul 2024 12:48:53 +0000</pubDate>
      <link>https://wasm.in/threads/vkljuchit-sse-v-jadre.35123/</link>
      <guid>https://wasm.in/threads/vkljuchit-sse-v-jadre.35123/</guid>
      <author>invalid@example.com (zky02)</author>
      <dc:creator>zky02</dc:creator>
      <content:encoded><![CDATA[Чтобы разрешить выполнение инструкций SSE без генерации #UD, нам нужно изменить регистры CR0 и CR4<br />
<ol>
<li>&quot;Очистить бит CR0.EM (бит 2) [CR0 &amp;= ~(1 &lt;&lt; 2)]&quot;</li>
<li>&quot;Установить бит CR0.MP (бит 1) [CR0 |= (1 &lt;&lt; 1)]&quot;</li>
<li>&quot;Установить бит CR4.OSFXSR (бит 9) [CR4 |= (1 &lt;&lt; 9)]&quot;</li>
<li>&quot;Установить бит CR4.OSXMMEXCPT (бит 10) [CR4 |= (1 &lt;&lt; 10)]&quot;</li>
</ol>Это правильный подход?

<div class="bbCodeBlock bbCodeCode">
	<div class="type">Код (C++):</div>
	<div class="code"><ol class="cpp" style="font-family:monospace;"><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">VOID EnableSSE<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #008000;">&#123;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; ULONG64 cr0, cr4<span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; cr0 <span style="color: #000080;">=</span> __readcr0<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></div></li>
<li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; cr0 <span style="color: #000040;">&amp;</span><span style="color: #000080;">=</span> ~<span style="color: #008000;">&#40;</span>1ull <span style="color: #000080;">&lt;&lt;</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; cr0 <span style="color: #000040;">|</span><span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>1ull <span style="color: #000080;">&lt;&lt;</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>...</div></li>
</ol></div>
</div><a href="https://wasm.in/threads/vkljuchit-sse-v-jadre.35123/" class="internalLink">включить SSE в ядре</a>]]></content:encoded>
      <slash:comments>11</slash:comments>
    </item>
    <item>
      <title>Я хочу внести патч для управления мышью из драйвера win32kbase.sys</title>
      <pubDate>Thu, 09 May 2024 12:41:27 +0000</pubDate>
      <link>https://wasm.in/threads/ja-xochu-vnesti-patch-dlja-upravlenija-myshju-iz-drajvera-win32kbase-sys.35086/</link>
      <guid>https://wasm.in/threads/ja-xochu-vnesti-patch-dlja-upravlenija-myshju-iz-drajvera-win32kbase-sys.35086/</guid>
      <author>invalid@example.com (zky02)</author>
      <dc:creator>zky02</dc:creator>
      <content:encoded><![CDATA[Я нашел несколько статей о том, как вносить патчи в старые версии Windows. Одна из них — XP. Я отладил это и обнаружил, что вносится патч в GetMouseCoord, внутри которого есть GetMouseCoordinateAbsolute/GetMouseCoordinateRelative. Я попытался внести патч, но получил синий экран смерти (BSOD) с ошибкой PROCESS_HAS_LOCKED_PAGES. Как это исправить?<br />
<br />
<img src="https://i.imgur.com/J90BSXv.png" class="bbCodeImage LbImage" alt="[&#x200B;IMG]" data-url="https://i.imgur.com/J90BSXv.png" /><br />
<br />
<br />
<img src="https://i.imgur.com/0diLJAA.png" class="bbCodeImage LbImage" alt="[&#x200B;IMG]" data-url="https://i.imgur.com/0diLJAA.png" /><br />
<br />
Здесь в XP x86 функция GetMouseCoord патчится следующим...<br />
<br />
<a href="https://wasm.in/threads/ja-xochu-vnesti-patch-dlja-upravlenija-myshju-iz-drajvera-win32kbase-sys.35086/" class="internalLink">Я хочу внести патч для управления мышью из драйвера win32kbase.sys</a>]]></content:encoded>
      <slash:comments>5</slash:comments>
    </item>
    <item>
      <title>Вопрос о регистре MSR 0xCE для определения частоты RDTSC</title>
      <pubDate>Sun, 28 Apr 2024 15:19:46 +0000</pubDate>
      <link>https://wasm.in/threads/vopros-o-registre-msr-0xce-dlja-opredelenija-chastoty-rdtsc.35079/</link>
      <guid>https://wasm.in/threads/vopros-o-registre-msr-0xce-dlja-opredelenija-chastoty-rdtsc.35079/</guid>
      <author>invalid@example.com (zky02)</author>
      <dc:creator>zky02</dc:creator>
      <content:encoded><![CDATA[Здравствуйте! У меня возник вопрос касательно использования модельно-специфичного регистра (MSR) с индексом 0xCE для получения частоты процессора, которую я хотел бы использовать для корректировки результатов, получаемых с помощью инструкции RDTSC. Я использую следующий код для чтения частоты:<br />
<br />


<div class="bbCodeBlock bbCodeCode">
	<div class="type">Код (Text):</div>
	<div class="code"><ol class="text" style="font-family:monospace;"><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">long long freq = ((0xFF &amp; (__readmsr(0xCE) &gt;&gt; 8)) * 100000000LL);</div></li>
</ol></div>
</div><br />
В этом коде я считываю значение из MSR, сдвигаю его на 8 бит вправо, применяю маску 0xFF для извлечения определенного...<br />
<br />
<a href="https://wasm.in/threads/vopros-o-registre-msr-0xce-dlja-opredelenija-chastoty-rdtsc.35079/" class="internalLink">Вопрос о регистре MSR 0xCE для определения частоты RDTSC</a>]]></content:encoded>
      <slash:comments>14</slash:comments>
    </item>
    <item>
      <title>Как управлять прерыванием IA32_TSC_DEADLINE в Windows</title>
      <pubDate>Fri, 12 Apr 2024 12:38:16 +0000</pubDate>
      <link>https://wasm.in/threads/kak-upravljat-preryvaniem-ia32_tsc_deadline-v-windows.35071/</link>
      <guid>https://wasm.in/threads/kak-upravljat-preryvaniem-ia32_tsc_deadline-v-windows.35071/</guid>
      <author>invalid@example.com (zky02)</author>
      <dc:creator>zky02</dc:creator>
      <content:encoded><![CDATA[Я хотел бы считать значение IA32_TSC_DEADLINE в Windows, но, кажется, оно возвращает значение 0 в DebugView<br />
<br />


<div class="bbCodeBlock bbCodeCode">
	<div class="type">Код (Text):</div>
	<div class="code"><ol class="text" style="font-family:monospace;"><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">#define IA32_APIC_BASE_MSR 0x1B</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">#define IA32_TSC_DEADLINE_MSR 0x6E0</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">#define LOCAL_APIC_LVT_TIMER_OFFSET 0x320</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">#define LOCAL_APIC_TIMER_MODE_MASK (1 &lt;&lt; 17)</div></li>
<li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">NTSTATUS ReadLocalApicBaseAddress(ULONG64* apic_base_address)</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">{</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; ULONG64 ia32_apic_base = __readmsr(IA32_APIC_BASE_MSR);</div></li>
<li style="font-weight: bold; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; *apic_base_address = ia32_apic_base &amp; 0xFFFFFFFFF000ULL;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; return STATUS_SUCCESS;...</div></li>
</ol></div>
</div><a href="https://wasm.in/threads/kak-upravljat-preryvaniem-ia32_tsc_deadline-v-windows.35071/" class="internalLink">Как управлять прерыванием IA32_TSC_DEADLINE в Windows</a>]]></content:encoded>
    </item>
    <item>
      <title>Создать дамп памяти ядра Ntoskrnl.exe</title>
      <pubDate>Wed, 27 Mar 2024 09:54:33 +0000</pubDate>
      <link>https://wasm.in/threads/sozdat-damp-pamjati-jadra-ntoskrnl-exe.35060/</link>
      <guid>https://wasm.in/threads/sozdat-damp-pamjati-jadra-ntoskrnl-exe.35060/</guid>
      <author>invalid@example.com (Marylin)</author>
      <dc:creator>Marylin</dc:creator>
      <content:encoded><![CDATA[Всем привет!<br />
Возникла необходимость из драйвера сдампить процесс Ntoskrnl, чтобы получить значения неэкспортирумых им переменных. Возможно-ли это в современных системах х64, ведь начиная вроде с Win8 появились сторожа типа KVAS (Kernel Virtual Address Shadow, затенение памяти ядра), и прочие. Так-же слышал, что ядро закрывает к себе доступ через мутанта (мьютекс), и чтобы сбросить его, нужно найти хэндл этого мутанта. Надеюсь не всё так плохо, и варианты получить дамп всё-же имеются? Мой...<br />
<br />
<a href="https://wasm.in/threads/sozdat-damp-pamjati-jadra-ntoskrnl-exe.35060/" class="internalLink">Создать дамп памяти ядра Ntoskrnl.exe</a>]]></content:encoded>
      <slash:comments>34</slash:comments>
    </item>
    <item>
      <title>Помощь нужна с ZwReadFile</title>
      <pubDate>Mon, 14 Aug 2023 15:05:37 +0000</pubDate>
      <link>https://wasm.in/threads/pomosch-nuzhna-s-zwreadfile.33367/</link>
      <guid>https://wasm.in/threads/pomosch-nuzhna-s-zwreadfile.33367/</guid>
      <author>invalid@example.com (FoxB)</author>
      <dc:creator>FoxB</dc:creator>
      <content:encoded><![CDATA[Доброго времени суток!<br />
<br />
помогите порешать проблему. Делаю эмулятор flash-накопителя на базе vusb-based эмуля.<br />
Максимальный объем данных для чтения 65536 байт - сделан буфер UCHAR ucDataPBP[65536]={0}; адрес которого передается в подпрограмму чтения (обертка 

<div class="bbCodeBlock bbCodeCode">
	<div class="type">Код (C):</div>
	<div class="code"><ol class="c" style="font-family:monospace;"><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;MMC_ReadBlock<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>ucDataPBP<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> uiFileOffset<span style="color: #339933;">,</span> min<span style="color: #009900;">&#40;</span>ucRead<span style="color: #339933;">,</span><span style="color: #0000dd;">65536</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>.</div></li>
</ol></div>
</div>Адаптировал команды scsi, но есть одно НО - с ZwReadFile().<br />
<br />
в обработчике команд все хорошо и для  SCSI_OP_READ_10 вычисляю длину блока данных для чтения и...<br />
<br />
<a href="https://wasm.in/threads/pomosch-nuzhna-s-zwreadfile.33367/" class="internalLink">Помощь нужна с ZwReadFile</a>]]></content:encoded>
      <slash:comments>53</slash:comments>
    </item>
    <item>
      <title>Как получить список задействованных драйверов при помощи WinDbg?</title>
      <pubDate>Wed, 22 Mar 2023 18:11:14 +0000</pubDate>
      <link>https://wasm.in/threads/kak-poluchit-spisok-zadejstvovannyx-drajverov-pri-pomoschi-windbg.34709/</link>
      <guid>https://wasm.in/threads/kak-poluchit-spisok-zadejstvovannyx-drajverov-pri-pomoschi-windbg.34709/</guid>
      <author>invalid@example.com (flammmable)</author>
      <dc:creator>flammmable</dc:creator>
      <content:encoded><![CDATA[В <a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/driver-stacks" target="_blank" class="externalLink" rel="nofollow">статье  Майкрософта</a> есть такая картинка:<br />
<br />
<img src="https://learn.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/images/chain01.png" class="bbCodeImage LbImage" alt="[&#x200B;IMG]" data-url="https://learn.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/images/chain01.png" /><br />
<br />
Я хотел бы получить подобный стек/список драйверов, задействованных в работе конкретного устройства. Здесь, на WASM, посоветовали использовать для получения данного стека утилиту WinDbg. Я спросил на...<br />
<br />
<a href="https://wasm.in/threads/kak-poluchit-spisok-zadejstvovannyx-drajverov-pri-pomoschi-windbg.34709/" class="internalLink">Как получить список задействованных драйверов при помощи WinDbg?</a>]]></content:encoded>
      <slash:comments>4</slash:comments>
    </item>
    <item>
      <title>Чем посмотреть задействованные драйверы?</title>
      <pubDate>Sun, 15 Jan 2023 01:56:15 +0000</pubDate>
      <link>https://wasm.in/threads/chem-posmotret-zadejstvovannye-drajvery.34705/</link>
      <guid>https://wasm.in/threads/chem-posmotret-zadejstvovannye-drajvery.34705/</guid>
      <author>invalid@example.com (flammmable)</author>
      <dc:creator>flammmable</dc:creator>
      <content:encoded><![CDATA[Есть ли в SysInternals утилита, позволяющая отследить, какие драйверы были задействованы (и в какой последовательности) после подключения нового устройства USB?]]></content:encoded>
      <slash:comments>1</slash:comments>
    </item>
    <item>
      <title>Ньюби в сборке драйверов</title>
      <pubDate>Sun, 27 Nov 2022 18:38:26 +0000</pubDate>
      <link>https://wasm.in/threads/njubi-v-sborke-drajverov.33606/</link>
      <guid>https://wasm.in/threads/njubi-v-sborke-drajverov.33606/</guid>
      <author>invalid@example.com (LastNoob)</author>
      <dc:creator>LastNoob</dc:creator>
      <content:encoded><![CDATA[Начал изучать работу драйверов по книге &quot;Программирование драйверов Windows (В. П. Солдатов)&quot;<br />
Скачал XP, загрузил DDK 2600, с трудом собрал программу при помощи утилиты build free.<br />
Далее по книге перешел к этапу загрузки драйвера в систему при помощи модификации реестра.<br />
Вот значение реестра:<br />
<a href="https://hostingkartinok.com/show-image.php?id=57c60892c149313485d18bee69a5d2d2" target="_blank" class="externalLink" rel="nofollow"><img src="https://s8.hostingkartinok.com/uploads/images/2020/02/57c60892c149313485d18bee69a5d2d2.png" class="bbCodeImage LbImage" alt="[&#x200B;IMG]" data-url="https://s8.hostingkartinok.com/uploads/images/2020/02/57c60892c149313485d18bee69a5d2d2.png" /></a><br />
После...<br />
<br />
<a href="https://wasm.in/threads/njubi-v-sborke-drajverov.33606/" class="internalLink">Ньюби в сборке драйверов</a>]]></content:encoded>
      <slash:comments>21</slash:comments>
    </item>
    <item>
      <title>Получить RIP прерванного ядерного потока из DPC-хэндлера</title>
      <pubDate>Fri, 28 Oct 2022 05:17:43 +0000</pubDate>
      <link>https://wasm.in/threads/poluchit-rip-prervannogo-jadernogo-potoka-iz-dpc-xehndlera.34620/</link>
      <guid>https://wasm.in/threads/poluchit-rip-prervannogo-jadernogo-potoka-iz-dpc-xehndlera.34620/</guid>
      <author>invalid@example.com (Andrey333)</author>
      <dc:creator>Andrey333</dc:creator>
      <content:encoded><![CDATA[Всем привет! <br />
<br />
Собственно сабж. Интересует решение для Windows 10/11 x64. Экспериментирую следующим образом:<br />
<br />
В DriverEntry() (IRQL == PASSIVE_LEVEL):<br />
1) Создаю тестовый поток, он начинает крутится в цикле (jmp $), адрес инструкции где он крутится мне в дальнейшем известен. Указатель на его KTHREAD так же известен<br />
2) Делаю задержку 3 сек. Чтобы поток точно успел дойти до jmp $<br />
3) Ставлю DPC в очередь<br />
<br />
В одном из DPC-хэндлеров (остальные ждут пока он отработает) (IRQL == DISPATCH_LEVEL):<br />
1)...<br />
<br />
<a href="https://wasm.in/threads/poluchit-rip-prervannogo-jadernogo-potoka-iz-dpc-xehndlera.34620/" class="internalLink">Получить RIP прерванного ядерного потока из DPC-хэндлера</a>]]></content:encoded>
      <slash:comments>3</slash:comments>
    </item>
  </channel>
</rss>
