bash-进制转换

十进制转其他进制

echo "obase=16;3268437401835405340"|bc
2D5BD2800300001C

obase 后边输入要转换的进制;其中`bc为外部命令,没有时需要自行安装

其他进制转10进制

((num=2#1001));echo $num;
9

其他进制转10进制,例子是2进制转10进制;若要将16进制转化为10进制,就将上例中的2换成16;

在Kali Linux中,CTF比赛常用的进制转换工具可以通过多种方式实现。Kali Linux默认提供了许多命令行工具和脚本语言,它们能够处理二进制(binary)、十进制(decimal)和十六进制(hexadecimal)之间的转换。以下是几种常见且高效的进制转换方法。 ### 使用 `printf` 命令 `printf` 是一个强大的格式化输出命令,支持多种进制转换。例如: - 十六进制转十进制: ```bash printf "%d\n" 0x1a ``` 输出结果为 `26` [^4]。 - 十进制转十六进制: ```bash printf "%x\n" 26 ``` 输出结果为 `1a` [^4]。 ### 使用 `bc` 命令 `bc` 是一个任意精度的计算器语言,支持不同进制的转换。设置输入和输出的进制后,可以直接进行转换- 十六进制转十进制: ```bash echo "ibase=16; 1A" | bc ``` 输出结果为 `26` [^4]。 - 十进制转十六进制: ```bash echo "obase=16; 26" | bc ``` 输出结果为 `1A` [^4]。 ### 使用 Python 脚本 Python 提供了简洁的内置函数来进行进制转换。在Kali Linux中,可以直接使用Python解释器执行以下代码: - 十六进制转十进制: ```python print(int("1a", 16)) ``` 输出结果为 `26` [^4]。 - 十进制转十六进制: ```python print(hex(26)) ``` 输出结果为 `0x1a` 。 ### 使用 `xxd` 工具 `xxd` 是一个将文件转换为十六进制表示的工具,也可以用于进制转换。例如,将二进制数据转换为十六进制: ```bash echo -n "A" | xxd -p ``` 输出结果为 `41` [^4]。 ### 使用 `Kali Linux` 自带的 CTF 工具 Kali Linux 预装了一些专为CTF比赛设计的工具,如 `pwntools` 和 `CyberChef`,它们提供了更复杂的进制转换功能,并支持自动化脚本编写。 - `pwntools` 是一个用于CTF竞赛的Python库,可以轻松处理进制转换和其他低级操作: ```python from pwn import * print(hex(26)) # 十进制转十六进制 print(int("1a", 16)) # 十六进制转十进制 ``` - `CyberChef` 是一个多功能的Web工具,支持进制转换编码解码等功能,适用于快速分析和处理数据。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值