主要观点总结
本文描述了一个关于NKCTF2024的虚拟机(VM)加密逻辑的挑战。挑战涉及到一个模拟Wireworld元胞自动机的系统,用于将输入的字符转化为二进制并倒序存储。目的是输出特定的加密过程并解密得到最终的flag。
关键观点总结
关键观点1: Wireworld元胞自动机的模拟
挑战中涉及到一个模拟Wireworld元胞自动机的系统,该系统用于处理数据。
关键观点2: 加密逻辑
输入的字符被转化为二进制并倒序存储,涉及异或逻辑运算和特定的电子头传导规则。
关键观点3: 解密过程
解密过程涉及到一系列异或操作,目的是消除所有产生的电子头,使得信号能够平安到达终点。
关键观点4: 最终目标
最终目标是通过解密得到完整的flag。
文章预览
NKCTF2024 re VM?VM!WP 逻辑似乎很简单 这个函数是把输入的字符转化为二进制并倒序存储 sub_1570 太大而加载不出来,这里是加密的主逻辑,目的是需要输出1 通过删除栈的方法强行转化伪代码 首先删掉这部分 9A0改小一些 这个也是一样 栈这里U一下再P 像是虚拟机的分发器,unk_4018是类似opcode的大坨数据 实际上是一个2324*2324的像素图 在上面进行染色 cable management | /den/face0xff/writeups (https://ctf.0xff.re/2022/dicectf_2022/cable_management) 【游戏框架系列】Wireworld元胞自动机 (https://zhuanlan.zhihu.com/p/25593938) 根据资料知道,是在模拟Wireworld元胞自动机 组成: 空 导体 电子头 电子尾 每代变化: 空→空 电子头→电子尾 电子尾→导体 当仅有一个或仅有两个电子头的邻居是导体时,导体→电子头 对应着理解,0xCD就是导线 0xEA就是电子尾,0xEC是电子头 0x11是数据注入点 0x80相
………………………………