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了!
以上方法仅供学习,请支持购买正版软件。
python 反编译模块uncompyle2的使用--附破解wingide5 方法的更多相关文章
- Python 反编译工具uncompyle2
如何反编译pyc uncompyle2 是一个可以将pyc文件转换为py源码的工具 下载地址:https://github.com/wibiti/uncompyle2 安装: setup.py ins ...
- python反编译工具
开发类在线工具:https://tool.lu/一个反编译网站:https://tool.lu/pyc/ 一看这个标题,就是搞坏事用的, 用 java 写程序多了,很习惯用反编译工具了,而且玩java ...
- Python反编译调用有道翻译(附完整代码)
网易有道翻译是一款非常优秀的产品,他们的神经网络翻译真的挺无敌.无奈有道客户端实在是太难用了,而且在某些具体场景 (比如对网站进行批量翻译) 无法使用,而有道的云服务又特别的贵,一般人是无法 ...
- python反编译之字节码
如果你曾经写过或者用过 Python,你可能已经习惯了看到 Python 源代码文件:它们的名称以.Py 结尾.你可能还见过另一种类型的文件是 .pyc 结尾的,它们就是 Python "字 ...
- pyc 文件反编译 py uncompyle2
一.工具 https://github.com/Mysterie/uncompyle2 -----------------------2016-6-3 11:24:19-- source:[1]用un ...
- adworld python-trade | python反编译
附件是.pyc格式的文件. Python程序中,原始程序代码存储在.py文件里,而Python会在执行.py文件的时候,会将.py形式的程序编译成中间式文件(byte-compiled)的.pyc文件 ...
- python反编译chm文件并生成pdf文件
# -*- coding: utf-8 -*- import os import os.path import logging import pdfkit original_chm = r'C:\Us ...
- Python基于Pymssql模块实现连接SQL Server数据库的方法
首先,安装pymssql第三方库pip install pymssql 其次,导入pymssql库 最后们就可以连接数据库了 import pymssql server = "10.10.9 ...
- 使用uncompyle2直接反编译python字节码文件pyo/pyc
update:在Mac OS X版的September 10, 2014版(5.0.9-1)中发现安装目录中的src.zip已更换位置至WingIDE.app/Contents/Resources/b ...
随机推荐
- 让editplus支持sql编辑
摘自: http://www.cnblogs.com/yeminglong/archive/2011/10/15/2212991.html 让editplus支持sql编辑 时比较喜欢用editplu ...
- [Algorithm] Dynamic programming: Find Sets Of Numbers That Add Up To 16
For a given array, we try to find set of pair which sums up as the given target number. For example, ...
- [AngularJS] Angular 1.3 $submitted for Form in Angular
AngularJS 1.3 add $submitted for form, so you can use $submitted to track whether the submit event ...
- Maven项目结合POI实现导入导入导入导入导入Excl表格Demo-亲测可用
第一步:写入maven依赖(3.6是比较稳定的版本,可用于生产环境) <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --& ...
- SlidingMenu(一)
我们一般称之为侧边栏,今天下倒腾了一下,留点笔记... 源码来自:https://github.com/jfeinstein10/SlidingMenu 来张图把: 代码API注释看看这个吧 http ...
- Java之JVM调优案例分析与实战(3) - 堆外内存导致的溢出错误
环境:基于B\S的点子考试系统,为了发现客户端能实时地从服务端接收考试数据,系统使用了逆向AJAX技术(也称Comet或Server Side Push),选用CometD1.1.1作为服务端推送框架 ...
- Java lock 能被中断, synchronized 不能被中断
1.lock是可中断锁,而synchronized 不是可中断锁 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放, ...
- 【Linux】rmdir命令
用途 rmdir用于删除空目录 全称 rmdir的全称是:Remove Directory 参数 -p:连同上层空的目录一起删除 案例 现在有文件结构如下 test3 文件夹为空文件夹 test/te ...
- phpredis中文手册——《redis中文手册》 php版(转)
redis中文手册:http://readthedocs.org/docs/redis/en/latest/ 本文是参考<redis中文手册>,将示例代码用php来实现,注意php-red ...
- easyui框架Date日期类型以json形式显示到前台datagrid时,显示为[object Object]
如下图,easyui当后台把时间数据返回转换成json然后加载在easyui的datagrid里面,显示为[object Object] 需要对时间格式添加格式的显示方法 /** * 时间格 ...