WingIDE 5的安装与破解方法

网上大多是替换pyo文件的方法,试了一次不知道为什么出错了,以前用过这种破解脚本的方法,但是很难找,写在这里以后方便自己查询。前提是已经安装好Python。

1.WingIDE 5下载

可以从官方网站下载最新版本,也可以直接用这个5.0.0-1版本。

2.破解脚本

脚本是已经写好的,感谢伟大的原作者。贴出来是怕以后找不到,涉及侵权问题请告知,马上删除。

#CalcActivationCode.py
import sha
import string
BASE2 = '01'
BASE10 = '0123456789'
BASE16 = '0123456789ABCDEF'
BASE30 = '123456789ABCDEFGHJKLMNPQRTVWXY'
BASE36 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
BASE62 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'
BASEMAX = string.printable
def BaseConvert(number, fromdigits, todigits, ignore_negative = True):
    """ converts a "number" between two bases of arbitrary digits The input number is assumed to be a string of digits from the fromdigits string (which is in order of smallest to largest digit). The return value is a string of elements from todigits (ordered in the same way). The input and output bases are determined from the lengths of the digit strings. Negative signs are passed through. decimal to binary >>> baseconvert(555,BASE10,BASE2) '1000101011' binary to decimal >>> baseconvert('1000101011',BASE2,BASE10) '555' integer interpreted as binary and converted to decimal (!) >>> baseconvert(1000101011,BASE2,BASE10) '555' base10 to base4 >>> baseconvert(99,BASE10,"0123") '1203' base4 to base5 (with alphabetic digits) >>> baseconvert(1203,"0123","abcde") 'dee' base5, alpha digits back to base 10 >>> baseconvert('dee',"abcde",BASE10) '99' decimal to a base that uses A-Z0-9a-z for its digits >>> baseconvert(257938572394L,BASE10,BASE62) 'E78Lxik' ..convert back >>> baseconvert('E78Lxik',BASE62,BASE10) '257938572394' binary to a base with words for digits (the function cannot convert this back) >>> baseconvert('1101',BASE2,('Zero','One')) 'OneOneZeroOne' """
    if not ignore_negative and str(number)[0] == '-':
        number = str(number)[1:]
        neg = 1
    else:
        neg = 0
    x = long(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 SHAToBase30(digest):
    """Convert from a hexdigest form SHA hash into a more compact and ergonomic BASE30 representation. This results in a 17 'digit' number."""
    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 AddHyphens(code):
    """Insert hyphens into given license id or activation request to make it easier to read"""
    return code[:5] + '-' + code[5:10] + '-' + code[10:15] + '-' + code[15:]

LicenseID='CN123-12345-12345-12345'
#Copy the Request Code from the dialog
RequestCode='RW51D-H2H9H-C1565-6EY29'
hasher = sha.new()
hasher.update(RequestCode)
hasher.update(LicenseID)
digest = hasher.hexdigest().upper()
lichash = RequestCode[:3] + SHAToBase30(digest)
lichash=AddHyphens(lichash)

#Calculate the Activation Code
data=[7,123,23,87]
tmp=0
realcode=''
for i in data:
    for j in lichash:
        tmp=(tmp*i+ord(j))&0xFFFFF
    realcode+=format(tmp,'=05X')
    tmp=0

act30=BaseConvert(realcode,BASE16,BASE30)
while len(act30) < 17:
    act30 = '1' + act30
act30='AXX'+act30
act30=AddHyphens(act30)
print "The Activation Code is: "+act30

3.具体破解

1)先安装WingIDE,安装好后打开,激活时选择第三项,输入license id CN123-12345-12345-12345(这个license是随便乱填的)。

2)点击Continue后弹框,拷贝框中的request code。
WingIDE 5的安装与破解方法_第1张图片
3)修改Python脚本中的RequestCode为刚才得到的Request Code值,然后运行脚本,得到一个激活码。
WingIDE 5的安装与破解方法_第2张图片
4)把这个激活码填入上面的Activate License框中,点击Continue即可成功注册。
WingIDE 5的安装与破解方法_第3张图片
5)再次打开WingIDE即可正常使用。

你可能感兴趣的:(python,脚本,破解)