红联Linux门户
Linux帮助

wingide5-forlinux破解版和破解方法

发布时间:2017-05-19 10:26:49来源:linux网站作者:吾行者无疆
wingide是优秀的Python IDE。美中不足不是免费的。网上有很多破解版其实都只提供了一个破解文件,而且破解文件比较老,是针对python2.5版本制作的。
wingide下载地址:http://wingware.com/downloads,安装过程略过。
如果不想自己反编译,这里有一个现成编译好的文件。http://download.csdn.net/detail/gugu1313/8466937
 
1.首先安装反编译工具uncompyle2
sudo apt-get install python-pip
sudo pip install uncompyle2   
 
2.查看wingide安装目录 whereis wingide5,我的是 /usr/lib/wingide5
从wingide中找到注册文件 /usr/lib/wingide5/bin/2.7/中的src.zip(对应2.7的python,如果是别的版本python去bin/xx下找),
解压src.zip. .在文件夹process里面有一个abstract.pyo文件。
然后用命令:
uncompyle2 abstract.pyo > abstract.py
这样就根据pyo文件生成了源码py文件,找到与使用期限相关的代码如下:
def _GetTermDaysLeft(self, lic = None):  
""" Get number of days left on license.  Returns the days, or 0 if expired, 
-1 if unlimited, or -2 on error """  
return -1                #我们直接在这里将这个函数返回-1 
if config.kSteam:  
try:  
return self.__GetSteamTermDaysLeft()  
except:  
return -2  
if lic is None:  
lic = self.fLicenseData  
if lic is None:  
return 0  
elif lic['termdays'] != '*':  
try:  
fields = string.split(lic['date'], '/')  
if len(fields) != 3:  
raise ValueError  
m, d, y = map(string.atoi, fields)  
if m < 1 or m > 12 or d < 1 or d > 31 or y < 0:  
raise ValueError  
if y < 100:  
y = 2000 + y  
lic_date = time.mktime((y,  
m,  
d,  
0,  
0,  
0,  
0,  
0,  
-1))  
except (ValueError, TypeError, OverflowError):  
return -2  
cur_date = time.time()  
try:  
lic_secs = int(lic['termdays']) * 24 * 60 * 60  
except ValueError:  
return -2  
if cur_date > lic_date + lic_secs:  
return 0  
if lic_date > cur_date + 86400:  
return 0  
return int((lic_secs - (cur_date - lic_date)) / 86400)  
else:  
return -1
 
3.然后再将我们修改好的py文件重新生成pyo文件
python -O -m py_compile abstract.py
将新生成的abstract.pyo 放入/usr/lib/wingide5/bin/2.7/src/process 文件夹中。破解完成。
执行/usr/lib/wingide5/wing 启动wingide 发现已经破解成功了。
wingide5-forlinux破解版和破解方法
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30893.html