首页 > 代码库 > python 反编译模块uncompyle2的使用--附破解wingide5 方法
python 反编译模块uncompyle2的使用--附破解wingide5 方法
原来一直用pycharm,无奈它经常无法使用.来访问一些模块的属性,朋友推荐了wingide,于是去官网下载了wingide5的最新版本,只有10天的试用期,就想是否能用python的uncompyle2来反编译一下注册文件:
首先下载uncompyle2
sudo pip2.7 install uncompyle2
安装成功后就可以在命令行下使用uncompyle2了,windows可以去安装路径查找这个exe命令
其次,从wingide中找到注册文件 bin/2.7/中的src.zip,将其中的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
然后再将我们修改好的py文件生产pyo文件放到src.zip文件中去就ok了!
以上方法仅供学习,请支持购买正版软件。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。