2024年网鼎杯朱雀组|MISC

news/2024/12/27 9:53:07/

1.MISC01

文件打开一堆01,差分曼彻斯特

python">from libnum import *
f = open("data","r",encoding="utf-8")
all_str = f.read()
f.close()
out = ""
n = (len(all_str) // 2) - 1
for i in range(0, n):tmp1 = all_str[i*2:i*2+2]tmp2 = all_str[i*2+2:i*2+4]if tmp1 == tmp2:out = out + '0'else:out = out + '1'
out = str(hex(int(out,2))[2::])
f = open("tmp.txt","w")
f.write(out)
f.close()

去除头部100000015后,转zip

发现zip文件中夹杂多余字节,secret.png被分开,间隔为6个字节,估计是多余了6个字节。至于每取出多少字节后去除尾部6个字节,可以爆破。

因为头部504B03041400没有问题,从504B0304到42020015,长度44,可以从12爆破至44。

python">f = open("tmp.zip","rb")
all_b = f.read()
f.close()
n = len(all_b)for j in range(12,45):out = b""for i in range(0,n,j):out = out + all_b[i:i+(j-6)]f = open(f"out_{j}.zip","wb")f.write(out)f.close()

多次尝试发现每22个字节去除6个多余字节,可以恢复正常文件

解压缩密码:12345678,解压缩得到图片

base64解码:ppaasswd

wdflag{35a704b2f68eab19a7d6c1a67772eafa}

2.MISC02

直接逆向读取信息,发现一堆Base64编码的信息和AES的key,逐个尝试

wdflag{c6166c5b-0514-4ca2-886e-f31f2700a0ba}

2.MISC03

尾部zip文件特征,提取

发现前后文件名不一致,修复

还有一个压缩文件,继续分离出来

分离出两个文件,其中一个文件可以CRC爆破

得到This_W和 ryptpw

第一组脚本筛选出字符

python">a= ['\t? `Tk', '\tSSMP/', '\tr\r]9c', '\x0b"{nd:', '\x0b>42e.', '\x0boVS\t2', '\x0cK@!KA', '\rWNLQL', ' &\x0bWyK', ' :D\x0bx_', '!&JfbR', '"Kl(LJ', '"W#tM^', '#WbEVG', '#v<U?\x0b', '$Ne{|l', "$R*'}x", '%"Wgc1', '%N$Jgu', '&?MXHy', '&Oq)M)', '&S>uL=', '&n/9$e', '&r`e%q', "'#C5Rt", "'?\x0ciS`", "'r!T>h", '(0Rhtw', '(\\!Ep3', ')@/(j>', ')\\`tk*', '*\x0cWv-j', '*-\tfD&', '*1F:E2', '*AzK@b', '*`$[).', '+-HW_?', '+A;z[{', '+]t&Zo', '+`ej27', '+|*63#', ',X<DqP', '-D2)k]', '-X}ujI', '.5[;DQ', '.d9Z(M', '/)UV^\\', "/Yi'[\x0c", '/dxk3T', '/x772@', '1{RYz\r', '2+e[<M', '2fHfQE', "3+$j'T", '37k6&@', '3f\tWJ\\', '3zF\x0bKH', '4^Py\t;', '4cA5ac', '6/xZ=.', '6C\x0bw9j', '6_D+8~', '6bUgP&', '7/9k&7', "73v7'#", '7CJF"s', '8mJWl(', '9m\x0bfw1', '9qD:v%', ':!s80e', ':=<d1q', ':QOI55', ';!2\t+|', ';=}U*h', ';MA$/8', ';pPhG`', '<iWVmK', '=uY;wF', '>URH4V', '?9`T+\x0b', '?I\\%.[', '@f<}XX', '@zs!YL', 'A+Pq.I', 'AG#\\*\r', 'Af}LCA', 'B{gsh\t', 'D/\x0cA43', 'D_001c', 'Db!|Y;', 'D~n X/', 'E/Mp/*', 'EC>]+n', 'Eb`MB"', 'Fc5.h~', 'HQ;R<(', 'HpeBUd', 'I=\tN#u', 'IM5?&%', "IQzc'1", 'Ilk/Oi', 'Ip$sN}', 'J<\\-\t)', 'JL`\\\x0cy', 'Jm>Le5', 'LU&S=K', "MI(>'F", 'MUgb&R', 'Ni#MdV', 'Ou- ~[', 'PWWoDC', 'S&>}kO', 'S:q!j[', 'SJMPo\x0b', 'T?9CAd', 'TSJnE ', 'Tn["-x', 'U#7.[i', 'U?xrZ}', 'US\x0b_^9', 'UrUO7u', 'V"bMq5', 'VR^<te', 'W"#|j,', 'W>l k8', 'WNPQnh', 'X\x0c#m$w', 'X-}}M;', 'X12!L/', 'X]A\x0cHk', 'X`P@ 3', 'Y\x0cb\\?n', 'Y-<LV"', 'YAOaRf', 'Y|^-:>', 'Z,i/|~', 'Z0&s}j', 'Z\\U^y.', '[0gBfs', '[@[3c#', '\\)`|LX', '\\5/ ML', '\\dMA!P', '])!MWA', ']d\x0cp:I', ']xC,;]', '^4;r|\t', '^XH_xM', '_DF2b@', '_X\tncT', 'aiNuxD', 'btTJS\x0c', 'cUKk!Y', 'dLLU\x0br', "emSty'", 'f!+*>s', 'f=dv?g', 'fpIKRo', 'g=%G$~', 'gQVj :', 'glG&Hb', 'j/ H38', 'jCSe7|', 'jb\ru^0', 'j~B)_$', 'k/ay(!', 'k3.%)5', 'kbLDE)', 'l\x0bw\x0bjR', 'm\x0b6:qK', 'n+=I2[', 'nz_(^G', 'o+|x)B', 'o73$(V', 'ofQEDJ', 'qDj;eK', 'qX%gd_', 'r)LuKS', 'rdaH&[', 's)\rDPJ', 'sd y=B', 'sxo%<V', 't,E&{u', 't\\yW~%', 'u0KKax', 'u@w:d(', 'u\\8fe<', 'ua)*\rd', 'u}fv\x0cp', 'v-QtJ0', 'vA"YNt', "v`|I'8", 'w\x0cNU8e', 'wAchUm', 'w],4Ty', 'w`=x<!', 'w|r$=5', 'x"NDv>', 'xN=irz', 'xRr5sn', 'y>@)l3', 'yN|Xic', 'zO);C?', 'zSfgB+', 'znw+*s', 'zr8w+g', '{?T{]v', "{S'VY2", '{ryF0~', '|&SEw]', '|Vo4r\r', '}:](mP', '~K4:B\\', '~W{fCH']dic = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"
for i in a:pos = Truefor j in i:if j not in dic:pos = Falsebreakif pos == True:print(i)

筛选出字符This_WD_001cryptpw,就是解压缩密码,解压缩出verycrypt01.docx

根据题意挂载,密码就是解压缩密码

得到RSA私钥,用来解密flag.txt

wdflag{9ed8fbb778c0dc147e0916fd473ed509}


http://www.ppmy.cn/news/1544323.html

相关文章

LeetCode3226题. 使两个整数相等的位更改次数解法二(原创)

我之前文章LeetCode3226题. 使两个整数相等的位更改次数&#xff08;原创&#xff09;-CSDN博客对于LeetCode第3226题中给出了解法&#xff0c;后来思考了一下可以用位操作来完成更简洁优雅的实现&#xff1a; 首先计算n和k的异或值m.m中的所有位数中为1的值就是n中为1k中为0&…

【题】C#-数组:二维数组

1. 将1~10000赋值给一个二维数组(100行100列) int[,] array new int[100,100]; int index 1; for(int i 0;i < array.GetLength(0);i){for(int j 0;j < array.GetLength(1);j){array[i,j] index;index;} }2. 将二维数组的右上半部分置零 int[,] array new int[4,…

LeetCode 3165.不包含相邻元素的子序列的最大和:单点修改的线段树(动态规划)

【LetMeFly】3165.不包含相邻元素的子序列的最大和&#xff1a;单点修改的线段树&#xff08;动态规划&#xff09; 力扣题目链接&#xff1a;https://leetcode.cn/problems/maximum-sum-of-subsequence-with-non-adjacent-elements/ 给你一个整数数组 nums 和一个二维数组 q…

如何使用Google Search Console进行关键词研究[4 种简便方法]

关键词研究是任何成功的 SEO 策略的基础要素。 通过确定正确的关键词&#xff0c;您可以更好地了解受众正在搜索什么&#xff0c;创建符合他们意图的内容&#xff0c;并为您的网站带来更多目标流量。 虽然有许多付费工具可用&#xff0c;但您可以选择 Google Search Console …

线程数组一例

下面是一个示例代码&#xff0c;展示了如何使用 C 的 std::thread 并发创建一组线程&#xff0c;并且每个线程完成一个大运算的一部分。在这个示例中&#xff0c;我们使用 OpenMP 来加速每个线程内部的运算&#xff0c;最后等待所有线程完成。 示例代码 #include <iostrea…

ASPICE 4.0引领自动驾驶未来:机器学习模型的特点与实践

ASPICE 4.0-ML机器学习模型是针对汽车行业&#xff0c;特别是在汽车软件开发中&#xff0c;针对机器学习&#xff08;Machine Learning, ML&#xff09;应用的特定标准和过程。ASPICE&#xff08;Automotive SPICE&#xff09;是一种基于软件控制的系统开发过程的国际标准&…

python的数据结构列表方法及扩展(栈和队列)

python的数据结构 python的list方法 list.append() 添加一个元素到列表末尾。list,append(num)相当于a[len(a):] [num] a [1,2,3,4,5] a.append(6) print(a) a[len(a):] [7] print(a)list.extend() 添加指定列表的所有元素。list.extend(nums)相当于a a nums a [1,2,3]…

教你快速学会新媒体运营,你必须掌握的新媒体应用分别有哪些,详细介绍这些应用都有哪些功能和特点,快收藏吧!

一、引言 在当今数字化时代&#xff0c;新媒体运营已成为企业和个人发展的重要手段。通过掌握一系列关键的新媒体应用&#xff0c;我们可以迅速提升运营效率&#xff0c;实现内容分发、自媒体变现等目标。本文将详细介绍新媒体运营中必须掌握的几种应用及其功能。 二、Ai新媒运…