Wing IDE Pro 5.X, 6.x 7.x, 8.x, 9.x 版本KeyGen

Wing IDE是一个Python语言的IDE,其中包括大量语法标签的高亮显示。

中文名: Wing IDE

功能: 代码智能化

包括: 大量语言的语法标签高亮显示

性质: 一个Python语言的IDE

更新了  Wing Pro - Version 9.0.2

import os
import string
import random
import hashlib
import platform
py_version = platform.python_version()
if py_version[0] != '3':
    print("Can't run under python2 env ! please run tool under python 3.2 or later version !")
    os.system("pause")
    os._exit(0)
# GUI Import
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
 
BASE16 = '0123456789ABCDEF'
BASE30 = '123456789ABCDEFGHJKLMNPQRTVWXY'
 
 
def RandomString(size=20, chars=string.ascii_uppercase + string.digits):
    return ''.join((random.choice(chars) for _ in range(size)))
 
 
def BaseConvert(number, fromdigits, todigits, ignore_negative=True):
    if not ignore_negative and str(number)[0] == '-':
        number = str(number)[1:]
        neg = 1
    else:
        neg = 0
    x = 0
    for digit in str(number):
        x = x * len(fromdigits) + fromdigits.index(digit)
 
    res = ''
    while x > 0:
        digit = x % len(todigits)
        res = todigits[digit] + res
        x //= len(todigits)
 
    if neg:
        res = '-' + res
    return res
 
 
def AddHyphens(code):
    return code[:5] + '-' + code[5:10] + '-' + code[10:15] + '-' + code[15:]
 
 
def SHAToBase30(digest):
    tdigest = ''.join([c for i, c in enumerate(digest) if i // 2 * 2 == i])
    result = BaseConvert(tdigest, BASE16, BASE30)
    while len(result) < 17:
        result = '1' + result
    return result
 
 
def loop(ecx, lichash):
    part = 0
    for c in lichash:
        part = ecx * part + ord(c) & 1048575
    return part
 
g_version_list = ('9.0.4','8.0.0', '7.X.X', '6.X.X', '5.X.X')
g_version_magics = {
    '5.X.X': [7, 123, 23, 87],
    '6.X.X': [23, 161, 47, 9],
    '7.X.X': [221, 13, 93, 27],
    '8.0.0': [179, 95, 45, 245],
    '9.0.4': [123, 17, 42, 7]
}
 
 
def CalcActivationCode(args):
    if not isinstance(args, Application):
        return
    # # Generate License ID
    # licenseID = AddHyphens('CN' + RandomString(18, '123456789ABCDEFGHJKLMNPQRTVWXY'))
    licenseID = args.LicID.get()
    print ('License id: ' + licenseID)
     
    #requestCode = input('Enter request code:')
    requestCode = args.ReqCode.get()
    if requestCode.strip() == '':
        messagebox.showerror("Hints", "Please input the Request Code !")
        return 
    # # SHA1
    shaHasher = hashlib.sha1()
    shaHasher.update(requestCode.encode('utf-8'))
    shaHasher.update(licenseID.encode('utf-8'))
    hashResult = shaHasher.hexdigest().upper()
    lichash = AddHyphens(requestCode[:3] + SHAToBase30(hashResult))
 
    versionMagic = None
    # Supported crack WingIDE Pro version list : 5.x.x, 6.x.x, 7.x.x
    wingIDEProVerStr = args.VersionInfo.get()
    print ('Cracking WingIDE Version : ' + wingIDEProVerStr)
    if wingIDEProVerStr in g_version_magics.keys():
        versionMagic = g_version_magics[wingIDEProVerStr]
    if versionMagic:
        activationCode = format(loop(versionMagic[0], lichash), '05x') + \
            format(loop(versionMagic[1], lichash), '05x') + \
            format(loop(versionMagic[2], lichash), '05x') + \
            format(loop(versionMagic[3], lichash), '05x')
        pass
    else:
        print('Get wrong WingIDE version, exit...')
        os._exit(0)
    activationCode = BaseConvert(activationCode.upper(), BASE16, BASE30)
    while len(activationCode) < 17:
        activationCode = '1' + activationCode
 
    activationCode = AddHyphens('AXX' + activationCode)
    print ('Activation code: ' + activationCode)
    args.ActCode.set(activationCode)
    pass
 
 
class Application(Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.master.title('WingIDE Pro Keygen(5, 6, 7)')
        self.master.geometry('350x180')
        self.create_widgets()
        pass
 
    def create_widgets(self):
        current_row = 0
        current_col = 0
 
        # Version Info
        self.l0 = Label(self.master, text='WingIDE Pro :')
        self.l0.grid(padx=5, pady=5, row=current_row, column=current_col)
        self.VersionInfo = StringVar()
        self.versionComb = ttk.Combobox(self.master, textvariable=self.VersionInfo, state='readonly')
        self.versionComb['values'] = g_version_list
        self.versionComb.grid(padx=5, pady=1, row=current_row, column=current_col + 1)
        self.versionComb.current(0)
        current_row += 1
 
        # License ID info
        self.l1 = Label(self.master, text='LicenseID:')
        self.l1.grid(padx=5, pady=5, row=current_row, column=current_col)
        self.LicID = StringVar()
        self.LicEntry = Entry(self.master, textvariable=self.LicID, width=30, state='readonly')
        self.LicEntry.grid(padx=5, pady=5, row=current_row, column=current_col + 1)
        self.LicID.set(AddHyphens('CN' + RandomString(18, '123456789ABCDEFGHJKLMNPQRTVWXY')))
        current_row += 1
 
        # Request code info
        self.l2 = Label(self.master, text='RequestCode:')
        self.l2.grid(padx=5, pady=5, row=current_row, column=current_col)
        self.ReqCode = StringVar()
        self.ReqcodeEntry = Entry(self.master, textvariable=self.ReqCode, width=30)
        self.ReqcodeEntry.grid(padx=5, pady=5, row=current_row, column=current_col + 1)
        current_row += 1
 
        # Activation code info
        self.l3 = Label(self.master, text=b'ActivationCode:')
        self.l3.grid(padx=5, pady=5, row=current_row, column=current_col)
        self.ActCode = StringVar()
        self.ReqcodeEntry = Entry(self.master, textvariable=self.ActCode, width=30, state='readonly')
        self.ReqcodeEntry.grid(padx=5, pady=5, row=current_row, column=current_col + 1)
        current_row += 1
 
        self.btn_Calc = Button(self.master)
        self.btn_Calc['text'] = 'Generate'
        self.btn_Calc['command'] = lambda: CalcActivationCode(self)
        self.btn_Calc.grid(padx=5, pady=5, row=current_row, column=current_col + 1)
        pass
 
 
if __name__ == '__main__':
    root = Tk()
    #
    app = Application(master=root)
    app.mainloop()

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值