<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Guardant &mdash; Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
	<link rel="self" href="https://forum.guardant.ru/feed/atom/topic/656" />
	<updated>2016-09-23T13:05:08Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.guardant.ru/topic/656/</id>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3320/#p3320" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-09-23T13:05:08Z</updated>
			<id>https://forum.guardant.ru/post/3320/#p3320</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3312/#p3312" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-09-20T11:36:14Z</updated>
			<id>https://forum.guardant.ru/post/3312/#p3312</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3311/#p3311" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-09-20T07:38:10Z</updated>
			<id>https://forum.guardant.ru/post/3311/#p3311</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3310/#p3310" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><p>Защита большего числа импортируемых функций, а также извлечение большего количества инструкций (лучше это делать по списку, при помощи профайлера) выправят ситуацию в лучшую сторону.</p></blockquote></div><p>Я правильно Вас понял, что мне это как-то поможет?</p>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-09-19T13:53:02Z</updated>
			<id>https://forum.guardant.ru/post/3310/#p3310</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3309/#p3309" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Уважаемые разработчики! Как скоро можно ожидать решения проблемы? Работа стоит...</p></blockquote></div><p>Прошу прощения за задержку с ответом.<br />Кардинальных изменений можно ждать только с выходом следующего релиза SDK, где будет реализована альтернативная утилита автоматической защиты с поддержкой x64 для native-приложений и возможностью защиты *.dll. Но это не раньше конца текущего года.<br />Защита большего числа импортируемых функций, а также извлечение большего количества инструкций (лучше это делать по списку, при помощи профайлера) выправят ситуацию в лучшую сторону.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-09-19T11:49:28Z</updated>
			<id>https://forum.guardant.ru/post/3309/#p3309</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3308/#p3308" />
			<content type="html"><![CDATA[<p>Уважаемые разработчики! Как скоро можно ожидать решения проблемы? Работа стоит...</p>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-09-19T07:46:52Z</updated>
			<id>https://forum.guardant.ru/post/3308/#p3308</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3279/#p3279" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-09-05T13:52:21Z</updated>
			<id>https://forum.guardant.ru/post/3279/#p3279</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3278/#p3278" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-09-05T12:48:14Z</updated>
			<id>https://forum.guardant.ru/post/3278/#p3278</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3277/#p3277" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-09-05T06:36:40Z</updated>
			<id>https://forum.guardant.ru/post/3277/#p3277</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3276/#p3276" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Отправил на хотлайн тестовый пример с исходниками, маску и прочее.</p></blockquote></div><p>Проблему подтверждаем.<br />Передана на исправление в отдел разработки.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-09-02T10:15:24Z</updated>
			<id>https://forum.guardant.ru/post/3276/#p3276</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3263/#p3263" />
			<content type="html"><![CDATA[<p>Отправил на хотлайн тестовый пример с исходниками, маску и прочее.</p><p>Проблема на мой взгляд кроется в файле GrdVkc32.dll. Выяснил с помощью ProcessExplorer от SysInternals.</p><p>Прилагаемый пример стабильно зависает(иногда вылетает) ровно через минуту.<br />Если после зависания открыть в Process Explorer мой процесс и посмотреть текущие потоки, можно увидеть что большинство потоков заморожены. Если в определенной последовательности (заморозив потоки от GrdVkc32.dll) их размораживать можно добиться восстановления работоспособности приложения или же получить вылет программы.</p><p>Кстати, несколько лет назад я уже писал Вам по этому поводу. Тогда автозащита в момент вытаскивания ключа не блокировала все потоки приложения и через все тот же Process Explorer можно было продолжать пользоваться приложением неограниченное время. С тех пор это Вы исправили :)</p>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-08-26T13:53:08Z</updated>
			<id>https://forum.guardant.ru/post/3263/#p3263</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3262/#p3262" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-08-26T09:03:43Z</updated>
			<id>https://forum.guardant.ru/post/3262/#p3262</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3259/#p3259" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-08-26T07:50:23Z</updated>
			<id>https://forum.guardant.ru/post/3259/#p3259</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3255/#p3255" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-08-26T07:03:38Z</updated>
			<id>https://forum.guardant.ru/post/3255/#p3255</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Guardant API + Автозащита - Приложение закрывается по ошибке]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3252/#p3252" />
			<content type="html"><![CDATA[<p>Замена константы не помогла, ситуация с вылетами не изменилась.</p>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-08-25T14:18:34Z</updated>
			<id>https://forum.guardant.ru/post/3252/#p3252</id>
		</entry>
</feed>
