文档章节

Python Challenge Level 18

A
 Adam-Wang
发布于 2014/05/30 17:30
字数 245
阅读 46
收藏 0

初学Python,挑战一下流行的Python Challenge,很不幸,卡在了18关~~被字符字节码之间的转换搞得焦头烂额,不过终于搞定了还是很happy的~~~

主要的问题就是16进制形式的字符如何转成字节码 (注意:不是encoding)

如:['89', '50', '4e', '47', '0d', '0a', '1a', '0a', '00', '00', '00', '0d', '49', '48', '44', '52', '00', '00']

       直接转换成

       b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00' 的形式。

如果使用encode('utf-8'), '\x89'之类的会被转成'\xc2\x89', 不是想要的。

So,直接看代码吧...

'''
Created on May 27, 2014

@author: adam.wang
'''
import difflib
 
file=open(r'./file/deltas/delta.txt')
data=file.readlines()
 
matrix1=[]
matrix2=[]
  
for s in data:
    s=s.replace('\n','')
    matrix1.append(s[0:53])
    matrix2.append(s[56:])
     
diff=list(difflib.ndiff(matrix1, matrix2))

add_data=b''
minus_data=b''
space_data=b''
   
for temp in diff: 
    s=temp[0:1]
    t=b''
    for b in temp[2:].split(): 
        t+=bytes.fromhex(b)
    if s=='+':
        add_data+=t
    elif s=='-':
        minus_data+=t
    else:
        space_data+=t

open('./level18/add.png','wb').write(add_data)
open('./level18/minus.png','wb').write(minus_data)
open('./level18/space.png','wb').write(space_data)


© 著作权归作者所有

共有 人打赏支持
A
粉丝 0
博文 3
码字总数 671
作品 0
南京
程序员书籍:Hands-On Penetration Testing on Windows - 2018.pdf

About the e-Book Hands-On Penetration Testing on Windows pdf 页数:454 下载地址 Master the art of identifying vulnerabilities within the Windows OS and develop the desired solu......

Python测试开发人工智能
08/09
0
0
【原创】Python 之快速性能优化(第二部分)

本文为翻译,原文地址:《Quick Python Performance Optimization: Part II》 This is the Part II of Quick Python Performance Optimizations. 本文是 Python 性能优化二两发的第二部分。 ......

摩云飞
2013/11/19
0
0
对于sqli-labs基础篇全程使用sqlmap不用手工注入(七夕前夕送给有情人的礼物!!)

个人简介: 萌新一枚,渣渣一个,全程划水,会喊六六 本文断断续续已经写了三天了,其中查过很多其他人的博文 但是发现大多数人关于sql-labs使用的都是手工注入, 由于自己太渣,只能去找工具...

落花四月
08/16
0
0
菜鸟学Python之django-simple-captcha使用

环境的准备 前端框架semantic ui Python 3.6.4 django-simple-captcha官方文档地址 http://django-simple-captcha.readthedocs.io/en/latest/ 目标展示 配置settings.py 配置form.py 配置vie......

红焖鲤鱼
02/24
0
0
Install Eclipse 3.7 Indigo and configure Eclipse

Overview 1.1 What is Eclipse? Eclipse is a platform that has been designed from the ground up for building integrated web and application development tooling. By design, the pla......

MyPy
2014/04/22
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Shell编程(expect同步文件、指定host和同步文件、构建文件分发系统、批量执行命令)

expect脚本同步文件 需求:自动同步文件 实验准备: A机器:192.168.248.130 B机器:192.168.248.129 实现: 1.A机器编写4.expect脚本文件,内容如下所示: #!/usr/bin/expectset passwd "...

蛋黄_Yolks
37分钟前
2
0
ppwjs之bootstrap颜色:背景颜色

<!DOCTYPT html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ppwjs欢迎您</title><link rel="icon" href="/favicon.ico" ......

ppwjs
37分钟前
1
0
Ubuntu与 Fedora之对比

大家好。今天我将重点介绍两个流行的Linux发行版之间的一些特性和差异; Ubuntu 18.04和Fedora 28。它们都有自己的包管理; Ubuntu使用DEB,而Fedora使用RPM,但它们都具有相同的桌面环境(GNO...

linuxprobe16
41分钟前
2
0
线性代数入门

线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了...

牛奋Debug
昨天
3
0
开发5分钟,调试2小时 - 该如何debug?

几年来我在答疑群、论坛、公众号、知乎回答的各种问题,没有一万也有八千。其中有三分之二以上都是在帮人看报错,帮人 debug(调试代码)。 可以说,会不会 debug,有没有 debug 的意识,懂不...

crossin
昨天
4
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部