wingide5-forlinux破解版和破解方法

来源:互联网 发布:js 饼图 动画 插件 编辑:程序博客网 时间:2024/04/24 21:50

    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文件,找到与使用期限相关的代码如下:

[python] view plain copy
  1. def _GetTermDaysLeft(self, lic = None):  
  2.     """ Get number of days left on license.  Returns the days, or 0 if expired, 
  3.     -1 if unlimited, or -2 on error """  
  4.    <span style="color:#ff0000;"return -1                #我们直接在这里将这个函数返回-1</span>  
  5.     if config.kSteam:  
  6.       try:  
  7.         return self.__GetSteamTermDaysLeft()  
  8.       except:  
  9.         return -2  
  10.   
  11.     if lic is None:  
  12.       lic = self.fLicenseData  
  13.     if lic is None:  
  14.       return 0  
  15.     elif lic['termdays'] != '*':  
  16.       try:  
  17.         fields = string.split(lic['date'], '/')  
  18.         if len(fields) != 3:  
  19.           raise ValueError  
  20.         m, d, y = map(string.atoi, fields)  
  21.         if m < 1 or m > 12 or d < 1 or d > 31 or y < 0:  
  22.           raise ValueError  
  23.         if y < 100:  
  24.           y = 2000 + y  
  25.         lic_date = time.mktime((y,  
  26.          m,  
  27.          d,  
  28.          0,  
  29.          0,  
  30.          0,  
  31.          0,  
  32.          0,  
  33.          -1))  
  34.       except (ValueError, TypeError, OverflowError):  
  35.         return -2  
  36.   
  37.       cur_date = time.time()  
  38.       try:  
  39.         lic_secs = int(lic['termdays']) * 24 * 60 * 60  
  40.       except ValueError:  
  41.         return -2  
  42.   
  43.       if cur_date > lic_date + lic_secs:  
  44.         return 0  
  45.       if lic_date > cur_date + 86400:  
  46.         return 0  
  47.       return int((lic_secs - (cur_date - lic_date)) / 86400)  
  48.     else:  
  49.       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 发现已经破解成功了。
0 0
原创粉丝点击