• <menu id="w2i4a"></menu>
  • logo VMPsoft中文文檔

    文檔首頁>>VMPsoft中文文檔>>UNIX 密鑰生成器

    UNIX 密鑰生成器


    VMProtect 是新一代軟件盜版保護(hù)解決方案。VMProtect 是目前強(qiáng)大的反盜版解決方案之一,許多領(lǐng)先的軟件發(fā)行商都在使用它。VMProtect允許保護(hù)可執(zhí)行文件(EXE,SCR),動(dòng)態(tài)鏈接庫(DLL,OCX,BPL)和驅(qū)動(dòng)程序(SYS)。

    VMProtect最新版下載

    加密解密技術(shù)交流群(766135708)

    .UNIX 版本的密鑰生成器是一個(gè) PHP 文件,其中包含生成序列號所需的所有信息。該文件位于Keygen\PHP中。下面我們描述使用這種生成器的要點(diǎn)。

    配置生成器

    在 PHP 文件的開頭,設(shè)置代碼位于:

    //////////////////////////////////////////////////////////////////////////////////////////////
    // The following lines should be generated by VMProtect License Manager
    $exported_algorithm = "RSA";
    $exported_bits = 2048;
    $exported_private = "PJvj4kEpoQMIpYK+9wEt......xKeiSZgzdiln8Q==";
    $exported_modulus = "rOlny/3QgZb/VmGr3CmY......I6ESAUmtQ+RBqQ==";
    $exported_product_code = "oLQdGUn8kVk=";
    //////////////////////////////////////////////////////////////////////////////////////////////

    此代碼由 VMProtect 自動(dòng)生成(請參閱導(dǎo)出產(chǎn)品參數(shù))并且對于每個(gè)特定產(chǎn)品都是唯一的。準(zhǔn)確復(fù)制它至關(guān)重要,否則生成器將無法正常工作。

    密鑰的內(nèi)容

    生成器指定一個(gè)序列號的內(nèi)容。這些內(nèi)容在一個(gè)數(shù)組中指定,下面列出了密鑰的所有可能參數(shù)。然而,在實(shí)際應(yīng)用中,其中一些可能會(huì)被省略:

    $params = array(
    user_name => "John Doe", // UTF-8!
    email => "john@doe.com",
    hwid => "vHGMdMRvGCPjWcCQ", // Exactly as returned by VMProtectGetCurrentHWID
    expire_date => array(year => 2009, month => 10, day => 1),
    maxbuild_date => array(year => 2009, month => 10, day => 1),
    time_limit => 10,
    user_data => base64_decode("CGCvRvMWcPHGdMjQ"), // string of bytes
    );

    成功的密鑰生成處理函數(shù)

    您可以在下面看到成功生成序列號時(shí)調(diào)用的最簡單的函數(shù)。發(fā)送給它的唯一參數(shù)是序列號字符串。該函數(shù)必須將序列號傳遞給調(diào)用者(電子商務(wù)代理),通常使用echo命令。為了方便起見,該字符串被初步拆分為每個(gè) 75 個(gè)符號的子字符串。此外,此功能可以通過電子郵件將生成的序列號發(fā)送給開發(fā)人員或?qū)⑵涮砑拥綌?shù)據(jù)庫中。

    function OnSerialGenerated($serial)
    {
    $serial = wordwrap($serial, 75, "\n", true);
    echo $serial;
    }

    密鑰生成器錯(cuò)誤處理函數(shù)

    需要我們注意的代碼的最后一部分是出現(xiàn)問題時(shí)調(diào)用的函數(shù)。此函數(shù)接收帶有錯(cuò)誤消息的字符串,完成后調(diào)用die()函數(shù)。處理程序函數(shù)必須做兩件事:代替密鑰,向電子商務(wù)代理返回一條消息,說明將手動(dòng)發(fā)送密鑰。并向開發(fā)人員發(fā)送有關(guān)錯(cuò)誤的詳盡信息以修復(fù)它并手動(dòng)生成密鑰。

    function OnSerialGenerationFailed($details)
    {
    echo "You will receive serial number in the next 24 hours"; // message to the customer
    // mail("support@vendor.com", "Houston, we have a problem", $details); // message to vendor
    }

    有幾種可能的錯(cuò)誤原因:算法參數(shù)不正確,密鑰參數(shù)不正確,用戶名或電子郵件太長,或者序列號太長不適合算法中指定的位數(shù). 這就是為什么OnSerialGenerationFailed函數(shù)必須向開發(fā)人員發(fā)送有關(guān)該問題的詳細(xì)信息,以便他可以生成序列號并將其發(fā)送給客戶。

    其他需要考慮的事情

    示例包含密鑰生成器的簡化版本。它沒有考慮開發(fā)網(wǎng)絡(luò)生成器的建議。它不檢查調(diào)用方的 IP 地址,也不分析輸入?yún)?shù)。在開發(fā)自己的生成器時(shí)請注意這一點(diǎn)。用戶名和電子郵件必須作為 UTF-8 字符串傳遞。確保您的電子商務(wù)代理以 UTF-8 編碼發(fā)送這些數(shù)據(jù),如果不是這樣,則對信息進(jìn)行轉(zhuǎn)碼。

    錯(cuò)誤的編碼不會(huì)導(dǎo)致生成錯(cuò)誤的序列號,但這樣的序列號顯示的注冊名可能與真實(shí)用戶名不同,所以他或她可能會(huì)在“關(guān)于”窗口中看到它時(shí)感到驚訝。應(yīng)用非對稱加密是一個(gè)復(fù)雜的數(shù)學(xué)過程。如果使用純PHP實(shí)現(xiàn),沒有任何第三方庫,生成序列號可能需要幾十秒。生成器在可用時(shí)使用gmp_powm、bi_powmod、bcpowod函數(shù)。如果在您的主機(jī)上生成序列號的時(shí)間太長,我們建議要求主機(jī)提供商啟用這些功能。例如,gmp_powm函數(shù)的運(yùn)行速度是bcpowmod的十倍。

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();