Вообщем пришлось и мне столкнуться с этой штукой из-за чего возникла туча вопросов. Речь идёт о Sentinel Super Pro. Самого донгла у меня нет. Исходя из того что я прочитал донгл обладает 128-байтами памяти(оперативной?) и вычислительным чипом. Ячейки могут быть разного типа: данные, дескрипторы и т.п. Т.е. получается что можно всю доступную память забить дескрипторами или данными? Данный донгл вроде как не сетевой, но в дистрибутиве проги есть сервер лицензий. Как тогда всё это устроено? При работе с донглом(подбор паролей, дамп,...) на что следует обратить внимание? Другими словами как его не запарафинить. Кстати прога написана на C# что посоветуете в связи с этим.
Память типа eeprom, но через интерфейс (LPT/USB) писАть в ячейки нельзя (да и зачем?). 3 типа: произвольные данные, счётчики и алгоритмы. Обычно поддерживаются оба типа лицензий для удобства разработчиков. Демон лицензий считывает лицензионные цепочки из файла, раскриптовывает их и смотрит на тип лицензии: если лицензия типа floating, то демон просто проверяет валидность цепочки и всё; если лицензия типа locked, то вдобавок к предыдущему пункту он ещё и проверяет валидность привязки (донгл, серийник винта, мак сетевухи и т.д.); если тип сетевой, то в игру вступает сервер лицензий. Естественно, взломщик обычно пытается получить тип лицензии floating, чтоб без привязки и без сервера. Лучше сначала попробовать взломать лицензию. Для этого нужно посмотреть точную версию либы с Sentinel API, скачать SDK для этой самой версии, взломать SDK (как описано в статье на васме) и получить нормальную лицензию. Вы же раньше написали, что донгла вообще нет.
3 типа: произвольные данные, счётчики и алгоритмы Так всё-таки тип привязан к адресу или нет? Вы же раньше написали, что донгла вообще нет. Ну его пока нет но возмжно будет потом. Дело в том, что как вы понимаете, он не мой и было бы очень не приятно его испортить. Лучше сначала попробовать взломать лицензию. Для этого нужно посмотреть точную версию либы с Sentinel API, скачать SDK для этой самой версии, взломать SDK (как описано в статье на васме) и получить нормальную лицензию. Да статьи я читал, довольно интересные но я не обнаружил в дистрибутиве никаких лицензий. И ещё ворос: даже при наличии лицензии нужно присутствие донгла?(если не патчить прогу) Да ещё один момент прога использует flexlm как sentinel c ним уживается?
Тип назначается при прошивке (производителем), но физически ячейки все одинаковые. Любое обращение к ячейке-счётчику приводит к автоматическому уменьшению счётчика на определённое число единиц. В худшем случае, если донгл использует счётчики (актуально для демо-версий ПО с ограничением кол-ва запусков или по времени), то можно по неосторожности истощить этот самый счётчик. Физически испортить донгл действуя строго через его родную API теоретически нельзя. Возможно, лицензий нет и прога работает не через демона лицензий, а прямо через донгл. Таких случаев я встречал только 2: собственно, генератор лицензий из пакета SDK, и ещё одно приложение. В таком случае, можно ломать также как ломается генератор (в статье это описано) или использовать эмулятор. Не знаю.
flexlm хочет от сента только пару ячеек прочитать. они используются для привязки лицензии к ключу. подробнее о flexlm - гугль. статей предостаточно, исходники флекса 9.2 давно ходят
Довольно странно что сам главный модуль не грузит явно lsapiw32.dll и не использует либу, а вызывает её через COM интерфейс. Причем RNBOsproFindFirstUnit вообще не вызывается. Да и ещё одно то что прога использует flexlm я предположил из того, что она предлагает его поставить; но и без установленного flexlm она кричит что нет донгла.