<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Guardant &mdash; Вызов GrdFind из libgrdapi.so под Linux возвращает AllDonglesFound]]></title>
	<link rel="self" href="https://forum.guardant.ru/feed/atom/topic/1007/" />
	<updated>2024-04-16T07:47:06Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.guardant.ru/topic/1007/</id>
		<entry>
			<title type="html"><![CDATA[Re: Вызов GrdFind из libgrdapi.so под Linux возвращает AllDonglesFound]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/5169/#p5169" />
			<content type="html"><![CDATA[<p>Добрый день.<br />Для операционных систем семейства Linux устанавливать правило UDEV необходимо.</p><p>Подробнее об этом можно прочитать на портале документации, <a href="https://dev.guardant.ru/pages/viewpage.action?pageId=1278017">на этой странице</a>.</p>]]></content>
			<author>
				<name><![CDATA[Тимофей Ершов]]></name>
				<uri>https://forum.guardant.ru/user/1116/</uri>
			</author>
			<updated>2024-04-16T07:47:06Z</updated>
			<id>https://forum.guardant.ru/post/5169/#p5169</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вызов GrdFind из libgrdapi.so под Linux возвращает AllDonglesFound]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/5164/#p5164" />
			<content type="html"><![CDATA[<p>хочу поднять тему, похоже она меня тоже касается.. один и тот же код работает под виндой, и не работает под линукс:<br /></p><div class="codebox"><pre><code> 
  int nRet = GrdStartup( GrdFMR_Local );

  uint8_t abyGrd[ GrdContainerSize ];
  HANDLE hGrd = GrdCreateHandle( (HANDLE)abyGrd, GrdCHM_MultiThread, NULL );

  nRet = GrdSetAccessCodes( hGrd, ..., ..., 0, 0 );

  nRet = GrdSetFindMode( hGrd, GrdFMR_Local, 0, 0, 0, 0, 0, 0, 0, GrdFMM_ALL, GrdFMI_ALL );

  DWORD dwID = 0;
  TGrdFindInfo GrdFindInfo;
  nRet = GrdFind( hGrd, GrdF_First, &amp;dwID, &amp;GrdFindInfo );</code></pre></div><p>возвращается ошибка 36 (all dongles found)</p><p>PS. <br />ага, победил, дело было в отсутствии файла `/etc/udev/rules.d/95-grdnt.rules` - скопировал с другой системы<br />но вот хоть убейте - не помню, каким образом он туда попадает, что из ПО Guardant надо запускать?</p>]]></content>
			<author>
				<name><![CDATA[iluha]]></name>
				<uri>https://forum.guardant.ru/user/1992/</uri>
			</author>
			<updated>2024-04-09T14:14:32Z</updated>
			<id>https://forum.guardant.ru/post/5164/#p5164</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вызов GrdFind из libgrdapi.so под Linux возвращает AllDonglesFound]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4913/#p4913" />
			<content type="html"><![CDATA[<p>Guardant SDK 7 Update 8</p><p>Используем библиотеку GuardantDotNetCoreApi.dll и GrdAPI64.dll для сборок под Windows. Все прекрасно работает.</p><p>Но разве GuardantDotNetCoreApi.dll и GrdAPI64.dll будут работать для сборок под Linux?</p>]]></content>
			<author>
				<name><![CDATA[kriushichevalexander]]></name>
				<uri>https://forum.guardant.ru/user/1849/</uri>
			</author>
			<updated>2023-02-28T05:44:18Z</updated>
			<id>https://forum.guardant.ru/post/4913/#p4913</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вызов GrdFind из libgrdapi.so под Linux возвращает AllDonglesFound]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4912/#p4912" />
			<content type="html"><![CDATA[<p>Добрый день. Просьба уточнить, какую версию SDK вы используете для защиты?<br />Для защиты .NetCore в составе SDK есть специальная библиотека - GuardantDotNetCoreApi.dll. Ее необходимо использовать вместе с нативной библиотекой.</p>]]></content>
			<author>
				<name><![CDATA[Тимофей Ершов]]></name>
				<uri>https://forum.guardant.ru/user/1116/</uri>
			</author>
			<updated>2023-02-27T14:53:45Z</updated>
			<id>https://forum.guardant.ru/post/4912/#p4912</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Вызов GrdFind из libgrdapi.so под Linux возвращает AllDonglesFound]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4911/#p4911" />
			<content type="html"><![CDATA[<p>Кстати, тот же самый код только при использовании библиотеки GuardantDotNetApi.dll на Windows работает нормально и возвращает установленные ключи в ПК</p><p>Скомпилировал Вашу программу chknsk для Linux<br />Она так же не находит ключи в системе</p><div class="codebox"><pre><code>Welcome to Guardant Diagnostic Tool! (v1.0001)

Detecting Guardant dongles ...

Result: 0 dongle(s) found. Press Enter...</code></pre></div>]]></content>
			<author>
				<name><![CDATA[kriushichevalexander]]></name>
				<uri>https://forum.guardant.ru/user/1849/</uri>
			</author>
			<updated>2023-02-23T05:19:31Z</updated>
			<id>https://forum.guardant.ru/post/4911/#p4911</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Вызов GrdFind из libgrdapi.so под Linux возвращает AllDonglesFound]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4910/#p4910" />
			<content type="html"><![CDATA[<p>Добрый день!<br />Разрабатываем приложение для Linux на NetCore. <br />Подключили библиотеку libgrdapi.so и через DllImport вызываем методы.</p><div class="codebox"><pre><code>        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdStartup&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern int GrdStartup(GrdFMR grdFMR);

        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdCreateHandle&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern IntPtr GrdCreateHandle(IntPtr hAddress, GrdCHM mode, IntPtr other);

        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdSetAccessCodes&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern int GrdSetAccessCodes(IntPtr hAddress, uint publicCode, uint privateRD, uint privateWR, uint privateMST);

        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdFind&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern int GrdFind(IntPtr hAddress, int mode, IntPtr id, IntPtr findInfo);

        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdSetFindMode&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern int GrdSetFindMode(IntPtr hAddress, GrdFMR remoteMode, GrdFM flags, uint prog, uint id, uint sn, uint ver, uint mask, GrdDT type, GrdFMM models, GrdFMI interfaces);

        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdLogin&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern int GrdLogin(IntPtr hAddress, int moduleLMS, GrdLM loginFlags);

        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdLogout&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern int GrdLogout(IntPtr hAddress, int mode);

        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdRead&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern int GrdRead(IntPtr hAddress, uint addr, int length, IntPtr input, IntPtr other);

        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdCleanup&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern int GrdCleanup();

        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdCloseHandle&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern int GrdCloseHandle(IntPtr hAddress);

        [DllImport(&quot;libgrdapi.so&quot;, EntryPoint = &quot;GrdSetWorkMode&quot;, CallingConvention = CallingConvention.Cdecl)]
        public static extern int GrdSetWorkMode(IntPtr hAddress, GrdWM flagsWork, int other);</code></pre></div><p>При выполнении поиска установленных ключей в Astra Linux при помощи метода GrdFind всегда возвращается AllDonglesFound, хотя ключи установлены в ПК и определяются как Guardant.</p><div class="codebox"><pre><code>Feb 22 19:06:54 astra kernel: usb 1-2: USB disconnect, device number 9
Feb 22 19:06:55 astra kernel: usb 1-2: new full-speed USB device number 10 using xhci_hcd
Feb 22 19:06:55 astra kernel: usb 1-2: New USB device found, idVendor=0a89, idProduct=0003, bcdDevice= 1.00
Feb 22 19:06:55 astra kernel: usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Feb 22 19:06:55 astra kernel: usb 1-2: Product: Guardant Stealth II 
Feb 22 19:06:55 astra kernel: usb 1-2: Manufacturer: Aktiv Co.
Feb 22 19:06:55 astra mtp-probe[15174]: checking bus 1, device 10: &quot;/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-2&quot;
Feb 22 19:06:55 astra mtp-probe[15174]: bus: 1, device: 10 was not an MTP device
Feb 22 19:06:55 astra mtp-probe[15176]: checking bus 1, device 10: &quot;/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-2&quot;</code></pre></div><p>Вызов методов GrdStartup, GrdCreateHandle и GrdSetAccessCodes перед этим возвращают OK.</p><p>Подскажите пожалуйста, в чем может быть проблема?</p>]]></content>
			<author>
				<name><![CDATA[kriushichevalexander]]></name>
				<uri>https://forum.guardant.ru/user/1849/</uri>
			</author>
			<updated>2023-02-22T14:51:45Z</updated>
			<id>https://forum.guardant.ru/post/4910/#p4910</id>
		</entry>
</feed>
