E語言 取機器碼 根據機器碼算出注冊碼 的代碼


.版本 2
.支持庫 spec
.支持庫 xplib
.支持庫 eAPI

.程序集 窗口程序集_啟動窗口
.程序集變量 注冊碼, 文本型

.子程序 __啟動窗口_創建完畢
.局部變量 臨時字符串, 文本型
.局部變量 初始字符串長度, 整數型
.局部變量 局_計次, 整數型
.局部變量 取出的字符, 文本型
.局部變量 整數字符串, 文本型

_啟動窗口.標題 = _啟動窗口.標題 + #版本號
調試輸出 (到時間 (“123”))

圖片框1.圖片 = #banner2

XP風格 (1)

' 判斷目錄是否存在,不存在則創建

.如果 (文件是否存在 (取運行目錄 () + “\cmars配置文件”))

.否則
    創建目錄 (取運行目錄 () + “\cmars配置文件”)
.如果結束



' 判斷是否存在存放注冊碼的文本
' 若不存在,則創建,若存在,則寫入內容
.判斷開始 (文件是否存在 (取運行目錄 () + “/cmars配置文件/regnum.txt”))
    編輯框_注冊碼.內容 = 到文本 (讀入文件 (取運行目錄 () + “/cmars配置文件/regnum.txt”))  ' ' 郵箱顯示出來

.默認
    寫到文件 (取運行目錄 () + “/cmars配置文件/regnum.txt”, 到字節集 (“此處填寫注冊碼!”))  ' ' 若不存在則創建配置文件 並復提示語
    編輯框_注冊碼.內容 = 到文本 (讀入文件 (取運行目錄 () + “/cmars配置文件/regnum.txt”))

.判斷結束
' 獲取機器碼
編輯框_機器碼.內容 = 取機器碼 ()
調試輸出 (編輯框_機器碼.內容)
調試輸出 (到整數 (編輯框_機器碼.內容))

' 算出注冊碼 以便下一步驗證
臨時字符串 = 編輯框_機器碼.內容  ' CDDE1A7E3EFDBFEBFBFF000306C3
初始字符串長度 = 取文本長度 (臨時字符串)
調試輸出 (初始字符串長度)  ' 28
.計次循環首 (初始字符串長度, 局_計次)
    取出的字符 = 取文本左邊 (臨時字符串, 1)
    .如果 (尋找文本 (“1234567890”, 取出的字符, , 假) ≠ -1)  ' 說明是數值
        整數字符串 = 整數字符串 + 取出的字符
    .否則

    .如果結束
    臨時字符串 = 取文本右邊 (臨時字符串, 取文本長度 (臨時字符串) - 1)
    調試輸出 (臨時字符串)
.計次循環尾 ()
調試輸出 (整數字符串)
注冊碼 = 到文本 (到整數 (到整數 (整數字符串) × 5.2 + 1314))   ’算出注冊碼的規則 自己可以定義
調試輸出 (注冊碼)

.子程序 取機器碼, 文本型
.局部變量 輸入內容, 文本型
.局部變量 輸出內容, 文本型
.局部變量 文本長度, 整數型
.局部變量 i, 整數型
.局部變量 臨時變量I, 整數型
.局部變量 臨時變量J, 整數型
.局部變量 轉換后文本, 文本型
.局部變量 臨時, 字節集
.局部變量 網卡地址, 網卡信息, , "0"
.局部變量 網卡mac, 文本型
.局部變量 CPU信息, CPU信息
.局部變量 CPU, 文本型
.局部變量 大寫字母, 文本型, , "26"
.局部變量 小寫字母, 文本型, , "26"
.局部變量 數字, 文本型, , "26"
.局部變量 計次, 整數型
.局部變量 總計, 文本型

數字 = { “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “11”, “12”, “13”, “14”, “15”, “16”, “17”, “18”, “19”, “20”, “21”, “22”, “23”, “24”, “25”, “26” }
大寫字母 = { “A”, “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”, “J”, “K”, “L”, “M”, “N”, “O”, “P”, “Q”, “R”, “S”, “T”, “U”, “V”, “W”, “X”, “Y”, “Z” }
小寫字母 = { “a”, “b”, “c”, “d”, “e”, “f”, “g”, “h”, “i”, “j”, “k”, “l”, “m”, “n”, “o”, “p”, “q”, “r”, “s”, “t”, “u”, “v”, “w”, “x”, “y”, “z” }
取CPU信息 (CPU信息)
CPU = 取文本左邊 (CPU信息.序列號, 18)
網卡地址 = 取網卡信息列表 ()
.判斷開始 (取數組成員數 (網卡地址) ≥ 1)
    網卡mac = 網卡地址 [1].物理地址
.默認
    網卡mac = “10-11-11-11-11-11”
.判斷結束

輸入內容 = 子文本替換 (網卡mac, “-”, “”, , , 真) + 子文本替換 (CPU, “-”, “”, , , 真)
文本長度 = 取文本長度 (輸入內容)
.計次循環首 (文本長度, i)
    轉換后文本 = 取文本中間 (輸入內容, i, 1)
    .如果真 (轉換后文本 ≥ “A” 且 轉換后文本 ≤ “Z” 或 轉換后文本 ≥ “a” 且 轉換后文本 ≤ “z”)
        轉換后文本 = “”
    .如果真結束
    輸出內容 = 輸出內容 + 轉換后文本
.計次循環尾 ()

.計次循環首 (取文本長度 (輸入內容), 臨時變量I)
    .計次循環首 (取數組成員數 (大寫字母), 臨時變量J)
        .如果真 (取文本中間 (輸入內容, 臨時變量I, 1) = 大寫字母 [臨時變量J] 或 取文本中間 (輸入內容, 臨時變量I, 1) = 小寫字母 [臨時變量J])
            編輯框1.加入文本 (數字 [臨時變量J])
        .如果真結束
        ' 本源碼來自易語言資源網(www.5A5X.com)
    .計次循環尾 ()
.計次循環尾 ()

臨時 = 到字節集 (子文本替換 (網卡mac, “-”, “”, , , 真) + 子文本替換 (CPU, “-”, “”, , , 真))
.計次循環首 (4, 計次)
    .如果真 (臨時 [計次] ≠ 45 且 臨時 [計次] < 48 或 臨時 [計次] > 57)
        到循環尾 ()
    .如果真結束
    .如果真 (臨時 [計次] = 48)
        臨時 [計次] = 74
        到循環尾 ()
    .如果真結束
    .如果真 (臨時 [計次] = 45)
        臨時 [計次] = 77
        到循環尾 ()
    .如果真結束
    臨時 [計次] = 臨時 [計次] + 16
.計次循環尾 ()
返回 (到文本 (臨時))


.子程序 _按鈕1_被單擊

置剪輯板文本 (編輯框_機器碼.內容)


.子程序 _按鈕2_被單擊
.局部變量 注冊碼原始字符串, 文本型
.局部變量 得到的注冊碼, 文本型
.局部變量 加密的QQ字符串, 文本型
.局部變量 解密后的代理QQ, 文本型

注冊碼原始字符串 = 刪首尾空 (編輯框_注冊碼.內容)  ' ++++++++++++++++++++++++++++++++++++++++++++
' 注冊碼原始字符串 = “CMARS8599529603406082649”
' CMARS4304562307406082649
得到的注冊碼 = 取文本右邊 (注冊碼原始字符串, 取文本長度 (注冊碼))
.如果 (得到的注冊碼 = 到文本 (注冊碼))
    ' 解密代理的QQ
    加密的QQ字符串 = 取指定內容 (注冊碼原始字符串, “CMARS”, 注冊碼)
    調試輸出 (加密的QQ字符串)
    解密后的代理QQ = 到文本 (到長整數 (加密的QQ字符串) - 5201314916)
    調試輸出 (“解密后的:”)
    調試輸出 (解密后的代理QQ)
    .如果 (到長整數 (解密后的代理QQ) ≤ 0)  ' 如果沒有加入客服QQ 則默認官方的QQ號碼
        解密后的代理QQ = “9381037”
        調試輸出 (“<=0”)

    .否則


    .如果結束
    ' 賦值給全局變量
    全局_代理QQ = 解密后的代理QQ
    調試輸出 (“代理的QQ:” + 全局_代理QQ)
    _按鈕3_被單擊 ()  ' 記住正確的注冊碼
    載入 (_啟動窗口2, , 假)
    銷毀 ()
.否則
    信息框 (“注冊碼不正確,請聯系客服獲取注冊碼,客服QQ:9381037!”, 0, , )
.如果結束


.子程序 _按鈕3_被單擊

寫到文件 (取運行目錄 () + “/cmars配置文件/regnum.txt”, 到字節集 (刪首尾空 (編輯框_注冊碼.內容)))




.子程序 取指定內容, 文本型
.參數 完整內容, 文本型
.參數 左邊文本, 文本型
.參數 右邊文本, 文本型
.局部變量 臨時位置, 整數型
.局部變量 總長度, 整數型
.局部變量 臨時內容, 文本型

總長度 = 取文本長度 (完整內容)
臨時位置 = 尋找文本 (完整內容, 左邊文本, , 假) + 取文本長度 (左邊文本)
臨時內容 = 取文本中間 (完整內容, 臨時位置, 總長度)
總長度 = 取文本長度 (臨時內容)
臨時位置 = 尋找文本 (臨時內容, 右邊文本, , 假) - 1
臨時內容 = 取文本中間 (臨時內容, 1, 臨時位置)
返回 (臨時內容)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM