Можно легко достать номер диска. Вопрос в том насколько это надежный неизменяемый номер, железно ли будет работать данная функция на всевозможных компьютерах.Совершенно ненадежный. Кроме того, что написал Алексей, изменить серийный номер логического диска HDD не представляет никакого труда.
Если приложение планируется распространять через Autodesk Exchange Apps, то почти вся головная боль о лицензионности дополнения ложится на плечи Autodesk (мне так кажется).Вот именно, а у Автодеска это очень темная тема. Как все устроено наверно можно будет понять после публикации. Поэтому я и открыл эти темы (защиты и аттестации приложения), чтобы хотя бы те разработчики, которые опубликовались, поделились своим опытом.
На всякий случай если попытаешься пойти по этому пути - вот исходники на C++ (т.е. теоретически можно всунуть в arx-файл) для получения MAC-адреса и серийного номера HDD (физического диска, а не логического раздела): http://www.codeproject.com/Articles/319181/Haephrati-Searching-for-a-reliable-Hardware-IDЯ пока исследую эту тему. Такой информации должно быть много, чтобы выбрать самое оптимальное. Вот какие еще другие подходы простых защит бывают не используя ID диска и т.п.? Авторизация это же не защита. Может те кто опубликовывается вообще делают только авторизацию без защиты.
Если приложение планируется распространять через Autodesk Exchange Apps, то почти вся головная боль о лицензионности дополнения ложится на плечи Autodesk (мне так кажется).Поэтому Автодеск должен иметь этот метод или технологию и давать разработчикам для внедрения в их приложения именно перед публикацией, до распространения! Иначе разработчику придется отсылать Автодеску абсолютно открытое не защищенно приложение и потом надеяться, что оно не распространиться после первой скачки.
Поэтому Автодеск должен иметь этот метод или технологию и давать разработчикам для внедрения в их приложения именно перед публикацией, до распространения!Никто никому ничего не должен. Этого нет ни в Google Play, ни в App Store, ни в Магазине Windows. А с учетом того, что в Магазине Приложений Autodesk имеется куча совершенно разнородных платформ, использующих различные API, языки программирования и операционные системы - создать такую обобщенную технологию, удовлетворившую бы всех, задача неподъемная (IMHO).
Никто никому ничего не должен. Этого нет ни в Google Play, ни в App Store, ни в Магазине Windows. А с учетом того, что в Магазине Приложений Autodesk имеется куча совершенно разнородных платформ, использующих различные API, языки программирования и операционные системыНеправильно выразился. Не должен, а вот была бы подобная функция в lisp'e (get_diskserialid), было бы неплохо. Конкуренты дошли до этого, дают людям полезный функционал. Уверен и Автодеск до этого дойдет в новых версиях. Не надо быть консерватором.
Не должен, а вот была бы подобная функция в lisp'e (get_diskserialid), было бы неплохо. Конкуренты дошли до этого, дают людям полезный функционал. Уверен и Автодеск до этого дойдет в новых версиях. Не надо быть консерватором.Читай: http://www.theswamp.org/index.php?topic=38432.0
Уверен и Автодеск до этого дойдет в новых версиях.Уверен что они этим заниматься не будут.
Читай: http://www.theswamp.org/index.php?topic=38432.0Там их варианты не работают, зависят от систем Windows, может еще от чего, ссылка бесполезная. А (get_diskserialid) как я понял возвращает железно индефикатор с физического диска. Была бы такая функция у Автодеск было бы очень полезно. Сразу бы можно было сделать защиту, задействовав ее, там даже в описании написано - "this id string provides a licensing/hardlocking feature for Lisp applications". А пока стопор, копаться в с++, переводить в arx, заведомо зная, что ненадежно и сложно. Нет решения пока нет такой функции, лично для моей идеи защиты. Кто-то занимался именно этой проблемой?
Там есть несколько вариантов получения серийного номера физического диска. Так же как и в Bricscad это всё достаточно ненадежно.
А (get_diskserialid) как я понял возвращает железно индефикатор с физического диска.Она делает тоже самое, что и функции по моей ссылке. В отличие от них эта функция - черный ящик (т.е. как она работает ты не знаешь).
Она делает тоже самое, что и функции по моей ссылке. В отличие от них эта функция - черный ящик (т.е. как она работает ты не знаешь).Вот что она делает, возвращает nil.
Если это заявлено значит оно работает.:D :D :D
1) На этом форуме не обсуждаются и не упоминаются клоны/конкуренты.Ну удали все что про "клоны/конкуренты". Я на их базе не работаю и не собираюсь. Задача поставлена - как получить любой уникальный идентификатор компьютера на vlisp или проверенный код на arx. Любое что-то хитрое в этом роде. Думаю это будет полезно не только для меня, но и других участников Магазина.
Предоставляет ли Autodesk защиту от копирования или системы лицензирования для моего продукта?Дня 3 назад отвечал на опрос от Автодеска. Там был вопрос о том, что знаете ли вы о существовании продукта от Автодеск или библиотеки (не помню) по защите и лицензированию приложений от разработчиков. Что это или это только новые идеи? На ответы к опросам обычно не отвечают.
Нет.
Copy protection in your Apps http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243607Вроде и англицкий немного знаю, и в программирование чуть-чуть разбираюсь, но не доходит до конца.
Entitlement API for desktop Apps http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243865
На англоязычном сайте http://www.autodesk.com/developapps есть инструкции по данной теме.Вот бы на русском такое....
Средствами Lisp такое возможно?Думаю, что средствами чистого Lisp это сделать нельзя. Во всяком случае мне неизвестен способ на Lisp обратится по адресу в Internet и получить результат. Возможно это можно сделать через какие-то стандартные COM-сервера, но исключить ситуацию что их нет или администратор закрыл к ним доступ нельзя. Да и вообще сам по себе способ требующий для проверки доступности идентификации обращаться к интернету мне не нравится. Мне не нравится обязательность того, что пользователь должен войти в свою учетную запись Autodesk, а если он это не сделал (просто забыл, интернет не работает, и т.д. и т.п.), то программа работать не будет.
Может кто-нибудь по-русски мне объяснить?По русски не могу, но нашел цикл статей с примерами использования данного API
Да и вообще сам по себе способ требующий для проверки доступности идентификации обращаться к интернету мне не нравится. Мне не нравится обязательность того, что пользователь должен войти в свою учетную запись Autodesk, а если он это не сделал (просто забыл, интернет не работает, и т.д. и т.п.), то программа работать не будет.В общем написал я тут недавно "Картограмму (http://www.youtube.com/watch?v=L4sUUt7z6Ds)" для Civil 3D, и как-то так получилось, что сил и времени потратил на это больше чем ожидалось, и тут стала жаба меня поддушивать. Решил не напрямую денег брать а ввёл регистрацию, не зарегистрированная версия полностью работает, только просит некоторые небольшие вычисления вручную проводить.
перевод на нашем сайте:Спасибо, всё понятно и даже скорее всего просто, но только только начал изучать NET с С# и пока после Lisp-а глаза разбегаются :o
Конкретные ссылки на перевод на нашем сайте:
Для AutoCAD или вертикальных продуктов, есть простой способ получить имя текущего пользователя и его userid, вы можете использовать следующие недокументированные системные переменные: ONLINEUSERNAME и ONLINEUSERID.Правда, есть еще OAuth, но в свете следующей цитаты, это не важно.
// Так как вы, вероятно, не знаете этот AppId, пока вы его не опубликуете приложение,И ничто не мешает отредактировать это AppId, на купленное за 3 копейки приложение.
// давайте сохраним AppId в конфигурационном файле, чтобы иметь возможность отредактировать впоследствии
// без изменения исходного кода
ИМХО, защита какая то дырявая получилась или я что то не доглядел?Даже если бы информация о AppId была бы "зашита" в приложение (даже в зашифрованном виде), особого труда для перехвата его и подмены не возникло бы. Эта одна из причин, по которой я считаю этот метод защиты "не слишком удачным" (это я так очень мягко пишу...)
особого труда для перехвата его и подмены не возникло быОткрытый GET запрос с указанием всего и вся, хотя в 3 части показано ssl соединение, вроде бы подразумевается шифрованный обмен данными. Но я не специалист, а потому не знаю.
А какие варианты Вы видите? Или не стоит игра свеч?Это тот (редкий) случай, когда я предпочитаю не высказывать своё мнение.
В котором рассказывают как сделать оффлайн защиту для приложения, это работает?Не проверял, но почему нет? В действительности там говорится о том как сделать Online/Offline защиту. Online-защита - это та защита, о которой мы уже говорили. Offline защита заключается в проверке MAC-адреса и дат начала лицензии, последнего запуска и завершения лицензии (если лицензия временная).
Так что, привязка к MAC, на мой взгляд, одна из самых нестабильных.Хорошо, верю. Тогда к чему привязаться? Т.е. я конечно давно и много раз читал, что это всё сложно, и нормальную защиту проще купить, чем самому писать, но для дешёвых\бесплатных программ оно того не стоит.
пользователю еще раз ее покупать?Нет, написать автору, объяснить ситуацию, и получить новый ключ. Я кстати так делал с каким-то приложением для Windows, без проблем мне прислали новый ключ.
Еще можно пробовать привязываться к параметрам системного жесткого диска.Это уже всё было в начале этой же темы.
привязка к какому-либо одному параметру не даст ничего.Вариант разбить серийный номер на 4 части, 1 часть - MAC, 2 часть - серийный номер логического диска 3 часть -что-то ещё 4 часть номер приложения. И проверять чтоб хотябы один из первых 3 частей соответсвовал
Вариант разбить серийный номер на 4 части, 1 часть - MAC, 2 часть - серийный номер логического диска 3 часть -что-то ещё 4 часть номер приложения. И проверять чтоб хотябы один из первых 3 частей соответсвовалПробуйте :) Ваше приложение - Вам и решать как его защищать :) Вряд ли кто-то будет подробно рассказывать каким образом сделана защита его приложений. Потому как чем меньше известно о принципах работы защиты, тем она надежнее.
Или те же самые электронные ключи защиты. Вынул из рабочего ПК, пришел домой, вставил - работаешь. Нужна коллеге программа - дал ему ключ. Для пользователя - один из самых удобных вариантов, и для взлома довольно непростой.Да. Но есть несколько НО (с этим я хорошо знаком):
По поводу MAC-адреса хочу напомнить, что он легко меняется средствами Windows:Да это понятно, вопрос зачем его менять? Для каких целей?
Но есть несколько НО (с этим я хорошо знаком)
Вряд ли кто-то будет подробно рассказывать каким образом сделана защита его приложений. Потому как чем меньше известно о принципах работы защиты, тем она надежнее.Да, блин, давайте спустимся на землю, ни кто не говорит о серьёзной защите, действительно глупо было бы обсуждать её на форму. Речь идёт о оптимальном варианте простейшей защиты.
Да это понятно, вопрос зачем его менять? Для каких целей?Совершенно реальный пример. Идентификация абонента интернет-провайдером чаще всего идёт по MAC-адресу. К интернету был подключен PC с одним MAC-адресом, а затем вместо него появилась необходимость подключить другой. Чтобы не связываться со службой поддержки провайдера на другом PC меняют MAC-адрес и он спокойно получает интернет. По историческим причинам у меня именно так.
Например Дмитрей предположил, что этот код собирает всё подряд, но ведь из этого всё подряд есть что-то более стабильное, так вот в каком направление этот код дописать, что он взял не всё подряд это самое стабильно?Никак. Он берёт MAC-адреса всех сетевых адаптеров (реальных и/или виртуальных).
Речь идёт о оптимальном варианте простейшей защиты.Берите номер тома системного раздела HDD. В качестве простейшей защиты вполне нормально.
если функция "vk_GetMacAddress" рабочая, то могу посоветовать глянуть в сторону "Win32_Processor" (Win32_NetworkAdapter поменять на Win32_Processor) и запустить. Будет интересовать значение поля "ProcessorId"Спасибо
3) ID процессора, который мы вроде как получили, ни кто направо и налево не меняет, как тот же MAC-адрес?Нет. Но, насколько я помню, он не является уникальным. То есть, на одинаковых процессорах он один и тот же.
На основе предыдущего кода. Получаем серийный номер материнской платы:в картинке результат работы этих функций на компьютере, собранном вручную (возможно, если б это был ноут или запаяный деловский или HP-шный корпус, было бы более информативно ))) )
То же самое, только из BIOS:
Ну и на закуску - уникальный идентификатор компьютера (UUID):
ID процессора, который мы вроде как получили, ни кто направо и налево не меняетувы, это не серийный номер, а набор циферок-буковок, которые набираются из характеристик процессора. скажу одно, поменять его руками практически никак, он не меняется после повторного включения компьютера ))). пользоваться можно, но не ТОЛЬКО ЭТИМ полем, а совместно с другими. UUID работает (правда возможен вариант, когда первых три набора идут с нулями, если верить документации).
Application:название приложения| <- думаю тут всё понятнои так, если пользователь прошел онлайн проверку (хотя б один раз), генерируется такой файл. сам файл естественно шифруется. функции шифрования написал выше.
360UserID:XXXXXXXXX| <-идентификатор Autodesk360
MAC:XX:XX:XX:XX| <- мак адрес. не надежно, но не страшно ))) Win32_NetworkAdapter.MACAddress
UUID:XXXXXXXXXXXXXXXXXXXXXXXX| <- Win32_ComputerSystemProduct.UUID
ProcessorId:XXXXXXXXXXX| <- Win32_Processor.ProcessorId
Status:request| <-(ну или ключевое слово, позволяющее перейти в оффлайн режим работы)
KEY:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX| <- рандомно генерируется ключ
Не уверен, что WbemScripting будет всегда работать. Скорее всего админ запретит его для обычных пользователей.если у пользователя такие вольготные условия, что даже интернет есть ))), то вряд-ли закрыт WMI ). ну а если и закрыт, то работа будет только с онлайн лицензией, что тоже лично для меня не сильно страшно.
И на основе вот этого: http://www.nextofwindows.com/the-best-way-to-uniquely-identify-a-windows-machineочень интересно. нужно потестировать. как проверю, отпишусь по этому поводу.
1) ProcessorId не обязательно уникален.увы, это жизнь ))). но другого выхода нет. чем больше брать параметров и чем меньше порог проходимости (2/3 параметров или 2/10) тем больше вероятность того, что хоть что-то будет работать (или что комп разберут на части для сбора нескольких других машинок ))) для установки одного ключа на них))) ). и в любом случае, ключ генерится только если всё срабатывает, в противном случае остается только онлайн защита.
2) Это фишка Intel, а процессор может быть и не Intel
3) Получение CPUID может быть отключено в BIOS.
работать можно если совпало минимум 2/3При этом мне кажется, если из 3 параметров совпало только 2, то 3-й стоит переписать на новое значение?
в картинке результат работы этих функций на компьютере, собранном вручную (возможно, если б это был ноут или запаяный деловский или HP-шный корпус, было бы более информативно ))) )Эта информация не является неизменяемой.
При этом мне кажется, если из 3 параметров совпало только 2, то 3-й стоит переписать на новое значение?ага, только делать это желательно незаметно для пользователя (дата последних изменений файла лицензии меняться не должна, чтоб пользователь ничего не заподозрил ))) )
Так как топик посвящен защите ПО, то хотелось бы узнать, как уважаемые форумчане пишущие на .net защищают свой од от просмотра и как выглядит защита этого кода?хоть я и начинающий дотнетовец ))) (жизнь заставила разбираться с ревитом))) ) но на этот вопрос ответ один - обфускаторы. по факту, на любой обфускатор есть "деобфускаторы", да и, как пишут люди, после обфускации иногда увеличивается время обработки функций. в принципе, это имеет право оказатья правдой, ведь обфускация не защищает код, а путает следы ))). так что правильный ответ будет... увы никак. из советов в интернете советуют на дотнете делать то, что не жалко, а всю логику выносить в web сервисы или писать на с++. по факту, на c# пишут полностью всё))) в надежде на порядочность и особо не заморачиваются возможностью взлома.
Эта информация не является неизменяемой.тут вот в чем дело... я и не утверждал, что это константы, выцарапанные гвоздем на заводе))). но какова будет вероятность того, что это компьютер, для которого была получена лицензия, если 4/5 характеристик не совпали с данными ключа? а так как в тех полях просто мусор, скорей всего одинаковый для всех компьютеров на моей фирмы ))), т.к. готовое в принципе не берем, а собираем под себя и свои требования, то данные поля в ключе перекинутом на разные компьютеры совпадут, что уж точно не есть хорошо. пользоваться лучше осмысленными полями, хоть вероятность нарваться на пустое всегда остается. отсюда вывод - чем больше полей возьмем, тем лучше.
Свеженькая статья на эту тему от Kean Walmsley: Securing your AutoCAD app using .NET (http://through-the-interface.typepad.com/through_the_interface/2016/02/securing-your-autocad-app-using-net.html)ну допустим это перепечатка старого материала с теми же косяками :)
{"UserId":"<тут мой ONLINEUSERID>","AppId":"appstore.exchange.autodesk.com:civiltableexport","IsValid":false,"Message":"Ok"}
Приложение бесплатное. Я его даже еще раз скачал и переустановил - не помогает.Мне вот еще интересно, почему-то для меня, как разработчика приложения, при попытке проверить пользователя, всегда возвращается Falseну на это могу ответить и я :). true возвращается ТОЛЬКО если приложение платное и ТОЛЬКО если для данного приложения в таблице есть указанный ID. засунуть свой ID туда можно двумя способами:
Можно там в комментариях у Кина уточнить этот вопрос - нужно ли указывать версию виндовс и локализацию.а смысл? я как-то пытался выяснить почему на возврат всегда false идет в такого же рода комментариях после публикации. а выяснил только пообщавшись с магазинными товарищами. скорей всего ответом будет - я просто перепечатал старую тему снабдив её видео. для более детально информации... и куча ссылок :)
ТОЛЬКО если приложение платноеНо ведь приложение Screenshot, о котором речь в статье идет, не является платным. И для него с моим ID вернуло True, после того, как я его скачал и установил.
Но ведь приложение Screenshot, о котором речь в статье идет, не является платным. И для него с моим ID вернуло True, после того, как я его скачал и установил.хихи, а я даже не устанавливал и тоже true. а после этого скачал еще пару бесплатных программ. и для них - false.
Можно там в комментариях у Кина уточнить...я вот не поленился и спросил ))). ответ достоин внимания )))
ответ достоин внимания )))Скромничает однако.
Хотя если присмотреться, то тут используют RestSharp, а он использовал продукт от Newtonsoft.:) я например вообще обошелся стандартным winhttp из С++. суть то одинаковая - ушел запрос, пришел ответ. http-шных библиотек полно и платных и бесплатных, и стандартизированных и самопальных :). вопрос только в том, что бездумно перепечатывается одно и то же из года в год. не спорю, на данный момент такой вариант работать будет, но если поменяется политика и добавят чего-то нового, убрав старое, то можно и натерпеться от пользователей, купивших приложение, за те 2-3 недели, пока будет перевыкладываться в магазин исправленный вариант онлайн защиты.
я например вообще обошелся стандартным winhttp из С++. суть то одинаковая - ушел запрос, пришел ответ.Позвольте согласиться. :D
Ну в общем так и сделал, собрал серийник из:В общем за год регистраций набрал статистики:
- части Mac адреса,
- части GUID-а,
- кода приложения,
- части ProcessorId
2) Функция Get_ProcessorId (http://adn-cis.org/forum/index.php?topic=2580.msg13373#msg13373) работает стабильно, даже после переустановки системы выдаёт тоже значение, но как показала статистика, этих значений не много, очень часто встречаются одинаковые у разных пользователей.В общем пишут мне периодически, что переустановили систему и серийник поменялся, т.е. это всё же эти функции не столь стабильны, о чем не однократно предупреждали, или пользователи меня обмануть хотят?
3) Функция Get_UUID (http://adn-cis.org/forum/index.php?topic=2580.msg13376#msg13376) вроде тоже стабильны, и ещё не видел повтарений, можно впринципе только её одну и использовать.
В общем пишут мне периодически, что переустановили систему и серийник поменялся, т.е. это всё же эти функции не столь стабильны, о чем не однократно предупреждали, или пользователи меня обмануть хотят?Если речь идет о (Get_UUID), то так и должно быть - при переустановке системы этот код меняется.
И как дела обстоят с прочим лицензионным ПО после переустановки системы? Просто как то я сам с переустановками ни разу не сталкивался...С продуктами Autopdesk аналогично - код запроса новый.
UUID хранится в биосе. Как я считал, он формируется и задется при сборке ПК и уже впоследствии не изменяется (если, конечно, не использовать специальный софт).Он НЕ хранится в биосе, а хранится в реестре. Ну и реестр при переустановке системы чистится, если выполняется полная переустановка с форматированием раздела диска.
ProcessorID (он же CPU ID) - это та информация, которую выдает процессор по соответствующему запросу к нему. Не верю, что он может измениться после переустановки ОС.Он точно не меняется, но очень часто эта информация недоступна и выдаётся один и тот же номер, никакого отношения к CPU ID не имеющий. Кроме того при помощи драйверов теоретически можно выполнить подмену CPU ID.
должна остаться неизменной часть, которая формируется из MAC-адреса сетевой картыПодменить MAC-адрес настолько просто в Windows, что с этим справится даже ребёнок - так что это ненадежный идентификатор.
ProcessorID точно не меняется, но очень часто эта информация недоступна и выдаётся один и тот же номерДа, он ни разу не изменился, но он у каждого второго одинаковый :( Так что даже по его части не понятно будет обманывают или нет, т.к. он легко может быть на другой машине такой же.
С продуктами Autopdesk аналогично - код запроса новый.Т.е. купил чувак лицензионный AutoCAD, переустановил систему и всё, покупай новую лицензию?
Т.е. купил чувак лицензионный AutoCAD, переустановил систему и всё, покупай новую лицензию?Нет. Во-первых, если переустановка системы плановая (т.е. система жива), то можно воспользоваться утилитой перемещения лицензий перед переустановкой Windows. Во-вторых, даже если лицензия не была перенесена перед переустановкой Windows, можно несколько раз получать код ответа на один и тот же серийный номер продукта Autodesk и выполнять его авторизацию. В-третьих, если количество установок на один и тот же номер было превышено можно обратится к партнеру Autodesk, у которого приобретался продукт и он выполнит авторизацию, предварительно пожурив вас за то, что вы не воспользовались утилитой перемещения лицензий.
Он НЕ хранится в биосе, а хранится в реестре.А Вы не спутали его с MachineGuid? Я немного погуглил, вроде все пишут, что UUID в BIOS хранится. Но информации об этом из каких-нибудь более-менее авторитетных источников не нашел.
Он похоже генерируется на основе каких-то данных из BIOS и еще чего-то, что не содержится в BIOS. И хранится в реестре. И именно поэтому при переустановке Windows оно меняется.Он НЕ хранится в биосе, а хранится в реестре.А Вы не спутали его с MachineGuid? Я немного погуглил, вроде все пишут, что UUID в BIOS хранится. Но информации об этом из каких-нибудь более-менее авторитетных источников не нашел.
то можно воспользоваться утилитой перемещения лицензий перед переустановкой Windows.Ну не писать же мне сейчас такую утилиту для 5$ приложения. :-(
можно несколько раз получать код ответа на один и тот же серийный номер продукта Autodesk и выполнять его авторизацию.Т.е. мы можем легально установить 5 копий одного продукта на 5 машин скажем в своём отделе?
Т.е. мы можем легально установить 5 копий одного продукта на 5 машин скажем в своём отделе?Просто, как я понимаю, они так решили проблему активации при переустановке системы или другой похожей ситуации. Установить вы можете хоть миллион копий :) А вот использовать в работе одновременно можно только то количество копий, сколько куплено лицензий.
Он НЕ хранится в биосе, а хранится в реестре.В таком случае, его бы и получали из реестра. Зачем же все тогда используют методы WMI для этого?
Т.е. мы можем легально установить 5 копий одного продукта на 5 машин скажем в своём отделе?Легально - нет. То, что у тебя будет установлено и работать 5 продуктов не значит, что все 5 ты используешь легально, если купил только один. Если по документам ты купил одно рабочее место - то легально только одно рабочее место можешь использовать. Но это уже юридические тонкости, с которыми не дай Бог тебе столкнуться...
В таком случае, его бы и получали из реестра. Зачем же все тогда используют методы WMI для этого?А ты думаешь WMI работает не с реестром? ;) Во многих случаях именно с ним. Просто однократно это значение (рас)считывается и записывается в реестр. А оттуда уже используется.
Просто мне непонятно то, что гораздо проще же и надежнее просто прочитать значение из реестра, чем пользоваться методами WMI.Я тоже об этом подумал.
Просто мне непонятно то, что гораздо проще же и надежнее просто прочитать значение из реестра, чем пользоваться методами WMI. Неужели никто до этого не додумался?Не думаю, что оно там хранится в удобоваримом виде. Впрочем спорить не буду. В любом случае далеко не все материнки поддерживают UUID. В отличии от старых IBM-360/370 (и советской серии ЕС-10XX), которые все имели реальный CPUID и все они были уникальны, на PC этого нет и видимо никогда уже не будет - не вижу попыток реальной стандартизации. Вроде что-то и вводили, но как-то через одно место...
Если ПК без интернета, то пользователь не сможет войти в учётку?А проверить? Отключи интернет и запусти AutoCAD. У меня ONLINEUSERID не изменился при запуске при отключенной сети.
На скольких машинах одновременно пользователь может быть одновременно авторизован?А вот на это я бы не стал рассчитывать.
А проверить? Отключи интернет и запусти AutoCAD. У меня ONLINEUSERID не изменился при запуске при отключенной сети.Проверял конечно, если ранее входил в учётку то всё норм. А если выйти то без интернета уже не войти, впрочем как и не выйти
А вот на это я бы не стал рассчитывать.Вот тут и не понятно, смогут ли под одним аккаунтом войти 10 ПК в отделе? Т.е. купив одну лицензию, пользоваться под одной учёткой всем отделом? Пусть даже не разом, а по очереди, потом отключить интренет и можно пользоваться?
Вот тут и не понятно, смогут ли под одним аккаунтом войти 10 ПК в отделе? Т.е. купив одну лицензию, пользоваться под одной учёткой всем отделом? Пусть даже не разом, а по очереди, потом отключить интренет и можно пользоваться?Об этом я и написал, что рассчитывать на это нельзя. Раньше на форум Autodesk можно было зайти из разных мест под одной учеткой одновременно. Сейчас нельзя. Что придумают очередное с этим - я прогнозировать не берусь.
Dear Bear Dyugin,И
You are now entitled to download and use Import \ Export coordinates. Please use this link (https://apps.autodesk.com/Autodesk.Appstore.Web.Models.Views.Store/en/Detail/Index?id=7024841255247590068&appLang=en&os=Win32_64) to download your new app.
Please contact appsinfo@autodesk.com if you have any problems or have any other questions regarding Autodesk App Store.
Sincerely,
Autodesk App Store Team.
Dear Bear Dyugin,
The following users are now entitled by Autodesk App Store admin to download Import \ Export coordinates
89139290787@mail.ru
Please contact apps.customersupport@autodesk.com if you have any problems or have any other questions regarding Autodesk App Store.
Sincerely,
Autodesk App Store Team
The following users are now entitled by Autodesk App Store admin to download ...
ну и если потом попользоваться их ID :):):) для проверки валидности, то возвращает true.
Hi Berdyugin,
Unfortunately, I am not the right guy to help you with programming as I do not have programming expertise ☹
If you are an ADN member you can post your query to API support or you can try using the API forum and someone would certainly help you.
Sorry,
откроется страничка настроек приложения. верхний левый угол - там будет имя приложениятам только id
кстати, обрати внимание на название приложения и на то, что пишется в строке браузера. в браузере двойной слэшь вместо одинарного. может быть в этом была проблемаДа я заметил, но в адресе один слэш, это в ответе 2, но там значение в "" типа текстовое, а в текстовых слэшь типа служебный симвл, потому их и 2...
в текстовых слэшь типа служебный симвл, потому их и 2вот оно и ищет пользователя для приложения, в имени которого два слэша :), а таких нет
; error: bad argument type: listp "292910C0-D7DA-11DD-A740-C8600098E960"
когда вставляю свой UUID для проверки. Наверняка проблема с типом данных, но мой уровень владения LISP пока не позволяет решить эту проблему самостоятельно. Буду признателен за помощь.