HwHash

What is HwHash?
 

In a nutshell, the HwHash (Hardware Hash Generator) is a smart copy protection tool, which enables to generate a PC computer identifier (called the hardware ID as well), running in MS Windows operating system, on the basis of hardware and logical components installed on the computer.
Having such an identifier, you are able to protect your software against illegal copying by assigning a single software copy to the computer on which it has been installed.

The HwHash access is possible both through native dll exports, as well as due to COM interface with full OLE Automation support which makes it possible to use it in compiled environments like: C++, Delphi or .NET, but also in script languages such as JScript, PHP, ASP, etc.
Script language support significantly makes the software developer work easier on the server side, for example software activation through a WWW site, identifiers verification and analysis.

 
Main features
 

There are a lot of products on the market that allow to generate computer ID on the basis of the hardware installed on the computer. However, the products are frequently characterized by the lack of adequate flexibility which, at the time of the product using, may turn out to be troublesome for both the user and the software producer.
To exemplify it, let us assume we exchange hard disk that belongs to the identifier. Software signalizes that the system configuration has been changed and, as a result, the program ceases to run displaying a message for the program to be activated again.
The HwHash has reduced the problem through using the scoring mechanism*.

  • Component Class Provider Pattern
    Devices analyzed by the HwHash are called components and are grouped in component classes. Hard disk drives, CDROM drives, processors, etc, are the examples of classes. By default, only one device from each class belongs to the generated identifier. It does not have to be the rule, however. All is dependant on the used component class provider*, which can be configured by the developer, should the need arise.

    Interface structure

  • flexibility
    Software developer has the possibility to change the component provider characteristics, i.e. they can add new component classes, modify or to remove the existing ones - adjusting, in this way, the generated identifiers to their own requirements.

  • simplicity
    Only a few lines of code are enough to obtain the computer ID.
    [C#]
    using HwHash;
    
    public string GetTheComputerID()
    {
      // get the provider factory instance
      IHwProviderFactory HwProviderFactory = new HwProviderFactory();
      // create the HwHardwareHash object
      IHwHardwareHash HwHardwareHash = new HwHardwareHash();
      // create and set provider 1.0 version
      HwHardwareHash.ComponentClsProvider =
            HwProviderFactory.CreateProvider("1.0");
      // collect hardware information
      HwHardwareHash.ComponentClsProvider.Collect();
      // convert HwHardwareHash to the string value
      return HwHardwareHash.ToString();
    }
    
  • scoring mechanism
    Each component class has its weight, which is presented in the form of a relevant number of points. The weight is higher when the chance for the same component identifier to appear on other computer is lesser and when it is more difficult for the identifier of a particular component to be tampered.
    Giving a particular threshold* the developer determines the identifiers comparing mechanism tolerance.

  • versioning
    Each generated identifier includes its associated version of component provider. The version is a guarantee that the identifier we receive from the user will be correctly interpreted by us. As a consequence, the characteristics of the generated identifiers can be changed with no concern to backwards compatibility.

  • handling of many programming environments
    HwHash can be accessed through native dll library exports and through the use of COM technology, due to which the library can be used in compiled programming environments, including .NET platform, as well as in script languages such as PHP, ASP, JSript, etc.

  • identifiers analysis
    The HwHash enables a detailed analysis of the generated identifiers. We are up to determine the components of the user system, every component score, and through comparing the identifiers we are able to evaluate which system components have changed since the latest program activation. It all can be done while preserving end-user anonymity, as only MD5 identifier (RSA Data Security, Inc. MD5 Message-Digest Algorithm) shortcuts, of particular component, are belong to the identifier, so it makes impossible to recreate the initial value of a particular component identifier.

  • user permissions
    Component classes used in component provider 1.0 version, run in the following MS Windows operating systems: 9x, ME, NT4, 2000, XP, Windows Server 2003. In the case of Windows NT based systems, the library requires no specific permissions - the "guest" account is enuogh to generate the identifier.

http://www.hwhash.com/binary/HwHashDemo.exe

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值