⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 artlicense.html

📁 very simple nonvisual Delphi component useful for shareware program developing. It uses crypted lic
💻 HTML
字号:
<body>

<p><b><font size=4 color=navy> TArtLicense v1.1</font></b>

<hr color=blue>

<p><b>TArtLicense</b> - very simple nonvisual Delphi component useful for shareware
program developing.<br> 
It uses crypted license files containing information about exe file (size and crc), 
expired date and any additional information.<br>
As TArtLicense uses RSA asymmetric algorithm and TArtLicense knows only decryption key,
nobody can change information inside license file.
<p>Archive also includes source code of ArtLicGenerator (program to generate license files compatible with TArtLicense). 

<p><b>Warning!</b> TArtLicense Component v1.1 is not understand license files, created for previous version.

<hr>

<b><font size=4 color=navy>Description</font></b>

<p><b><font size=4>Properties:</font></b>

<p><b>property</b>LicInfo : TArtLicInfo; - Contains decrypted license information.
<p>TArtLicInfo = <b>record</b>
  date : TDatetime; - expired date
  size : LongWord; - exe file size
  crc : LongWord; - crc of exe file
  code : string; - license code 
  data : string; - any additional data
 <b>end</b>;


<p><b><font size=4>Published properties:</font></b>

<p><b>property</b> LicFile : string; - specifies license file name.
<p><b>property</b> Message : string; - message to show if license is invalid and Action property set to etShowMessageAndTerminate;
<p><b>property</b> Action : TArtLicErrType; - specifies what Test procedure should do if license file is invalid.
<p><b>type</b> TArtLicErrType = (etSilent, etException, etTerminate, etShowMessageAndTerminate); 
<ul>
<li>etSilent - simply return false
<li>etException - raise exception of EArtLicViolation type
<li>etTerminate - terminate program
<li>etShowMessageAndTerminate - show message and terminate program
</ul>
<p><b>property</b> Code : string; - license code
<p><b>property</b> UseSize : boolean; - test size and crc of exe file and specified in license file
<p><b>property</b> UseDate : boolean; - test date specified by TestDate property and license expired date
<p><b>property</b> TestDate : TDateTime; - date to test with license expired date
<p><b>property</b> Key : string; - decryption key (hex string).
<p><b>property</b> Data : string; - returns data contained in license file as string (same as GetDataString) 
<p><b>property</b> ExData : string; - returns additional (not encrypted) data contained in license file as string (same as GetExDataString)

<p><b><font size=4>Methods:</font></b> 
<p><b>function</b> Test : boolean; - Test license file specified by LicFile property 
<p><b>function</b> GetInfo : TArtLicInfo; - returns decrypted license information (equal to LicInfo).
<p><b>function</b> GetDataString : string; - returns data contained in license file as string (same as Data)
<p><b>function</b> GetDateSize : integer; - returns size of additional data in license file
<p><b>procedure</b> GetData(var buff); - write data to buffer of any type.
<p><b>function</b> GetExDataString : string; - returns additional (not encrypted) data contained in license file as string (same as Data)
<p><b>function</b> GetExDateSize : integer; - returns size of additional (not encrypted) data in license file
<p><b>procedure</b> GeExtData(var buff); - write additional (not encrypted) data to buffer of any type.

<hr>
<b><font size=4 color=navy>How to use</font></b>

<p>Set LicFile property to license file name. Specify license code. License code can contain any information and should coincide with one in license file. For example it can determine application version license intended for or depends on hardware configuration (n.b. you can use <a href="http://artsoft,nm.ru/works.html#hdd">THDDInfo</a> component to obtain s/n of hard drive). In last case license file will be bound to the specific computer and can't be used on other one.
<p>If you want to test exe file size and crc number set UseSize property to true. This verifies that exe file is unchanged.
<p>If you want test expired date, set TestDate property to current date (or any other desirable value) and UseDate property to true.
<p>Set Key property to decryption key.
<p>Call Test method to verify license. If license file contains valid information (code, date, file size and crc) Test method returns true. Depending on value of Action property Test method can simply return false (Action = etSilent), raise exception of EArtLicViolation type (etException), terminate program (etTerminate) or show message specified by Message property and then terminate program (etShowMessageAndTerminate).
<p>To get license information use LicInfo or Data property or GetInfo and GetDataString methods. If information in license file is not of string type, you can use GetDateSize method to obtain size of data and GetData method to copy data into buffer of any type.
<p>License file can contain additional (not encrypted) data. To obtane additional data use ExData property or ExGetInfo and ExGetDataString methods. If additional information is not of string type, you can use GetExDateSize method to obtain size of additional data and GetExData method to copy data into buffer of any type. Of corse to protect your data you can store all you additional information inside Data field, but as symmetric encryption algorithms are much faster than RSA, it is reasonable to encrypt additional data with symmetric encryption algorithm and place only the key into Data field of license file. See Demo for example of implementing this scheme.  

<p>To create license file use ArtLicGenerator program.



<hr size=2 width="100%" align=center>
<b><font size=4 color=navy>History</font></b>

<ul type=disc>
 <li>
     Version 1.1: Now license file can containe non-encrypted additional data (ExData property)
 <li>
     Version 1.0: First working version 
</ul>

<hr size=2 width="100%" align=center>
<b><font size=4 color=navy>Author</font></b> 


<p>Artem V. Parlyuk, <a href="mailto:artsoft@nm.ru">e-mail:artsoft@nm.ru</a>, <a href="http://artsoft.nm.ru">http://artsoft.nm.ru</a>  
<p>RSA implementation is made by Walied Othman, to contact him
mail to <a href="Walied.Othman@Student.KULeuven.ac.be">Walied.Othman@Student.KULeuven.ac.be</a> or <a href="Triade@ace.Ulyssis.Student.KULeuven.ac.be">Triade@ace.Ulyssis.Student.KULeuven.ac.be</a>
<p>Crc32 unit by Andrew Rubin
 
<hr size=2 width="100%" align=center>
<b><font size=4 color=navy>License and disclaimer agreement</font></b> 

<p><b>IMPORTANT - READ CAREFULLY</b>

<p>This license and disclaimer statement constitutes a legal agreement (&quot;License Agreement&quot;) between you (either as an individual or a single entity) and Artem Parlyuk (the &quot;Author&quot;), for this software product in this particular case TArtLicense Delphi component (&quot;Software&quot;), including any software, media, and accompanying on-line or printed documentation. 

<p><b>BY DOWNLOADING, INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE BOUND BY ALL OF THE TERMS AND CONDITIONS OF THIS LICENSE AND DISCLAIMER AGREEMENT.</b> If you do not agree with the terms and conditions of this agreement, you must promptly cease all use of the software and destroy all copies of this software and all of its component parts in your possession or under your control. 

<p>This Software is owned by Author and is protected by copyright law and international copyright treaty. 

<p>This Software is freeware. You are granted the permission to use Software in your own applications for private or commercial purposes, provided your software contains the copyright notice &quot;TArtLicense Delphi component Copyright (c) by Artem Parlyuk&quot; and link to the Author site (http://artsoft.nm.ru) and Author e-mail (mailto:artsoft@nm.ru) . 

<p>You can freely distribute copies of the main archive as long as no alterations are made to the contents and no charge is raised except a reasonable fee for distributing costs. You may not remove copyright notices from copies of the Software. You may not claim this Software as written by anyone but Author, Artem Parlyuk. 

<p>The author has taken all possible care to ensure the software is error-free,
however the author disavows any potential liability arising from any use of the
software. This software is provided "as is" and without any warranties expressed or implied, including, but not limited to, implied warranties of fitness for a particular purpose, and non-infringement. You expressly acknowledge and agree that use of the Software is at your sole risk. 

<p>In no event shall the author be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use this software or documentation, even if the author has been advised of the possibility of such damages. 

<p>Any feedback given to the Author will be treated as non-confidential. The Author may use any feedback free of charge without limitation. 

</font>


</body>

</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -