BugkuCTF-Crypto题进制转换

补充:
Python为我们提供了强大的内置函数和格式操作数字的方法去实现进制转换的功能
在这里插入图片描述
下载文件:
点击文本内容如下:
d87 x65 x6c x63 o157 d109 o145 b100000 d116 b1101111 o40 x6b b1100101 b1101100 o141 d105 x62 d101 b1101001 d46 o40 d71 x69 d118 x65 x20 b1111001 o157 b1110101 d32 o141 d32 d102 o154 x61 x67 b100000 o141 d115 b100000 b1100001 d32 x67 o151 x66 d116 b101110 b100000 d32 d102 d108 d97 o147 d123 x31 b1100101 b110100 d98 d102 b111000 d49 b1100001 d54 b110011 x39 o64 o144 o145 d53 x61 b1100010 b1100011 o60 d48 o65 b1100001 x63 b110110 d101 o63 b111001 d97 d51 o70 d55 b1100010 d125 x20 b101110 x20 b1001000 d97 d118 o145 x20 d97 o40 d103 d111 d111 x64 d32 o164 b1101001 x6d o145 x7e

我们发现有b、o、d、x这四种前缀,百度得:
八进制(逢八进一),Octal,缩写OCT或O,一类以8为基数的计数法,用O表示,为了不与数字0混淆,有时也用Q来表示八进制数。
十进制(逢十进一),英文为Decimal System,缩写Dec或D,来源于希腊文Decem,用D表示。
十六进制(逢十六进一),英文名称:Hexadecimal,是计算机里数据的一类表示方法。它由0-9,A-F组成,字母不区分大小写,前缀用0x表示。
二进制(逢二进一),Binary,用b表示。

D:十进制数Decima
B:二进制数Binary
0x(H):十六进制数Hexadecimal
O:八进制数Octal
因此,我们将这些统一转化为十六进制表示,然后转为字符串就可以得到答案。

编写进制转换代码脚本

#! /usr/bin/env python
#coding=utf-8
s=["d87","x65","x6c","x63","o157","d109","o145","b100000","d116","b1101111","o40","x6b","b1100101","b1101100","o141","d105","x62","d101","b1101001","d46","o40","d71","x69","d118","x65","x20","b1111001","o157","b1110101","d32","o141","d32","d102","o154","x61","x67","b100000","o141","d115","b100000","b1100001","d32","x67","o151","x66","d116","b101110","b100000","d32","d102","d108","d97","o147","d123","x31","b1100101","b110100","d98","d102","b111000","d49","b1100001","d54","b110011","x39","o64","o144","o145","d53","x61","b1100010","b1100011","o60","d48","o65","b1100001","x63","b110110","d101","o63","b111001","d97","d51","o70","d55","b1100010","d125","x20","b101110","x20","b1001000","d97","d118","o145","x20","d97","o40","d103","d111","d111","x64","d32","o164","b1101001","x6d","o145","x7e"]
s1=""
t=""
t1=""for i in s:s1=ifor j in range(1):if s1[0:1]=='d':t=str(hex(int(s1[1:])))t=t[2:]+" "t1=t1+tif s1[0:1]=='x':t=s1[1:]+" "t1=t1+tif s1[0:1]=='o':t=str(hex(int(s1[1:],8)))t=t[2:]+" "t1=t1+t            if s1[0:1]=='b':t=str(hex(int(s1[1:],2)))t=t[2:]+" "t1=t1+t
print(t1)#方法二:
s=["d87","x65","x6c","x63","o157","d109","o145","b100000","d116","b1101111","o40","x6b","b1100101","b1101100","o141","d105","x62","d101","b1101001","d46","o40","d71","x69","d118","x65","x20","b1111001","o157","b1110101","d32","o141","d32","d102","o154","x61","x67","b100000","o141","d115","b100000","b1100001","d32","x67","o151","x66","d116","b101110","b100000","d32","d102","d108","d97","o147","d123","x31","b1100101","b110100","d98","d102","b111000","d49","b1100001","d54","b110011","x39","o64","o144","o145","d53","x61","b1100010","b1100011","o60","d48","o65","b1100001","x63","b110110","d101","o63","b111001","d97","d51","o70","d55","b1100010","d125","x20","b101110","x20","b1001000","d97","d118","o145","x20","d97","o40","d103","d111","d111","x64","d32","o164","b1101001","x6d","o145","x7e"]
for i in s:for j in range(1):if i[0] == 'd':s1=str(int(i[1:]))print(chr(int(s1)),end='')if i[0] == 'x':s1=str(int(i[1:],16))print(chr(int(s1)),end='')if i[0] == 'o':s1=str(int(i[1:],8))print(chr(int(s1)),end='')if i[0] == 'b':s1=str(int(i[1:],2))print(chr(int(s1)),end='')

运行得到下列16进制数串:
在这里插入图片描述
我们将这一串十六进制数转换成字符串的形式可得到:

Welcome to kelaibei.
Give you a flag as a gift.flag{1e4bf81a6394de5abc005ac6e39a387b} . Have a good time~

所以flag即:
flag{1e4bf81a6394de5abc005ac6e39a387b}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525197.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python reload 函数 - Python零基础入门教程

目录 一.Python reload 函数简介二.Python reload 函数使用 三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.Python reload 函数简介 在 Python2.x 中 **reload 函数**是 Python 的内置函数;在 Python3.x 中 reload 函数需…

int类型数字特别大

package com.company; public class Demo06 { public static void main(String[] args) { //操作比较大数时注意溢出问题 //JDK7新特性,数字之间可以用下划线分隔 int money10_0000_0000; System.out.println(money); …

BugkuCTF-Crypto题你喜欢下棋吗

下载文件file.zip,解压 得到一个txt文件与一个flag.zip文件 根据txt文件提示为棋盘密码(波利比奥斯方阵密码(Polybius Square Cipher或称波利比奥斯棋盘)是棋盘密码的一类) http://www.atoolbox.net/Tool.php?Id913 …

Cloud一分钟 |格力电器营收比去年增长500亿元; 红黄蓝加盟停不下来;中美双方同意停止相互加征新的关税...

戳蓝字“CSDN云计算”关注我们哦!Hello,everyone:12月3日早,星期一CSDN一分钟新闻时间:董明珠:今年格力电器营收比去年增长500亿元 企业纳税越多,活得越好 …

变量定义注意

package com.company; public class Demo07 { System.out.println("变量"); int a1,b3,c4; String name"d"; double pi3.14; } 加qq群422464063学习

Python min 函数 - Python零基础入门教程

目录 一.Python min 函数简介二.Python min 函数使用 三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.Python min 函数简介 min 函数返回给定参数的最小值,参数可以为序列语法: # 返回值:返回参数…

BugkuCTF-Crypto题奇怪的密码

描  述: 突然天上一道雷电 gndk€rlqhmtkwwp}z 解题过程: g n d k r l q h m t k w w p } z 103 110 100 107 114 108 113 104 109 116 107 119 119 112 125 122 f l a g 102 108 97 103 规律:减少1,2,3,4&#xf…

Spring事务你可能不知道的事儿

戳蓝字“CSDN云计算”关注我们哦!1. 使用示例2. 标签解析3. 实现原理4. 小结关于事务,简单来说,就是为了保证数据完整性而存在的一种工具,其主要有四大特性:原子性,一致性,隔离性和持久性。对于…

Python oct 函数 - Python零基础入门教程

目录 一.Python oct 函数简介二.Python oct 函数使用 1.Python chr 函数将 ascll 码转为字符2.Python ord 函数将字符转为 ascll 码 三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 oct 函数也是 Python 内置函数,主要将一个整…

变量作用域细节

package com.company; //变量:值可以改变 //变量作用域 //1.类变量 //2.实例变量 //3.局部变量 public class Demo08 { //1.类变量 加static static double salary2500; double salary12500;//去掉static,Error:(32, 28) java: 无法从静态上…

BugkuCTF-PWN题canary超详细讲解

知识点 小端序说明,数据在内存里是如何存储的?下表里数据都为16进制 解题流程 题目Hint:更新 LibcSeacher 的 libc-database checksec查看保护机制 存在Canary和NX。 0x2840 0x1016 0x2941 0x300768 0x2C44 buf长度为48,而read读取长度…

Cloud一分钟 |乐视系近亿元资产被查封;快手推出新社区产品,取名“蹦迪”;高通:已终止收购恩智浦的交易...

戳蓝字“CSDN云计算”关注我们哦!Hello,everyone:12月4日早,星期二CSDN一分钟新闻时间:乐视系近亿元资产被查封 裁定查封、扣押或冻结三家乐视系公司名下价值9002.2万元财产。 …

Python next 函数 - Python零基础入门教程

目录 一.Python next 函数简介二.Python next 函数使用三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 Python 3.x 内置函数 next 可以从迭代器中检索下一个元素或者数据,可以用于迭代器遍历,使用的时候注意会触发 …

变量命名规则

常量 1.初始化后值不可改变,用final修饰,标识符大写 final double PI3.14; 变量命名规则 1.所有变量、方法、类名见名知意 2.类成员变量:首字母小写和驼峰原则lastName 3.局部变量:首字母小写和驼峰原则 4.常量&#xff1a…

BugkuCTF-Crypto题散乱的密文

描述: lf5{ag024c483549d7fd1} 一张纸条上凌乱的写着2 1 6 5 3 4 知识点:列位移密码,密钥为216534 打开密码机器下载版.htm 点击解密得到flag

Python help 函数 - Python零基础入门教程

目录 一.Python help 函数简介二.Python help 函数使用 1.查看内置函数的帮助信息2.查看数据类型的帮助信息 三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 Python 3.x 版本虽然比 2.x 少了一些内置函数,但是 **Python 内置 *…

倒计时 2 天,2018 中国大数据技术大会(BDTC)报名通道即将关闭(附参会提醒)...

戳蓝字“CSDN云计算”关注我们哦!2018 年12 月 6-8 日,由中国计算机学会主办,CCF大数据专家委员会承办,CSDN、中科天玑数据科技股份有限公司协办的 2018 中国大数据技术大会(BDTC),携主题“大数…

运算符细节讲解

1.算数运算符&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;%&#xff0c;&#xff0c;-- 2.赋值运算符 3.关系运算符>,<,>,<,,!instanceof 4.逻辑运算符&&&#xff0c;||&#xff0c;&#xff01; package operator; ​ public class Demo01 {…

BugkuCTF-PWN题pwn5-overflow2超详细讲解

知识点 setvbuf: setvbuf函数的功能&#xff1a; 如果你的内存足够大&#xff0c;可以把文件IO的BUF设置大一些&#xff0c;这样每次你用 fopen/fread/fwrite/fscanf/fprintf语句的时候&#xff0c;都会在内存里操作&#xff0c;减少内存到磁盘IO读写的操作次数&#xff0c;提…

下载 / 安装 Visual Studio - C语言零基础入门教程

目录 一.下载 Visual Studio 1.Visual Studio 下载地址2.Visual Studio 分类3.Visual Studio 下载 二.安装 Visual Studio 1.安装虚拟光驱2.安装 VS 三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 天下武功&#xff0c;唯快不破&#xff0c;虽…