某赛两杂项-CTF-brainfuck编码、modusbus协议分析

"本文介绍了Brainfuck编程语言的一个编码挑战,包括去除换行符和替换循环语句的过程,最终得到的编码可能用于解密获取flag。此外,还涉及了Modbus协议的分析,通过筛选功能码为06的数据包来寻找flag,最终拼接得到的flag为`flag{5101446957}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、某赛的brainfuck题目。

Brainfuck是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf**k,甚至被简称为BF。

题干:

,>>++ +++++ +++[< +++++ +++++ >-]<+ +[<-> -]<[+ -],>> +++++ +++++
[<+++ +++++ ++>-] <++++ ++++[ <->-] <[+-] ,>>++ +++++ ++[<+ +++++
++++> -]<++ +++++ [<->- ]<[+- ],>>+ +++++ ++++[ <++++ +++++ +>-]<
+++[< ->-]< [+-], >>+++ +++++ ++++[ <++++ +++++ +>-]< +++[< ->-]<
[+-], >>+++ ++[<+ +++++ ++++> -]<++ [<->- ]<[+- ],>>+ ++++[ <++++
+++++ +>-]< [<->- ]<[+- ],>>+ ++++[ <++++ +++++ +>-]< ++[<- >-]<[
+-],> >++++ +[<++ +++++ +++>- ]<+++ +[<-> -]<[+ -],>> +++++ +++++
[<+++ +++++ ++>-] <[<-> -]<[+ -],>> +++++ [<+++ +++++ ++>-] <+[<-
>-]<[ +-],> >++++ +++++ [<+++ +++++ ++>-] <++++ +++[< ->-]< [+-],
>>+++ ++[<+ +++++ ++++> -]<++ +++++ [<->- ]<[+- ],>>+ +++[< +++++
+++++ >-]<+ +++++ +++[< ->-]< [+-], >>+++ +[<++ +++++ +++>- ]<+++
+++++ [<->- ]<[+- ],>>+ ++++[ <++++ +++++ +>-]< +++++ +[<-> -]<[+
-],>> +++++ [<+++ +++++ ++>-] <++++ [<->- ]<[+- ],>>+ ++++[ <++++
+++++ +>-]< ++[<- >-]<[ +-],> >++++ +++++ [<+++ +++++ ++>-] <++++
+++++ [<->- ]<[+- ],>>+ +++++ +++[< +++++ +++++ >-]<+ +++++ +++[<
->-]< [+-], >>+++ +++++ +[<++ +++++ +++>- ]<+++ +++++ [<->- ]<[+-
],>>+ ++++[ <++++ +++++ +>-]< +++++ ++[<- >-]<[ +-],> >++++ [<+++
+++++ ++>-] <++++ +++++ [<->- ]<[+- ],>>+ ++++[ <++++ +++++ +>-]<
+++++ ++[<- >-]<[ +-],> >++++ +++++ +[<++ +++++ +++>- ]<++[ <->-]
<[+-] ,>>++ +++++ ++[<+ +++++ ++++> -]<++ +++++ ++[<- >-]<[ +-],>
>++++ +[<++ +++++ +++>- ]<+++ ++[<- >-]<[ +-],> >++++ [<+++ +++++
++>-] <++++ ++++[ <->-] <[+-] ,>>++ ++[<+ +++++ ++++> -]<++ +++++
+[<-> -]<[+ -],>> +++++ +++++ [<+++ +++++ ++>-] <++[< ->-]< [+-],
>>+++ ++[<+ +++++ ++++> -]<++ +++++ [<->- ]<[+- ],>>+ ++++[ <++++
+++++ +>-]< ++++[ <->-] <[+-] ,>>++ +++[< +++++ +++++ >-]<+ ++[<-
>-]<[ +-],> >++++ +[<++ +++++ +++>- ]<+[< ->-]< [+-], >>+++ +++++
++[<+ +++++ ++++> -]<+[ <->-] <[+-] ,>>++ +++++ ++[<+ +++++ ++++>
-]<++ +++++ +[<-> -]<[+ -],>> +++++ [<+++ +++++ ++>-] <++++ ++[<-
>-]<[ +-],> >++++ +++++ +++[< +++++ +++++ >-]<+ ++++[ <->-] <[+-]
>>>>> +++++ +++++ +[<++ +++++ +++>- ]<+.> >>>>+ +++++ ++++[ <++++
+++++ +>-]< +++++ ++.

直接放到

Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]此在线解码网站并未解除。

1、删除掉\n换行符

        

得到删除掉换行符的编码如下图:

2、删除掉代码中的循环语言,并替换为".\n"

循环语句:

[<-> -]<[+ -]
[ <->-] <[+-]
[<->- ]<[+- ]
[< ->-]< [+-]
[<- >-]<[ +-]

   最终得到:

,>>++++++++++[<++++++++++>-]<++.
,>>++++++++++[<++++++++++>-]<++++++++.
,>>+++++++++[<++++++++++>-]<+++++++.
,>>++++++++++[<++++++++++>-]<+++.
,>>++++++++++++[<++++++++++>-]<+++.
,>>+++++[<++++++++++>-]<++.
,>>+++++[<++++++++++>-]<.
,>>+++++[<++++++++++>-]<++.
,>>+++++[<++++++++++>-]<++++.
,>>++++++++++[<++++++++++>-]<.
,>>+++++[<++++++++++>-]<+.
,>>+++++++++[<++++++++++>-]<+++++++.
,>>+++++[<++++++++++>-]<+++++++.
,>>++++[<++++++++++>-]<+++++++++.
,>>++++[<++++++++++>-]<++++++++.
,>>+++++[<++++++++++>-]<++++++.
,>>+++++[<++++++++++>-]<++++.
,>>+++++[<++++++++++>-]<++.
,>>+++++++++[<++++++++++>-]<+++++++++.
,>>+++++++++[<++++++++++>-]<+++++++++.
,>>+++++++++[<++++++++++>-]<++++++++.
,>>+++++[<++++++++++>-]<+++++++.
,>>++++[<++++++++++>-]<+++++++++.
,>>+++++[<++++++++++>-]<+++++++.
,>>++++++++++[<++++++++++>-]<++.
,>>+++++++++[<++++++++++>-]<+++++++++.
,>>+++++[<++++++++++>-]<+++++.
,>>++++[<++++++++++>-]<++++++++.
,>>++++[<++++++++++>-]<++++++++.
,>>++++++++++[<++++++++++>-]<++.
,>>+++++[<++++++++++>-]<+++++++.
,>>+++++[<++++++++++>-]<++++.
,>>+++++[<++++++++++>-]<+++.
,>>+++++[<++++++++++>-]<+.
,>>++++++++++[<++++++++++>-]<+.
,>>+++++++++[<++++++++++>-]<++++++++.
,>>+++++[<++++++++++>-]<++++++.
,>>++++++++++++[<++++++++++>-]<+++++.
>>>>>+++++++++++[<++++++++++>-]<+.
>>>>>++++++++++[<++++++++++>-]<+++++++.

得到flag:

        

 二、modbus协议分析

某赛杂项:找到数据包中的flag

 步骤:

1、筛选:modbus.func_code == 06 #modbus功能码06是写数据

 依然向下查看数据包,对flag字符进行拼接。

得到flag: flag{5101446957}

蓝军的朋友粉一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值