一些简单的write up

本文记录了在bugku平台完成的几道简单的CTF题目,包括杂项和Web类别。通过分析图片的Unicode编码和使用百度识图解决谜题,以及直接查看网页源代码获取flag。

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

刚刚做了几道简单的ctf题,顺便写下write up ,做个简单的记录。

在bugku平台上做的题。

首先是杂项栏目的题:

1.这是一张单纯的图片:http://120.24.86.145:8002/misc/1.jpg

根据题目可以猜出这应该是一道很简单的题,保存图片后直接用记事本打开,


最后一行可以明显看出是Unicode编码,直接在线解密,得flag。


2.猜:http://120.24.86.145:8002/misc/cai/QQ20170221-132626.png

打开图片发现图片是一个人的半张脸,根据提示知道flag是一个人名,那就百度识图看看就可以了,轻易就发现了图片上到底是谁~~~


接下来做了几道web的题,因为对web比较感兴趣,就先做了web的。


1.web2:http://120.24.86.145:8002/web2/

打开网页,直接查看网页源代码

### 实现GPIO入操作 对于嵌入式Linux设备,如NanoPi,在编程中实现GPIO入操作通常涉及设置引脚模式以及向指定文件节点入值。下面展示了一个基于C语言的函数`GPIO_Set()`用于配置并控制特定编号的GPIO引脚状态[^2]。 ```c #include "gpio.h" int GPIO_Set(char *gpio_num, char *filename, char *value){ FILE *fp; fp = fopen(filename,"w"); if (NULL == fp) { perror("Failed to open the file\n"); return -1; } fprintf(fp,"%s", value); fclose(fp); return 0; } ``` 此代码片段展示了如何打开代表目标GPIO引脚的状态文件(通过传入合适的路径),并将期望的新电平(高或低)作为字符串形式传递给该文件以改变其实际物理输出。注意这里的`filename`应当指向类似`/sys/class/gpio/gpioX/value`这样的位置,其中`X`即为具体的GPIO号;而`value`则应设为"0"(表示逻辑低)"或"1"(表示逻辑高)。 另外,如果希望使用更高级别的抽象层来进行同样的工作,则可以考虑采用Python库RPI.GPIO或其他专门设计用来简化这类任务的模块。这里给出一段利用Python进行相同功能的操作示范: ```python import sys import os def set_gpio(gpio_pin, state): try: with open(f"/sys/class/gpio/export", 'w') as f_export: f_export.write(str(gpio_pin)) direction_path = f"/sys/class/gpio/gpio{gpio_pin}/direction" value_path = f"/sys/class/gpio/gpio{gpio_pin}/value" with open(direction_path, 'w') as f_dir: f_dir.write('out') with open(value_path, 'w') as f_val: f_val.write(state) except IOError as e: print(f"Error setting up GPIO {gpio_pin}: ", str(e), file=sys.stderr) if __name__ == "__main__": import argparse parser = argparse.ArgumentParser(description='Set a specific GPIO pin high or low.') parser.add_argument('--pin', type=int, required=True, help='The BCM number of the GPIO pin') parser.add_argument('--state', choices=['high','low'], default='high', help='State to set on the specified GPIO pin.') args = parser.parse_args() # Convert human readable states into values expected by kernel. val_to_write = {'high': '1', 'low': '0'}[args.state] set_gpio(args.pin,val_to_write) ``` 这段Python脚本同样实现了对单个GPIO引脚高低电平切换的能力,并且借助命令行参数解析工具使得用户可以通过简单的CLI指令轻松调用这一过程[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值