Wing IDE pro 5.0.0-1版本破解方法(仅供测试,请使用正版软件)
Wing IDE pro 5.0.0-1版本破解方法(仅供测试,请使用正版软件)
bygreencn 发表于4年前
Wing IDE pro 5.0.0-1版本破解方法(仅供测试,请使用正版软件)
  • 发表于 4年前
  • 阅读 21461
  • 收藏 16
  • 点赞 7
  • 评论 24

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: Wing IDE pro 5.0.0-1版本uncompyle2破解方法(仅供测试,请使用正版软件)

Wing IDE pro 5.0.0-1 版本破解方法:

1、去官网下载最新版http://wingware.com/downloads/wingide ,我下载到的是Wing IDE Pro / Windows http://wingware.com/pub/wingide/5.0.0/wingide-5.0.0-1.exe

2、安装Wing IDE。

3、安装完成后获取试用版的许可,完成后关闭。

4. 下载python 2.7的反编译工具,Wing IDE 5的注册管理器使用的是python2.7,之前的版本使用的是python2.5,因此反编译工具unpyclib-0.8.1已经失效,在stackoverflow找到个不错的推荐uncompyle2(https://github.com/wibiti/uncompyle2)可以直接反编译出源文件, 还测试 了一下另一个https://github.com/zrax/pycdc,这个反编译会中途崩溃,所有非常推荐python2.7的反编译工具https://github.com/wibiti/uncompyle2

5、进入C:\Program Files\Wing IDE\bin\2.7,解压另存src.zip文件,剪切出其中的src\process\wingctl.pyo,复制到在uncompyle2解压的目录中,控制台运行命令python ./scripts/uncompyle2 -o ./  wingctl.pyo 得到wingctl.pyo_dis文件, 打开这个python文件,找到class CWingLicenseManager下函数def LicenseCheck(self, force = False)。添加一行valid=1。编译wingctl.pyo_dis,

 

写了个简单的编译代码 compile.py

import   py_compile;   
file4 = 'wingctl.pyo_dis';
py_compile.compile(file4);

运行控制台python compile.py后,得到wingctl.pyo_disc。将它改名为wingctl.pyc,复制会到src\process,注意将src\process\wingctl.pyo删除。然后在src目录下重新打包回src.zip

 

6、重启Wing IDE即可。


!!仅供测试,请使用正版软件

2016-03-31更新,好久没用wingIDE,因为搞点DeepID的测试,下载了5.1.10版,懒得反编译;算号的网址也不能用了,google了一下,居然找到看雪牛人的新东西,实验了一下居然可行,贴过来分享,首先声明请购买正版,此处仅限试用使用

 

2016-12-25更新, wingIDE升级到了6.0.0版,分析了一下,子串有些变化,做简单修改就能使得2~6版都能生成,再次声明请购买正版,此处仅限试用使用

也感谢看雪大神的分析 http://bbs.pediy.com/showthread.php?t=182231

python生成激活码的脚本:

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 首字母必须是 
 'T', Trial License - Evaluation Use Only             没人会使用
 'N', Perpetual License - Educational Use          没尝试
 'E', Perpetual License - Non-Commercial Use  验证码未成功过,不要使用
 'C', Perpetual License - Commercial Use          Binggle,就是它!!
 '6', Free Annual License - Educational Use       没人会使用
 'Y', Annual License - Commercial Use               没人会使用
 'H' Annual License - Non-Commercial Use        没人会使用 """

LicenseID='CN123-12345-12345-12345'
#Copy the Request Code from the dialog
RequestCode='RW61Y-RBA9M-3NKN4-68WAN'
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
if RequestCode[2:].startswith('6'):
    data=[23,161,47,9]
elif RequestCode[2:].startswith('5'):
    data=[7,123,23,87]
elif RequestCode[2:].startswith('4'):
    data=[240,4,47,98]
elif RequestCode[2:].startswith('3'):
    data=[127,45,209,198]
elif RequestCode[2:].startswith('2'):
    data=[123,202,97,211]
else :
    print 'Not support!'
    exit(0)

 


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

仅有两行需要注意,绿色为对话框填写的注册码,蓝色为对话框告知的申请码,生成的输出结果即为激活码。

标签: Wing IDE pro 5.0.0 crack
共有 人打赏支持
粉丝 14
博文 20
码字总数 7435
评论 (24)
Adven
刚学python,很是惊奇居然这么破解软件,直接源代码修改。
试了一下,很好使。
python ./scripts/uncompyle2 -o ./wingctl.pyo
不过中间少了一个空格。
python ./scripts/uncompyle2 -o ./ wingctl.pyo
chenzhaosheng
我修改完后 双击打不开swing ide了。不知道是怎么回事17
chenzhaosheng
晕 马虎了 把src打包时多打了一层src目录
chenzhaosheng
非常感谢
MIT_Orion
能把你的wingctl.pyc 共享下载么?我的是64位的PYTHON。一直都出问题。没法反编译。谢谢啦!
或者发我邮箱:jeffrey0122@163.com 。万分感谢!
bygreencn

引用来自“MIT_Orion”的评论

能把你的wingctl.pyc 共享下载么?我的是64位的PYTHON。一直都出问题。没法反编译。谢谢啦!
或者发我邮箱:jeffrey0122@163.com 。万分感谢!

发给你了,查收吧

顺便公布度盘共享,5.0.2版本重新编译文件

链接: http://pan.baidu.com/s/1bn7rKWv 密码: 9ht3
jdonee
反编译后无法重启,我的是5.0.2 Window 64位,求wingctl.pyc 邮箱 zc0922@163.com。谢谢。
bygreencn

引用来自“jdonee”的评论

反编译后无法重启,我的是5.0.2 Window 64位,求wingctl.pyc 邮箱 zc0922@163.com。谢谢。

注意你压缩后的文件目录是否和原始版本一致,我没有64位系统,不知道32位的是否一致,你自己验证吧,在我的百度网盘有共享。
原村小和和
楼主你好,我装的是5.0.3版本
我发现你给的包是src.zip大小为3M,软件自带的是8M,这是为什么?
bygreencn

引用来自“原村小和和”的评论

楼主你好,我装的是5.0.3版本
我发现你给的包是src.zip大小为3M,软件自带的是8M,这是为什么?

我之前也疑惑来着,后来发现在使用压缩软件时有设置字典大小,压缩方式的选择 ,这两个选项的不同会产生不同大小的压缩后文件,我这个3M的文件就是我自己在使用的,所以我可以确认这个不会影响使用。
原村小和和
我也破解好了,的确用起来没问题。谢谢楼主
greened
5.0.5版本python3.4,代码有中文,builtins.UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 112: invalid continuation byte,前面加# -*- coding: utf-8 -*-可以,能不能设置里面改,不用加这个? debugger I/O 那里都改成utf-8了还是不行。
bygreencn

引用来自“greened”的评论

5.0.5版本python3.4,代码有中文,builtins.UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 112: invalid continuation byte,前面加# -*- coding: utf-8 -*-可以,能不能设置里面改,不用加这个? debugger I/O 那里都改成utf-8了还是不行。

这是python的范畴,和wingIDE没什么关系。你用了中文就要指定文件的编码格式,不用不成,设置怎么加,没玩转不会。

卖小女孩的小火柴
感谢大神,已经在使用了。
scroll
反编译时报错,“no module named uncompyle2”,请问,是怎么回事啊?
bygreencn

引用来自“scroll”的评论

反编译时报错,“no module named uncompyle2”,请问,是怎么回事啊?
uncompyle2没有安装,uncompyle2目录下 python setup.py install 试试
dennis
直接在线算号
http://active.iaibi.com
bygreencn

引用来自“dennis”的评论

直接在线算号
http://active.iaibi.com
不错,可用,第一次没整对,现在测试5.0.7-1版本上ok了,估计你的算法来自http://bbs.pediy.com/showthread.php?t=182231
scroll
后来直接用你的了。。1
scroll

引用来自“dennis”的评论

直接在线算号
http://active.iaibi.com
这个算号是干嘛的?根本不对啊
×
bygreencn
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: