首页 > 其他分享 >wing pro 所有版本序列号脚本

wing pro 所有版本序列号脚本

时间:2022-09-05 00:34:49浏览次数:65  
标签: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
From: https://www.cnblogs.com/zhongtang/p/16656642.html

相关文章

  • Typescript类型体操 - Promise.all
    题目中文键入函数PromiseAll,它接受PromiseLike对象数组,返回值应为Promise<T>,其中T是解析的结果数组。constpromise1=Promise.resolve(3);constpromise2=42;cons......
  • acwing第66场周赛
    1.判断奇偶原题链接:https://www.acwing.com/problem/content/4609/判断就就直接%2即可#include<iostream>usingnamespacestd;intmain(){strings;fo......
  • 终止 Array.prototype.forEach 方法运行的方式
    通常情况下,Array.prototype上的遍历方法forEach、map、filter、...被调用以后会完整的遍历每一个数组项,并执行内部代码指令,无法被中途终止。但是可以通过 throw语句......
  • 加载properties文件,创建c3p0数据源
    //加载properties文件ResourceBundlerb=ResourceBundle.getBundle("properties文件名称");Stringdriver=rb.getString("properties文件中数据库驱动对应的key值");St......
  • AUTOSAR project process methodology
     <1>.exe  Althoughabovefigureshowsexecutableas .exe butitshouldnotbeconfusedwith .exefileofWindows PC .Here.exefilemeansagener......
  • FxFactory 8 Pro视觉特效处理包
    FxFactoryproformac是应用在Mac上的fcpx/ae/pr视觉特效插件包,包含了成百上千的视觉效果,打包了很多插件,如调色插件,转场插件,视觉插件,特效插件,文字插件,音频插件,可以为Final......
  • Promise
    Promise1、Promise有什么用?Promise是ES6中的一个对象,用来解决异步编程问题的一种方案,在网上经常看到回调地狱问题,Promise把这种嵌套调用的形式改为链式调用的方式,使得代......
  • 【WPF】INotifyPropertyChanged 的原理刨析
    1、本文转载自https://blog.csdn.net/qhwoaini/article/details/1258360372、Wpf中的Binding    熟悉wpf的朋友都知道wpf中大部分控件都继承自FrameworkElement,F......
  • IDEA Maven 报 Unable to import maven project解决方案
    问题:将同事给的项目放在自己电脑IDEA里,加载时一直报Unabletoimportmavenproject,seelogsfordetails。我是尝试了一天,终于没有了红色。解决:1.没有c盘的下载权限,将r......
  • wingw-w64安装排坑记录
     最近开发一个GO项目,使用了cgo,依赖gcc根据其他网上下载了mingw-w64-installer.exe在线安装,地址:https://sourceforge.net/projects/mingw-w64/files/本人下载了64位版......