<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Guardant &mdash; Технологии защиты]]></title>
		<link>https://forum.guardant.ru/</link>
		<atom:link href="https://forum.guardant.ru/feed/rss/forum/3" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние темы раздела «Форум Guardant».]]></description>
		<lastBuildDate>Sat, 13 Dec 2025 11:15:26 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Английская версия GrdDrivers.exe]]></title>
			<link>https://forum.guardant.ru/topic/1110/new/posts/</link>
			<description><![CDATA[<p>Здравствуйте!<br />Есть необходимость, чтобы установщик драйверов GrdDrivers.exe отображался на английском языке. У меня Windows 11 с английским интерфейсом. При запуске GrdDrivers.exe все строки на русском. Скачивал GrdDrivers.exe с англ. версии сайта guardant.com, но он также отображается по-русски.<br />Скажите, где можно взять англ. версию GrdDrivers.exe или как заставить GrdDrivers.exe отображаться на русском языке?</p>]]></description>
			<author><![CDATA[null@example.com (Phaza7)]]></author>
			<pubDate>Sat, 13 Dec 2025 11:15:26 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1110/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Что выбрать для кроссплатформенного приложения, .NET или нативный код?]]></title>
			<link>https://forum.guardant.ru/topic/1109/new/posts/</link>
			<description><![CDATA[<p>Господа!</p><p>Выбираем на чём делать приложение для windows и linux&nbsp; c GUI. <br />Без учёта защиты предпочтительно было бы на С#, .NET Core, Avalonia. Но!<br />У вас на сайте во многих местах написано </p><div class="quotebox"><blockquote><p>не гарантируется поддержка сборок с Reflection API и GUI-фреймворков, реализующих MVVM (в частности, WPF и AvaloniaUI).</p></blockquote></div><p>Например, тут <a href="https://dev.guardant.ru/display/KB/0023">https://dev.guardant.ru/display/KB/0023</a>.</p><p>Положим, для Avalonia MVVM опционально, но рефлексия в .NET используется очень много где, сериализация, базы ...<br />Поискав по форуму немного вижу ссылок про .NET приложения c GUI, в основном проблемы которые неизвестно как были решены.</p><p>Не хотелось бы начать разработку на Avalonia а потом получить нерешаемые проблемы.<br />Внесите, пожалуйста, ясность, стоит ли использовать с вашими ключами такой вариант или не стоит и нужно разрабатывать приложение компилируемое в машинный код?</p><p>Вы уже давно поддерживаете .NET, какая то статистика у вас накопилась.&nbsp; Что посоветуете?</p>]]></description>
			<author><![CDATA[null@example.com (Алексей)]]></author>
			<pubDate>Wed, 10 Dec 2025 21:48:44 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1109/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Возможность обхода проверки сетевых лицензий]]></title>
			<link>https://forum.guardant.ru/topic/1108/new/posts/</link>
			<description><![CDATA[<p>Добрый день.<br />Извините за кликбейтное название поста, но по сути вопрос именно в этом.<br />Наша компания рассматривает сценарии использования сетевых ключей от Guardant. Загрузил SLK, более менее разобрался, как использовать API для проверки лицензии в C/C++/Python. Также попросили посмотреть на легкость обхода лицензии. Возникла пара вопросов.<br />1) Тестовая конфигурация: <br />минимальное тестовое приложение на С, вызывает GrdFeatureLogin()<br /> и GrdFeatureLogout(). </p><div class="codebox"><pre><code>const char* visibility =
&quot;{ \&quot;remoteMode\&quot;: 2, \
\&quot;controlCenter\&quot;: \
{ \
\&quot;hostName\&quot;: [ \&quot;127.0.0.1\&quot; ], \
\&quot;connectionTimeout\&quot; : 10 \
} \
}&quot;;</code></pre></div><p>И приложение и ControlCenter работают на локальной машине с Ubuntu, на ней же установлена лицензия.</p><p>С помощью WireShark записал обмен с ControlCenter на порте 3189. После обмена HTTP&nbsp; пакетами обмен переходит на WebSockets по grdnet-protocol. Записал payload двух пакетов, отправляемых ControlCenter приложению. Подменил&nbsp; ControlCenter на сервер, который шлет эти ответы. Результаты для меня неожиданные —&nbsp; GrdFeatureLogin и Logout успешно отрабатывают для любого feature ID.</p><p>Конфигурация не столь искусственна, как может показаться: мы планируем дать пользователю возможность настраивать IP адрес, на котором находится ControlCenter и возможность rehost лицензии.<br />Собственно, вопрос — это ожидаемое поведение? Если да, то как от него защититься? Усложнить анализ путем увеличения трафика (навтыкать много разных обращений к GCC через API)?</p><p>2. Работа через API предполагает использование статической или динамической библиотеки grdlic (как минимум в Linux исполнении).&nbsp; При линковке нативного приложения я могу использовать статическую библиотеку, убрать символы и обфусцировать. В случае python wrapper предполагается&nbsp; использовать именно динамическую библиотеку. Так ли я понимаю, что в случае динамической библиотеки нет никакой, предоставляемой guardant, защиты от ее подмены на stub? </p><p>Я ни в коей мере не являюсь специалистом по защите или взлому, так что мои вопросы могут показаться тривиальными и ответы очевидными. Тем не менее буду благодарен за ответы)</p>]]></description>
			<author><![CDATA[null@example.com (Павел)]]></author>
			<pubDate>Tue, 09 Dec 2025 08:46:45 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1108/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Про rust и не только]]></title>
			<link>https://forum.guardant.ru/topic/1107/new/posts/</link>
			<description><![CDATA[<p>Здравствуйте.</p><p>Во первых, у вас в разных местах на сайте либо не указан rust, либо указан только для linux (<a href="https://dev.guardant.ru/pages/viewpage.action?pageId=71476159">https://dev.guardant.ru/pages/viewpage. … d=71476159</a>).</p><p>Предполагаю что утилита автозащиты приложение rust зашифрует, а дело просто в том что вы не предоставляете rust-овский крейт для доступа к Guardant API. Если так, не страшно. ИИ поможет его сделать из h файла.<br />Но хочу уточнить на всякий,&nbsp; может быть существуют какие то принципиальные тонкости и защищать стоит только приложения на указанных у вас языках?</p><p>Второй момент. На форуме прочитал что технология SLK требует ключей выпущенных начиная с 2020 года. У наших пользователей много ваших ключей Sign и более ранних выпусков и мы собираемся предоставить и им доступ к будущему приложению.<br />Приложение будет и для win, и для linux. Ранее мы защищённые приложения для linux не делали. Как я понял, автоматическая защита может быть навешана под windows на linux - исполняемый файл или so ? Сборка приложения в linux, в том числе с использованием Guardant API, потом копирование в windows и навешивание автозащиты там. Если так, устраивает если это про SDK, т.к., если для защиты под linux потребуется переходить на SLK и менять ключи у пользователей, ну, тогда надо думать ...</p>]]></description>
			<author><![CDATA[null@example.com (Алексей)]]></author>
			<pubDate>Sun, 07 Dec 2025 23:58:09 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1107/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Включение и определение режима HID]]></title>
			<link>https://forum.guardant.ru/topic/1105/new/posts/</link>
			<description><![CDATA[<p>Здравствуйте.</p><p>Наш продукт использует ключи Guardant Sign, которые умеют работать в режиме HID.<br />Для предпродажной подготовки ключей используется собственный софт для прошивки памяти ключа.</p><p>С переводом в режим HID я разобрался, надо вызывать GrdProtect с параметром dwGlobalFlags=GrdGF_HID.</p><p>Не понятно, как и когда использовать функцию GrdSetDriverMode.<br />У меня всегда выдает ошибку 1 GrdE_DongleNotFound.<br />В примерах из SDK нигде не вызывается.<br />Проблема в том, что ключ Sign, а не Code? Хотелось бы пояснений на этот счет.</p><p>Второй вопрос по определению текущего режима ключа Guardant driver/HID.<br />Утилита grddiag.exe показывает &quot;Глобальные флаги HID&quot;.<br />Как мне программно считать глобальные флаги?<br />В адресах GrdSAM_... или GrdUAM_... для GrdRead ничего похожего не нашел.</p><p>Если я руками в grdutil.exe переключаю Driver/HID в панели инструментов, то вижу, что в .nsd-файле меняется 4 байта со смещением 4 в Data. Как мне в runtime поймать это отличие в памяти ключа?</p>]]></description>
			<author><![CDATA[null@example.com (burlak)]]></author>
			<pubDate>Tue, 02 Dec 2025 10:28:35 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1105/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Работа с DL из PHP на Linux]]></title>
			<link>https://forum.guardant.ru/topic/1103/new/posts/</link>
			<description><![CDATA[<p>Добрый день.<br />Есть сервис на php. Передача клиент/сервер использует аппаратное AES шифрование. <br />Клиент на C#, там проблем нет.<br />Серверная часть на php/debian. Сейчас для encode/decode написана программа на C++, которая вызывается из php скрипта. Решение, мягко говоря, так себе.<br />Планируется ли библиотека и примеры под php8?</p>]]></description>
			<author><![CDATA[null@example.com (hexprof)]]></author>
			<pubDate>Sat, 08 Nov 2025 13:52:07 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1103/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[GrdSRC()выбрасывает исключение]]></title>
			<link>https://forum.guardant.ru/topic/1099/new/posts/</link>
			<description><![CDATA[<p>Пытаюсь перейти на SDK 7.9 с SDK 6.3.1.</p><p>Обнаружил, что GrdCRC() выбрасывает исключение &quot;Range Check Error&quot; на некоторых данных.</p>]]></description>
			<author><![CDATA[null@example.com (vlad-mal)]]></author>
			<pubDate>Tue, 23 Sep 2025 11:11:06 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1099/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Программно узнать ID ключа]]></title>
			<link>https://forum.guardant.ru/topic/1098/new/posts/</link>
			<description><![CDATA[<p>Добрый день. Хочу узнать ID используемого ключа программно (через API) - и что-то не вижу похожих функций. А он (ID) точно есть. В какую сторону копать?</p>]]></description>
			<author><![CDATA[null@example.com (Aleksandr)]]></author>
			<pubDate>Tue, 23 Sep 2025 08:38:15 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1098/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[GrdTRU под linux]]></title>
			<link>https://forum.guardant.ru/topic/1096/new/posts/</link>
			<description><![CDATA[<p>Иногда GrdTRU работает у клиентов под wine. Но все чаще слышим от них, что wine &quot;нет и не будет&quot;. Ознакомился с документацией на обновление через API <a href="https://dev.guardant.ru/pages/viewpage.action?pageId=1278396">https://dev.guardant.ru/pages/viewpage. … Id=1278396</a>. Хочется, чтобы на стороне клиента в нашем ПО были вызовы GrdTRU_GenerateQuestion и GrdTRU_ApplyAnswer, а на нашей стороне было редактирование прошивки в программе grdutil. Как превратить результат работы GrdTRU_GenerateQuestion в число-вопрос для grdutil? И как превратить число-ответ, сформированное grdutil, в то, что поймет GrdTRU_ApplyAnswer?</p>]]></description>
			<author><![CDATA[null@example.com (AZ)]]></author>
			<pubDate>Thu, 28 Aug 2025 15:55:35 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1096/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Плавный переход с SDK на SLK]]></title>
			<link>https://forum.guardant.ru/topic/1093/new/posts/</link>
			<description><![CDATA[<p>Имеется старое приложение, работает через SDK. Пишем новое приложение, хотим применить SLK. Возможно ли:<br /></p><ul><li><p>Перепрошить старые ключи Sign, Stealth II для нового приложения</p></li><li><p>Сделать единую прошивку, подходящую для обоих приложений, чтоб SDK и SLK работали с одним и тем же физическим ключом</p></li></ul>]]></description>
			<author><![CDATA[null@example.com (AZ)]]></author>
			<pubDate>Thu, 17 Jul 2025 11:31:37 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1093/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[station: элемент памяти]]></title>
			<link>https://forum.guardant.ru/topic/1087/new/posts/</link>
			<description><![CDATA[<p>При добавлении параметра смещение откуда считается? От предыдущего параметра или от начала?<br />И почему изначально там 0, но если поменять, то вернуть 0 обратно не получается?</p>]]></description>
			<author><![CDATA[null@example.com (barlone)]]></author>
			<pubDate>Fri, 30 May 2025 09:40:03 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1087/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Station прошивка в режиме HID]]></title>
			<link>https://forum.guardant.ru/topic/1079/new/posts/</link>
			<description><![CDATA[<p>Station - не отчуждаемая<br />Есть ли возможность указать где-то в настройках, чтобы ключи в новом заказе по умолчанию прошивались в HID режиме?<br />Если ключи в заказе были прошиты в драйверном режиме, есть ли возможность перевести в HID, не формируя новый заказ (и не выполняя прошивку повторно) ?</p>]]></description>
			<author><![CDATA[null@example.com (ivanov)]]></author>
			<pubDate>Mon, 10 Mar 2025 07:38:25 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1079/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Получить количество дней до деактивации алгоритма]]></title>
			<link>https://forum.guardant.ru/topic/1078/new/posts/</link>
			<description><![CDATA[<p>Добрый день! Я использую ключи Code Time, задаю время жизни алгоритма через GrdUtil.exe -&gt; Алгоритм №N -&gt; Временные зависимости <span class="postimg"><a class="fancybox fancybox.image" rel="group" href="https://forum.guardant.ru/uploads/images/2025/02/9cf9bfac896ff20b936d07dbc8848e92.jpg"><img class="fb_img" src="https://forum.guardant.ru/uploads/previews/2025/02/9cf9bfac896ff20b936d07dbc8848e92.jpg" alt="" /></a></span></p><p>Я знаю, что могу получить оставшееся время жизни алгоритма через GrdPI_GetTimeLimit(). Но из нее я получу структуру TGrdSystemTime, которая вернет условно: 0 лет, 5 месяцев, 27 дней, 18 часов, 45 мину, 10 секунд...</p><p>Сам вопрос: как мне пересчитать эти данные в количество оставшихся дней? Имею ли я право просто перемножить года на 365, а месяцы на 30 и сложить? Или внутренний механизм отсчета времени ключа как-то учитывает кол-во дней в текущих месяцах и високосный год?</p><p>Надеюсь объяснился понятно, заранее спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (olegneyfeld)]]></author>
			<pubDate>Wed, 12 Feb 2025 07:38:11 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1078/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Удаленное обновление ключей]]></title>
			<link>https://forum.guardant.ru/topic/1076/new/posts/</link>
			<description><![CDATA[<p>У меня никак не получается улаленно обновить ключ.<br />Я использую функцию vGrdResult = GrdApi.GrdTRU_SetAnswerProperties(vGrdHandle, GrdTRU.Flags_Init | GrdTRU.Flags_Protect, 938, 938, 9, 0, 0);<br />Основная память ключа перезаписывается, а дополнительная защищенная нет.<br />Что я не так делаю?<br />С уважением, Святослав</p>]]></description>
			<author><![CDATA[null@example.com (Святослав)]]></author>
			<pubDate>Wed, 05 Feb 2025 03:03:33 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1076/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Использование Guardant Code в Linux ARM64]]></title>
			<link>https://forum.guardant.ru/topic/1075/new/posts/</link>
			<description><![CDATA[<p>Добрый день.<br />Может ли мне кто-нибудь пояснить, могу ли я в Linux для ARM64 как-либо воспользоваться функционалом загрузки своего кода (Loadable Code) в Guardant Code через grdapi.h ?&nbsp; В Linux для x86 и х64 проблем нет, но мне нужно именно для ARM64.<br />Или для ARM64 доступен только функционал работы с лицензиями (через grdlic.h)?<br />Кто нибудь сталкивался с такой задачей?</p>]]></description>
			<author><![CDATA[null@example.com (tenzor-rt)]]></author>
			<pubDate>Mon, 23 Dec 2024 08:09:20 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1075/new/posts/</guid>
		</item>
	</channel>
</rss>
