bugku 普通的二维码
记录下对进制转换实现的重新思考。
扫描二维码扫到了一句垃圾话。
拖到winhex里面。

一开始以为是十进制直接转ascii,发现错误。
后来发现,最大数是7,八进制转换吧。
我是打算用python的libnum模块转换,所以我先把8进制转换为10进制,然后10进制转换为ascii。
贴出代码
import libnum
a='146154141147173110141166145137171060125137120171137163143162151160164137117164143137124157137124145156137101163143151151041175'
a=int(a,8)
print(a)
转化后的十进制数是:
122904376305381298193412913733165208999270088458846253109387416074993504924322568636802010235499192855449942901373
print(libnum(n2s(a)))发现报错。
为什么会报错呢?我一开始纠结这里,但是后来发现根本不用纠结这个地方。
来看两种情况的进制转换
①十进制102108转化为text
你可以这么理解:这个得先转化为十六进制,然后十六进制每两个一组转化为ascii
②十进制 102 108转化为text
这个事实102-f, 108-l
可以看出来这两种结果是不一样的,题目也是这样的。
你仔细观察的话,你会发现这个貌似是第二种情况,每三位数一组,然后分别代表一个ascii。
如果你像我一上来直接把这一大长串数转化为10进制的话,就破坏了他的数值了。

总结下来就是,不能一上来就脚本转换,得观察数的特点,不过这个题目也不给数之间加空格,确实容易犯这种错误
bugku 普通的二维码的更多相关文章
- bugku——普通的二维码(进制转换)
		题目地址:http://ctf.bugku.com/files/5e480ecb178711e82bc847a208e15b32/misc80.zip 就一张二维码图片,用一些在线工具识别是乱码,用Q ... 
- BUGKU Misc 普通的二维码
		下载的文件是一个bmp文件,在我的印象中bmp好像没有什么隐写技巧,有些慌张. 既然是二维码,那不妨先扫一下试一试 哈哈!就不告诉你flag在这里! 嗯,意料之中 1首先我把它放到了stegosolv ... 
- iOS - QRCode 二维码
		1.QRCode 在 iOS7 以前,在 iOS 中实现二维码和条形码扫描,我们所知的有,两大开源组件 ZBar 与 ZXing. 这两大组件我们都有用过,这里总结下各自的缺点: 1.ZBar 在扫描 ... 
- java 生成二维码、可带LOGO、可去白边
		1.准备工作 所需jar包: JDK 1.6: commons-codec-1.11.jar core-2.2.jar javase-2.2.jar JDK 1.7: commons-codec- ... 
- 通通WPF随笔(3)——艺术二维码素材生成器
		原文:通通WPF随笔(3)--艺术二维码素材生成器 最近公司让我开发一个条形码的生成控件,花了半天时间搞定觉得不过瘾,什么年代了该用二维码了吧.于是wiki了一下二维码的资料. 比较常见的就是QR码( ... 
- Java生成艺术二维码也可以很简单
		原文点击: Quick-Media Java生成艺术二维码也可以很简单 现在二维码可以说非常常见了,当然我们见得多的一般是白底黑块,有的再中间加一个 logo,或者将二维码嵌在一张特定的背景中(比如微 ... 
- 用Python制作动态二维码
		参考来源链接:https://mp.weixin.qq.com/s/p-ptQZD6_bjUhmU822OPww 今天在最大的同性交友社区GitHub上发现了一个比较有意思的项目,无论你是什么操作系统 ... 
- 二维码相关---java生成二维码名片,而且自己主动保存到手机通讯录中...
		版权声明:本文为博主原创文章,未经博主credreamer 同意不得转载 违者追究法律责任. https://blog.csdn.net/lidew521/article/details/244418 ... 
- 使用IOS7原生API进行二维码条形码的扫描
		使用IOS7原生API进行二维码条形码的扫描 IOS7之前,开发者进行扫码编程时,一般会借助第三方库.常用的是ZBarSDK,IOS7之后,系统的AVMetadataObject类中,为我们提供了解析 ... 
随机推荐
- ArcSDE空间数据库中SDE用户使用探讨 (转载)
			ArcSDE作为空间数据库解决方案,应用非常广泛,本短文将尝试描述SDE的工作机制,简要说明空间数据库中SDE用户的使用方法.ArcSDE如何工作ArcSDE属于中间件技术,其本身并不能够存储空间数据 ... 
- vue的MVVM模式和生命周期总结(一)
			一.MVVM模式 MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel ... 
- docker使用alpine系统构建tomcat镜像
			FROM frolvlad/alpine-oraclejdk8 #此镜像使用alpine-glibc系统,精简jdk,只运行java程序,无法编译/构建 MAINTAINER huqiang:2018 ... 
- linux 命令——47 iostat (转)
			Linux系统中的 iostat 是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会 汇报出CPU使用情况 ... 
- 【mydigitallife.info】如何禁用Aero窗口自动最大化
			Go to Control Panel. Click on Ease of Access link or Ease of Access Center icon. Select Change how y ... 
- 【洛谷2257】YY的GCD(莫比乌斯反演)
			点此看题面 大致题意: 求\(\sum_{x=1}^N\sum_{y=1}^MIsPrime(gcd(x,y))\). 莫比乌斯反演 听说此题是莫比乌斯反演入门题? 一些定义 首先,我们可以定义\(f ... 
- 【洛谷2633】Count on a tree(树上主席树)
			点此看题面 大致题意: 给你一棵树,每次问你两点之间第\(k\)小的点权,强制在线. 主席树 这种题目强制在线一般就是数据结构了. 而看到区间第\(k\)小,很容易就能想到主席树. 至少不会有人想到树 ... 
- MySQL数据库 crud语句 ifnull() 创建新账户 备份数据库 一对多关系 多对多(中间表) 外键约束 自关联 子查询注意事项  DML  DDL DQL mysql面试题 truncate与delete的区别
			DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL ... 
- MySQL基础 - 1 数据库基础
			一.数据库基础 1.什么是数据库 1.数据库(database)是保存有组织的数据的容器( 通常是一个文件或一组文件 ) 2.数据库是一个以某种有组织的方式存储的数据集合 注意:数据库软件应该称为DB ... 
- 【Django】Django中datetime的处理(strftime/strptime)
			strftime<将date,datetime,timezone.now()类型处理转化为字符串类型> strftime()函数是用来格式化一个日期.日期时间和时间的函数,支持date.d ... 
