值得注意的是,python2的整除/在python3中变成了//,sha方法细化成了sha1和sha256,所以破解文件需要更改加密方式和整除部分的编码方式,经过修改后,这个文件可以完美演算出破解码,你懂得

import hashlib
import string
BASE2 = ''
BASE10 = ''
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 = 0
for digit in str(number):
x = x * len(fromdigits) + fromdigits.index(digit) res = ''
while x > 0:
digit = x % len(todigits)
res = todigits[int(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(str(digest)) if int(i) // 2 * 2 == int(i) ])
result = BaseConvert(tdigest, BASE16, BASE30)
while len(result) < 17:
result = '' + 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='CN123-12345-12345-12345'
LicenseID='ENX27-HWM6G-XYVFA-165PG'
#Copy the Request Code from the dialog
RequestCode='RW52X-G93T8-R2927-YJYFX'
hasher = hashlib.sha1()
hasher.update(bytes(RequestCode, 'ascii'))
hasher.update(bytes(LicenseID, 'ascii'))
digest = hasher.hexdigest().upper()
lichash = RequestCode[:3] + SHAToBase30(digest)
lichash=AddHyphens(lichash)
#Calculate the Activation Code
data=[7,123,23,87]
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 = '' + act30
act30='AXX'+act30
act30=AddHyphens(act30)
print ("The Activation Code is: "+act30)

作为比较,把python2的破解代码放在下方:

import sha
import string
BASE2 = ''
BASE10 = ''
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 ])
print 'tdigest',tdigest
result = BaseConvert(tdigest, BASE16, BASE30)
while len(result) < 17:
result = '' + 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='CN123-12345-12345-12345' LicenseID='ENX27-HWM6G-XYVFA-165PG'
#Copy the Request Code from the dialog
RequestCode='RW52X-G93T8-R2927-YJYFX'
hasher = sha.new() hasher.update(RequestCode)
hasher.update(LicenseID)
digest = hasher.hexdigest().upper()
lichash = RequestCode[:3] + SHAToBase30(digest)
#print RequestCode[:3] ,SHAToBase30(digest)
lichash=AddHyphens(lichash)
#Calculate the Activation Code
data=[7,123,23,87]
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 = '' + act30
act30='AXX'+act30
act30=AddHyphens(act30)
print ("The Activation Code is: "+act30)

用python3破解wingIDE的更多相关文章

  1. python3 破解 geetest(极验)的滑块验证码

    Kernel_wu 快速学习的实践者 python3 破解 geetest(极验)的滑块验证码 from selenium import webdriver from selenium.webdriv ...

  2. 破解wingide编辑器

    先到官网下载最新版的wingide(我下载的是5.1.11-1),然后安装,打开,出现下面的界面时选第三个,然后输入“ENX27-HWM6G-XYVFA-165PG”,如下图所示: 接下来你软件会给你 ...

  3. python开发环境搭建(python3.3.2+wing IDE4.1)

    1.下载python http://www.wingide.com/downloads下载最新版python 2.下载Wing IDE http://wingware.com/downloads/wi ...

  4. wing IDE破解方法

    WingIDE是我接触到最好的一款Python编译器了.但其属于商业软件,注册需要一笔不小的费用.因此,这篇简短的文章主要介绍了破解WingIDE的方法.破解软件仅供学习或者教学使用,如果您是商业使用 ...

  5. 【Python】Part I 设置Python环境

    01 设置Python环境 02 破解WingIDE (1)下载专业版wingide http://wingware.com/downloads/wing-pro/6.0.11-1/binaries& ...

  6. 使用uncompyle2直接反编译python字节码文件pyo/pyc

    update:在Mac OS X版的September 10, 2014版(5.0.9-1)中发现安装目录中的src.zip已更换位置至WingIDE.app/Contents/Resources/b ...

  7. python3.6下安装wingIDE破解方法

    1.wingIDE的下载: 在电脑配置好的python环境情况下,去官网下载wingIDE6,按照一般方式安装好.安装好它会自动提示你是否激活,你点击激活.然后到下一步. 2.脚本的制作: impor ...

  8. 最新WingIDE注册破解方法 【转】

    WingIDE是Python程序语言设计的集成开发环境,具有语法标签高亮显示,命令自动完成和函数跳转列表等非常强大的功能.本文主要介绍WingIDE 5安装及注册破解方法. 注:本教程在python ...

  9. WingIDE注册破解方法

    WingIDE是Python程序语言设计的集成开发环境,具有语法标签高亮显示,命令自动完成和函数跳转列表等非常强大的功能.本文主要介绍WingIDE 5安装及注册破解方法. 1. WingIDE 5下 ...

随机推荐

  1. 脉络清晰的BP神经网络讲解,赞

    学习是神经网络一种最重要也最令人注目的特点.在神经网络的发展进程中,学习算法的研究有着十分重要的地位.目前,人们所提出的神经网络模型都是和学习算 法相应的.所以,有时人们并不去祈求对模型和算法进行严格 ...

  2. Case 架构的实际应用-2

    Test Plan in TestLink 1. For new release, we will create 2 test plans for each project 2. 1st test p ...

  3. Eclipse项目内存溢出解决方案

    方法一: 打开eclipse,选择Window--Preferences...在对话框左边的树上双击Java,再双击Installed JREs,在右边选择前面有对勾的JRE,再单击右边的“Edit” ...

  4. What is Entity Framework?

    1.什么是EntityFramework? http://www.entityframeworktutorial.net/what-is-entityframework.aspx Writing an ...

  5. Unix/Linux 关机命令

    关机命令 AIX shutdown now Solaris init 5 Redhat shutdown now Centos shutdown now

  6. MFC弹出菜单隐藏解决

    http://social.msdn.microsoft.com/Forums/en-US/5482103e-272b-4c9f-bac4-be15f14782bd/cmfcmenubar-remov ...

  7. FireMonkey 平台初探

    最为第一个本地化跨平台的框架:FireMonkey需要处理以及融合不同平台的技术非常之多,所以目前的测试仅仅在于表面现象,至于效率问题还不得而知. 从一个程序员的角度来看这个框架,我觉得有以下这些方面 ...

  8. HDU 3433 (DP + 二分) A Task Process

    题意: 有n个员工,每个员工完成一件A任务和一件B任务的时间给出,问要完成x件A任务y件B任务所需的最短时间是多少 思路: DP + 二分我也是第一次见到,这个我只能说太难想了,根本想不到. dp[i ...

  9. 你其实真的不懂print("Hello,world")

    http://www.jianshu.com/p/abb55919c453 debugPrint在发布的版本里也 会输出debugPrint只是更倾向于输出对象的调试信息.不管是开发环境还是测试环境都 ...

  10. codeforces 432 B Football Kit

    题意:给出n支球队,主场的衣服的颜色x[i],客场的衣服的颜色y[i],每只队伍会打n-1次主场,n-1次客场,当这只队伍打客场的衣服颜色和对手一样的时候,那么他们要穿上主场的衣服 问每个球队主场球服 ...