ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

wing pro 所有版本序列号脚本

2022-09-05 00:32:03  阅读:245  来源: 互联网

标签:activationCode self wing current version master 序列号 pro row


1、支持wing pro 5.x.x 6.x.x 7.x.x 8.x.x 多个版本,而且是图形界面,绝对良心。

2、用wing pro 运行上述脚本,弹出tk版本的图形界面。

3、复制tk界面中license id 到wing pro中,点开enter lincense key菜单,输入Lincense id。

4、复制wing pro 注册界面中request id ,粘贴到tk界面中对应字段,点生成注册码。

5、拷贝注册码到wing pro注册界面,注册成功!

 

  1 import os
  2 import string
  3 import random
  4 import hashlib
  5 import platform
  6 py_version = platform.python_version()
  7 if py_version[0] != '3':
  8     print("Can't run under python2 env ! please run tool under python 3.2 or later version !")
  9     os.system("pause")
 10     os._exit(0)
 11 # GUI Import
 12 from tkinter import *
 13 from tkinter import ttk
 14 from tkinter import messagebox
 15  
 16 BASE16 = '0123456789ABCDEF'
 17 BASE30 = '123456789ABCDEFGHJKLMNPQRTVWXY'
 18  
 19  
 20 def RandomString(size=20, chars=string.ascii_uppercase + string.digits):
 21     return ''.join((random.choice(chars) for _ in range(size)))
 22  
 23  
 24 def BaseConvert(number, fromdigits, todigits, ignore_negative=True):
 25     if not ignore_negative and str(number)[0] == '-':
 26         number = str(number)[1:]
 27         neg = 1
 28     else:
 29         neg = 0
 30     x = 0
 31     for digit in str(number):
 32         x = x * len(fromdigits) + fromdigits.index(digit)
 33  
 34     res = ''
 35     while x > 0:
 36         digit = x % len(todigits)
 37         res = todigits[digit] + res
 38         x //= len(todigits)
 39  
 40     if neg:
 41         res = '-' + res
 42     return res
 43  
 44  
 45 def AddHyphens(code):
 46     return code[:5] + '-' + code[5:10] + '-' + code[10:15] + '-' + code[15:]
 47  
 48  
 49 def SHAToBase30(digest):
 50     tdigest = ''.join([c for i, c in enumerate(digest) if i // 2 * 2 == i])
 51     result = BaseConvert(tdigest, BASE16, BASE30)
 52     while len(result) < 17:
 53         result = '1' + result
 54     return result
 55  
 56  
 57 def loop(ecx, lichash):
 58     part = 0
 59     for c in lichash:
 60         part = ecx * part + ord(c) & 1048575
 61     return part
 62  
 63 g_version_list = ('8.0.0', '7.X.X', '6.X.X', '5.X.X')
 64 g_version_magics = {
 65     '5.X.X': [7, 123, 23, 87],
 66     '6.X.X': [23, 161, 47, 9],
 67     '7.X.X': [221, 13, 93, 27],
 68     '8.0.0': [179, 95, 45, 245],
 69 }
 70  
 71  
 72 def CalcActivationCode(args):
 73     if not isinstance(args, Application):
 74         return
 75     # # Generate License ID
 76     # licenseID = AddHyphens('CN' + RandomString(18, '123456789ABCDEFGHJKLMNPQRTVWXY'))
 77     licenseID = args.LicID.get()
 78     print ('License id: ' + licenseID)
 79      
 80     #requestCode = input('Enter request code:')
 81     requestCode = args.ReqCode.get()
 82     if requestCode.strip() == '':
 83         messagebox.showerror("Hints", "Please input the Request Code !")
 84         return 
 85     # # SHA1
 86     shaHasher = hashlib.sha1()
 87     shaHasher.update(requestCode.encode('utf-8'))
 88     shaHasher.update(licenseID.encode('utf-8'))
 89     hashResult = shaHasher.hexdigest().upper()
 90     lichash = AddHyphens(requestCode[:3] + SHAToBase30(hashResult))
 91  
 92     versionMagic = None
 93     # Supported crack WingIDE Pro version list : 5.x.x, 6.x.x, 7.x.x
 94     wingIDEProVerStr = args.VersionInfo.get()
 95     print ('Cracking WingIDE Version : ' + wingIDEProVerStr)
 96     if wingIDEProVerStr in g_version_magics.keys():
 97         versionMagic = g_version_magics[wingIDEProVerStr]
 98     if versionMagic:
 99         activationCode = format(loop(versionMagic[0], lichash), '05x') + \
100             format(loop(versionMagic[1], lichash), '05x') + \
101             format(loop(versionMagic[2], lichash), '05x') + \
102             format(loop(versionMagic[3], lichash), '05x')
103         pass
104     else:
105         print('Get wrong WingIDE version, exit...')
106         os._exit(0)
107     activationCode = BaseConvert(activationCode.upper(), BASE16, BASE30)
108     while len(activationCode) < 17:
109         activationCode = '1' + activationCode
110  
111     activationCode = AddHyphens('AXX' + activationCode)
112     print ('Activation code: ' + activationCode)
113     args.ActCode.set(activationCode)
114     pass
115  
116  
117 class Application(Frame):
118     def __init__(self, master=None):
119         super().__init__(master)
120         self.master = master
121         self.master.title('WingIDE Pro Keygen(5, 6, 7)')
122         self.master.geometry('350x180')
123         self.create_widgets()
124         pass
125  
126     def create_widgets(self):
127         current_row = 0
128         current_col = 0
129  
130         # Version Info
131         self.l0 = Label(self.master, text='WingIDE Pro :')
132         self.l0.grid(padx=5, pady=5, row=current_row, column=current_col)
133         self.VersionInfo = StringVar()
134         self.versionComb = ttk.Combobox(self.master, textvariable=self.VersionInfo, state='readonly')
135         self.versionComb['values'] = g_version_list
136         self.versionComb.grid(padx=5, pady=1, row=current_row, column=current_col + 1)
137         self.versionComb.current(0)
138         current_row += 1
139  
140         # License ID info
141         self.l1 = Label(self.master, text='LicenseID:')
142         self.l1.grid(padx=5, pady=5, row=current_row, column=current_col)
143         self.LicID = StringVar()
144         self.LicEntry = Entry(self.master, textvariable=self.LicID, width=30, state='readonly')
145         self.LicEntry.grid(padx=5, pady=5, row=current_row, column=current_col + 1)
146         self.LicID.set(AddHyphens('CN' + RandomString(18, '123456789ABCDEFGHJKLMNPQRTVWXY')))
147         current_row += 1
148  
149         # Request code info
150         self.l2 = Label(self.master, text='RequestCode:')
151         self.l2.grid(padx=5, pady=5, row=current_row, column=current_col)
152         self.ReqCode = StringVar()
153         self.ReqcodeEntry = Entry(self.master, textvariable=self.ReqCode, width=30)
154         self.ReqcodeEntry.grid(padx=5, pady=5, row=current_row, column=current_col + 1)
155         current_row += 1
156  
157         # Activation code info
158         self.l3 = Label(self.master, text=b'ActivationCode:')
159         self.l3.grid(padx=5, pady=5, row=current_row, column=current_col)
160         self.ActCode = StringVar()
161         self.ReqcodeEntry = Entry(self.master, textvariable=self.ActCode, width=30, state='readonly')
162         self.ReqcodeEntry.grid(padx=5, pady=5, row=current_row, column=current_col + 1)
163         current_row += 1
164  
165         self.btn_Calc = Button(self.master)
166         self.btn_Calc['text'] = 'Generate'
167         self.btn_Calc['command'] = lambda: CalcActivationCode(self)
168         self.btn_Calc.grid(padx=5, pady=5, row=current_row, column=current_col + 1)
169         pass
170  
171  
172 if __name__ == '__main__':
173     root = Tk()
174     #
175     app = Application(master=root)
176     app.mainloop()

 

标签:activationCode,self,wing,current,version,master,序列号,pro,row
来源: https://www.cnblogs.com/zhongtang/p/16656642.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有