云缨:枪舞惊鸿,绽放核心竞争力

核心内容摘要

9.1高清图片免费:视觉盛宴,触手可及的灵感宝库!
当“男人的困困”遇上“女生的困困”,一场跨越性别的深度共鸣

男女差差差的奥秘:洞悉两性世界的奇妙与和谐

#BadgeLife Off-By-One Conference 2024 | STAR Labs引言如约而至我们在活动结束大约一个月后发布了Off-By-One徽章的固件和本文以便感兴趣的参与者有机会探索它。

如果您想了解更多关于徽章设计过程的信息请告诉我们。

我们很高兴在首届Off-By-One Conference 2024上推出Octopus Badge。

该徽章是会议的亮点之一因为它包含了以硬件为核心的CTF挑战。

在本文中我们将探讨徽章的构思和设计过程并讨论解决这些挑战所需的概念。

硬件设计徽章的图案由Sarah Tan设计图案是一个有着可爱咕噜眼的章鱼。

经过集思广益讨论各种设计后我们决定为眼睛配备两个独立的圆形显示器。

以下是早期原型的一张草图将概念转化为电路设计该徽章围绕一个ESP32-S3主处理器构建该处理器驱动一对GC9A01 OLED显示器。

用户可以使用按钮和方向摇杆与徽章进行交互。

此外一个小的协处理器ATmega328P通过I2C协议进行通信。

电子设计是在KiCad中创建的以下是3D渲染图。

徽章有三种颜色变体用于区分不同的人群例如参与者、工作人员和志愿者。

最初的计划是包含一个可充电的LiPo电池以支持整个会议期间的使用。

然而由于供应链困难我们选择了AAA电池。

希望我们能在明年的徽章中加入LiPo电池。

最后这就是实际徽章的样子硬件CTF挑战与任何会议徽章一样我们的徽章也包含CTF挑战。

在本节中我将解释这些挑战背后的灵感以及预期的解决方案。

特别地嵌入式系统与功能齐全的计算机有很大不同它最初是为资源受限的应用而设计的。

例如ESP32-S3处理器没有内存管理单元MMU。

这意味着嵌入式工程师编写代码的方式与软件工程师非常不同。

我们的目标是让参与者接触到硬件黑客技术而不仅仅是在便携式硬件设备中提供软件挑战。

在此过程中我们也学会了如何改进我们的电子徽章。

USB字符串描述符第一步是确定它是何种设备。

因此欢迎标志隐藏在USB字符串描述符中。

USB描述符将告诉我们设备的来源例如供应商和产品标识符并且您的PC也用它来确定要加载哪些驱动程序。

在Linux中您可以使用dmesg打印内核调试消息。

也可以在Windows中查看设备管理器。

$dmesg-w[

3

488872]usb3-

2: New USB device found,idVendor303a,idProduct4001,bcdDevice

00[

3

488883]usb3-

2: New USB device strings:Mfr1,Product2,SerialNumber3[

3

488887]usb3-

2: Product:#BadgeLife[

3

488889]usb3-

2: Manufacturer: STAR LABS SG[

3

488892]usb3-

2: SerialNumber:{Welcome_To_OffByOne_2024}或者您也可以使用lsusb打印出连接到PC的所有设备。

$ lsusb -vd 303a: iManufacturer1STAR LABS SG iProduct2#BadgeLifeiSerial3{Welcome_To_OffByOne_2024}

C语言编译的内部库下一个标志隐藏在一个名为flaglib的库中。

这可以通过MicroPython REPL显示所有模块来看到。

help(modules)[...]flaglib[...]importflaglibdir(flaglib)[__class__,__name__,__dict__,getflag]最简单的方法是编写一个脚本通过暴力破解逐个字符地提取。

flaglib.getflag()flaglib.getflag({____________________________}){??_????????_??????_??????????flaglib.getflag({my_compiled_python_library}){my_compiled_python_library}然而了解到这是一个C语言编译的内部库与固件捆绑在一起这意味着如果转储出闪存内容就可以检索到其内容。

特别是在低成本系统中加密资源消耗大通过转储固件或闪存我们可能会发现以明文形式保存的密码或密钥。

尝试转储固件时首先要确定设备类型。

从电路板上的标签我们看到它是一个ESP32-S3-WROOM-1-N4。

我们可以搜索数据手册发现它有4MiB的闪存。

可以使用esptool.py包从ESP32-S3转储固件。

按住BOOT按钮并按下RESET按钮使其进入引导加载程序模式。

运行以下命令将完整内容保存到文件中$ esptool.py --baud115200--port /dev/serial/by-id/usb-** read_flash 0x0 0x400000 fw-backup-4M.bin然后通常会对比转储出的IoT设备固件进行简单的静态分析。

$ strings fw-backup-4M_black.bin|strings|grep dssds article-item">泳装小南与长门大萝卜:一段跨越次元的奇幻邂逅

《斗罗大陆》中的爱恨情仇:唐三与千仞雪,一次超越宿命的羁绊

2026-06-12 12:19:28 6分钟阅读
在书香中遇见你:我的图书室女朋友
炮兵社区:数字时代的火力集结,智慧与力量的熔炉

2026-06-12 12:19:28 2分钟阅读
探索“大菠萝”的无限可能:不止于想象的精彩世界
艺境水韵:artistyusui,解锁生活美学新维度

2026-06-12 12:19:28 9分钟阅读

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123