当前位置: 博客首页 >> Python >> 阅读正文

python实现的微盾解密算法

作者: 郑晓 分类: Python 发布于: 2013-12-05 17:50 浏览:6,201 评论(2)


python实现的微盾解密算法 又是段简单的python练手代码,这两天看了一套php源码中有不少php文件被用微盾加密过,网上也有不少的php版微盾解密算法,看了下算法,都是一些比较简单的方法去实现的,正好自己这两天也在学习python,就拿来练练手,用python实现了出来。 基本算法写了出来做成批量解密也就so easy了,tkinter也学了一些,有时间的话就再给它改成图形界面的。 import os #文件操作 import re #正则 import base64 #base64解码</p> <p>jiamifilename = 'jiemi.php' #待解密文件 lines = [] #打开文件,将数据放入列表 with open(jiamifilename,'r') as fp: for line in fp: lines.append(line) fp.close() #第一次base64解码 p = re.compile("O0O0000O0('.*')") y = p.findall(lines[1]) content = '' if y: content=y[0].replace("O0O0000O0('","") content=content.replace("')","") content=str(base64.b64decode(content))</p> <p>#准备从第一次base64解码后的内容中查找密钥 decode_key="" p = re.compile("),'.*',") k = p.findall(content) if k: decode_key = k[0].replace("),'", "") decode_key = decode_key.replace("',","")</p> <p>#查找要截取字符串长度 str_length="" p = re.compile(",\d*),") k = p.findall(content) if k: str_length = k[0].replace("),","") str_length = str_length.replace(",","")</p> <p>#截取文件加密后的密文 Secret = lines[2][int(str_length):] #准备还原密文 li = list('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/') li_len = len(li) xx = '' for x in Secret: i = decode_key.index(x) if i>=li_len: xx += x continue xx += li[i] #整理还原后的数据,准备输出到文件。 strs = base64.b64decode(xx.encode()) with open('decode.php', 'w') as f: f.write('<?php\n\r' + strs.decode()+'?>') f.close() print('文件解密成功!') input() 什么是PS:这两天发现郑晓个人博客的关键词:“个人博客”排名又上来了,争取下看能不能再回到首页。。。

       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/micro-shield-decryption-algorithm-implemented-python.html

python实现的微盾解密算法:目前有2 条留言

用户评论头像 seo发表于 2013年12月13日 13:58[回复]

世界在变、互联网在变、网络营销在变,SEO同样在变,所以我们SEOer的观点更需要变了,在不变就out了!!!

本文由说说seo论坛编辑,转载请备注原文地址:

用户评论头像 趣你的发表于 2013年12月12日 14:26[回复]

这个语言 也挺热的

发表评论

change vcode