BUUCTF_MISC(黑客帝国,伟大的侦探)

目录

1.misic 黑客帝国

2.misic 伟大的侦探


1.misic 黑客帝国

1.下载附件,解压得到一个.txt文本,查看.txt文本的内容,似乎全部是十六进制的数据,在010 Editor看一下。

 在010 Editor中,使用“文件”选项卡的“导入16进制文件”选项,导入刚才的txt文件。

 

 确认这是rar压缩包的文件头。

2、尝试解压得到的rar压缩包,需要密码。

使用常用的4位纯数字进行破解。使用ARCHPR工具,破解得到密码为3690。

使用密码解压rar压缩包,得到.png文件,打开如下图,发现图片错误。

3、使用010 Editor打开.png文件,弹出错误。观察到.png文件的文件头与文件尾不相符,可能被修改了文件头。

(PNG(png)文件头:89 50 4E 47 文件尾:AE 42 60 82)

(JPEG (jpg)文件头:FF D8 FF  文件尾:FF D9 )

 

 是png文件头,但后面接的“JFIF”是jpg图片,结尾是jpg图片的文件尾。

将文件头修改为jpg的文件头,保存文件。

将输入法改为A,即可改动。

4、打开修改过的jpg图片,得到flag。

2.misic 伟大的侦探

题目提示:可能与侦探有关(特殊的解密方式)

下载附件,解压提示需要密码,但解压出一个密码.txt文件。

1、打开密码.txt文件

2.使用010 Editor打开密码.txt文件,选择编辑方式为EBCDIC,找到明文密码。(为什么用这个方式不清楚)

wllm_is_the_best_team!

3、使用密码解压压缩包,得到18个.jpg图片,图片为跳舞的小人图形密码(出自于《福尔摩斯探案集》跳舞的小人),使用如下密码对照表,可以获得明文。

4、对照密码表解密,得到flag值。

flag{iloveholmesandwllm}

注:

EBCDIC 为字符编码表,根据二进制编码的十进制数排列而成。

缺点是:英文字母不是连续地排列,中间出现多次断续,为撰写程序的人带来了一些困难。

十六进制和EBCDIC的转换方式:

D1 --> J

<think>好的,用户的问题是关于如何在010 Editor中使用EBCDIC编码进行解码或编码。首先,我需要回忆一下010 Editor的功能和相关编码知识。EBCDIC是IBM早期使用的字符编码,主要用于大型机系统,与常见的ASCII不同,因此处理这类编码可能需要特定的步骤。 接下来,我需要确认用户可能的需求。用户可能需要在010 Editor中查看或编辑EBCDIC编码的文件,或者将其他编码的文件转换为EBCDIC。由于010 Editor支持自定义脚本和模板,这可能是一个关键点。 然后,查阅用户提供的引用内容,虽然主要涉及ASCII、Unicode、PNG和URI,但可能与编码处理的一般原则相关。例如,引用[1]提到ASCII编码处理Unicode字符的限制,这提醒我在处理EBCDIC时需要注意字符集的范围。引用[3]提到URI和IRI的区别,可能与字符集处理有关,但可能不直接适用于EBCDIC。 接下来,思考如何在010 Editor中实现EBCDIC的支持。010 Editor本身可能没有内置的EBCDIC编码选项,但用户可以通过编写自定义脚本或使用现有的模板来实现。例如,使用EBCDIC到ASCII的转换表,或者查找是否有社区提供的模板。 然后,考虑具体步骤:首先检查010 Editor的编码菜单是否有EBCDIC选项;如果没有,指导用户如何通过十六进制编辑手动处理,或者编写脚本进行转换。需要详细说明每一步的操作,比如如何创建转换表,如何应用脚本。 同时,用户可能需要示例代码或模板,因此需要提供或指引用户如何获取相关的资源。比如,在010 Editor的模板库中搜索EBCDIC相关的脚本,或者自己编写一个简单的脚本示例。 另外,需要注意不同版本的EBCDIC可能存在变体,如EBCDIC 037、500等,用户可能需要指定具体的代码页。因此,在回答中应提醒用户注意这一点,并提供相应的解决建议。 最后,生成相关问题,帮助用户进一步解决可能遇到的问题,比如性能优化、应用场景等,但需要与EBCDIC和010 Editor相关。</think>### 如何使用010 Editor进行EBCDIC编码/解码? #### 1. **理解EBCDIC编码特性** EBCDIC(Extended Binary Coded Decimal Interchange Code)是IBM设计的字符编码标准,主要用于大型机和遗留系统。与ASCII不同,EBCDIC的字符映射规则复杂且存在多个变体(如EBCDIC 037、500等)[^1]。因此,处理EBCDIC需明确其具体代码页(Code Page)。 #### 2. **010 Editor的基础操作** 010 Editor支持通过模板(Templates)和脚本(Scripts)解析二进制文件: - **查看编码**:默认界面以十六进制显示数据,需通过编码转换功能或自定义脚本解析EBCDIC。 - **编码设置**:菜单栏选择 `Tools > Options > Encodings` 可查看支持的编码列表。若EBCDIC未内置,需手动实现。 #### 3. **手动实现EBCDIC转换** **步骤1:创建EBCDIC到ASCII的映射表** 编写一个转换表(如EBCDIC 037),将EBCDIC字节值映射到ASCII字符: ```c // EBCDIC 037转ASCII示例(部分映射) char ebcdic_to_ascii[256] = { 0x00, 0x01, ..., 'A', 'B', ... // 填充完整的256字节映射 }; ``` **步骤2:使用脚本转换数据** 在010 Editor中运行脚本(通过 `Script > Run Script`): ```c uchar data[FileSize()]; ReadBytes(data, 0, FileSize()); for (int i = 0; i < FileSize(); i++) { data[i] = ebcdic_to_ascii[data[i]]; } WriteBytes(0, data, FileSize()); ``` #### 4. **使用现有模板或插件** - **官方资源**:在010 Editor论坛或模板库搜索“EBCDIC Template”,部分用户可能已共享相关模板[^2]。 - **第三方工具**:若需频繁处理EBCDIC,可编写自定义插件(需C/C++知识)。 #### 5. **调试与验证** - 对转换结果进行**十六进制对比**,确保映射逻辑正确。 - 注意**代码页兼容性**,例如EBCDIC 037与EBCDIC 285的映射差异。 --- ### 相关问题 1. **EBCDIC编码在不同系统间的兼容性问题如何解决?** 2. **如何验证010 Editor中EBCDIC转换脚本的准确性?** 3. **010 Editor是否支持自动化批量处理EBCDIC文件?** [^1]: EBCDIC的字符映射规则复杂,需依赖具体代码页定义。 : 010 Editor社区可能提供现成的模板简化操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值