<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Guardant &mdash; Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
		<link>https://forum.guardant.ru/topic/656/</link>
		<atom:link href="https://forum.guardant.ru/feed/rss/topic/656" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Guardant API + Автозащита - Приложение закрывается по ошибке».]]></description>
		<lastBuildDate>Fri, 23 Sep 2016 13:05:08 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3320/#p3320</link>
			<description><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Тогда получается совсем странная ситуация. Программа вылетает из-за того, что возникают ситуации с одновременным доступом ключу методами API и автозащитой. Соответственно, чем чаще автозащита будет проверять ключ, тем еще чаще будет вылетать программа.</p></blockquote></div><p>Для представленных примеров это также следствие слишком избыточного применения функции блокировки <strong><a href="http://developer.guardant.ru/display/DOC/GrdLock">GrdLock</a></strong>, которая в основном нужна для обеспечения &quot;безопасности&quot; во время работы функций обновления памяти ключа, чтобы предотвратить в момент обновления обращения к ключу от любых других функций.</p><p>Также стоит все же внимательно следить за использованием <strong>GrdHashEx</strong>, которая, как я уже упоминал раньше, также блокирует ключ на время работы. Вполне уместным может быть использование программных функций вычисления хеш-суммы, что скорее всего не сильно уменьшит стойкость хорошей схемы защиты но привнесет прирост в производительности.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Fri, 23 Sep 2016 13:05:08 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3320/#p3320</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3312/#p3312</link>
			<description><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><p>Защита большего числа импортируемых функций, а также извлечение большего количества инструкций (лучше это делать по списку, при помощи профайлера) выправят ситуацию в лучшую сторону.</p></blockquote></div><p>Я правильно Вас понял, что мне это как-то поможет?</p></blockquote></div><p>Да, лучше выбрать как можно больше тех функций и инструкции, которые часто используются в приложении, что приведет к необходимости чаще обращаться к ключу.</p></blockquote></div><br /><p>Тогда получается совсем странная ситуация. Программа вылетает из-за того, что возникают ситуации с одновременным доступом ключу методами API и автозащитой. Соответственно, чем чаще автозащита будет проверять ключ, тем еще чаще будет вылетать программа.</p>]]></description>
			<author><![CDATA[null@example.com (eugene_sm)]]></author>
			<pubDate>Tue, 20 Sep 2016 11:36:14 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3312/#p3312</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3311/#p3311</link>
			<description><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><p>Защита большего числа импортируемых функций, а также извлечение большего количества инструкций (лучше это делать по списку, при помощи профайлера) выправят ситуацию в лучшую сторону.</p></blockquote></div><p>Я правильно Вас понял, что мне это как-то поможет?</p></blockquote></div><p>Да, лучше выбрать как можно больше тех функций и инструкции, которые часто используются в приложении, что приведет к необходимости чаще обращаться к ключу.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Tue, 20 Sep 2016 07:38:10 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3311/#p3311</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3310/#p3310</link>
			<description><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><p>Защита большего числа импортируемых функций, а также извлечение большего количества инструкций (лучше это делать по списку, при помощи профайлера) выправят ситуацию в лучшую сторону.</p></blockquote></div><p>Я правильно Вас понял, что мне это как-то поможет?</p>]]></description>
			<author><![CDATA[null@example.com (eugene_sm)]]></author>
			<pubDate>Mon, 19 Sep 2016 13:53:02 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3310/#p3310</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3309/#p3309</link>
			<description><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Уважаемые разработчики! Как скоро можно ожидать решения проблемы? Работа стоит...</p></blockquote></div><p>Прошу прощения за задержку с ответом.<br />Кардинальных изменений можно ждать только с выходом следующего релиза SDK, где будет реализована альтернативная утилита автоматической защиты с поддержкой x64 для native-приложений и возможностью защиты *.dll. Но это не раньше конца текущего года.<br />Защита большего числа импортируемых функций, а также извлечение большего количества инструкций (лучше это делать по списку, при помощи профайлера) выправят ситуацию в лучшую сторону.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Mon, 19 Sep 2016 11:49:28 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3309/#p3309</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3308/#p3308</link>
			<description><![CDATA[<p>Уважаемые разработчики! Как скоро можно ожидать решения проблемы? Работа стоит...</p>]]></description>
			<author><![CDATA[null@example.com (eugene_sm)]]></author>
			<pubDate>Mon, 19 Sep 2016 07:46:52 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3308/#p3308</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3279/#p3279</link>
			<description><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Когда примерно ждать исправления?</p></blockquote></div><p>Прошу прощения, в данном случае это все же не столько проблема сколько &quot;фича&quot;.<br />Дело в том, что используемая в примере функция <strong><a href="http://developer.guardant.ru/display/DOC/GrdHashEx">GrdHashEx</a></strong> на время работы с аппаратным алгоритмом блокирует электронный ключ и автозащита не может работать с ним.<br />В данном случае пользоваться можно, например, программной реализацией вычисления хеш-суммы.</p></blockquote></div><p>Хм. Странная фича, больше похожая все же на баг ;)<br />Кстати, не менее странная &quot;фича&quot; возникает (правда не всегда, но очень часто) при одновременном запуске нескольких копий одного защищенного автозащитой приложения, типо невозможно получить доступ к ключу.</p><p>И еще, до сих пор можно у защищенного приложения заморозить потоки GRDVKC32.dll* и спокойно продолжать работать без ключа :)</p>]]></description>
			<author><![CDATA[null@example.com (eugene_sm)]]></author>
			<pubDate>Mon, 05 Sep 2016 13:52:21 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3279/#p3279</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3278/#p3278</link>
			<description><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Когда примерно ждать исправления?</p></blockquote></div><p>Прошу прощения, в данном случае это все же не столько проблема сколько &quot;фича&quot;.<br />Дело в том, что используемая в примере функция <strong><a href="http://developer.guardant.ru/display/DOC/GrdHashEx">GrdHashEx</a></strong> на время работы с аппаратным алгоритмом блокирует электронный ключ и автозащита не может работать с ним.<br />В данном случае пользоваться можно, например, программной реализацией вычисления хеш-суммы.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Mon, 05 Sep 2016 12:48:14 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3278/#p3278</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3277/#p3277</link>
			<description><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Отправил на хотлайн тестовый пример с исходниками, маску и прочее.</p></blockquote></div><p>Проблему подтверждаем.<br />Передана на исправление в отдел разработки.</p></blockquote></div><p>Добрый день!</p><p>Когда примерно ждать исправления?</p>]]></description>
			<author><![CDATA[null@example.com (eugene_sm)]]></author>
			<pubDate>Mon, 05 Sep 2016 06:36:40 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3277/#p3277</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3276/#p3276</link>
			<description><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Отправил на хотлайн тестовый пример с исходниками, маску и прочее.</p></blockquote></div><p>Проблему подтверждаем.<br />Передана на исправление в отдел разработки.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Fri, 02 Sep 2016 10:15:24 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3276/#p3276</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3263/#p3263</link>
			<description><![CDATA[<p>Отправил на хотлайн тестовый пример с исходниками, маску и прочее.</p><p>Проблема на мой взгляд кроется в файле GrdVkc32.dll. Выяснил с помощью ProcessExplorer от SysInternals.</p><p>Прилагаемый пример стабильно зависает(иногда вылетает) ровно через минуту.<br />Если после зависания открыть в Process Explorer мой процесс и посмотреть текущие потоки, можно увидеть что большинство потоков заморожены. Если в определенной последовательности (заморозив потоки от GrdVkc32.dll) их размораживать можно добиться восстановления работоспособности приложения или же получить вылет программы.</p><p>Кстати, несколько лет назад я уже писал Вам по этому поводу. Тогда автозащита в момент вытаскивания ключа не блокировала все потоки приложения и через все тот же Process Explorer можно было продолжать пользоваться приложением неограниченное время. С тех пор это Вы исправили :)</p>]]></description>
			<author><![CDATA[null@example.com (eugene_sm)]]></author>
			<pubDate>Fri, 26 Aug 2016 13:53:08 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3263/#p3263</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3262/#p3262</link>
			<description><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>А вот с автозашитой проблемы повторяются. Программа вылетает через некоторое время.</p></blockquote></div><p>Это уже куда понятнее.</p><p>Пришлите на наш e-mail ( hotline@guardant.ru ) любое тестовое приложение-сервис, <span class="bbu">не защищенное автозащитой</span>, которое после защиты с указанными параметрами &quot;падает&quot;.<br />Также приложите *.nsd-файл маски, которая прошита в электронных ключах, участвующих в тестировании.</p><p>Будем отлавливать ошибку.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Fri, 26 Aug 2016 09:03:43 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3262/#p3262</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3259/#p3259</link>
			<description><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Замена константы не помогла, ситуация с вылетами не изменилась.</p></blockquote></div><p>Вообще странно, если все компоненты Guardant API использовались из состава SDK последней версии, то значение константы должно было быть уже $4000. Скорее всего API используется &quot;староватое&quot;.</p><p>Соберите приложение с объектными и заголовочными файлами строго из состава Guardant SDK 7 Update 2 и, не выполняя автозащиту, потестируйте сервис.</p><p>Если падение не воспроизведется, то выполните автоматическую защиту с указанными ранее параметрами и также проверьте.</p><p>Сообщите результаты.</p></blockquote></div><p>Добрый день!</p><p>Заголовочные файлы действительно были от 6 версии.<br />Вчера все поменял до последней версии.</p><p>Без автоматической защиты сервис выполнялся всю ночь и работает до сих пор без ошибок.<br />А вот с автозашитой проблемы повторяются. Программа вылетает через некоторое время.</p>]]></description>
			<author><![CDATA[null@example.com (eugene_sm)]]></author>
			<pubDate>Fri, 26 Aug 2016 07:50:23 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3259/#p3259</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3255/#p3255</link>
			<description><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Замена константы не помогла, ситуация с вылетами не изменилась.</p></blockquote></div><p>Вообще странно, если все компоненты Guardant API использовались из состава SDK последней версии, то значение константы должно было быть уже $4000. Скорее всего API используется &quot;староватое&quot;.</p><p>Соберите приложение с объектными и заголовочными файлами строго из состава Guardant SDK 7 Update 2 и, не выполняя автозащиту, потестируйте сервис.</p><p>Если падение не воспроизведется, то выполните автоматическую защиту с указанными ранее параметрами и также проверьте.</p><p>Сообщите результаты.</p>]]></description>
			<author><![CDATA[null@example.com (Антон Тихиенко)]]></author>
			<pubDate>Fri, 26 Aug 2016 07:03:38 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3255/#p3255</guid>
		</item>
		<item>
			<title><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link>https://forum.guardant.ru/post/3252/#p3252</link>
			<description><![CDATA[<p>Замена константы не помогла, ситуация с вылетами не изменилась.</p>]]></description>
			<author><![CDATA[null@example.com (eugene_sm)]]></author>
			<pubDate>Thu, 25 Aug 2016 14:18:34 +0000</pubDate>
			<guid>https://forum.guardant.ru/post/3252/#p3252</guid>
		</item>
	</channel>
</rss>
