Skip to content

Fork of the original library with additional motherboard and disk strategy for cross-platform development

License

Notifications You must be signed in to change notification settings

giedrius-N/licensecc

 
 

Repository files navigation

Licensecc

Copy protection, licensing library and license generator for Windows and Linux.

Standard unstable License travis Github_CI Codacy Badge codecov Github Issues

Protect the software you develop from unauthorized copies, limit the usage in time, to a specific set of machines, or prevent the usage in virtualized environments. It is an open source license manager that helps to keep your software closed 😏 . Among other features if it runs on a "real hardware" it can generate a signature of that hardware and report if the signature doesn't match.

A comprehensive list of features, and their status is available in the project site.

If you're experiencing problems, or you just need informations you can't find in the documentation please contact us on github discussions, we'll be happy to help.

Remember to show your appreciation giving us a star here on GitHub.

Additional Features in This Fork

This fork introduces a new cross-platform licensing strategy based on motherboard and disk information, using the HWInfo library for hardware identification.

Key Enhancements

  • Motherboard and Disk-Based Licensing: Generates hardware signatures based on motherboard and disk properties, providing stronger protection against virtualization and hardware tampering.
  • Cross-Platform Compatibility: On Windows, the motherboard (mainboard) serial number is used for identification, while on Linux, the disk serial number is utilized.
  • Minimal Impact on Existing Functionality: Integrated into the licensecc library with minimal disruption to existing features.

How to Use

  • Clone the repository with the --recursive flag to include the hwinfo submodule:
    git clone --recursive https://github.com/giedrius-N/licensecc.git
    
  • Refer to the example motherboard_disk_strategy.cpp for implementation details.

How This Differs From the Original Repository

  • Adds a new licensing strategy based on motherboard and disk properties.
  • Enhances hardware signature robustness for cross-platform environments.

Linking to other projects

More about linking to other projects

License

The project is donated to the community. It comes with freedom of use for everyone, and it always will be. It has a BSD 3 clauses licensing schema, that allows free modification and use in commercial software.

Project Structure

The software is made by 4 main sub-components:

  • a C++ library with a nice C api, licensecc with minimal (or no) external dependencies (the part you have to integrate in your software) that is the project you're currently in.
  • a license debugger lcc-inspector to be sent to the final customer when there are licensing problems or for calculating the pc hash before issuing the license.
  • a license generator (github project lcc-license-generator) lccgen for customizing the library and generate the licenses.
  • Usage examples to simplify the integration in your project.

How to build

Below an overview of the basic build procedure, you can find detailed instructions for Linux or Windows in the project web site.

Prerequisites

  • Operating system: Linux(Ubuntu, CentOS), Windows
  • compilers : GCC (Linux) MINGW (Linux cross compile for Windows), MINGW or MSVC (Windows)
  • tools : cmake(>3.6), git, make/ninja(linux)
  • libs : If target is Linux Openssl is required. Windows depends only on system libraries. Boost is necessary to build license generator and to run the tests but it's NOT a dependency of the final licensecc library.

For a complete list of dependencies and supported environments see the project website

Clone the project. It has submodules, don't forget the --recursive option.

git clone --recursive https://github.com/open-license-manager/licensecc.git
cd licensecc/build

build on Linux

cmake .. -DCMAKE_INSTALL_PREFIX=../install
make
make install

build on Windows (with MSVC 2017)

cmake .. -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT="{Folder where boost is}" -DCMAKE_INSTALL_PREFIX=../install
cmake --build . --target install --config Release

cross compile with MINGW on Linux

x86_64-w64-mingw32.static-cmake .. -DCMAKE_INSTALL_PREFIX=../install
make
make install

How to test

on Linux

make test

on Windows (MSVC)

ctest -C Release

How to use

The examples repository that shows various ways to integrate licensecc into your project.

How to contribute

The easiest way you can solve your problems or ask help is through the discussions tab above, otherwise if you think there is a problem you can open an issue in the issue system. Have a look to the contribution guidelines before reporting. We use GitFlow (or at least a subset of it). Remember to install the gitflow git plugin and use develop as default branch for your pull requests.

About

Fork of the original library with additional motherboard and disk strategy for cross-platform development

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 86.7%
  • CMake 8.8%
  • C 4.4%
  • Batchfile 0.1%