<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Guardant]]></title>
		<link>https://forum.guardant.ru/</link>
		<atom:link href="https://forum.guardant.ru/feed/rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние темы раздела «Форум Guardant».]]></description>
		<lastBuildDate>Tue, 10 Mar 2026 10:54:12 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Странная ошибка в MS VS 2026]]></title>
			<link>https://forum.guardant.ru/topic/1111/new/posts/</link>
			<description><![CDATA[<p>Строка кода<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GrdE nGrdE = GrdApi.GrdStartup(GrdFMR.Local);<br />в дебаге работает, в релизе выдаёт ошибку NotFoundDLL<br />GuardantDotNetApi.dll и GrdAPI64.dll в папке лежат.<br />Чего может не хватать?</p><p>В MS VS 2019 всё работает...</p><p>.Net 4.8</p>]]></description>
			<author><![CDATA[null@example.com (Виктор Блинов)]]></author>
			<pubDate>Tue, 10 Mar 2026 10:54:12 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1111/new/posts/</guid>
		</item>
		<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[Не записываются ключи на USB Sign NET]]></title>
			<link>https://forum.guardant.ru/topic/1106/new/posts/</link>
			<description><![CDATA[<p>Добрый день.<br />При попытке записать лицензию на USB через&nbsp; Мастер лицензий Guardant 4.4.3 возникает ошибка &quot;Некорректный аргумент функции&quot;.</p><p>Лог:<br />05.12.2025 12:05:30 UTC+03:00 | GrdDongleSetLicense: код состояния = 23, сообщение = Некорректный аргумент функции<br />&nbsp; серийный номер = L5FVwW-S7rUAH-VVfBST-77oePN-i7xXWb<br />&nbsp; ID лицензии = 0x42787E37<br />&nbsp; адрес = getlicense.guardant.ru<br />&nbsp; порт = 443</p>]]></description>
			<author><![CDATA[null@example.com (volkov.i)]]></author>
			<pubDate>Fri, 05 Dec 2025 09:10:08 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1106/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[Получить тип ключа по его серийному номеру]]></title>
			<link>https://forum.guardant.ru/topic/1104/new/posts/</link>
			<description><![CDATA[<p>Какую информацию можно получить из серийного номера ключа без обращения в поддержку Guardant? Тип? Дату выпуска? Ничего? Можно ли вообще проверить, что это серийный номер, а не просто случайный набор символов?</p>]]></description>
			<author><![CDATA[null@example.com (MorozovAS)]]></author>
			<pubDate>Tue, 18 Nov 2025 07:51:13 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1104/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[Не появляется окно с сообщением об отсутствии аппаратного ключа]]></title>
			<link>https://forum.guardant.ru/topic/1102/new/posts/</link>
			<description><![CDATA[<p>ОС Astra Linux. Защищаемое ПО на платформе .NET 8.0 + Avalonia. Аппаратный ключ Guardant Sign. Защита файла производится в GPS 4.3.1</p><p>Не появляется окно с сообщением об отсутствии аппаратного ключа, если запускать скрипт с командой &quot;dotnet MyApp.dll&quot; через *.desktop файл.<br />Если запускать напрямую в консоли, то выводит сообщение:</p><p>Key not found!<br />/usr/lib/dotnet/dotnet<br />./myapp-run: строка 3: 7952 Аварийный останов dotnet MyApp.dll</p><p>Так же, если извлечь ключ, то приложение просто крашится без окна с сообщением.</p><p>Как посоветуете организовать программу, что бы пользователь понимал, что требуется аппаратный ключ?</p>]]></description>
			<author><![CDATA[null@example.com (dkhrenov)]]></author>
			<pubDate>Wed, 05 Nov 2025 17:46:07 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1102/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Permission denied для libprotectstorage64.so]]></title>
			<link>https://forum.guardant.ru/topic/1101/new/posts/</link>
			<description><![CDATA[<p>Возникает ошибка Permission denied для libprotectstorage64.so<br />Аппаратный ключ Guardant Sign. Защита файла производится в GPS 4.3.1 Защищаемое ПО на платформе .NET 8.0. + Avalonia.<br />Среда выполнения программы:<br />Astra Linux Special Edition<br />Обновление: 1.8.3.8<br />Архитектура х86, 64 разрядная<br />Версия ядра 6.1.141-1-generic<br />Графическая платформа Х11</p><p>Страница разработчика ОС, где описана данная проблема:<br /><a href="https://wiki.astralinux.ru/pages/viewpage.action?pageId=333812908">https://wiki.astralinux.ru/pages/viewpa … =333812908</a><br />Согласно рекомендациям с вышеуказанной страницы, исключения можно избежать, если отключить контроль разрешения исполнения кода в программном стеке, добавить параметр ядра parsec.execstack со значением 1 в строку значений параметра GRUB_CMDLINE_LINUX_DEFAULT в конфигурационном файле /etc/default/grub (я это сделал через оконный менеджер).</p><p>В версии ядра 6.1.90-1-generic такой проблемы нет.</p><p>Будет ли возможность избегать необрабатываемого исключения в будущем, не прибегая к изменению загрузчика ОС?</p>]]></description>
			<author><![CDATA[null@example.com (dkhrenov)]]></author>
			<pubDate>Wed, 05 Nov 2025 17:39:23 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1101/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Ошибка при офф лайн активации Guardant 4.0]]></title>
			<link>https://forum.guardant.ru/topic/1100/new/posts/</link>
			<description><![CDATA[<p>Появляется ошибка при попытке актививраоть лицензию - &quot;Внутреняя ошибка&quot;.</p><p>Где посмотреть в чемпричина ?</p>]]></description>
			<author><![CDATA[null@example.com (volkov.i)]]></author>
			<pubDate>Fri, 31 Oct 2025 08:44:03 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1100/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[Прошивка ключей через командную строку]]></title>
			<link>https://forum.guardant.ru/topic/1097/new/posts/</link>
			<description><![CDATA[<p>Добрый день!</p><p>Есть ли возможность прошивки сетевых USB ключей через командную строку под Linux? Дело в том, что сборка нашего продукта для каждого клиента ведется автоматически на серваке. Было бы здорово еще добавить создание через скрипт маски ключа для данного пользователя и запись ее в память ключа.</p>]]></description>
			<author><![CDATA[null@example.com (steevis)]]></author>
			<pubDate>Mon, 22 Sep 2025 11:23:09 +0000</pubDate>
			<guid>https://forum.guardant.ru/topic/1097/new/posts/</guid>
		</item>
	</channel>
</rss>
