Программа для проверки легальности установленных программ в операционных системах семейства Windows, которая представляет собой экспертную систему для помощи в определении легальности распространения программного обеспечения. Присутствует автоматический поиск, ручной поиск ПО в указанной директории, медиа поиск (изображения, аудио, видео), просмотр базы данных, поиск всех exe и msi файлов, поиск замены. Поддерживается обновление базы данных и проверка наличия новых версий приложения. Разработана при помощи высокоуровневого языка программирования Python 3. Полностью на русском языке.
Экспертная система в первую очередь ориентирована на организации и имеет цель - помочь привести в порядок установленные на рабочих станциях программы, чтобы при проверке не возникало вопросов о легальности использования того или иного программного обеспечения.
Поиск программ с определением легальности использования
Автоматический поиск
Автоматический поиск срабатывает при запуске LicenseChecker, поэтому при появлении его окна там уже содержатся результаты авто-поиска.
Результаты отображены в таблице с колонками: название, тип, лицензия, цена. В колонке "Название" указывается название найденного программного обеспечения. В колонке "Тип" указан тип программного обеспечения (Платное ПО, условно-бесплатное ПО, Свободная программа). Строки выделяются цветами в зависимости от типа ПО. В колонке "Лицензия" указывается тип лицензии. Подробнее с типами лицензий и ПО можно ознакомиться здесь. В колонке "Цена" указывается приблизительная цена, которая может не соответствовать реальной. Колонка "Замена" предлагает приблизительную замену. Сразу стоит отметить, что предложенная замена может на деле не являться достойной альтернативой, и также следует перепроверять лицензию у всех предлагаемых замен, которые не получится найти на сайте КонтинентСвободы.рф.
Выделение строк цветом можно отключить в настройках (Поиск \ Настройки).
Для удобства можно выделять строки при помощи нажатия левой кнопкой мыши. Выделенные строки можно копировать при помощи сочетания клавиш CTRL + C.
Двойной клик левой кнопкой мыши по выделенному пункту таблицы автопоиска вызовет окно подробностей.
В подробностях будут отображены уже знакомые пункты название ПО, его тип, лицензия, ориентировочная стоимость. Все данные берутся из реестра, если какой-то из пунктов не заполнен, значит эта информация не указана в реестре.
В поле "Альтернативное ПО" отображается предлагаемая замена. Сразу стоит отметить, что предложенная замена может на деле не являться достойной альтернативой, и также следует перепроверять лицензию у всех предлагаемых замен, которые не получится найти на сайте КонтинентСвободы.рф.
В поле "Путь" заполняется каталог приложения из реестра, на основании которого происходит поиск основного исполняемого файла приложения. Основные исполняемые файлы берутся из базы данных. Результат поиска отображен в поле "Подтверждение".
Поле "Поиск слов Купить" производит поиск слов "купить" и "buy" в каталоге, указанном в реестре. Если в одном из файлов обнаружено это слово, значит приложение может быть платным, либо предлагает что-либо купить.
В поле "Лицензионное соглашение" заполняются результаты поиска файлов с лицензионными соглашениями. Данное поле помогает при определении легальности использования конкретного условно-бесплатного ПО в организации.
Содержимое всех полей можно копировать при помощи сочетания клавиш CTRL+C.
Существуют два специфических пункта, которые появляются только при открытии подробностей об установленной операционной системе.
Параметр "Ключ Windows" отображает установленный ключ ОС Windows.
Параметр "Следы активации" совершает поиск следов активаторов системы.
На представленном снимке экрана в начале описания следы активации были созданы искусственно, для демонстрации работы функциональности.
Окно подробностей об операционной системе может открываться достаточно долго из-за поиска следов активации, обычно не дольше 1 минуты.
Результаты автоматического поиска можно сохранить, открыв вкладку "Файл" и там выбрав пункт "Сохранить". Отчет сохраняется в формате HTML, и в нем указывается имя компьютера и время сохранения отчета. Отчет в дальнейшем можно открыть в любом браузере.
Как оценить легальность используемой копии программы?
Если программа оценена как платное ПО, значит она должна была быть куплена с количеством лицензий, согласно количеству используемых копий на рабочих станциях. Покупка ПО должна быть подтверждена документально.
При определении как условно-бесплатное ПО следует изучить лицензионное соглашение на конкретное приложение. Чаще всего они на английском языке, поэтому придется переводить при помощи онлайн-переводчиков. Если в лицензионном соглашении указан запрет использования с целью коммерческой выгоды или разрешено использование только дома или в домашнем офисе, значит применять данное приложение в организации не легально.
При определении как свободная программа можно спокойно оставлять её, так как данный тип ПО подразумевает свободное использование, иными словами, можно полностью бесплатно использовать и дома, и в офисе.
Как проверить легальность установленной ОС Windows?
При открытии программы LicenseChecker первым пунктом в таблице должна быть отображена запись об установленной операционной системе семейства Windows. Необходимо открыть подробности этой записи, следует совершить двойной клик левой кнопкой мыши по ней. В окне подробностей будет отображен ключ Windows, который следует скопировать, выделив и нажав сочетания клавиш CTRL+C, а далее набрать в любой поисковой системе. Если в интернете где-то опубликован используемый ключ Windows, значит система активирована при помощи пиратского ключа, который был взят из интернета. Также в подробностях можно изучить следы активации, там указываются следы активаторов. В редких случаях туда могут попасть хорошие системные файлы.
Ручной поиск программ в указанной директории
Ручной поиск программ позволяет обнаружить следы портативных версий в указанной директории. Можно указать до трех каталогов для поиска. К примеру, можно указать "Program Files", "Program Files (x86)" и "Users" для поиска следов, и это будет быстрее, чем поиск по всему диску. Однако, при необходимости можно указать весь диск или даже несколько, но следует учесть, что процесс может быть замедлен прямо пропорционально проверяемому объёму файлов.
Технологически LicenseChecker собирает все исполняемые exe-файлы в указанной директории и сверяет их с базой данных. В базе данных имеется отдельное поле, в которое вручную заполняются основные исполняемые файлы приложений.
Все те же колонки, что и в автоматическом поиске, с той лишь разницей, что в колонке "Название" указывается полный путь с именем файла на компьютере, а в колонке "В базе" указывается название из базы данных.
Выделенные строки можно копировать при помощи сочетания клавиш CTRL+C.
Сначала необходимо указать директорию для поиска, нажав кнопку "Обзор". Далее запустить процесс поиска при помощи кнопки "Поиск". Результаты поиска можно сохранить при помощи кнопки "Сохранить".
В выпадающем списке присутствует пункт "Список всех exe и msi файлов", который позволяет найти дистрибутивы, то есть установщики программ и игр. С данной функцией ручной поиск найдет все exe и msi файлы размером больше мегабайта.
Поиск изображений, аудио и видео файлов
LicenseChecker позволяет искать медиа файлы в указанной директории. Под медиа файлами понимаются изображения, аудио и видео. Программа ищет не все существующие форматы, так как это бы значительно замедлило процесс поиска, поэтому поддерживаются следующие расширения файлов: .tiff, .jpeg, .bmp, .jpe, .jpg, .png, .gif, .psd, .mpeg, .flv, .mov, .m4a, .ac3, .aac, .h264, .m4v, .mkv, .mp4, .3gp, .avi, .ogg, .vob, .wma, .mp3, .wav, .mpg, .wmv.
Изначально данная функциональность была добавлена по многочисленным просьбам пользователей. Она позволяет обнаружить фильмы и музыку на рабочих компьютерах.
Существует поле "Мин. размер МБ", в котором по умолчанию указан 0. В данном поле указывается минимальный размер файлов в мегабайтах.
Также, как и в ручном поиске, необходимо указать каталог для поиска, нажав кнопку "Обзор", и для начала процесса поиска нажать кнопку "Поиск". Результаты поиска можно сохранить при помощи кнопки "Сохранить".
Поиск в базе данных
При необходимости можно вручную искать программы в базе данных по названию.
В поле название следует указать название программного обеспечения или его часть и далее нажать кнопку "Поиск". Результаты поиска в базе данных также можно скопировать при помощи сочетания клавиш CTRL+C.
Поиск замены для программного обеспечения
LicenseChecker позволяет искать замену для платного и условно-бесплатного программного обеспечения. В поле "Ключевое слово" необходимо максимально кратко указать ключевое слово, по которому будет совершен поиск альтернативы на сайте КонтинентСвободы.рф. Для примера приведем ключевые слова: "Архиватор", "графический редактор", "3D Моделирование".
Если результаты поиска отсутствуют, следует использовать более общие термины. Также следует обращать внимание на блок "Похожие материалы", который расположен под блоком с зеленой кнопкой "Скачать" в описании программы на сайте. Указанный ключевые слова могут не встречаться в именно том приложении, которое требуется найти.
Архитектура, технологии и поддержка
LicenseChecker официальный приемник Lpro
LicenseChecker является официальным продолжением программы Lpro, которая разрабатывалась в среде разработки Lazarus с использованием компилятора Freepascal. LicenseChecker, напротив, разработана при помощи интерпретатора Python 3.8.5.
Сам по себе язык Pascal и компилятор Freepascal требуют некоторую строгость при написании кода, что осложняет написание даже простых функций и процедур.
Несмотря на появление стабильности в развитии Freepascal благодаря Lazarus, и несмотря на активное развитие самой среды разработки Lazarus, было принято решение переписать программу с нуля, но уже на Python 3.
Программа была переписана полностью, и поэтому опубликована не как новая версия Lpro, а как совершенно другая программа - LicenseChecker. В интерпретаторе Python написание сложных функций значительно упрощается, а PyQT5 и PyQT5-Tools позволяют проектировать интерфейс в визуальном редакторе QT.
Единственное, что сохранилось от Lpro - это база данных. В связи с тем, что некоторым может быть она более удобна, было принято решение использовать уже существующую базу данных с теми же таблицами и данными.
Основная и пользовательская база данных
Основная и пользовательская базы данных хранятся в директории с LicenseChecker в папке Data. Lpro.db - это основная база данных, требующаяся практически для всех функциональных возможностей приложения.
User-DB.db - это пользовательская база данных. В неё пользователь может добавлять свои данные, которые будут использовать в автоматическом и ручном поиске.
Базу данных можно открыть при помощи любого программного обеспечения для работы с SQLite базами данных (например, SQLiteStudio).
По умолчанию синхронизация пользовательской базы данных при обновлении основной отключена, но при необходимости её можно включить в настройках (Поиск \ Настройки).
Проверка обновлений ПО и БД
В LicenseChecker существует обязательная для любого более-менее серьезного ПО функция - обновление базы данных и проверка наличия более новых версий программы.
Для обновления базы данных следует нажать на вкладку с символом "?" и выбрать пункт "Обновить базу данных". Файл базы данных будет автоматически обновлен, пользовательская база будет автоматически синхронизирована.
Для проверки наличия новой версии следует нажать на вкладку с символом "?" и выбрать пункт "Проверить наличие новой версии". При обнаружении новой версии будет открыта страница загрузки с релизами на github.
Служба поддержки
При обнаружении проблем и ошибок в программе, а также при наличии рекомендаций необходимо воспользоваться вкладкой "?", далее выбрать пункт "Служба поддержки". Будет осуществлен переход на страницу с запросами в службу поддержки на Github. Для создания запроса придется зарегистрироваться на Github. Запросы в Github можно легко отслеживать, искать похожие и комментировать.
Запросы в комментариях к описанию могут быть проигнорированы, поэтому от лица автора просьба создавать тикеты на github. Ссылка будет дополнительно приведена в блоке со ссылками.
Архитектура ПО и системные требования
LicenseCheker существует в 4 версиях:
- портативная версия для 32-разрядной ОС Windows;
- установщик в формате MSI для 32-разрядной ОС Windows;
- портативная версия для 64-разрядной ОС Windows;
- установщик в формате MSI для 64-разрядной ОС Windows.
Технически портативные версии и установщики в формате MSI могут отличаться, так как они собраны при помощи разных библиотек. Портативные версии собраны при помощи библиотеки PyInstaller, а MSI-установщики при помощи библиотеки CX_Freeze.
По результатам тестов было определено, что собранные в исполняемый файл 32-разрядные python приложения без проблем получают доступ к 64-разрядным веткам реестра, поэтому выбор архитектуры влияет только на скорость.
При желании программу можно запустить из исходного кода. Используемая версия интерпретатора Python 3.8.5, список необходимых библиотек можно посмотреть на страничке с исходным кодом.
LicenseChecker не поддерживает Windows XP из-за отсутствия таковой поддержки у используемых им версий библиотек и версии интерпретатора. Возможности понизить версии библиотек нет. При необходимости проверки легальности установленных программ на Windows XP можно прибегнуть к программе Lpro для конкретных рабочих станций. Для остальных использование Lpro не рекомендуется, так как её развитие приостановлено.
Запуск с параметрами для автоматизации поиска
Запуск с параметрами позволяет произвести автоматический и ручной поиск без запуска графического интерфейса программы, что позволяет не отвлекать пользователей от работы.
Начиная с версии 1.3 появилась возможность запуска LicenseChecker с параметрами, что позволяет автоматизировать ручной и автопоиск при большом парке компьютеров.
Начиная с версии 1.6 появилась возможность запуска программы без автоматического старта автопоиска. Для этого достаточно добавить параметр SafeMode в ярлык.
Параметры для автопоиска: LicenseChecker.exe AutoHidden "Куда_сохранить_отчет".
Параметры для ручного поиска: LicenseChecker.exe RuchHidden "Где_искать" "Куда_сохранить_отчет".
Параметры для безопасного запуска: LicenseChecker.exe SafeMode.
Вместо пути для сохранения отчета для обоих видов поиска можно указать "default" - отчет будет сохранен в папке с программой.
Невозможно использовать одновременно несколько параметров! Параметры для запуска автопоиска и ручного поиска нужно использовать в разных ярлыках.
Примеры ярлыков:
- D:\LicenseChecker\LicenseChecker.exe AutoHidden "D:\\Public\\2.html"
- D:\LicenseChecker\LicenseChecker.exe AutoHidden "default"
- D:\LicenseChecker\LicenseChecker.exe RuchHidden "C:\\Program Files" "D:\\Public\\3.html"
- D:\LicenseChecker\LicenseChecker.exe RuchHidden "C:\\Program Files" "default"
- D:\LicenseChecker\LicenseChecker.exe SafeMode
Важно: Так как Python это интерпретатор и все команды будут выполняться в режиме реального времени на компьютере с запущенной программой LicenseChecker, важно писать все пути с двумя косыми чертами, иначе могут возникать ошибки. Все пути необходимо передавать через кавычки, так как любой пробел будет считаться началом следующего параметра.
Безопасность использования LicenseChecker
У некоторых пользователей возникает логичный вопрос об анонимности результатов поиска. Программа LicenseChecker имеет открытый исходный код (опубликован на github - ссылка приведена ниже), поэтому любой желающий может ознакомиться с ним и проверить все действия, которые совершает программа для проверки легальности установленных программ.
Кроме того, программе интернет требуется только для проверки наличия новой версии и обновления базы данных, которые запускаются только вручную, через меню. Можно при помощи любого инструмента для анализа сетевых пакетов проверить, что она никакие данные не передаёт. Интернет для работы программы не требуется.
В базу данных результаты поиска не записываются, они хранятся только в оперативной памяти.
mrKaban
8 февраля 2022 г. 19:17
А как она должна узнать, что у вас куплена лицензия?
Алекс
8 февраля 2022 г. 14:53
программа просто показывает что у тебя установлено и сколько это стоит, или что эта прога бесплатна. Наличие или отсутствие лицензии не показывает. Просто пишет красным и стоимость покупки, а то что есть лицензия она не знает.
mrkaban
14 января 2022 г. 17:13
Можно тыкнуть исходный код, там откроется страничка программы на гитхаб, и там в релизах есть текущая версия в MSI пакете. MSI просто не всем подходит, поэтому прямая ссылка скачать ведёт на портативную версию.
Александр
14 января 2022 г. 16:58
Добрый день! Огромное спасибо за программу Не разобрался где можно скачать MSI?
mrkaban
29 мая 2021 г. 12:50
Онлайн база может улучшить уровень обнаружения, как вы к этому относитесь? стоит ли делать такую функциональность?
s-r-grass
25 февраля 2021 г. 21:27
Здравствуйте, подскажите пожалуйста, каким образом программа должна выяснить есть ли у вас наклейка на корпусе, подтверждающее право пользования офисом или системой? Если указано неизвестно, значит программа не смогла опознать именно это ПО, в Вашем случае по причине множества мусорной информации в названии программы, которое хранится в реестре SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, и если в списке показана программа с длинным названием, в котором есть и год и версия, значит следует воспользоваться ручным поиском в базе, для этого открываем вкладку поиск и там поиск в базе данных, и там уже указываем название программы без лишней информации и нажимаем поиск. Всё просто.
Виталий
25 февраля 2021 г. 14:53
Здравствуйте, у меня Office HomeStudent 2019 пишет "Неизвестно" п.с. офис куплен в магазине DNS
mrkaban
20 сентября 2020 г. 22:14
С каждым разом всё сложней и сложней собрать 32-разрядную версию. Обновились библиотеки, и для пары библиотек нужно установить Visual C++ и не просто, а удаленный отладчик. Будет неплохо, если появится помощник, который хотя бы просто будет собирать 32-разрядную версию программы.
mrkaban
16 августа 2020 г. 12:14
Спасибо большое за такую оценку программы! Приятно, что она кому-то полезна!
Алексей Олегович
15 августа 2020 г. 23:13
Отличная программа! Спасибо Вам за отличную работу! Я бы оценил уровень обнаружения программ на отлично, по крайней мере на моём личном ноутбуке и рабочем компьютере. Очень удобно, что есть обновление самой программы и базы данных. Довольно красивый дизайн, и на моём ноутбуке работает довольно быстро. Отдельное спасибо за MSI-пакет, который можно распространить через групповую политику и запуск с параметрами! Поиск слов купить и файлов с лицензионным соглашением, это пардон гениально! Пару программ автопоиск все таки не обнаружил, направлю Вам отчет! Обновил базу данных, процесс занял меньше секунды! Круто! Спасибо Вам за такую программу и удачи в её разработке!
mrkaban
2 августа 2020 г. 23:09
Опубликована версия 1.6, изменения в сравнении 1.5: -обновление библиотек; -добавлен пункт меню - справка \ пожертвовать на развитие программы; -запуск в безопасном режиме (нет автостарта автопоиска), достаточно добавить ярлыку параметр SafeMode; -добавлен столбец Замена в автоматический поиск; -столбец замена добавлен в отчет автопоиска; -расширение основного окна с изменением размеров виджетов вслед за ним.
mrkaban
30 июня 2020 г. 20:11
Дорогие друзья и коллеги, начал потихоньку работать над версией 1.4. Потенциальных исправлений много, но все ли реализую именно в этой версии, пока не могу точно сказать. Начал с замен, добавил их в окно подробностей. Пока что это будет простой текст, но в будущем это будет умный виджет внутри таблицы подробностей. Нашел интересный вариант заполнения замен в базе данных, который упрощает эту работу. Так что, потихоньку работу веду над новой версией и обновлением базы данных. Если у кого-то есть пожелания, пишите их.
mrkaban
5 апреля 2020 г. 18:57
Огромная просьба проявить уважение к чужому труду и все сообщения об ошибках и косяках направлять в службу поддержки (через приложение, или через ссылку выше). Отвечать на комментарии будут все администраторы и модераторы сайта КонтинентСвободы.рф, а разработкой занимается только один человек (автор). Другие модераторы и администраторы скорее всего ему о сообщениях в комментариях передавать не будут. На тикеты в гитхаб отвечает лично автор.