<?xml version="1.0"?>
<rss version="2.0"><channel><title/><link>https://old.gamehacklab.ru/blogs/blog/9-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%BA%D0%B8-%D1%80%D0%B0%D1%87%D0%B8%D1%88%D0%BA%D0%B8/</link><description/><language>ru</language><item><title>Warface RU [We are the MRAC]</title><link>https://old.gamehacklab.ru/blogs/entry/314-warface-ru-we-are-the-mrac/</link><description><![CDATA[<p>
	 
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8529" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.png.ac3a3a0c8214622a872744881034d373.png" rel=""><img alt="2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8529" data-ratio="30.63" style="height:auto;" width="640" data-src="//s3.eu-central-1.amazonaws.com/cdn.gamehacklab.ru/uploads/monthly_2019_09/2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" src="https://old.gamehacklab.ru/applications/core/interface/js/spacer.png"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Перед использованием, ознакомьтесь с <a href="https://old.gamehacklab.ru/topic/6467-fairfight-%D1%81%D0%BD%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%B1%D0%B0%D0%BD%D0%B0/" rel="">ЭТИМ</a>
</p>

<p>
	 
</p>

<p>
	<span style="font-family:Tahoma;"><b>Поддерживаемые ОС:                        </b>Win7<b>+</b> (x64)</span>
</p>

<p>
	<span style="font-family:Tahoma;"><b>Поддерживаемая версия клиента:  </b>(x64)</span>
</p>

<p>
	<span style="font-family:Tahoma;"><strong>Поддерживаемая версия DirectX  </strong>   DX9, DX11</span>
</p>

<p>
	<span style="font-family:Tahoma;"><b>Поддерживаемые античиты:</b>            MRAC</span>
</p>

<p>
	 
</p>

<p>
	<strong>Версия от 27.08.21 (Последняя)              <span style="color:#27ae60;">Undetected</span></strong>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<a href="https://ibb.co/27sbJw2" rel="external nofollow"><img alt="1.jpg" class="ipsImage" style="height:auto;" data-src="https://i.ibb.co/27sbJw2/1.jpg" src="https://old.gamehacklab.ru/applications/core/interface/js/spacer.png"></a>  <a href="https://ibb.co/KxQkqkK" rel="external nofollow"><img alt="2.jpg" class="ipsImage" style="height:auto;" data-src="https://i.ibb.co/KxQkqkK/2.jpg" src="https://old.gamehacklab.ru/applications/core/interface/js/spacer.png"></a>  <a href="https://ibb.co/tK90Nzr" rel="external nofollow"><img alt="3.jpg" class="ipsImage" style="height:auto;" data-src="https://i.ibb.co/tK90Nzr/3.jpg" src="https://old.gamehacklab.ru/applications/core/interface/js/spacer.png"></a>  <a href="https://ibb.co/fQ6G2xq" rel="external nofollow"><img alt="4.jpg" class="ipsImage" style="height:auto;" data-src="https://i.ibb.co/fQ6G2xq/4.jpg" src="https://old.gamehacklab.ru/applications/core/interface/js/spacer.png"></a>  <a href="https://ibb.co/yFPyg7Z" rel="external nofollow"><img alt="5.jpg" class="ipsImage" style="height:auto;" data-src="https://i.ibb.co/yFPyg7Z/5.jpg" src="https://old.gamehacklab.ru/applications/core/interface/js/spacer.png"></a>  <a href="https://ibb.co/WPxtdj1" rel="external nofollow"><img alt="6.jpg" class="ipsImage" style="height:auto;" data-src="https://i.ibb.co/WPxtdj1/6.jpg" src="https://old.gamehacklab.ru/applications/core/interface/js/spacer.png"></a>  <a href="https://ibb.co/m9M96mF" rel="external nofollow"><img alt="7.jpg" class="ipsImage" style="height:auto;" data-src="https://i.ibb.co/m9M96mF/7.jpg" src="https://old.gamehacklab.ru/applications/core/interface/js/spacer.png"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<strong>РЕЖИМ РАБОТЫ:</strong>
</p>

<ul>
	<li>
		PvP
	</li>
	<li>
		PvE
	</li>
	<li>
		Спецоперации
	</li>
</ul>

<p>
	 
</p>

<p>
	<strong>ЕСП:</strong>
</p>

<ul>
	<li>
		Силуеты врагов
	</li>
	<li>
		Силуеты взрывчатки
	</li>
	<li>
		Силуеты оружия
	</li>
	<li>
		Силуеты капсулы
	</li>
	<li>
		Силуеты пауки
	</li>
	<li>
		Силуеты ресурсы
	</li>
	<li>
		Силуеты активаторов
	</li>
	<li>
		Силуеты мини боссы
	</li>
	<li>
		Силуеты боссов миссий
	</li>
</ul>

<p>
	 
</p>

<p>
	<strong>СуперАимбот:</strong>
</p>

<ul>
	<li>
		Кость - наилучший выбор (простые враги - голова, джаггернаут - рюкзак и т.п.)
	</li>
	<li>
		FOV 360
	</li>
	<li>
		Аим на игроков
	</li>
	<li>
		Аим на ботов
	</li>
	<li>
		Аим на летящих врагов
	</li>
	<li>
		Аим на турели
	</li>
	<li>
		Аим на мини боссов
	</li>
	<li>
		Аим на боссов
	</li>
</ul>

<p>
	 
</p>

<p>
	<strong>Мемхаки:</strong>
</p>

<ul>
	<li>
		Отдача
	</li>
	<li>
		Точность
	</li>
	<li>
		Без затвора
	</li>
	<li>
		Быстрая перезарядка
	</li>
	<li>
		Увеличенный FOV игрока
	</li>
	<li>
		Самоубийство (клавиша END)
	</li>
	<li>
		АнтиАФК
	</li>
	<li>
		Кик с пве и спецопераций (в любой момент)
	</li>
	<li>
		Быстрый нож ПКМ, ЛКМ
	</li>
	<li>
		Без перегрева СЕД
	</li>
</ul>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<strong>Инструкция:</strong>
</p>

<ul>
	<li>
		Запускаете игру
	</li>
	<li>
		Запускаете <strong>ghl.exe</strong>
	</li>
	<li>
		Нагибаете
	</li>
</ul>

<p>
	 
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="font-size:10px;">  pass <span><span>:</span></span> !WFhw~26_Av2.0</span>
</p>
]]></description><guid isPermaLink="false">314</guid><pubDate>Fri, 27 Aug 2021 08:16:00 +0000</pubDate></item><item><title>JH r0 injector + BPS [Warface only]</title><link>https://old.gamehacklab.ru/blogs/entry/305-jh-r0-injector-bps-warface-only/</link><description><![CDATA[<p>
	 
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.png.ac3a3a0c8214622a872744881034d373.png" data-fileid="8529" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8529" data-ratio="30.63" width="640" alt="2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><span style="color:#16a085;"><strong>Описание:</strong></span></span>
</p>

<p>
	<span style="font-size:14px;">Инжектор режима ядра с ручным отображением (Extended)</span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong>31.03.2021</strong>    <span style="color:#27ae60;"><strong>Undetected</strong></span></span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong><span style="color:#16a085;">Поддерживаемые ОС</span>:</strong></span>
</p>

<p>
	<span style="font-size:14px;"><strong>Только 64 бит</strong></span>
</p>

<ul><li>
		<span style="font-size:14px;">Windows 7</span>
	</li>
	<li>
		<span style="font-size:14px;">Windows 8</span>
	</li>
	<li>
		<span style="font-size:14px;">Windows 8.1</span>
	</li>
	<li>
		<span style="font-size:14px;">Windows 10</span>
	</li>
</ul><p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong><span style="color:#16a085;">Инструкция</span>:</strong></span>
</p>

<ul><li>
		<span style="font-size:14px;">Переименовать свою <strong>dll</strong> в <strong>jh.dll</strong></span>
	</li>
	<li>
		<span style="font-size:14px;">Поместить <strong>jh.dll</strong> рядом с <span>"*.exe"</span> файлом</span>
	</li>
	<li>
		<span style="font-size:14px;">Запустить игру и подождать до загрузки главного меню</span>
	</li>
	<li>
		<span style="font-size:14px;">Запустить<strong> </strong>файл (требуются права администратора)</span>
	</li>
	<li>
		<span style="font-size:14px;">Профит</span>
	</li>
</ul><p>
	 
</p>

<p>
	<strong><span style="font-size:10px;"><span style="color:#e74c3c;">!!!Внимание!!!! После внедрения вашей dll, желательно удалить файл "*.exe".</span></span></strong>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="font-size:16px;"><strong><span style="color:#e74c3c;"><a href="https://old.gamehacklab.ru/topic/8352-jh-r0-injector-bps-warface-only/" rel="">СКАЧАТЬ</a></span></strong></span>
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">305</guid><pubDate>Fri, 02 Apr 2021 16:59:49 +0000</pubDate></item><item><title>Trainme for AntiCheat bypass</title><link>https://old.gamehacklab.ru/blogs/entry/304-trainme-for-anticheat-bypass/</link><description><![CDATA[<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8529" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.png.ac3a3a0c8214622a872744881034d373.png" rel=""><img alt="2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8529" data-ratio="30.63" width="640" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><span style="color:#16a085;"><strong>Описание:</strong></span></span>
</p>

<p>
	<span style="font-size:14px;">r3 приложение для обучения и повышения навыков. Ваша задача, обойти защиту и внедрить свою dll в данный процесс. </span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong><span style="color:#16a085;">Поддерживаемые ОС</span>:</strong></span>
</p>

<p>
	<span style="font-size:14px;"><strong>Только 64 бит</strong></span>
</p>

<ul><li>
		<span style="font-size:14px;">Windows 7</span>
	</li>
	<li>
		<span style="font-size:14px;">Windows 8</span>
	</li>
	<li>
		Windows 8.1
	</li>
	<li>
		Windows 10
	</li>
</ul><p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink" data-fileext="rar" data-fileid="9818" href="https://old.gamehacklab.ru/applications/core/interface/file/attachment.php?id=9818" rel="">acff.rar</a>
</p>

<p style="text-align:center;">
	 
</p>
]]></description><guid isPermaLink="false">304</guid><pubDate>Fri, 19 Mar 2021 06:23:00 +0000</pubDate></item><item><title>JH injector [MM+]</title><link>https://old.gamehacklab.ru/blogs/entry/303-jh-injector-mm/</link><description><![CDATA[<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8529" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.png.ac3a3a0c8214622a872744881034d373.png" rel=""><img alt="2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8529" data-ratio="30.63" width="640" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><span style="color:#16a085;"><strong>Описание:</strong></span></span>
</p>

<p>
	<span style="font-size:14px;">Инжектор с ручным отображением (Extended) + скрытый запуск процесса </span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong>31.03.2021</strong>    <span style="color:#27ae60;"><strong>Undetected</strong></span></span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong><span style="color:#16a085;">Поддерживаемые ОС</span>:</strong></span>
</p>

<p>
	<span style="font-size:14px;"><strong>Только 64 бит</strong></span>
</p>

<ul><li>
		<span style="font-size:14px;">Windows 7</span>
	</li>
	<li>
		<span style="font-size:14px;">Windows 8</span>
	</li>
	<li>
		<span style="font-size:14px;">Windows 8.1</span>
	</li>
	<li>
		<span style="font-size:14px;">Windows 10</span>
	</li>
</ul><p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong><span style="color:#16a085;">Инструкция</span>:</strong></span>
</p>

<ul><li>
		<span style="font-size:14px;">Запустить<strong> jhinj.exe</strong> (требуются права администратора)</span>
	</li>
	<li>
		<span style="font-size:14px;">Выбрать ID процесса из списка и нажать ENTER</span>
	</li>
	<li>
		<span style="font-size:14px;">Указать расположение dll для инжекта или модуля для скрытого запуска</span>
	</li>
	<li>
		<span style="font-size:14px;">Нажать ENTER</span>
	</li>
	<li>
		<span style="font-size:14px;">Профит</span>
	</li>
</ul><p>
	 
</p>

<p>
	<strong><span style="font-size:10px;"><span style="color:#e74c3c;">Внимание!</span></span></strong>
</p>

<p>
	<strong><span style="font-size:10px;"><span style="color:#e74c3c;">После 1 запуска, имя инжектора отображаться не будет. В последующем вам необходимо запускать файл ".exe"</span></span></strong>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="font-size:16px;"><strong><span style="color:#e74c3c;"><a href="https://old.gamehacklab.ru/topic/8299-jh-injector-mm/" rel="">СКАЧАТЬ</a></span></strong></span>
</p>

<p style="text-align:center;">
	 
</p>
]]></description><guid isPermaLink="false">303</guid><pubDate>Sun, 28 Feb 2021 11:54:00 +0000</pubDate></item><item><title>JHHP [Hiding any process]</title><link>https://old.gamehacklab.ru/blogs/entry/302-jhhp-hiding-any-process/</link><description><![CDATA[<p>
	 
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8529" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.png.ac3a3a0c8214622a872744881034d373.png" rel=""><img alt="2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8529" data-ratio="30.63" width="640" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><span style="color:#16a085;"><strong>Описание:</strong></span></span>
</p>

<p>
	<span style="font-size:14px;">Скрытие любого процесса из системы.  Работает с x86 и x64 процессами.</span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong>31.03.2021</strong>    <span style="color:#27ae60;"><strong>Undetected</strong></span></span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong><span style="color:#16a085;">Поддерживаемые ОС</span>:</strong></span>
</p>

<p>
	<span style="font-size:14px;"><strong>Только 64 бит</strong></span>
</p>

<ul><li>
		<span style="font-size:14px;">Windows 7</span>
	</li>
	<li>
		<span style="font-size:14px;">Windows 8.1</span>
	</li>
	<li>
		<span style="font-size:14px;">Windows 10 (1709-20H2)</span>
	</li>
</ul><p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong><span style="color:#16a085;">Инструкция</span>:</strong></span>
</p>

<ul><li>
		Распаковать архив
	</li>
	<li>
		Переместить файл<strong> jhdrv.sys</strong> в каталог <strong>С:\</strong>
	</li>
	<li>
		<span style="font-size:14px;">Запустить<strong> jhhp.exe</strong> (требуются права администратора)</span>
	</li>
	<li>
		<span style="font-size:14px;">Указать полное имя процесса и нажать <strong>ENTER</strong></span>
	</li>
	<li>
		<span style="font-size:14px;">Указанный процесс скрыт</span>
	</li>
	<li>
		<span style="font-size:14px;">Закрыть окно</span>
	</li>
	<li>
		<span style="font-size:14px;">Удалить файл драйвера, по желанию</span>
	</li>
</ul><p>
	 
</p>

<p>
	<strong>Видео</strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			 
		</p>

		<div class="ipsEmbeddedVideo">
			<div>
				<iframe allowfullscreen="" frameborder="0" height="113" width="200" data-embed-src="https://www.youtube.com/embed/53JIdE9RwEM?feature=oembed"></iframe>
			</div>
		</div>
	</div>
</div>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="font-size:16px;"><strong><a href="https://old.gamehacklab.ru/topic/8257-jhhp-hiding-any-process/" rel="">СКАЧАТЬ</a></strong></span>
</p>

<p style="text-align:center;">
	 
</p>
]]></description><guid isPermaLink="false">302</guid><pubDate>Wed, 03 Feb 2021 05:19:00 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; internal &#x43C;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x445;&#x430;&#x43A;, &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; CryEngine3 SDK [Spam of animation]</title><link>https://old.gamehacklab.ru/blogs/entry/299-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-internal-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%85%D0%B0%D0%BA-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-cryengine3-sdk-spam-of-animation/</link><description><![CDATA[<p>
	 
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8528" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.png.5a753b5bccd287e18d8a09e484b79a4b.png" rel=""><img alt="1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8528" data-ratio="34.69" width="640" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	В этой статье, мы с вами создадим функцию для отключения задержки анимации игрока. Это позволит вам выполнять так называемый "Спам Х", "Спам CTRL" и <span>"Движения лягушки"</span>, т.е выполнять данные
</p>

<p>
	 
</p>

<ul><li>
		движение лечь - встать
	</li>
	<li>
		движение присесть - встать
	</li>
	<li>
		движение вправо-влево (стрейф)
	</li>
	<li>
		движение лежа - в правый бок / левый бок
	</li>
	<li>
		движение лежа - вперед / назад
	</li>
</ul><p>
	 
</p>

<p>
	действия без какой-либо задержки.
</p>

<p>
	 
</p>

<p>
	Добавим в наш код новые смещения
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="com">#define</span><span class="pln"> ICVAR_STANDTOCROUCHDELAY		</span><span class="lit">0xD24</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_STANDTOPRONEDELAY			</span><span class="lit">0xD28</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_CROUCHTOSTANDDELAY		</span><span class="lit">0xD2C</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_CROUCHTOPRONEDELAY		</span><span class="lit">0xD30</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_PRONETOSTANDDELAY			</span><span class="lit">0xD34</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_PRONETOCROUCHDELAY		</span><span class="lit">0xD38</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	В итоге, мы имеем такой набор смещений
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="com">#define</span><span class="pln"> IGAMEFRAMEWORK_GETCLIENTACTOR		</span><span class="lit">0x470</span><span class="pln">

</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_IDLECHECK			</span><span class="lit">0x168</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_LOBBYAFK			</span><span class="lit">0x7B0</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_INGAMEAFK			</span><span class="lit">0x5D0</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_ENABLEKICK			</span><span class="lit">0x498</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_PVEKICK			</span><span class="lit">0x49C</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_ADVERTISING			</span><span class="lit">0x90</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_PERSONAL_OFFER		</span><span class="lit">0xB4</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_CHATENABLED			</span><span class="lit">0xB20</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_LOBBYCHATDELAY		</span><span class="lit">0xB28</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_INGAMECHATDELAY		</span><span class="lit">0xB30</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_GAMETYPE			</span><span class="lit">0x600</span><span class="pln">

</span><span class="com">#define</span><span class="pln"> ICVAR_STANDTOCROUCHDELAY		</span><span class="lit">0xD24</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_STANDTOPRONEDELAY			</span><span class="lit">0xD28</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_CROUCHTOSTANDDELAY		</span><span class="lit">0xD2C</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_CROUCHTOPRONEDELAY		</span><span class="lit">0xD30</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_PRONETOSTANDDELAY			</span><span class="lit">0xD34</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_PRONETOCROUCHDELAY		</span><span class="lit">0xD38</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Добавим в перечисление <strong>CvarOffsets </strong>новые значения
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="pln">E_STANDTOCROUCHDELAY	</span><span class="pun">=</span><span class="pln">  ICVAR_STANDTOCROUCHDELAY</span><span class="pun">,</span><span class="pln">
E_STANDTOPRONEDELAY	</span><span class="pun">=</span><span class="pln">  ICVAR_STANDTOPRONEDELAY</span><span class="pun">,</span><span class="pln">
E_CROUCHTOSTANDDELAY	</span><span class="pun">=</span><span class="pln">  ICVAR_CROUCHTOSTANDDELAY</span><span class="pun">,</span><span class="pln">
E_CROUCHTOPRONEDELAY	</span><span class="pun">=</span><span class="pln">  ICVAR_CROUCHTOPRONEDELAY</span><span class="pun">,</span><span class="pln">
E_PRONETOSTANDDELAY	</span><span class="pun">=</span><span class="pln">  ICVAR_PRONETOSTANDDELAY</span><span class="pun">,</span><span class="pln">
E_PRONETOCROUCHDELAY	</span><span class="pun">=</span><span class="pln">  ICVAR_PRONETOCROUCHDELAY</span><span class="pun">,</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Теперь наше перечисление со смещениями, выглядит так
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">enum</span><span class="pln"> eCvarOffsets </span><span class="pun">:</span><span class="pln"> DWORD64
</span><span class="pun">{</span><span class="pln">
	E_IDLECHECK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_IDLECHECK</span><span class="pun">,</span><span class="pln">
	E_LOBBYAFK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_LOBBYAFK</span><span class="pun">,</span><span class="pln">
	E_INGAMEAFK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_INGAMEAFK</span><span class="pun">,</span><span class="pln">
	E_ENABLEKICK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_ENABLEKICK</span><span class="pun">,</span><span class="pln">
	E_PVEKICK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_PVEKICK</span><span class="pun">,</span><span class="pln">
	E_ADVERTISING_OFF		</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_ADVERTISING</span><span class="pun">,</span><span class="pln">
	E_PERSONAL_OFFER		</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_PERSONAL_OFFER</span><span class="pun">,</span><span class="pln">
	E_CHATENABLED			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_CHATENABLED</span><span class="pun">,</span><span class="pln">
	E_LOBBYCHATDELAY		</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_LOBBYCHATDELAY</span><span class="pun">,</span><span class="pln">
	E_INGAMECHATDELAY		</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_INGAMECHATDELAY</span><span class="pun">,</span><span class="pln">
	E_GAMETYPE			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_GAMETYPE</span><span class="pun">,</span><span class="pln">

	E_STANDTOCROUCHDELAY		</span><span class="pun">=</span><span class="pln">  ICVAR_STANDTOCROUCHDELAY</span><span class="pun">,</span><span class="pln">
	E_STANDTOPRONEDELAY		</span><span class="pun">=</span><span class="pln">  ICVAR_STANDTOPRONEDELAY</span><span class="pun">,</span><span class="pln">
	E_CROUCHTOSTANDDELAY		</span><span class="pun">=</span><span class="pln">  ICVAR_CROUCHTOSTANDDELAY</span><span class="pun">,</span><span class="pln">
	E_CROUCHTOPRONEDELAY		</span><span class="pun">=</span><span class="pln">  ICVAR_CROUCHTOPRONEDELAY</span><span class="pun">,</span><span class="pln">
	E_PRONETOSTANDDELAY		</span><span class="pun">=</span><span class="pln">  ICVAR_PRONETOSTANDDELAY</span><span class="pun">,</span><span class="pln">
	E_PRONETOCROUCHDELAY		</span><span class="pun">=</span><span class="pln">  ICVAR_PRONETOCROUCHDELAY</span><span class="pun">,</span><span class="pln">
</span><span class="pun">};</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Пишем функцию, для отключения задержки анимации игрока
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">void</span><span class="pln"> </span><span class="typ">SpamXandCtlr</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
	</span><span class="typ">IGameFramework</span><span class="pun">*</span><span class="pln"> pGameFramework </span><span class="pun">=</span><span class="pln"> </span><span class="typ">IGameFramework</span><span class="pun">::</span><span class="typ">Base</span><span class="pun">();</span><span class="pln"> 
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">pGameFramework</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">

	</span><span class="typ">ICvar</span><span class="pun">*</span><span class="pln"> pCvar </span><span class="pun">=</span><span class="pln"> </span><span class="typ">ICvar</span><span class="pun">::</span><span class="typ">Base</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">pCvar</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">

	</span><span class="typ">IActor</span><span class="pun">*</span><span class="pln"> pActor </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">nullptr</span><span class="pun">;</span><span class="pln">

	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">pGameFramework</span><span class="pun">-&gt;</span><span class="typ">GetClientActor</span><span class="pun">(&amp;</span><span class="pln">pActor</span><span class="pun">))</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_STANDTOCROUCHDELAY</span><span class="pun">,</span><span class="pln">	FALSE</span><span class="pun">);</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_STANDTOPRONEDELAY</span><span class="pun">,</span><span class="pln">	FALSE</span><span class="pun">);</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_CROUCHTOSTANDDELAY</span><span class="pun">,</span><span class="pln">	FALSE</span><span class="pun">);</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_CROUCHTOPRONEDELAY</span><span class="pun">,</span><span class="pln">	FALSE</span><span class="pun">);</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_PRONETOSTANDDELAY</span><span class="pun">,</span><span class="pln">	FALSE</span><span class="pun">);</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_PRONETOCROUCHDELAY</span><span class="pun">,</span><span class="pln">	FALSE</span><span class="pun">);</span><span class="pln">
		
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Если вам что-то не понятно, не стесняйтесь задавать свои вопросы в ЛС <strong>Discord </strong>или ниже в комментариях.
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">299</guid><pubDate>Mon, 30 Nov 2020 11:26:00 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; internal &#x43C;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x445;&#x430;&#x43A;, &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; CryEngine3 SDK [Kick from PvE]</title><link>https://old.gamehacklab.ru/blogs/entry/297-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-internal-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%85%D0%B0%D0%BA-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-cryengine3-sdk-kick-from-pve/</link><description><![CDATA[<p>
	 
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8528" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.png.5a753b5bccd287e18d8a09e484b79a4b.png" rel=""><img alt="1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8528" data-ratio="34.69" width="640" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	В этой статье, мы с вами расширим наш проект, функцией для исключения любого союзника с любой спецоперации или PvE миссии, в любой момент.
</p>

<p>
	Система кика игроков со спецоперации и PvE работает по следующему принципу:
</p>

<ul><li>
		Автоматическое исключение за бездействие (по таймеру)
	</li>
	<li>
		Исключение голосованием игроков
	</li>
</ul><p>
	 
</p>

<p>
	Проблема заключается в том, что если игрок активен (например, использует афкбот), система не сможет автоматически исключить его. У вас остаётся только единственный вариант, это голосование игроков. Но и здесь есть проблема. Она заключается в том, что после 2-3 контрольных точек, флаг возможности голосования переключается и запустить голосование игроков невозможно. 
</p>

<p>
	 
</p>

<p>
	Наша задача включить функцию кика и указать количество контрольных точек, в течении которых она будет активна.
</p>

<p>
	 
</p>

<p>
	Добавим в наш код новые смещения
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="com">#define</span><span class="pln"> ICVAR_OFFS_ENABLEKICK			</span><span class="lit">0x498</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_PVEKICK			</span><span class="lit">0x49C</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	В итоге, мы имеем такой набор смещений
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="com">#define</span><span class="pln"> ICVAR_ADDR				</span><span class="lit">0x1420DD458</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> IGAMEFRAMEWORK_ADDR			</span><span class="lit">0x1420DE108</span><span class="pln">

</span><span class="com">#define</span><span class="pln"> IGAMEFRAMEWORK_GETCLIENTACTOR		</span><span class="lit">0x470</span><span class="pln">

</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_IDLECHECK			</span><span class="lit">0x168</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_LOBBYAFK			</span><span class="lit">0x7B0</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_INGAMEAFK			</span><span class="lit">0x5D0</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_ENABLEKICK			</span><span class="lit">0x498</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_PVEKICK			</span><span class="lit">0x49C</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_ADVERTISING			</span><span class="lit">0x90</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_PERSONAL_OFFER		</span><span class="lit">0xB4</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_CHATENABLED			</span><span class="lit">0xB20</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_LOBBYCHATDELAY		</span><span class="lit">0xB28</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_INGAMECHATDELAY		</span><span class="lit">0xB30</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_GAMETYPE			</span><span class="lit">0x600</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Добавим в перечисление <strong>CvarOffsets </strong>новые значения
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="pln">E_ENABLEKICK		</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_ENABLEKICK</span><span class="pun">,</span><span class="pln">
E_PVEKICK		</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_PVEKICK</span><span class="pun">,</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Теперь наше перечисление со смещениями, выглядит так
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">enum</span><span class="pln"> eCvarOffsets </span><span class="pun">:</span><span class="pln"> DWORD64
</span><span class="pun">{</span><span class="pln">
	E_IDLECHECK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_IDLECHECK</span><span class="pun">,</span><span class="pln">
	E_LOBBYAFK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_LOBBYAFK</span><span class="pun">,</span><span class="pln">
	E_INGAMEAFK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_INGAMEAFK</span><span class="pun">,</span><span class="pln">
	E_ENABLEKICK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_ENABLEKICK</span><span class="pun">,</span><span class="pln">
	E_PVEKICK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_PVEKICK</span><span class="pun">,</span><span class="pln">
	E_ADVERTISING_OFF		</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_ADVERTISING</span><span class="pun">,</span><span class="pln">
	E_PERSONAL_OFFER		</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_PERSONAL_OFFER</span><span class="pun">,</span><span class="pln">
	E_CHATENABLED			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_CHATENABLED</span><span class="pun">,</span><span class="pln">
	E_LOBBYCHATDELAY   		</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_LOBBYCHATDELAY</span><span class="pun">,</span><span class="pln">
	E_INGAMECHATDELAY  		</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_INGAMECHATDELAY</span><span class="pun">,</span><span class="pln">
	E_GAMETYPE			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_GAMETYPE</span><span class="pun">,</span><span class="pln">

</span><span class="pun">};</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Пишем функцию, для включения кика игроков в любое время
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">void</span><span class="pln"> </span><span class="typ">EnableKick</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
	</span><span class="typ">IGameFramework</span><span class="pun">*</span><span class="pln"> pGameFramework </span><span class="pun">=</span><span class="pln"> </span><span class="typ">IGameFramework</span><span class="pun">::</span><span class="typ">Base</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">pGameFramework</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">

	</span><span class="typ">ICvar</span><span class="pun">*</span><span class="pln"> pCvar </span><span class="pun">=</span><span class="pln"> </span><span class="typ">ICvar</span><span class="pun">::</span><span class="typ">Base</span><span class="pun">();</span><span class="pln"> 
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">pCvar</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
	
	</span><span class="typ">IActor</span><span class="pun">*</span><span class="pln"> pActor </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">nullptr</span><span class="pun">;</span><span class="pln">

	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">pGameFramework</span><span class="pun">-&gt;</span><span class="typ">GetClientActor</span><span class="pun">(&amp;</span><span class="pln">pActor</span><span class="pun">))</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_ENABLEKICK</span><span class="pun">,</span><span class="pln"> TRUE</span><span class="pun">);</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_PVEKICK</span><span class="pun">,</span><span class="pln">    UCHAR_MAX</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Если вам что-то не понятно, не стесняйтесь задавать свои вопросы в ЛС <strong>Discord </strong>или ниже в комментариях.
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">297</guid><pubDate>Fri, 27 Nov 2020 08:34:00 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; internal &#x43C;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x445;&#x430;&#x43A;, &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; CryEngine3 SDK [Game Type]</title><link>https://old.gamehacklab.ru/blogs/entry/294-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-internal-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%85%D0%B0%D0%BA-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-cryengine3-sdk-game-type/</link><description><![CDATA[<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8528" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.png.5a753b5bccd287e18d8a09e484b79a4b.png" rel=""><img alt="1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8528" data-ratio="34.69" width="640" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png"></a>
</p>

<p style="text-align:center;">
	 
</p>

<p>
	 
</p>

<p>
	В данной статье, мы научимся определять тип комнаты, в которой мы находимся и что-то делать в зависимости от этого. Есть множество вариантов использовать это. Например, вы хотите, чтобы какая-то ваша функция работал в одном режиме, но не работала в другом. Ещё пример, рисовать скелеты на противниках (когда мы до этого дойдём). Порядок костей в <strong>PvE </strong>и <strong>PvP </strong>разный, поэтому, без определения типа комнаты вам не обойтись.
</p>

<p>
	 
</p>

<p>
	<strong>В игре существует 10 типов комнат:</strong>
</p>

<ul><li>
		Лобби игры
	</li>
	<li>
		Командный бой
	</li>
	<li>
		Захват флага
	</li>
	<li>
		Игроки против ботов
	</li>
	<li>
		Подрыв
	</li>
	<li>
		Штурм
	</li>
	<li>
		Каждый сам за себя
	</li>
	<li>
		Уничтожение
	</li>
	<li>
		Доминация
	</li>
	<li>
		Выживание   
	</li>
</ul><p>
	 
</p>

<p>
	Для того, чтобы успешно определять тип комнаты в которой мы находимся, нам необходимо посмотреть это через структуру <strong>ICvar </strong>и смещение в ней. Для типа комнаты, это смещение равно <strong>ICvar + 0x600</strong>
</p>

<p>
	 
</p>

<p>
	Добавим в наш код новое смещение
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="com">#define</span><span class="pln"> ICVAR_OFFS_GAMETYPE				</span><span class="lit">0x600</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Добавим в перечисление <strong>CvarOffsets </strong>новое значение
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="pln">E_GAMETYPE			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_GAMETYPE</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Теперь наше перечисление со смещениями, выглядит так
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">enum</span><span class="pln"> eCvarOffsets </span><span class="pun">:</span><span class="pln"> DWORD64
</span><span class="pun">{</span><span class="pln">
	E_IDLECHECK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_IDLECHECK</span><span class="pun">,</span><span class="pln">
	E_LOBBYAFK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_LOBBYAFK</span><span class="pun">,</span><span class="pln">
	E_INGAMEAFK			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_INGAMEAFK</span><span class="pun">,</span><span class="pln">
	E_GAMETYPE			</span><span class="pun">=</span><span class="pln">  ICVAR_OFFS_GAMETYPE

</span><span class="pun">};</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Добавим в класс <strong>ICvar</strong> новый метод. Теперь класс <strong>ICvar</strong> выглядит так
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">class</span><span class="pln"> </span><span class="typ">ICvar</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pun">:</span><span class="pln">
	</span><span class="kwd">template</span><span class="pln"> </span><span class="pun">&lt;</span><span class="kwd">class</span><span class="pln"> T</span><span class="pun">&gt;</span><span class="pln">
	</span><span class="kwd">inline</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">DWORD64 </span><span class="typ">Offset</span><span class="pun">,</span><span class="pln"> T </span><span class="typ">Value</span><span class="pun">){*(</span><span class="pln">T</span><span class="pun">*)((</span><span class="pln">DWORD64</span><span class="pun">)</span><span class="kwd">this</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">Offset</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Value</span><span class="pun">;}</span><span class="pln">

	</span><span class="kwd">template</span><span class="pln"> </span><span class="pun">&lt;</span><span class="kwd">class</span><span class="pln"> T</span><span class="pun">&gt;</span><span class="pln">
	</span><span class="kwd">inline</span><span class="pln"> T </span><span class="typ">GetValue</span><span class="pun">(</span><span class="pln">DWORD64 </span><span class="typ">Offset</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="pun">*(</span><span class="pln">T</span><span class="pun">*)((</span><span class="pln">DWORD64</span><span class="pun">)</span><span class="kwd">this</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">Offset</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">static</span><span class="pln"> </span><span class="typ">ICvar</span><span class="pun">*</span><span class="pln"> </span><span class="typ">Base</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="pun">*(</span><span class="typ">ICvar</span><span class="pun">**)</span><span class="pln">ICVAR_ADDR</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">};</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Создадим перечисление со всеми возможными видами комнат
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">enum</span><span class="pln"> eRoomType
</span><span class="pun">{</span><span class="pln">
	E_LOBBY </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln">		
	E_TEAMDEATHMATCH</span><span class="pun">,</span><span class="pln">	
	E_OCCUPATION</span><span class="pun">,</span><span class="pln">		
	E_PVE</span><span class="pun">,</span><span class="pln">			
	E_PLANTTHEBOMB</span><span class="pun">,</span><span class="pln">	
	E_STORM</span><span class="pun">,</span><span class="pln">			
	E_DEATHMATCH</span><span class="pun">,</span><span class="pln">		
	E_DESTRUCTION</span><span class="pun">,</span><span class="pln">	
	E_DOMINATION</span><span class="pun">,</span><span class="pln">		
	E_SURVIVAL	
</span><span class="pun">};</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Далее, получение типа комнаты
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="pln">INT </span><span class="typ">GetRoomType</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
	</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">ICvar</span><span class="pun">::</span><span class="typ">Base</span><span class="pun">()-&gt;</span><span class="typ">GetValue</span><span class="str">&lt;int&gt;</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_GAMETYPE</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	И всё, что вам остаётся сделать, это сравнить тип комнаты с нужным вам и что-то сделать
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="typ">GetRoomType</span><span class="pun">()</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> eRoomType</span><span class="pun">::</span><span class="pln">E_PLANTTHEBOMB</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
	</span><span class="com">//do something</span><span class="pln">
</span><span class="pun">}</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Если вам что-то не понятно, не стесняйтесь задавать свои вопросы в ЛС <strong>Discord </strong>или ниже в комментариях.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">294</guid><pubDate>Tue, 24 Nov 2020 16:01:00 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; internal &#x43C;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x445;&#x430;&#x43A;, &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; CryEngine3 SDK [RadarHack]</title><link>https://old.gamehacklab.ru/blogs/entry/293-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-internal-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%85%D0%B0%D0%BA-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-cryengine3-sdk-radarhack/</link><description><![CDATA[<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8528" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.png.5a753b5bccd287e18d8a09e484b79a4b.png" rel=""><img alt="1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8528" data-ratio="34.69" width="640" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	В этой статье мы с вами создадим внутриигровой <strong>Радар</strong>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<img alt="1o.jpg" class="ipsImage" data-ratio="98.60" width="214" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/Vx6Y62w/1o.jpg"></p>

<p>
	 
</p>

<p>
	<strong>Внутриигровой радар в этой игре работает по следующему принципу:</strong>
</p>

<ul><li>
		<strong>Отображать союзников</strong>

		<ul><li>
				время отображения          ==  время жизни союзника.
			</li>
			<li>
				отображение                       ==  всегда
			</li>
			<li>
				дальность отображения  ==  зона видимости радара
			</li>
		</ul></li>
	<li>
		<strong>Отображать противников</strong>
		<ul><li>
				отображение                       == иногда
			</li>
			<li>
				время отображения
				<ul><li>
						при визуальном столкновении
						<ul><li>
								столкнулись вы                                          == время отображения 5с
							</li>
							<li>
								столкнулись союзники                             == время отображения 3с
							</li>
						</ul></li>
					<li>
						при вооруженном столкновении
						<ul><li>
								столкнулись вы или любой союзник   == время отображения 10с
							</li>
						</ul></li>
					<li>
						столкновения не было, противник стрелял   == время отображения  3с
					</li>
				</ul></li>
			<li>
				дальность отображения                                                  == зона видимости радара
			</li>
		</ul></li>
</ul><p>
	 
</p>

<p>
	Наша задача в том, чтобы противники всегда отображались на радаре, не зависимо от того, были столкновения / стрельба или нет.
</p>

<p>
	В этом нет ничего сложного.Нам просто нужно получить необходимые смещения,  указатели, получить итератор сущностей,  перебирать их в цикле и отображать на радар, указав время отображения.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="com">#define</span><span class="pln"> IGAMERULES_GETTEAM			</span><span class="lit">0x368</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> IGAMERULES_ADDENTITY			</span><span class="lit">0x498</span><span class="pln">

</span><span class="com">#define</span><span class="pln"> IACTORSYSTEM_GETACTOR			</span><span class="lit">0x78</span><span class="pln">

</span><span class="com">#define</span><span class="pln"> IENTITY_GETENTITYID			</span><span class="lit">0x8</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> IENTITY_GETNEXT				</span><span class="lit">0x30</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Класс <strong>IGameFramework</strong> выглядит теперь вот так:
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">class</span><span class="pln"> </span><span class="typ">IGameFramework</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pun">:</span><span class="pln">
	</span><span class="kwd">bool</span><span class="pln"> </span><span class="typ">GetClientActor</span><span class="pun">(</span><span class="typ">IActor</span><span class="pun">**</span><span class="pln"> pActor</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">VirtualF</span><span class="pun">&lt;</span><span class="kwd">bool</span><span class="pun">(</span><span class="pln">__thiscall</span><span class="pun">*)(</span><span class="pln">PVOID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">IActor</span><span class="pun">**)&gt;(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> IGAMEFRAMEWORK_GETCLIENTACTOR</span><span class="pun">)(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> pActor</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="typ">IGameRules</span><span class="pun">*</span><span class="pln"> </span><span class="typ">GetCurrentGameRules</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">VirtualF</span><span class="pun">&lt;</span><span class="typ">IGameRules</span><span class="pun">*</span><span class="pln"> </span><span class="pun">(</span><span class="pln">__thiscall</span><span class="pun">*)(</span><span class="pln">PVOID</span><span class="pun">)&gt;(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> IGAMEFRAMEWORK_GETGAMERULES</span><span class="pun">)(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="typ">IActorSystem</span><span class="pun">*</span><span class="pln"> </span><span class="typ">GetActorSystem</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="pun">*(</span><span class="typ">IActorSystem</span><span class="pun">**)((</span><span class="pln">__int64</span><span class="pun">)</span><span class="kwd">this</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> IGAMEFRAMEWORK_GETACTOR</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">static</span><span class="pln"> </span><span class="typ">IGameFramework</span><span class="pun">*</span><span class="pln"> </span><span class="typ">Base</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="pun">*(</span><span class="typ">IGameFramework</span><span class="pun">**)</span><span class="pln">IGAMEFRAMEWORK_ADDR</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">};</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	 Класс <strong>IGameRules:</strong>
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">class</span><span class="pln"> </span><span class="typ">IGameRules</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pun">:</span><span class="pln">
	
	</span><span class="typ">int</span><span class="pln"> </span><span class="typ">GetTeam</span><span class="pun">(</span><span class="typ">EntityId</span><span class="pln"> pEntityId</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">VirtualF</span><span class="pun">&lt;</span><span class="typ">int</span><span class="pun">(</span><span class="pln">__thiscall</span><span class="pun">*)(</span><span class="pln">PVOID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">EntityId</span><span class="pun">)&gt;(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> IGAMERULES_GETTEAM</span><span class="pun">)(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> pEntityId</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">void</span><span class="pln"> </span><span class="typ">AddEntity</span><span class="pun">(</span><span class="typ">EntityId</span><span class="pln"> </span><span class="typ">EntityID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">int</span><span class="pln"> </span><span class="typ">Type</span><span class="pun">,</span><span class="pln"> </span><span class="typ">float</span><span class="pln"> </span><span class="typ">LifeTime</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">VirtualF</span><span class="pun">&lt;</span><span class="kwd">void</span><span class="pun">(</span><span class="pln">__thiscall</span><span class="pun">*)(</span><span class="pln">PVOID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">EntityId</span><span class="pun">,</span><span class="pln"> </span><span class="typ">int</span><span class="pun">,</span><span class="pln"> </span><span class="typ">float</span><span class="pun">)&gt;(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> IGAMERULES_ADDENTITY</span><span class="pun">)(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="typ">EntityID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Type</span><span class="pun">,</span><span class="pln"> </span><span class="typ">LifeTime</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">};</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Класс <strong>IActorsystem</strong>:
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">class</span><span class="pln"> </span><span class="typ">IActorSystem</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pun">:</span><span class="pln">
	</span><span class="typ">IActor</span><span class="pun">*</span><span class="pln"> </span><span class="typ">GetActor</span><span class="pun">(</span><span class="pln">INT32 pActor</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">VirtualF</span><span class="pun">&lt;</span><span class="typ">IActor</span><span class="pun">*</span><span class="pln"> </span><span class="pun">(</span><span class="pln">__thiscall</span><span class="pun">*)(</span><span class="pln">PVOID</span><span class="pun">,</span><span class="pln"> INT32</span><span class="pun">)&gt;(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> IACTORSYSTEM_GETACTOR</span><span class="pun">)(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> pActor</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">};</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Класс <strong>IEntity</strong>:
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">class</span><span class="pln"> </span><span class="typ">IEntity</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pun">:</span><span class="pln">
	</span><span class="typ">EntityId</span><span class="pln"> </span><span class="typ">GetEntityId</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">VirtualF</span><span class="pun">&lt;</span><span class="typ">EntityId</span><span class="pun">(</span><span class="pln">__thiscall</span><span class="pun">*)(</span><span class="pln">PVOID</span><span class="pun">)&gt;(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> IENTITY_GETENTITYID</span><span class="pun">)(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">};</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Класс <strong>IEntityIterator</strong>:
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">class</span><span class="pln"> </span><span class="typ">IEntityIterator</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pun">:</span><span class="pln">
	</span><span class="typ">IEntity</span><span class="pun">*</span><span class="pln"> </span><span class="typ">GetNext</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">VirtualF</span><span class="pun">&lt;</span><span class="typ">IEntity</span><span class="pun">*</span><span class="pln"> </span><span class="pun">(</span><span class="pln">__thiscall</span><span class="pun">*)(</span><span class="pln">PVOID</span><span class="pun">)&gt;(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> IENTITY_GETNEXT</span><span class="pun">)(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">};</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	И самое простое во всём этом:
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">void</span><span class="pln"> </span><span class="typ">RadarHack</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
	</span><span class="typ">ISystemGlobalEnvironment</span><span class="pun">*</span><span class="pln"> pSystemGlobalEnvironment </span><span class="pun">=</span><span class="pln"> </span><span class="typ">ISystemGlobalEnvironment</span><span class="pun">::</span><span class="typ">Base</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">pSystemGlobalEnvironment</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">

	</span><span class="typ">IGameFramework</span><span class="pun">*</span><span class="pln"> pGameFramework </span><span class="pun">=</span><span class="pln"> </span><span class="typ">IGameFramework</span><span class="pun">::</span><span class="typ">Base</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">pGameFramework</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">

	</span><span class="typ">IGameRules</span><span class="pun">*</span><span class="pln"> pGameRules </span><span class="pun">=</span><span class="pln"> pGameFramework</span><span class="pun">-&gt;</span><span class="typ">GetCurrentGameRules</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">pGameRules</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">

	</span><span class="typ">IActorSystem</span><span class="pun">*</span><span class="pln"> pActorSystem </span><span class="pun">=</span><span class="pln"> pGameFramework</span><span class="pun">-&gt;</span><span class="typ">GetActorSystem</span><span class="pun">();</span><span class="pln"> 
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">pActorSystem</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">


	</span><span class="typ">IActor</span><span class="pun">*</span><span class="pln"> pActor </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">nullptr</span><span class="pun">;</span><span class="pln">

	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">pGameFramework</span><span class="pun">-&gt;</span><span class="typ">GetClientActor</span><span class="pun">(&amp;</span><span class="pln">pActor</span><span class="pun">))</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="typ">IEntityIterator</span><span class="pun">*</span><span class="pln"> pEntityIt </span><span class="pun">=</span><span class="pln"> pSystemGlobalEnvironment</span><span class="pun">-&gt;</span><span class="typ">GetIEntitySystem</span><span class="pun">()-&gt;</span><span class="typ">GetEntityIterator</span><span class="pun">();</span><span class="pln">

		</span><span class="kwd">while</span><span class="pln"> </span><span class="pun">(</span><span class="typ">IEntity</span><span class="pun">*</span><span class="pln"> pEntity </span><span class="pun">=</span><span class="pln"> pEntityIt</span><span class="pun">-&gt;</span><span class="typ">GetNext</span><span class="pun">())</span><span class="pln">
		</span><span class="pun">{</span><span class="pln">
			</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="typ">IActor</span><span class="pun">*</span><span class="pln"> tActor </span><span class="pun">=</span><span class="pln"> pActorSystem</span><span class="pun">-&gt;</span><span class="typ">GetActor</span><span class="pun">(</span><span class="pln">pEntity</span><span class="pun">-&gt;</span><span class="typ">GetEntityId</span><span class="pun">()))</span><span class="pln">
			</span><span class="pun">{</span><span class="pln">
				pGameRules</span><span class="pun">-&gt;</span><span class="typ">AddEntity</span><span class="pun">(</span><span class="pln">pEntity</span><span class="pun">-&gt;</span><span class="typ">GetEntityId</span><span class="pun">(),</span><span class="pln"> TRUE</span><span class="pun">,</span><span class="pln"> UCHAR_MAX</span><span class="pun">);</span><span class="pln">
			</span><span class="pun">}</span><span class="pln">
		</span><span class="pun">}</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Если вам что-то не понятно, не стесняйтесь задавать свои вопросы в ЛС <strong>Discord </strong>или ниже в комментариях.
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">293</guid><pubDate>Mon, 23 Nov 2020 06:36:00 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; internal &#x43C;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x445;&#x430;&#x43A;, &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; CryEngine3 SDK [AntiAFK]</title><link>https://old.gamehacklab.ru/blogs/entry/292-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-internal-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%85%D0%B0%D0%BA-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-cryengine3-sdk-antiafk/</link><description><![CDATA[<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8528" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.png.5a753b5bccd287e18d8a09e484b79a4b.png" rel=""><img alt="1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8528" data-ratio="34.69" width="640" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png"></a>
</p>

<p>
	 
</p>

<p>
	В данной статье мы с вами создадим <strong>АнтиАфк</strong>. Cуществуют разные проверки, в том числе активен игрок в данный момент или нет. Если игрок находится в созданной комнате и не активен в течении 90с(это значение меняется каждое обновление), то он автоматически исключается из комнаты и на его место может зайти другой игрок. Однако, у него сохраняется возможность заново присоединиться в комнату, из которой его исключили за бездействие. Также, помимо проверки активности игрока в комнате, существует проверка игрока в любом бою, будь то <strong>PvP</strong> матч или <strong>PvE</strong> миссия. Если в бою игрок не активен более 120с(это значение меняется каждое обновление), то система автоматически исключает его за бездействие и присоединиться в бой, из которого его исключили он уже не может. Проверки осуществляются в 2 этапа. Первая проверка локальная и её можно просто отключить. Вторая проверка зашита в античит и чтобы отключить её, нужно отключить <strong>IN-GAME</strong> античит или передавать необходимые значения. Если вы просто отключите проверку, <strong>IN-GAME</strong> античита, вы получили бан в течении 10 минут. В данной статье, мы будем передавать нужные нам значения, а отключение <strong>IN-GAME</strong> античита мы осуществим в одной(или двух) из будущих статей. Для того, чтобы обойти эти 3 проверки, нам нужно просто получить указатель на нашего игрока, отключить локальную проверку активности и установить нужные значения на проверку от античита. Адрес <strong>ICvar</strong> вы найдётё вот так:
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="d5ada98dce3e479b1f9bd56116777d92.bmp" class="ipsImage" data-ratio="14.25" width="449" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://s8.hostingkartinok.com/uploads/images/2020/11/d5ada98dce3e479b1f9bd56116777d92.bmp"></p>
	</div>
</div>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="69dabfdcd6260963d5bc5eae129fdb1e.jpg" class="ipsImage" data-ratio="32.62" width="745" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://s8.hostingkartinok.com/uploads/images/2020/11/69dabfdcd6260963d5bc5eae129fdb1e.jpg"></p>
	</div>
</div>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="a7177a2f6b3cf63205747f70fc55d8cf.bmp" class="ipsImage" data-ratio="41.19" width="437" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://s8.hostingkartinok.com/uploads/images/2020/11/a7177a2f6b3cf63205747f70fc55d8cf.bmp"></p>
	</div>
</div>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="17cc4eb1f950e46ca55bdadef0a46c12.bmp" class="ipsImage" data-ratio="42.81" width="320" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://s8.hostingkartinok.com/uploads/images/2020/11/17cc4eb1f950e46ca55bdadef0a46c12.bmp"></p>
	</div>
</div>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="36ce3182652a2d3db47a776fd4d34b9d.bmp" class="ipsImage" data-ratio="17.50" width="617" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://s8.hostingkartinok.com/uploads/images/2020/11/36ce3182652a2d3db47a776fd4d34b9d.bmp"></p>
	</div>
</div>

<p>
	 
</p>

<p>
	С остальным, у вас не должно возникнуть проблем, т.к мы уже изучали поиск всего необходимого для создания этого проекта.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="com">#define</span><span class="pln"> ICVAR_ADDR				</span><span class="lit">0x14100E5D0</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> IGAMEFRAMEWORK_ADDR			</span><span class="lit">0x1420DE108</span><span class="pln">

</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_IDLECHECK			</span><span class="lit">0x168</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_LOBBYAFK			</span><span class="lit">0x7B0</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> ICVAR_OFFS_INGAMEAFK			</span><span class="lit">0x5D0</span><span class="pln">
</span><span class="com">#define</span><span class="pln"> IGAMEFRAMEWORK_GETCLIENTACTOR		</span><span class="lit">0x470</span><span class="pln">

</span><span class="kwd">template</span><span class="pln"> </span><span class="pun">&lt;</span><span class="kwd">typename</span><span class="pln"> T</span><span class="pun">&gt;</span><span class="pln">
T </span><span class="typ">VirtualF</span><span class="pun">(</span><span class="pln">PVOID </span><span class="typ">Base</span><span class="pun">,</span><span class="pln"> DWORD64 </span><span class="typ">Index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">(*(</span><span class="pln">T</span><span class="pun">**)</span><span class="typ">Base</span><span class="pun">)[</span><span class="typ">Index</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> </span><span class="lit">8</span><span class="pun">];</span><span class="pln"> </span><span class="pun">}</span><span class="pln">

</span><span class="kwd">enum</span><span class="pln"> eCvarOffsets </span><span class="pun">:</span><span class="pln"> DWORD64
</span><span class="pun">{</span><span class="pln">
	E_IDLECHECK	</span><span class="pun">=</span><span class="pln"> ICVAR_OFFS_IDLECHECK</span><span class="pun">,</span><span class="pln">
	E_LOBBYAFK	</span><span class="pun">=</span><span class="pln"> ICVAR_OFFS_LOBBYAFK</span><span class="pun">,</span><span class="pln">
	E_INGAMEAFK	</span><span class="pun">=</span><span class="pln"> ICVAR_OFFS_INGAMEAFK</span><span class="pun">,</span><span class="pln">
</span><span class="pun">};</span><span class="pln">

</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">ICvar</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pun">:</span><span class="pln">
	</span><span class="kwd">template</span><span class="pln"> </span><span class="pun">&lt;</span><span class="kwd">class</span><span class="pln"> T</span><span class="pun">&gt;</span><span class="pln">
	</span><span class="kwd">inline</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">DWORD64 </span><span class="typ">Offset</span><span class="pun">,</span><span class="pln"> T </span><span class="typ">Value</span><span class="pun">){*(</span><span class="pln">T</span><span class="pun">*)((</span><span class="pln">DWORD64</span><span class="pun">)</span><span class="kwd">this</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">Offset</span><span class="pun">)</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Value</span><span class="pun">;}</span><span class="pln">

	</span><span class="kwd">static</span><span class="pln"> </span><span class="typ">ICvar</span><span class="pun">*</span><span class="pln"> </span><span class="typ">Base</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="pun">*(</span><span class="typ">ICvar</span><span class="pun">**)</span><span class="pln">ICVAR_ADDR</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">};</span><span class="pln">

</span><span class="kwd">class</span><span class="pln"> </span><span class="typ">IGameFramework</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pun">:</span><span class="pln">
	</span><span class="kwd">bool</span><span class="pln"> </span><span class="typ">GetClientActor</span><span class="pun">(</span><span class="typ">IActor</span><span class="pun">**</span><span class="pln"> pActor</span><span class="pun">)</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">VirtualF</span><span class="pun">&lt;</span><span class="kwd">bool</span><span class="pun">(</span><span class="pln">__thiscall</span><span class="pun">*)(</span><span class="pln">PVOID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">IActor</span><span class="pun">**)&gt;(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> IGAMEFRAMEWORK_GETCLIENTACTOR</span><span class="pun">)(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> pActor</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">

	</span><span class="kwd">static</span><span class="pln"> </span><span class="typ">IGameFramework</span><span class="pun">*</span><span class="pln"> </span><span class="typ">Base</span><span class="pun">()</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		</span><span class="kwd">return</span><span class="pln"> </span><span class="pun">*(</span><span class="typ">IGameFramework</span><span class="pun">**)</span><span class="pln">IGAMEFRAMEWORK_ADDR</span><span class="pun">;</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">};</span><span class="pln">

</span><span class="kwd">void</span><span class="pln"> </span><span class="typ">AntiAfk</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
	</span><span class="typ">IGameFramework</span><span class="pun">*</span><span class="pln"> pGameFramework </span><span class="pun">=</span><span class="pln"> </span><span class="typ">IGameFramework</span><span class="pun">::</span><span class="typ">Base</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">pGameFramework</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">

	</span><span class="typ">ICvar</span><span class="pun">*</span><span class="pln"> pCvar </span><span class="pun">=</span><span class="pln"> </span><span class="typ">ICvar</span><span class="pun">::</span><span class="typ">Base</span><span class="pun">();</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">pCvar</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">

	</span><span class="typ">IActor</span><span class="pun">*</span><span class="pln"> pActor </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">nullptr</span><span class="pun">;</span><span class="pln">

	</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">pGameFramework</span><span class="pun">-&gt;</span><span class="typ">GetClientActor</span><span class="pun">(&amp;</span><span class="pln">pActor</span><span class="pun">))</span><span class="pln">
	</span><span class="pun">{</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_LOBBYAFK</span><span class="pun">,</span><span class="pln">  INT_MAX</span><span class="pun">);</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_INGAMEAFK</span><span class="pun">,</span><span class="pln"> INT_MAX</span><span class="pun">);</span><span class="pln">
		pCvar</span><span class="pun">-&gt;</span><span class="typ">SetValue</span><span class="pun">(</span><span class="pln">eCvarOffsets</span><span class="pun">::</span><span class="pln">E_IDLECHECK</span><span class="pun">,</span><span class="pln"> FALSE</span><span class="pun">);</span><span class="pln">
	</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Если вам что-то не понятно, не стесняйтесь задавать свои вопросы в ЛС <strong>Discord </strong>или ниже в комментариях.
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">292</guid><pubDate>Sun, 22 Nov 2020 08:01:00 +0000</pubDate></item><item><title>Warface RU [We are the MRAC]</title><link>https://old.gamehacklab.ru/blogs/entry/285-warface-ru-we-are-the-mrac/</link><description><![CDATA[<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8529" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.png.ac3a3a0c8214622a872744881034d373.png" rel=""><img alt="2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8529" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" width="640" data-ratio="30.63"></a>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="font-size:20px;"><strong><span style="color:#e74c3c;">Возможен бан в игре. Вы используете хак, на свой страх и риск.</span></strong></span>
</p>

<p>
	 
</p>

<p>
	Перед использованием, ознакомьтесь с <a href="https://old.gamehacklab.ru/topic/6467-fairfight-%D1%81%D0%BD%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%B1%D0%B0%D0%BD%D0%B0/" rel="">ЭТИМ</a>
</p>

<p>
	 
</p>

<p>
	<span style="font-family:Tahoma;"><b>Поддерживаемые ОС:                        </b>Win7<b>+</b> (x64)</span>
</p>

<p>
	<span style="font-family:Tahoma;"><b>Поддерживаемая версия клиента:  </b>(x64)</span>
</p>

<p>
	<span style="font-family:Tahoma;"><strong>Поддерживаемая версия DirectX  </strong>   DX9, DX11</span>
</p>

<p>
	<span style="font-family:Tahoma;"><b>Поддерживаемые античиты:</b>            MRAC</span>
</p>

<p>
	 
</p>

<p>
	<strong>Версия от 11.11.20 (Последняя)              <span style="color:#27ae60;">Undetected</span></strong>
</p>

<p>
	 
</p>

<p>
	<a href="https://ibb.co/zm8wQNf" rel="external nofollow"><img alt="0.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/zm8wQNf/0.jpg"></a> <a href="https://ibb.co/4Zm0FdN" rel="external nofollow"><img alt="1.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/4Zm0FdN/1.jpg"></a> <a href="https://ibb.co/TgHC5ZM" rel="external nofollow"><img alt="2.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/TgHC5ZM/2.jpg"></a> <a href="https://ibb.co/2vxVP21" rel="external nofollow"><img alt="3.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/2vxVP21/3.jpg"></a> <a href="https://ibb.co/VLTvsCF" rel="external nofollow"><img alt="4.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/VLTvsCF/4.jpg"></a> <a href="https://ibb.co/7YqBDmB" rel="external nofollow"><img alt="5.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/7YqBDmB/5.jpg"></a> <a href="https://ibb.co/W6HW0TG" rel="external nofollow"><img alt="6.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/W6HW0TG/6.jpg"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<strong>ЕСП:</strong>
</p>

<ul><li>
		Силуеты врагов
	</li>
	<li>
		Силуеты взрывчатки
	</li>
	<li>
		Силуеты капсулы
	</li>
	<li>
		Силуеты пауки
	</li>
	<li>
		Силуеты боссов миссий
	</li>
</ul><p>
	 
</p>

<p>
	<strong>Аимбот:</strong>
</p>

<ul><li>
		Супер аимбот
	</li>
	<li>
		Кость - наилучший выбор (простые враги - голова, джаггернаут - рюкзак и т.п.)
	</li>
	<li>
		Аим на турели
	</li>
	<li>
		Аим на пауков
	</li>
	<li>
		Аим на мины
	</li>
	<li>
		Аим на капсулы
	</li>
	<li>
		Аим на боссов
	</li>
</ul><p>
	 
</p>

<p>
	<strong>Мемхаки:</strong>
</p>

<ul><li>
		Отдача
	</li>
	<li>
		Точность
	</li>
	<li>
		Беск патроны
	</li>
	<li>
		АнтиАФК
	</li>
	<li>
		Кик с пве и спецопераций (в любой момент)
	</li>
	<li>
		Подсад в любой точке на карте
	</li>
	<li>
		Быстрый нож ПКМ, ЛКМ
	</li>
	<li>
		Без перегрева СЕД
	</li>
</ul><p>
	 
</p>

<p>
	<strong>Видео:</strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<div class="ipsEmbeddedVideo">
			<div>
				<iframe allowfullscreen="true" frameborder="0" height="270" width="480" data-embed-src="https://www.youtube.com/embed/grGd5DummnA?feature=oembed"></iframe>
			</div>
		</div>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<strong>Инструкция:</strong>
</p>

<ul><li>
		Запускаете игру
	</li>
	<li>
		Внедряете dll
	</li>
	<li>
		Нагибаете
	</li>
</ul><p>
	 
</p>

<p>
	Активация/Деактивация хака - клавиша <strong><span style="color:#9b59b6;">INSERT</span></strong>
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink" contenteditable="false" data-fileext="rar" data-fileid="9512" href="https://old.gamehacklab.ru/applications/core/interface/file/attachment.php?id=9512" rel="">wfru.rar</a>
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">285</guid><pubDate>Tue, 17 Nov 2020 01:16:02 +0000</pubDate></item><item><title>HwID ban bypass</title><link>https://old.gamehacklab.ru/blogs/entry/263-hwid-ban-bypass/</link><description><![CDATA[<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8529" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.png.ac3a3a0c8214622a872744881034d373.png" rel=""><img alt="2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8529" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" width="640" data-ratio="30.63"></a>
</p>

<p style="text-align:center;">
	 
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong>28.01.2021</strong>  <span style="color:#16a085;"><strong>Undetected</strong></span></span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong><span style="color:#16a085;">Поддерживаемые ОС</span>:</strong></span>
</p>

<p>
	<span style="font-size:14px;"><strong>Только 64 бит</strong></span>
</p>

<ul><li>
		<span style="font-size:14px;">Windows 8.1</span>
	</li>
	<li>
		<span style="font-size:14px;">Windows 10 (1803-20H2)</span>
	</li>
</ul><p>
	 
</p>

<p>
	<span style="font-size:14px;"><strong><span style="color:#16a085;">Инструкция</span>:</strong></span>
</p>

<ul><li>
		<span style="font-size:14px;">Поместить файл <strong>hwid.sys</strong> в каталог <strong> C:\</strong></span>
	</li>
	<li>
		<span style="font-size:14px;">Запустить файл <strong>ldr.exe</strong> (требуются права администратора)</span>
	</li>
	<li>
		<span style="font-size:14px;">Удалить файл <strong>C:\hwid.sys</strong></span>
	</li>
</ul><p>
	 
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink" contenteditable="false" data-fileext="rar" data-fileid="9485" href="https://old.gamehacklab.ru/applications/core/interface/file/attachment.php?id=9485" rel="">HwID_BS.rar</a>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	 
</p>
]]></description><guid isPermaLink="false">263</guid><pubDate>Tue, 03 Nov 2020 14:51:00 +0000</pubDate></item><item><title>Bypass EAC, BE, MRAC [Clean screenshots]</title><link>https://old.gamehacklab.ru/blogs/entry/223-bypass-eac-be-mrac-clean-screenshots/</link><description><![CDATA[<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="8529" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.png.ac3a3a0c8214622a872744881034d373.png" rel="" data-fileext="png"><img alt="2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" class="ipsImage ipsImage_thumbnailed" data-fileid="8529" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" width="640" data-ratio="30.63"></a>
</p>

<p>
	 
</p>

<p>
	Обход функции, снятия скринов античитами.
</p>

<p>
	 
</p>

<p>
	<strong>01.11.2020</strong>    <span style="color:#27ae60;"><strong>Undetected</strong></span>
</p>

<p>
	<strong>Поддерживаемые системы: </strong>
</p>

<ul>
<li>
		x64 only
	</li>
	<li>
		Windows 7+
	</li>
</ul>
<p>
	 
</p>

<p>
	<strong>Поддерживаемые режимы игры:</strong>
</p>

<ul>
<li>
		Windowed mode
	</li>
	<li>
		FullScreen
	</li>
</ul>
<p>
	 
</p>

<p>
	<strong>Инструкция:</strong>
</p>

<ul>
<li>
		Для запуска требуются права администратора
	</li>
	<li>
		Запустить файл
	</li>
	<li>
		Запустить игру
	</li>
	<li>
		Играть
	</li>
	<li>
		В зависимости от античита, скрины не будут сниматься или будут чистые
	</li>
</ul>
<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink" contenteditable="false" data-fileid="9479" href="https://old.gamehacklab.ru/applications/core/interface/file/attachment.php?id=9479" data-fileext="rar" rel="">BpScr.rar</a>
</p>
]]></description><guid isPermaLink="false">223</guid><pubDate>Sat, 04 Jan 2020 15:50:00 +0000</pubDate></item><item><title>&#x41D;&#x43E;&#x432;&#x43E;&#x433;&#x43E;&#x434;&#x43D;&#x438;&#x439; &#x43D;&#x430;&#x433;&#x438;&#x431;</title><link>https://old.gamehacklab.ru/blogs/entry/205-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D0%B8%D0%B9-%D0%BD%D0%B0%D0%B3%D0%B8%D0%B1/</link><description><![CDATA[<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileid="8529" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.png.ac3a3a0c8214622a872744881034d373.png" rel="" data-fileext="png"><img alt="2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8529" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/2.thumb.png.bb846f0d2af8f68ea0b6284a0498f94a.png" width="640" data-ratio="30.63"></a>
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<span style="font-size:20px;"><strong><span style="color:#e74c3c;">Возможен бан в игре. Вы используйте это, на свой страх и риск.</span></strong></span>
</p>

<p>
	 
</p>

<p>
	Перед использованием, ознакомьтесь с <a href="https://old.gamehacklab.ru/topic/6467-fairfight-%D1%81%D0%BD%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%B1%D0%B0%D0%BD%D0%B0/" rel="">ЭТИМ</a>
</p>

<p>
	 
</p>

<p>
	<span style="font-family:Tahoma;"><b>Поддерживаемые ОС: </b>Win7<b>+</b> (x32 , x64)</span>
</p>

<p>
	<span style="font-family:Tahoma;"><b>Поддерживаемые античиты:</b> MRAC</span>
</p>

<p>
	 
</p>

<p>
	<strong>Версия от 29.12.18 (Последняя) <span style="color:#27ae60;">Undetected</span></strong>
</p>

<p>
	 
</p>

<p>
	<a href="https://ibb.co/7JD0cJC" rel="external nofollow"><img alt="Oa-T-y36w-Ir-Q.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/7JD0cJC/Oa-T-y36w-Ir-Q.jpg"></a> <a href="https://ibb.co/s60Lh0k" rel="external nofollow"><img alt="ro-KKw6dlcj0.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/s60Lh0k/ro-KKw6dlcj0.jpg"></a>  <a href="https://ibb.co/7yM8QrV" rel="external nofollow"><img alt="c-YRfgoj-O8-Go-jpg-3fdcaede161dadc84f00f" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/7yM8QrV/c-YRfgoj-O8-Go-jpg-3fdcaede161dadc84f00f85c6ad3a3b9.jpg"></a>  <a href="https://ibb.co/cr9ZQ5p" rel="external nofollow"><img alt="1-r-f.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/cr9ZQ5p/1-r-f.jpg"></a>  <a href="https://ibb.co/VYtCjcy" rel="external nofollow"><img alt="1623d8da2942f90005e8b7943f2fe868-full.jp" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/VYtCjcy/1623d8da2942f90005e8b7943f2fe868-full.jpg"></a> <a href="https://ibb.co/QfYmmyJ" rel="external nofollow"><img alt="1.jpg" class="ipsImage" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://i.ibb.co/QfYmmyJ/1.jpg"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<strong>Мемхаки:</strong>
</p>

<ul><li>
		Без отдачи (Убирает отдачу у всего оружия)
	</li>
	<li>
		Точность 100% (Все пули летят в 1 точку)
	</li>
	<li>
		Супер урон (Повышает наносимый урон каждой пули в 10 раз)
	</li>
	<li>
		Скрыть ники (Скрывает ваш ник, ники союзников и противников. Вы будете показываться как <strong>ADMIN</strong>,  все остальные как <strong>BOT</strong>. В списке игроков, не будет видно <strong>НИКОГО</strong>)
	</li>
	<li>
		Антислепа (Убирает эффект светошумовых гранат)
	</li>
	<li>
		Подсад (Вы сможете забираться на любые возвышенности, без помощи напарника, там где это возможно в игре)
	</li>
	<li>
		Длинный подкат (Сможете подкатываться через полкарты)
	</li>
	<li>
		Бесконечные патроны (Патроны никогда не заканчиваются)
	</li>
	<li>
		Кик с ПВЕ (Сможете исключить <strong>ЛЮБОГО</strong> союзника с <strong>ЛЮБОЙ</strong> миссии или Спецоперации, в <strong>ЛЮБОЙ</strong> момент)
	</li>
</ul><p>
	<strong>ЕСП:</strong>
</p>

<ul><li>
		Силуеты (Обводит противников в определенный цвет, в зависимости от видимости )
	</li>
	<li>
		Линии (показывает линии от вашего прицела до противников)
	</li>
	<li>
		Взрывчатка (Позволяет видеть установленные мины, а также гранаты летящие в вас)
	</li>
</ul><p>
	<strong>Аимбот:</strong>
</p>

<ul><li>
		Фаст Аим (Убиваете противников, даже не наводясь на них)
	</li>
	<li>
		Угол Аима (Выбор угла действия Аима)
	</li>
	<li>
		Кость (Аим всегда наводится на выбранную кость)
	</li>
	<li>
		Триггер бот / Автошот (Производит выстрел, при наведение на любую кость противника. Очень полезен на снайпере или медике.)
	</li>
</ul><p>
	 
</p>

<p>
	<strong>Инструкция:</strong>
</p>

<ul><li>
		Закрываете игру и ИЦ
	</li>
	<li>
		Запускаете хак
	</li>
	<li>
		Запускаете игру
	</li>
	<li>
		Нагибаете
	</li>
</ul><p>
	 
</p>

<p>
	Показать / Скрыть меню - клавиша <strong><span style="color:#9b59b6;">HOME</span></strong>
</p>

<p>
	Пароль от архива <span>: </span>wfru
</p>

<p>
	 
</p>

<p>
	<strong>ВИДЕО</strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<div class="ipsEmbeddedVideo">
			<div>
				<iframe allowfullscreen="true" frameborder="0" height="270" width="480" data-embed-src="https://www.youtube.com/embed/4QPk3SIfbzU?feature=oembed"></iframe>
			</div>
		</div>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	 
</p>
]]></description><guid isPermaLink="false">205</guid><pubDate>Fri, 28 Dec 2018 14:00:00 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; internal &#x43C;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x445;&#x430;&#x43A;, &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; CryEngine3 SDK [NoSpread]</title><link>https://old.gamehacklab.ru/blogs/entry/198-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-internal-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%85%D0%B0%D0%BA-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-cryengine3-sdk-nospread/</link><description><![CDATA[<p>
	Всем привет. В этой статье, мы создадим 100% точность и разброс для нашего учебного проекта. В этом уроке, появляется всё больше самостоятельной работы. Хотя, для тех, кто освоил прошлые уроки, это покажется легкой прогулкой. Мы просто, заставляем ваш мозг производить какие-то действия, а не тупо идти по шагам и копипастить. Итак, для создания этого, нам понадобится узнать смещения 2 классов -<strong> IGame</strong> и <strong>ICVar</strong>.
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8528" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.png.5a753b5bccd287e18d8a09e484b79a4b.png" rel=""><img alt="1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8528" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" width="640" data-ratio="34.69"></a>
</p>

<p>
	 
</p>

<p>
	<strong>IGame</strong>  -  ищем "<em>IsPlayer</em>"
</p>

<p>
	<img alt="1.jpg.54d539b3955a26bca7ad0178fbfbfc75.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7441" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_11/1.jpg.54d539b3955a26bca7ad0178fbfbfc75.jpg" width="378" data-ratio="50.26"></p>

<p>
	 
</p>

<p>
	Получили смещение класса <strong>IGame</strong>. Аналогично с <strong>ICVar</strong> -  ищем "<em>GetCVar</em>" и проделываем предыдущие шаги. После этого, нам нужно найти смещения функции <em>SetIPelletsDisp</em> и <em>CrosshairSpreadTuning</em> в <strong>ICVar</strong>. Нашли, восстановили классы, пишем саму функцию:
</p>

<p>
	 
</p>

<pre class="ghlCode">
<code class="cpp hljs"><span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">noSpread</span><span class="hljs-params">()</span>
</span>{
	<span class="hljs-keyword">while</span> (<span class="hljs-literal">true</span>)
	{
		IGame* pIGame = pSSGE-&gt;pIGame;
		<span class="hljs-keyword">if</span> (!pIGame)<span class="hljs-keyword">continue</span>;

		ICVar* pIcvar = pIGame-&gt;GetICvar();
		<span class="hljs-keyword">if</span> (!pIcvar)<span class="hljs-keyword">continue</span>;

		<span class="hljs-keyword">float</span> iValue = <span class="hljs-number">200</span>;
		pIcvar-&gt;SetIPelletsDisp(iValue);
		pIcvar-&gt;CrosshairSpreadTuning(<span class="hljs-number">0</span>);

		Sleep(<span class="hljs-number">1</span>);
	}
}</code></pre>

<p>
	 
</p>

<p>
	Собираем, внедряем, готово. Продолжение следует...
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">198</guid><pubDate>Sun, 25 Nov 2018 15:15:00 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; internal &#x43C;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x445;&#x430;&#x43A;, &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; CryEngine3 SDK [NoRecoil]</title><link>https://old.gamehacklab.ru/blogs/entry/177-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-internal-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%85%D0%B0%D0%BA-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-cryengine3-sdk-norecoil/</link><description><![CDATA[<p>
	И снова, здравствуйте)) В этой части, мы с вами создадим NoRecoil. Здесь, я уже не буду всё разжевывать. Опирайтесь на прошлые статьи, кому что-то не понятно. Открываем дамп из прошлых частей. Поиск по строкам. Для начала, нам нужно найти <strong><em>IGameFramework</em></strong>.
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8528" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.png.5a753b5bccd287e18d8a09e484b79a4b.png" rel=""><img alt="1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8528" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" width="640" data-ratio="34.69"></a>
</p>

<p>
	 
</p>

<p>
	Вводим <strong>"<em>Failed to create the GameFramework Interface!</em>"</strong>.
</p>

<p>
	<img alt="1.jpg.ce0d9b49e4573346e084f89337a8d309.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7134" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_07/1.jpg.ce0d9b49e4573346e084f89337a8d309.jpg" width="540" data-ratio="14.26"></p>

<p>
	 
</p>

<p>
	Двойной клик по строке, попадаем сюда
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="7135" href="https://old.gamehacklab.ru/uploads/monthly_2018_07/2.jpg.6e83cda83c980db5f7db9bdcc575b69e.jpg" rel=""><img alt="2.thumb.jpg.925b8c28f029c99a68791bb3f485acbf.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7135" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_07/2.thumb.jpg.925b8c28f029c99a68791bb3f485acbf.jpg" width="640" data-ratio="20.63"></a>
</p>

<p>
	 
</p>

<p>
	Через окно перекрестных ссылок, выходим на адрес
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="7136" href="https://old.gamehacklab.ru/uploads/monthly_2018_07/3.jpg.b0559eb73df3a1a97656a708bd9e9dae.jpg" rel=""><img alt="3.thumb.jpg.63b4764d160cf91e4c7d3f7ca8d2c005.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7136" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_07/3.thumb.jpg.63b4764d160cf91e4c7d3f7ca8d2c005.jpg" width="640" data-ratio="19.22"></a>
</p>

<p>
	 
</p>

<p>
	Итак, мы нашли адрес<strong> <em>IGameFramewrok = </em>0x1AF7E2C</strong>
</p>

<p>
	 
</p>

<p>
	Теперь, в окне поиска строк, ищем <strong>"sp_difficulty"</strong>
</p>

<p>
	<img alt="4.jpg.ce651360125319a7778771f0de81111a.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7137" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_07/4.jpg.ce651360125319a7778771f0de81111a.jpg" width="387" data-ratio="14.73"></p>

<p>
	 
</p>

<p>
	Двойной клик по строке. Меню перекрестных ссылок. Открываем псевдокод.
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="7138" href="https://old.gamehacklab.ru/uploads/monthly_2018_07/5.jpg.856d2b5b815a6416a666a609485af3ba.jpg" rel=""><img alt="5.thumb.jpg.a97d6094be588517a36fe51b6e020013.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7138" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_07/5.thumb.jpg.a97d6094be588517a36fe51b6e020013.jpg" width="640" data-ratio="30"></a>
</p>

<p>
	 
</p>

<p>
	Через<strong> ReClass x32</strong> восстанавливаем классы. Переходим к написанию кода.
</p>

<p>
	 
</p>

<p>
	<strong>classes.h</strong>
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ghlCode">

<code class="cpp hljs"><span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">"windows.h"</span></span>
     
<span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> IGameFramewrok 0x1AF7E2C</span>
     

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">CPlayer</span> 
{</span>
<span class="hljs-keyword">public</span>:
    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">SetIgnoreRecoil</span><span class="hljs-params">(<span class="hljs-keyword">bool</span> bValue)</span> 
</span>   {
        *(<span class="hljs-keyword">bool</span>*)((DWORD)<span class="hljs-keyword">this</span> + <span class="hljs-number">0xD5</span>) = bValue;
    }
};
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">IActor</span> 
{</span>
<span class="hljs-keyword">public</span>:
    <span class="hljs-function">CPlayer * <span class="hljs-title">GetPlayer</span><span class="hljs-params">()</span> </span>
{
        <span class="hljs-keyword">return</span>(CPlayer*)*(DWORD*)((DWORD)<span class="hljs-keyword">this</span> + <span class="hljs-number">0x8F8</span>);
    }
}; <span class="hljs-class"><span class="hljs-keyword">struct</span> <span class="hljs-title">IGameFramework</span> 
{</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function0</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function1</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function2</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function3</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function4</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function5</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function6</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function7</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function8</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function9</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function10</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function11</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function12</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function13</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function14</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function15</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function16</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function17</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function18</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function19</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function20</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function21</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function22</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function23</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function24</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function25</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function26</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function27</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function28</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function29</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function30</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function31</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function32</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function33</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function34</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function35</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function36</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function37</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function38</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function39</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function40</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function41</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function42</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function43</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function44</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function45</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function46</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function47</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function48</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function49</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function50</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function51</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function52</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function53</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function54</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function55</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function56</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function57</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function58</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function59</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function60</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function61</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function62</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function63</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function64</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function65</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function66</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function67</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function68</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function69</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function70</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function71</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function72</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function73</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function74</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function75</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function76</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function77</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function78</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function79</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function80</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function81</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function82</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function83</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function84</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function85</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function86</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function87</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function88</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function89</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function90</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function91</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function92</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function93</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function94</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function95</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function96</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function97</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function98</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function99</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function100</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function101</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function102</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function103</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function104</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function105</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function106</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function107</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function108</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function109</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function110</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function111</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function112</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function113</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function114</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function115</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function116</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function117</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function118</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function119</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function120</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function121</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function122</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function123</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function124</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function125</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function126</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function127</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function128</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function129</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function130</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function131</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function132</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function133</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function134</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function135</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function136</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function137</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function138</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function139</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function140</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function141</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function142</span><span class="hljs-params">()</span></span>;<span class="hljs-comment">//</span>
    <span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">bool</span> <span class="hljs-title">GetClientActor</span><span class="hljs-params">(IActor**ppActor)</span></span>;<span class="hljs-comment">//143</span>
    <span class="hljs-function"><span class="hljs-keyword">static</span> IGameFramework*<span class="hljs-title">GetGameFramework</span><span class="hljs-params">()</span> </span>{ <span class="hljs-keyword">return</span>*(IGameFramework**)IGameFramewrok; 
}
};
 </code></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	<strong>main.cpp</strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			 
		</p>

		<pre class="ghlCode">

<code class="cpp hljs"><span class="hljs-function"><span class="hljs-keyword">bool</span> <span class="hljs-title">NoRecoil</span><span class="hljs-params">()</span> 
</span>{
  <span class="hljs-keyword">while</span> (<span class="hljs-literal">true</span>) 
{
    IGameFramework* pGameFramework = IGameFramework::GetGameFramework();
    if(!pGameFramework)<span class="hljs-keyword">continue;
</span>
    IActor*LocalActor = nullptr; 
    <span class="hljs-keyword">if</span> (!pGameFramework-&gt;GetClientActor(&amp;LocalActor))<span class="hljs-keyword">continue</span>;
    <span class="hljs-keyword">if</span> (!LocalActor)<span class="hljs-keyword">continue</span>;

    CPlayer*LocalPlayer = LocalActor-&gt;GetPlayer();
    <span class="hljs-keyword">if</span>(!LocalPlayer)<span class="hljs-keyword">continue</span>;

    LocalPlayer-&gt;SetIgnoreRecoil(<span class="hljs-literal">true</span>);
    Sleep(<span class="hljs-number">1</span>);
    }
}</code></pre>
	</div>
</div>

<p>
	 
</p>

<p>
	Собираем проект. Внедряем в игру. Готово.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<div class="ipsEmbeddedVideo">
			<div>
				<iframe allowfullscreen="true" frameborder="0" height="270" width="480" data-embed-src="https://www.youtube.com/embed/OC-6b42wf0Q?feature=oembed"></iframe>
			</div>
		</div>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Продолжение следует...
</p>
]]></description><guid isPermaLink="false">177</guid><pubDate>Sun, 08 Jul 2018 15:27:00 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; internal &#x43C;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x445;&#x430;&#x43A;, &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; CryEngine3 SDK [ReClass]</title><link>https://old.gamehacklab.ru/blogs/entry/178-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-internal-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%85%D0%B0%D0%BA-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-cryengine3-sdk-reclass/</link><description><![CDATA[<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="png" data-fileid="8528" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.png.5a753b5bccd287e18d8a09e484b79a4b.png" rel=""><img alt="1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8528" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" width="640" data-ratio="34.69"></a>
</p>

<p style="text-align:center;">
	 
</p>

<p>
	Продолжаем создавать наш noflash. Открываем <em><strong>Reclass x32</strong> </em>и создаем новый класс.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="20.jpg.dae2269918a175287cbd62a98a9ebdf7.jpg" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="7110" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/20.jpg.dae2269918a175287cbd62a98a9ebdf7.jpg" width="616" data-ratio="28.08"></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Далее, переименовываем название класса в <em><strong>SSystemGlobalEnvironment</strong>. </em>Сейчас наш класс очень мал. Нарастите класс до смещения <strong>0x90</strong>, используя панель модификации.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="21.jpg.a2fefcba887509477e8484ee4fc5fa95.jpg" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="7111" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/21.jpg.a2fefcba887509477e8484ee4fc5fa95.jpg" width="539" data-ratio="76.99"></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Переходим на смещение <strong>0x88</strong>, жмем по зеленой стрелке, выбираем тип - Указатель.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="22.jpg.983443ce3768e20ab3a2c28ad8486661.jpg" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="7112" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/22.jpg.983443ce3768e20ab3a2c28ad8486661.jpg" width="475" data-ratio="54.74"></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Переименовываем указатель в <em><strong>p3DEngine</strong>. </em>Ниже строчкой, переименовываем класс в<em> <strong>I3DEngine</strong>. </em>Спускаемся еще на строчку ниже. Создаём виртуальную таблицу, указав тип<em> <strong>VTable</strong>.</em>
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="23.jpg.9a393037e15a6c4c62fb41d3881531e7.jpg" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="7113" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/23.jpg.9a393037e15a6c4c62fb41d3881531e7.jpg" width="526" data-ratio="60.08"></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Открываем и видим, что функций всего 9, а нам нужно 143. Смещение 572 / 4 т.к. 32 битный процесс. Если бы был 64 битный, то делили бы на 8. 143 это и есть наша функция <strong><em>SetPostEffectParam()</em></strong>
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="jpg" data-fileid="7116" href="https://old.gamehacklab.ru/uploads/monthly_2018_06/15.jpg.f9e2fd171c2de3ada8fd00a809293c6e.jpg" rel=""><img alt="15.thumb.jpg.8025c714b8e9589b5ce7853b8e6a96ba.jpg" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="7116" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/15.thumb.jpg.8025c714b8e9589b5ce7853b8e6a96ba.jpg" width="640" data-ratio="20.47"></a>
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Наращиваем количество функций, как делали с классом. Переходим на 143 функцию, двойной клик, вписываем саму функцию. И очищаем лишнее в классе. Далее жмем "генерировать" класс.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="jpg" data-fileid="7114" href="https://old.gamehacklab.ru/uploads/monthly_2018_06/24.jpg.5854f4720775f33871134bab0dc28cc8.jpg" rel=""><img alt="24.thumb.jpg.4933e68be12b88d40873bf72e6fc9006.jpg" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="7114" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/24.thumb.jpg.4933e68be12b88d40873bf72e6fc9006.jpg" width="640" data-ratio="58.75"></a>
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Получаем готовый код класса, копируем в удобное место.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileext="jpg" data-fileid="7115" href="https://old.gamehacklab.ru/uploads/monthly_2018_06/25.jpg.e2a0a4ddff6ca79c1b7b09b1f77260fb.jpg" rel=""><img alt="25.thumb.jpg.38a415a2895f1120f7a5605cbfa7b559.jpg" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="7115" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/25.thumb.jpg.38a415a2895f1120f7a5605cbfa7b559.jpg" width="548" data-ratio="87.59"></a>
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Открываем <strong>Visual Studio</strong>, создаем пустой проект, тип проекта "Библиотека DLL". Добавляем исходный файл <strong><em>main.cpp</em></strong> и заголовочный файл <strong><em>classes.h</em></strong> .
</p>

<p>
	В <strong><em>main.cpp</em></strong> подключаем 
</p>

<pre class="ghlCode">
<code class="cpp hljs"><span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">&lt;windows.h&gt;</span></span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string">"classes.h"</span></span></code></pre>

<p>
	 
</p>

<p>
	Прописываем нашу функцию
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ipsCode prettyprint lang-c prettyprinted">

<span class="kwd">void</span><span class="pln"> noFlash</span><span class="pun">()</span><span class="pln"> 
</span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">while</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">)</span><span class="pln">
  </span><span class="pun">{</span><span class="pln">
    </span><span class="typ">SSystemGlobalEnvironment</span><span class="pun">*</span><span class="pln"> pEnv </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">SSystemGlobalEnvironment</span><span class="pun">*)(*(</span><span class="pln">DWORD</span><span class="pun">*)(</span><span class="lit">0x18C23DC</span><span class="pun">));</span><span class="pln">
    </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">pEnv</span><span class="pun">)</span><span class="kwd">continue</span><span class="pun">;</span><span class="pln"> 
    I3DEngine</span><span class="pun">*</span><span class="pln"> p3DEngine </span><span class="pun">=</span><span class="pln"> pEnv</span><span class="pun">-&gt;</span><span class="pln">p3DEngine</span><span class="pun">;</span><span class="pln"> 
    </span><span class="kwd">if</span><span class="pun">(!</span><span class="pln">p3DEngine</span><span class="pun">)</span><span class="kwd">continue</span><span class="pun">;</span><span class="pln">
    p3DEngine</span><span class="pun">-&gt;</span><span class="typ">SetPostEffectParam</span><span class="pun">(</span><span class="str">"Flashbang_Time"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln"> 
  </span><span class="pun">}</span><span class="pln"> 
</span><span class="pun">}</span></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	В точке входа создаем поток
</p>

<pre class="ghlCode">
<code class="cpp hljs"><span class="hljs-function">CreateThrea﻿<span class="hljs-title">d</span><span class="hljs-params">(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, (LPTHREAD_ST﻿ART_ROUTINE)</span>noFlash, 0,﻿ 0, 0)</span>;</code></pre>

<p>
	 
</p>

<p>
	Открываем файл <strong>classes.h</strong> и вставляем туда сгенерированный код из <strong>ReClass</strong>. В итоге файл <strong>classes.h</strong> будет выглядеть вот так
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<pre class="ghlCode">

<code class="cpp hljs"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">S</span>﻿<span class="hljs-title">SystemGlobalEnvironment</span>;</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">I3DEngine</span>;</span>

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">SSystemGlobalEnvironment</span>
{</span>
<span class="hljs-keyword">public</span>:
<span class="hljs-keyword">char</span> _0x0000[<span class="hljs-number">136</span>];﻿
	I3DEngine* p3DEngine; <span class="hljs-comment">//0x0088 </span>

};<span class="hljs-comment">//Size=0x008C</span>

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">I3DEngine</span>
{</span>
<span class="hljs-keyword">public</span>:
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Fun﻿<span class="hljs-title">ction0</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function1</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function2</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function3</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function4</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function5</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function6</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function7</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function8</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function9</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function10</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function11</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function12</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function13</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function14</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Func﻿<span class="hljs-title">tion15</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function16</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function17</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function18</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function19</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function20</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function21</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function22</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function23</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function24</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function25</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function26</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function27</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function28</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function29</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Func﻿<span class="hljs-title">tion30</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function31</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function32</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function33</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function34</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function35</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function36</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function37</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function38</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function39</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function40</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function41</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function42</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function43</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Func﻿<span class="hljs-title">tion44</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function45</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function46</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function47</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function48</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function49</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function50</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function51</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function52</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function53</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function54</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function55</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function56</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function57</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function58</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Func﻿<span class="hljs-title">tion59</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function60</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function61</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function62</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function63</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function64</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function65</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function66</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function67</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function68</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function69</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function70</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function71</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function72</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function73</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Func﻿<span class="hljs-title">tion74</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function75</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function76</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function77</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function78</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function79</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function80</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function81</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function82</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function83</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function84</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function85</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function86</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function87</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Func﻿<span class="hljs-title">tion88</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function89</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function90</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function91</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function92</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function93</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function94</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function95</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function96</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function97</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function98</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function99</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function100</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Func﻿<span class="hljs-title">tion101</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function102</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function103</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function104</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function105</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function106</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function107</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function108</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function109</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function110</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function111</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function112</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function113</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function114</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Func﻿<span class="hljs-title">tion115</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function116</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function117</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function118</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function119</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function120</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function121</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function122</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function123</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function124</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function125</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function126</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function127</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Func﻿<span class="hljs-title">tion128</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function129</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function130</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function131</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function132</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function133</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function134</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function135</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function136</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function137</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function138</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function139</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function140</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">Function141</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//﻿</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> Func﻿<span class="hljs-title">tion142</span><span class="hljs-params">()</span></span>; <span class="hljs-comment">//</span>
	<span class="hljs-function"><span class="hljs-keyword">virtual</span> <span class="hljs-keyword">void</span> <span class="hljs-title">SetPostEffectParam</span><span class="hljs-params">(<span class="hljs-keyword">const</span> cha﻿r *pParam, <span class="hljs-keyword">float</span> fValue, <span class="hljs-keyword">bool</span> bForceValue=<span class="hljs-literal">false</span>)</span></span>; <span class="hljs-comment">//</span>
};<span class="hljs-comment">//Size=0x0004</span></code></pre>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Собираем проект. Внедряем в игру. Готово.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<div class="ipsEmbeddedVideo">
			<div>
				<iframe allowfullscreen="true" frameborder="0" height="270" width="480" data-embed-src="https://www.youtube.com/embed/D_c1UGzQYfU?feature=oembed"></iframe>
			</div>
		</div>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Продолжение следует...
</p>
]]></description><guid isPermaLink="false">178</guid><pubDate>Fri, 29 Jun 2018 16:00:00 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; internal &#x43C;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x445;&#x430;&#x43A;, &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; CryEngine3 SDK [Search]</title><link>https://old.gamehacklab.ru/blogs/entry/170-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-internal-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%85%D0%B0%D0%BA-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-cryengine3-sdk-search/</link><description><![CDATA[<p>
	Итак, мы вооружились всеми нужными инструментами и поверхностным пониманием того, что будем делать. Теперь, можно приступать к самому интересному.
</p>

<p>
	В этой части, перед нами стоит задача найти<em> <strong>SSystemGlobalEnvironment</strong> </em>и указатель на<em> <strong>I3DEngine</strong>.</em>
</p>

<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="8528" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.png.5a753b5bccd287e18d8a09e484b79a4b.png" rel=""><img alt="1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" class="ipsImage ipsImage_thumbnailed" data-fileid="8528" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" width="640" data-ratio="34.69"></a>
</p>

<p style="text-align:center;">
	 
</p>

<p>
	 
</p>

<p>
	Открываем <strong><em>PeTools</em></strong> и делаем полный дамп. Далее, запускаем <strong>IDA PRO</strong> и выбираем "новый проект". Открываем наш дамп игры. Выбираем
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="4.jpg.4bad2af28f0bacb207011cf9a6ba79e1.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7090" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/4.jpg.4bad2af28f0bacb207011cf9a6ba79e1.jpg" width="546" data-ratio="26.37"></p>
	</div>
</div>

<p>
	 
</p>

<p>
	<strong>IDA PRO</strong>, предложит указать расположение 3 библиотек. Выбираем место установки и нажимаем ОК. Дождёмся, пока <strong>IDA</strong> проанализирует файл. Вы услышите звуковой сигнал, по окончании. Также, можно будет видеть надпись <strong>"idle"</strong> (в простое).
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="6.jpg.81a4f13055ec8c3ee55364ece6fa0167.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7092" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/6.jpg.81a4f13055ec8c3ee55364ece6fa0167.jpg" width="492" data-ratio="50.61"></p>
	</div>
</div>

<p>
	 
</p>

<p>
	После окончания анализа, открываем список всех строк. Через меню <strong>View</strong> или нажав <strong>Shift+F12</strong>.
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="7.jpg.c98fc755cbfe9eade09556f434a56f3c.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7093" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/7.jpg.c98fc755cbfe9eade09556f434a56f3c.jpg" width="613" data-ratio="72.59"></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Жмем <strong>Ctrl+F</strong> и вводим <strong>"ai_CompatibilityMode". </strong>Двойной клик по строке и оказываемся тут
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="9.jpg.8e6bc928edda0faec52c4ad89a28ded6.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7095" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/9.jpg.8e6bc928edda0faec52c4ad89a28ded6.jpg" width="640" data-ratio="16.25"></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Выделяем строку и жмем <strong>'X'</strong>, в открывшемся окне перекрестных ссылок, нажимаем ОК. Оказываемся тут
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="11.jpg.76bf5e06f8f7f4a2e3bcedb13f04107b.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7097" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/11.jpg.76bf5e06f8f7f4a2e3bcedb13f04107b.jpg" width="634" data-ratio="12.46"></p>
	</div>
</div>

<p>
	 
</p>

<p>
	<strong><em>dword_18C23DC</em></strong> это и есть адрес нашего <em><strong>SSystemGlobalEnvironment = 0x18C23DC</strong>. </em>Можете переименовать сразу (выделив и нажав <strong>'N</strong>' ), можете оставить так. Кому как удобнее. Самое главное мы нашли. Теперь нам нужно найти  <em><strong>I3DEngine</strong></em> и <strong><em>SetPostEffectParam</em></strong>. Повторяем шаги с поиском <strong><em>SSystemGlobalEnvironment</em></strong> , только теперь вводим <strong>"Dof_Active"</strong> в строке поиска.
</p>

<p>
	 
</p>

<p>
	<img alt="12.jpg.e1a80b61bcd4d442ac01b3bc1690af1e.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7098" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/12.jpg.e1a80b61bcd4d442ac01b3bc1690af1e.jpg" width="638" data-ratio="9.25"></p>

<p>
	 
</p>

<p>
	Нашли, выделили, перешли в окно перекрестных ссылок, выбираем первую и жмем ОК.
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="7099" href="https://old.gamehacklab.ru/uploads/monthly_2018_06/13.jpg.4c87213f65e8473082d6752df497e8df.jpg" rel=""><img alt="13.thumb.jpg.69b1121434fbfa23a61ee29e7a421e04.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7099" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/13.thumb.jpg.69b1121434fbfa23a61ee29e7a421e04.jpg" width="640" data-ratio="31.56"></a>
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Выделяем, жмем '<strong>F5'</strong>, для перехода к псевдокоду. Видим такую запись.
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Спойлер</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="7101" href="https://old.gamehacklab.ru/uploads/monthly_2018_06/15.jpg.f750618e9fee009394fc3c7ba5122646.jpg" rel=""><img alt="15.thumb.jpg.442ce2991f275b91479225c2ad8987f2.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7101" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/15.thumb.jpg.442ce2991f275b91479225c2ad8987f2.jpg" width="640" data-ratio="20.47"></a>
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	 Выделяем смещение <strong><em>'+136'</em></strong>, жмем ПКМ, переводим в HEX. И получаем <em><strong>SSystemGlobalEnvironment + 0x88</strong> </em>это и есть смещение до<em> <strong>I3DEngine</strong></em>
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="jpg" data-fileid="7103" href="https://old.gamehacklab.ru/uploads/monthly_2018_06/17.jpg.ed0382a3b34863809b72b0946e7d66a5.jpg" rel=""><img alt="17.thumb.jpg.589b6992d3f23b47cdd8ecb1dcfae3ca.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7103" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/17.thumb.jpg.589b6992d3f23b47cdd8ecb1dcfae3ca.jpg" width="640" data-ratio="8.13"></a><br>
	 
</p>

<p>
	В итоге имеем:
</p>

<pre class="ghlCode">
<code class="hljs">SSystemGlobalEnvironment = 0x18C23DC

SSystemGlobalEnvironment + 0x88 = I3DEngine</code></pre>

<p>
	 
</p>

<p>
	Продолжение следует...
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">170</guid><pubDate>Fri, 29 Jun 2018 08:53:00 +0000</pubDate></item><item><title>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x43C; internal &#x43C;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x445;&#x430;&#x43A;, &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; CryEngine3 SDK [Intro]</title><link>https://old.gamehacklab.ru/blogs/entry/169-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC-internal-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%85%D0%B0%D0%BA-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-cryengine3-sdk-intro/</link><description><![CDATA[<p style="text-align:center;">
	<a class="ipsAttachLink ipsAttachLink_image" data-extension="core_Attachment" data-fileid="8528" href="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.png.5a753b5bccd287e18d8a09e484b79a4b.png" rel="" data-fileext="png"><img alt="1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" class="ipsImage ipsImage_thumbnailed" data-extension="core_Attachment" data-fileid="8528" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2019_09/1.thumb.png.5eebdd2c57b7d173efcb983c1dc80bcd.png" width="640" data-ratio="34.69"></a>
</p>

<p>
	 
</p>

<p>
	Привет всем. По просьбам людей с форума, дискорда и ютуба, я напишу цикл статей, по созданию мультихака, на примере CryEngine3 SDK. А может, я не буду вас мучать и ограничимся всего 2-3 публикациями. Всё зависит от вашего интереса и моего свободного времени. По итогу, мы создадим мультихак, содержащий примерно следующий функционал:
</p>

<p>
	 
</p>

<ul><li>
		Аимбот
	</li>
	<li>
		Силуеты врагов
	</li>
	<li>
		3D боксы оружий и мин
	</li>
	<li>
		Линии до врагов
	</li>
	<li>
		Точность
	</li>
	<li>
		Отдача
	</li>
	<li>
		Антислепа
	</li>
</ul><p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="7460" href="https://old.gamehacklab.ru/uploads/monthly_2018_12/r5fr4Ai-5nM.jpg.52f4066bccc6f6746e4681029a7a6dfa.jpg" rel="" data-fileext="jpg"><img alt="r5fr4Ai-5nM.thumb.jpg.285dcb66de3e5f56d2c0db04b8c00c6d.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7460" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_12/r5fr4Ai-5nM.thumb.jpg.285dcb66de3e5f56d2c0db04b8c00c6d.jpg" width="640" data-ratio="57.97"></a>
</p>

<p>
	 
</p>

<p>
	Все описанные действия, могут быть реализованы и в других играх, на движке CryEngine3. Итак, начнем пожалуй с самого простого, а далее будем двигаться к более сложному. <strong>Здесь не будет объяснений, что такое дизассемлер, указатели, классы, интерфейсы, смещения и прочее. Если вы не знаете, что это, то вам придется самостоятельно восполнять эти пробелы.</strong>
</p>

<p>
	Движок CryEngine3, сделан на основе глобальных объектов. Глобальные объекты завёрнуты в одну структуру и являются указателями на абстрактные сущности, которые инициализируются в нужный момент, в нужном месте программы. Никаких дополнительных накладных расходов, никаких лишних надстроек, контроль за типом во время компиляции. CryEngine3 представляет собой достаточно старый проект, где все интерфейсы устаканились, а новое прикручивается подобно тому, что существует на данный момент. Поэтому нет необходимости придумывать дополнительные обёртки или способы работы с глобальными объектами.
</p>

<p>
	<strong><em>SSystemGlobalEnvironment</em></strong><strong><em> </em></strong>- это основной базовый класс, где хранятся указатели на "стартовые классы". Примерное описание и содержание можно посмотреть на <a href="https://github.com/CRYTEK/CRYENGINE" rel="external nofollow">GitHub</a>. Т.к. мы решили начать с самого простого, то на этом этапе, мы сделаем хак, который будет убирать эффект ослепления от светошумовых гранат (антислепа / noflash). Метод <em><strong>SetPostEffectParam</strong> (<a href="http://docs.cryengine.com/display/CPP/I3DEngine" rel="external nofollow">ознакомиться</a>)</em>
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileid="7086" href="https://old.gamehacklab.ru/uploads/monthly_2018_06/1.jpg.2ce6d42f2892aa13e27ef71361462794.jpg" rel="" data-fileext="jpg"><img alt="1.thumb.jpg.406bb0cf4eef96d64b6a44fac1943b93.jpg" class="ipsImage ipsImage_thumbnailed" data-fileid="7086" src="https://gamehacklab.ru/applications/core/interface/js/spacer.png" data-src="https://old.gamehacklab.ru/uploads/monthly_2018_06/1.thumb.jpg.406bb0cf4eef96d64b6a44fac1943b93.jpg" width="640" data-ratio="27.5"></a>
</p>

<p>
	 
</p>

<p>
	Итак, наша задача найти адрес базового класса <strong><em>SSystemGlobalEnvironment</em></strong>, затем указатель на<em> <strong>I3DEngine</strong></em>, восстановить класс и реализовать метод <strong><em>SetPostEffectParam</em></strong>, с нужными нам параметрами.
</p>

<p>
	<br><strong>Необходимый софт:</strong>
</p>

<ul><li>
		Официальный SDK движка
	</li>
	<li>
		Visual Studio 2015+
	</li>
	<li>
		PeTools
	</li>
	<li>
		IdaPro 6.8+
	</li>
	<li>
		ReClass x32
	</li>
</ul><p>
	 
</p>

<p>
	   Продолжение следует...
</p>
]]></description><guid isPermaLink="false">169</guid><pubDate>Fri, 29 Jun 2018 08:44:00 +0000</pubDate></item></channel></rss>
