<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Guardant &mdash; Преобразовать дамп в nsd]]></title>
	<link rel="self" href="https://forum.guardant.ru/feed/atom/topic/638" />
	<updated>2016-08-03T09:17:39Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.guardant.ru/topic/638/</id>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3197/#p3197" />
			<content type="html"><![CDATA[<p>Здравствуйте!<br />Сталкивался с похожей задачей.<br />В COM-компоненте grdmask.dll нашел функцию CalculateDumpCRC.<br />Например, на C# обновление контрольной суммы у дампа может быть выполнено следующим образом:</p><div class="codebox"><pre><code>public static void WriteCrc(byte[] dump)
{
    IGuardantMaskDump2 gmd = new GuardantMaskEngine() as IGuardantMaskDump2;
    Array a = dump as Array;
    gmd.CalculateDumpCRC(ref a);
    Array.Copy(a, dump, dump.Length);
}</code></pre></div><p>Может быть что-то не совсем корректно, поскольку получено экспериментальным путем, но на SDK 6.31 вроде работает. Возможно окажется полезным.</p>]]></content>
			<author>
				<name><![CDATA[human]]></name>
				<uri>https://forum.guardant.ru/user/727/</uri>
			</author>
			<updated>2016-08-03T09:17:39Z</updated>
			<id>https://forum.guardant.ru/post/3197/#p3197</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3188/#p3188" />
			<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-07-07T11:20:29Z</updated>
			<id>https://forum.guardant.ru/post/3188/#p3188</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3187/#p3187" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Замечательно, буду ждать!</p></blockquote></div><p>Сроки подготовки примера вынуждены сместить на следующую неделю, отдел разработки сильно загружен.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-07-07T10:42:37Z</updated>
			<id>https://forum.guardant.ru/post/3187/#p3187</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3186/#p3186" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>А можно попросить от Вас небольшой пример использования?</p></blockquote></div><p>Да, но подготовить сможем не раньше чем к середине следующей недели.</p></blockquote></div><p>Замечательно, буду ждать!</p>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-07-01T12:19:20Z</updated>
			<id>https://forum.guardant.ru/post/3186/#p3186</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3185/#p3185" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>А можно попросить от Вас небольшой пример использования?</p></blockquote></div><p>Да, но подготовить сможем не раньше чем к середине следующей недели.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-07-01T12:04:09Z</updated>
			<id>https://forum.guardant.ru/post/3185/#p3185</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3184/#p3184" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>С тех пор что-то поменялось?</p></blockquote></div><p>Нет.</p></blockquote></div><p>А можно попросить от Вас небольшой пример использования?<br />Сколько не пытался заставить работать, но метод CreateFromMaskDump постоянно вываливается в ошибку.</p>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-07-01T11:41:46Z</updated>
			<id>https://forum.guardant.ru/post/3184/#p3184</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3183/#p3183" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>С тех пор что-то поменялось?</p></blockquote></div><p>Нет.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-07-01T11:13:54Z</updated>
			<id>https://forum.guardant.ru/post/3183/#p3183</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3182/#p3182" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><p>Здравствуйте<br /></p><div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Очень исчерпывающий ответ :)</p><p>Ну а как насчет формата nsd файла? Можете пояснить как рассчитывается контрольная сумма?</p></blockquote></div><p>Формат *.nsd-файла закрытый и не декларируется. Тут проще может оказаться сделать свою утилиту для просмотра данных из дампов.</p></blockquote></div><p>Здравствуйте Антон!</p><p>Я тут на форуме нашел Ваш ответ, датированный 2014-05-22 14:45:03:<br /><a href="https://forum.guardant.ru/topic/433/">https://forum.guardant.ru/topic/433/</a></p><div class="quotebox"><cite>Антон Тихиенко пишет:</cite><blockquote><p>Здравствуйте, Serggi.</p><div class="quotebox"><cite>Извлечение информации о записанных образах из Grdutil.mdb пишет:</cite><blockquote><p>Возникла потребность извлечения информации о записанных образах из Grdutil.mdb. Как я понимаю, это поле &quot;DumpData&quot; из таблицы &quot;Masks&quot;. Мне нужно извлечь значение одного строкового пользовательского поля в образе. Проблема в том, что анализируя дамп, не нахожу соответствия структуре образа тому, как поля представлены как в редакторе ключей. Возможно поле зашифровано? Да и смущает размер - в редакторе размер значимых полей - 98 байт, а в дампе поля после 47 байта идут нули.</p></blockquote></div><p>Прошу прощения за задержку с ответом. </p><p>Для решения указанной задачи можно попробовать использовать COM компонент grdmask.dll, распространяемый в составе SDK Guardant.</p><p>Данный COM-сервер предоставляет интерфейс IGuardantMaskEngine и метод CreateFromMaskDump, принимающий на вход данные из поля &quot;DumpData&quot; БД. Дальнейшие манипуляции с полем (получение полей с помощью метода GetField) предоставляются интерфейсами IGuardantMem*.</p><p>Хочу отметить что это решение не является типичным и нигде не документировано, однако разобраться самостоятельно разработчику не должно составить особых проблем.</p><p>Напишите если возникнут трудности с реализацией и подробно опишите их, а также уточните данные о типе разрабатываемого приложения (Native, .Net, другое) и среде разработки.</p></blockquote></div><p>С тех пор что-то поменялось?</p>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-07-01T09:34:43Z</updated>
			<id>https://forum.guardant.ru/post/3182/#p3182</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3181/#p3181" />
			<content type="html"><![CDATA[<p>Здравствуйте<br /></p><div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Очень исчерпывающий ответ :)</p><p>Ну а как насчет формата nsd файла? Можете пояснить как рассчитывается контрольная сумма?</p></blockquote></div><p>Формат *.nsd-файла закрытый и не декларируется. Тут проще может оказаться сделать свою утилиту для просмотра данных из дампов.</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2016-07-01T08:03:45Z</updated>
			<id>https://forum.guardant.ru/post/3181/#p3181</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3180/#p3180" />
			<content type="html"><![CDATA[<p>Очень исчерпывающий ответ :)</p><p>Ну а как насчет формата nsd файла? Можете пояснить как рассчитывается контрольная сумма?</p>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-06-29T11:11:11Z</updated>
			<id>https://forum.guardant.ru/post/3180/#p3180</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3179/#p3179" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><div class="quotebox"><cite>Андрей Мальгинов пишет:</cite><blockquote><div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Здравствуйте!</p><p>Существует ли возможность преобразовать вручную подготовленную прошивку через API (по сути дамп) в маску для редактирования в утилите grdutil.exe?</p><p>И еще вопрос, как рассчитывается контрольная сумма в nsd файле, защищающая его от редактирования в сторонних программах. Например необходимо в nsd файле поменять пару байт и залить маску в ключ командой &quot;grdutil -write -infile(mask.nsd)&quot;</p></blockquote></div><br /><p>Уточните, пожалуйста, для каких именно целей необходимо данное преобразование?</p></blockquote></div><p>Собственно задача следующая.<br />Автоматизирую процесс: создание маски -&gt; прошивка в ключ -&gt; защита приложения -&gt; отправка дампа маски в архив для последующего использования (например защита новой версии приложения).</p><p>Сейчас делаю так:<br />Программно создаю маску, шью в ключ, защищаю приложение, сохраняю дамп маски с необходимыми параметрами (которые отсутствуют в дампе, но необходимые для GrdProtect).</p><p>В принципе, почти все устраивает, однако, иногда хочется &quot;глазами&quot; увидеть, что было записано в определенный ключ, и, для этих целей прекрасно подошла бы утилита grdutil.</p></blockquote></div><p>На данный момент решения для подобных задач нет. Возможно оно будет введено в будущем.</p>]]></content>
			<author>
				<name><![CDATA[Андрей Мальгинов]]></name>
				<uri>https://forum.guardant.ru/user/879/</uri>
			</author>
			<updated>2016-06-29T10:50:10Z</updated>
			<id>https://forum.guardant.ru/post/3179/#p3179</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3177/#p3177" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Андрей Мальгинов пишет:</cite><blockquote><div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Здравствуйте!</p><p>Существует ли возможность преобразовать вручную подготовленную прошивку через API (по сути дамп) в маску для редактирования в утилите grdutil.exe?</p><p>И еще вопрос, как рассчитывается контрольная сумма в nsd файле, защищающая его от редактирования в сторонних программах. Например необходимо в nsd файле поменять пару байт и залить маску в ключ командой &quot;grdutil -write -infile(mask.nsd)&quot;</p></blockquote></div><br /><p>Уточните, пожалуйста, для каких именно целей необходимо данное преобразование?</p></blockquote></div><p>Собственно задача следующая.<br />Автоматизирую процесс: создание маски -&gt; прошивка в ключ -&gt; защита приложения -&gt; отправка дампа маски в архив для последующего использования (например защита новой версии приложения).</p><p>Сейчас делаю так:<br />Программно создаю маску, шью в ключ, защищаю приложение, сохраняю дамп маски с необходимыми параметрами (которые отсутствуют в дампе, но необходимые для GrdProtect).</p><p>В принципе, почти все устраивает, однако, иногда хочется &quot;глазами&quot; увидеть, что было записано в определенный ключ, и, для этих целей прекрасно подошла бы утилита grdutil.</p>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-06-29T10:33:05Z</updated>
			<id>https://forum.guardant.ru/post/3177/#p3177</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3176/#p3176" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>eugene_sm пишет:</cite><blockquote><p>Здравствуйте!</p><p>Существует ли возможность преобразовать вручную подготовленную прошивку через API (по сути дамп) в маску для редактирования в утилите grdutil.exe?</p><p>И еще вопрос, как рассчитывается контрольная сумма в nsd файле, защищающая его от редактирования в сторонних программах. Например необходимо в nsd файле поменять пару байт и залить маску в ключ командой &quot;grdutil -write -infile(mask.nsd)&quot;</p></blockquote></div><br /><p>Уточните, пожалуйста, для каких именно целей необходимо данное преобразование?</p>]]></content>
			<author>
				<name><![CDATA[Андрей Мальгинов]]></name>
				<uri>https://forum.guardant.ru/user/879/</uri>
			</author>
			<updated>2016-06-29T10:21:31Z</updated>
			<id>https://forum.guardant.ru/post/3176/#p3176</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Преобразовать дамп в nsd]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/3174/#p3174" />
			<content type="html"><![CDATA[<p>Здравствуйте!</p><p>Существует ли возможность преобразовать вручную подготовленную прошивку через API (по сути дамп) в маску для редактирования в утилите grdutil.exe?</p><p>И еще вопрос, как рассчитывается контрольная сумма в nsd файле, защищающая его от редактирования в сторонних программах. Например необходимо в nsd файле поменять пару байт и залить маску в ключ командой &quot;grdutil -write -infile(mask.nsd)&quot;</p>]]></content>
			<author>
				<name><![CDATA[eugene_sm]]></name>
				<uri>https://forum.guardant.ru/user/1125/</uri>
			</author>
			<updated>2016-06-28T19:27:22Z</updated>
			<id>https://forum.guardant.ru/post/3174/#p3174</id>
		</entry>
</feed>
