[攻防世界]1-misc
解题
根据提示“生日”,猜测8位数暴力破解,大概试一下20000000开始,不然一个小时太久了
得到口令20001228
又是压缩包,注意CRC,与上图2.zip中相同,猜测明文破解
[攻防世界]BotW-
题目
MASTER USING IT AND YOU CAN HAVE THIS.
分析
图片隐写
解题
某某装备吧,逐日之弓
图片隐写,分离一下
果然有东西
回到题目MASTER USING IT AND YOU CAN HAVE THIS.
搜一下
点开“游戏家的浪漫”,还真有
flag{canzeldagetduplexbow}
[攻防世界]CatFlag
题目描述:Just cat flag
or type flag
解题
下载得到未知明文件
没有发现什么,回去看一眼题目
原来linux中有cat与tpye两个命令
linux 花样读文件 - CSDN文库
那就直接使用一下
知识点:linux读文件口令
[攻防世界]challenge_how_many_Vigenère
分析
下载得到一堆字符串,分析题目,维吉尼亚
Vigenere算法加密和解密原理及其实现_vigenere密码算法-CSDN博客
没有提供key,这里有个爆破
Vigenere Solver | guballa.de
先就跟着题目要求一步一步来
解题
进入网址爆破
得到key
ohihzkssefkmqxqbkihybnynvndzkdlqvhwhgywaftmeteecqprzjczvnmhnzwyasmlwbwvaqitejbfofycejjlcbpk
result
aliceleavestheteapartyandentersthegardenwhereshecomesuponthreelivingplayingcardspaintingthewhiterosesonarosetreeredbecausethequeenofheartshateswhiterosesaprocessionofmorecardskingsandqueensandeventhewhiterabbitentersthegardenalicethenmeetsthekingandqueenthequeenafiguredifficulttopleaseintroduceshertrademarkphraseoffwithhisheadwhichsheuttersattheslightestdissatisfactionwithasubjectaliceisinvitedorsomemightsayorderedtoplayagameofcroquetwiththequeenandtherestofhersubjectsbutthegamequicklydescendsintochaosliveflamingosareusedasmalletsandhedgehogsasballsandaliceonceagainmeetsthecheshirecatthequeenofheartsthenordersthecattobebeheadedonlytohaveherexecutionercomplainthatthisisimpossiblesincetheheadisallthatcanbeseenofhimbecausethecatbelongstotheduchessthequeenispromptedtoreleasetheduchessfromprisontoresolvethematter
得到作品《爱丽丝梦游仙境》Alice's Adventures in Wonderland
再根据题目意思加密作品名字
维吉尼亚加密/解密 - Bugku CTF平台
得到flag
知识点:维吉尼亚爆破
[攻防世界]check
分析
图片隐写,看看属性,考虑宽高,文头文尾,分离,LSB。。。。。。
在LSB中发现线索
解题
这是一段HTML解码HTML编码解码
在notepad中将其提取出来
得到flag{h0w_4bouT_enc0de_4nd_pnG}
看到这么一段
于是改后缀为html
知识点:图片隐写,LSB,html编码
[攻防世界]Disk
分析
下载得到vmdk,凡事放入010
解题
flag is not here 此地无银三百两
在下面获得4组数,二进制
0110011001101100011000010110011101
1110110011010001000100010100110101
1111001100010110111001011111010001
0000110001011100110110101101111101
2进制到ASCII字符串在线转换工具 - Coding.Tools
得到flag{4DS_1n_D1sk}
[攻防世界]Just-No-One
解题
下载得到exe文件
一路next,需要密码
接下来就离谱了
放入010,ida无果
看一眼wp
YOU MAY SUBMIT THIS TO GET TEN POINTS: ILOVEREADINGEULAS.
即答案(没有flag{}):
ILOVEREADINGEULAS
知识点:阅读安装协议
[攻防世界]m0_01
分析
下载得到一个流量包,usb流量知识点
解题
在winshark中提取USB指定的4个字节
用tshark提取流量
tshark -r 12.pcapng -T fields -e usb.capdata > usbdata.txt
如果提取出来的数据有空行可以将命令改为如下形式
tshark -r 12.pcapng -T fields -e usb.capdata | sed '/^\s*$/d' > usbdata.txt
或者工具去空行符
在线文本去空行工具 - UU在线工具
在Wireshark中得到该txt文件
然后运行这个脚本???
第一次遇到这种题,有些懵逼
f=open('usbdata.txt','r')
fi=open('out.txt','w')
while 1:a=f.readline().strip()if a:if len(a)==16: # 鼠标流量的话len改为8out=''for i in range(0,len(a),2):if i+2 != len(a):out+=a[i]+a[i+1]+":"else:out+=a[i]+a[i+1]fi.write(out)fi.write('\n')else:breakfi.close()normalKeys = {"04":"a", "05":"b", "06":"c", "07":"d", "08":"e","09":"f", "0a":"g", "0b":"h", "0c":"i", "0d":"j","0e":"k", "0f":"l", "10":"m", "11":"n", "12":"o","13":"p", "14":"q", "15":"r", "16":"s", "17":"t","18":"u", "19":"v", "1a":"w", "1b":"x", "1c":"y","1d":"z","1e":"1", "1f":"2", "20":"3", "21":"4","22":"5", "23":"6","24":"7","25":"8","26":"9","27":"0","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"-","2e":"=","2f":"[","30":"]","31":"\\","32":"<NON>","33":";","34":"'","35":"<GA>","36":",","37":".","38":"/","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
shiftKeys = {"04":"A", "05":"B", "06":"C", "07":"D", "08":"E","09":"F", "0a":"G", "0b":"H", "0c":"I", "0d":"J","0e":"K", "0f":"L", "10":"M", "11":"N", "12":"O","13":"P", "14":"Q", "15":"R", "16":"S", "17":"T","18":"U", "19":"V", "1a":"W", "1b":"X", "1c":"Y","1d":"Z","1e":"!", "1f":"@", "20":"#", "21":"$","22":"%", "23":"^","24":"&","25":"*","26":"(","27":")","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"_","2e":"+","2f":"{","30":"}","31":"|","32":"<NON>","33":"\"","34":":","35":"<GA>","36":"<","37":">","38":"?","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
output = []
keys = open('out.txt')
for line in keys:try:if line[0]!='0' or (line[1]!='0' and line[1]!='2') or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0' or line[6:8]=="00":continueif line[6:8] in normalKeys.keys():output += [[normalKeys[line[6:8]]],[shiftKeys[line[6:8]]]][line[1]=='2']else:output += ['[unknown]']except:passkeys.close()flag=0
print("".join(output))
for i in range(len(output)):try:a=output.index('<DEL>')del output[a]del output[a-1]except:passfor i in range(len(output)):try:if output[i]=="<CAP>":flag+=1output.pop(i)if flag==2:flag=0if flag!=0:output[i]=output[i].upper()except:passprint ('output: ' + "".join(output))
wp说这是云影密码(由84210组成)
得出THISISFLAG
补充
云影密码
Crypto入门 (六)幂数加密(云影密码) - 缘初 - 博客园
感动!
一段大佬的解码脚本
a="8842101220480224404014224202480122"
s=a.split('0')
print(s)
l=[]
for i in s:sum=0for j in i:sum+=eval(j)l.append(chr(sum+64))
print(''.join(l))
USB流量
USB流量分析
[攻防世界]message
解题
下载得到一大段字符串
7fffffffffffffffffffffffffffffffbffff0e10419dff07fdc3ffdaeab6deffdbfff6ffed7f7aef3febfffb7ff1bfbc675931e33c79fadfdebbae7aeddedb7dafef7dc37df7ef6dbed777beedbedb77b6de24718f260e0e71879fffffffffffffffffffffffffffffffffffffffffff07f87fc7f9ffffffffdbfbbfdbfeffffffffebfdffdfff7ffffff871c33e6fe7bffffffd5aefeed62dcffffffeadf9fb8bb0efffffff56df5db6dbf7ffffffaa0c21e19e3bffffe07ffffffffff9fffffffffffffffffffffffffffffffffffffff
刚开始还以为是按数量排序字符串,当然,失败了
直接解码也是失败告终
观察字符串,09,af,像是16进制,将其转换成二进制0与1分布有何特点或者二维码啥的
然而并无发现,看了wp,原来这个样子
运行代码
def print_fixed_width(text, width=73):for i in range(0, len(text), width):print(text[i:i+width])# 示例字符串
input_text = "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111011111111111111111100001110000100000100000110011101111111110000011111111101110000111111111111011010111010101011011011011110111111111101101111111111111101101111111111101101011111110111101011101111001111111110101111111111111110110111111111110001101111111011110001100111010110010011000111100011001111000111100111111010110111111101111010111011101011100111101011101101110111101101101101111101101011111110111101111101110000110111110111110111111011110110110110111110110101110111011110111110111011011011111011011011011101111011011011011110001001000111000110001111001001100000111000001110011100011000011110011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111100001111111110001111111100111111111111111111111111111111111110110111111101110111111110110111111111011111111111111111111111111111111111010111111110111111111110111111111111101111111111111111111111111111000011100011100001100111110011011111110011110111111111111111111111111111101010110101110111111101110110101100010110111001111111111111111111111111110101011011111100111111011100010111011000011101111111111111111111111111111010101101101111101011101101101101101101111110111111111111111111111111111101010100000110000100001111000011001111000111011111111111111111111100000011111111111111111111111111111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"# 调用函数
print_fixed_width(input_text)
用笔画一下得到flag
或者运行
import binascii
import numpy as np
from matplotlib import pyplot as plt# 原始十六进制字符串
x = '7fffffffffffffffffffffffffffffffbffff0e10419dff07fdc3ffdaeab6deffdbfff6ffed7f7aef3febfffb7ff1bfbc675931e33c79fadfdebbae7aeddedb7dafef7dc37df7ef6dbed777beedbedb77b6de24718f260e0e71879fffffffffffffffffffffffffffffffffffffffffff07f87fc7f9ffffffffdbfbbfdbfeffffffffebfdffdfff7ffffff871c33e6fe7bffffffd5aefeed62dcffffffeadf9fb8bb0efffffff56df5db6dbf7ffffffaa0c21e19e3bffffe07ffffffffff9fffffffffffffffffffffffffffffffffffffff'
# 将十六进制字符串转换为二进制,并去除前缀'0b'
x = np.array(list(bin(int(x, 16))[2:]), dtype=np.uint8)# 定义图像的行数
n = 23
# 重塑数组并显示图像
plt.imshow(x.reshape(n, -1), cmap='gray') # 使用灰度颜色映射
plt.show() # 显示图像
直接可视化得到flag
[攻防世界]Miscellaneous-200
分析
下载得到txt,内容也比较奇特
搜一下,大致和RGB有关
解题
通过代码创建一幅图,将每一行数据当做像素值写入图片
from ast import literal_eval
from PIL import Image #导入Python图像库PIL(Python Imaging Library)中的Image模块,用于图像处理。
f = open('62f4ea780ecf4e6bbef5f40d674ec073.txt', 'r')
corl = [literal_eval(line) for line in f.readlines()] #读取文件的每一行,并使用literal_eval函数将每行的内容(假设是可评估的Python表达式,比如元组)转换成Python对象(在这个上下文中,可能是颜色值),并将这些对象存储在列表corl中。
f.close()
img = Image.new('RGB', (270, 270), '#ffffff')
k=0 #初始化一个计数器k,用于遍历corl列表
for i in range(246):for j in range(246):img.putpixel ([i , j], corl[k]) #在图像的第i行第j列的像素位置放置corl列表中索引为k的颜色值。k=k+1 #每次放置一个像素后,k的值增加1,以便在下一次迭代中使用corl列表中的下一个颜色值。
# 输出图片
img.save("flag.png")
得到如下图
凑合看一下(离谱了 括号与字母间还有空格)
flag{ youc@n'tseeme }
[攻防世界]Misc文件类型
解题
下载得到一串字符,应该是16进制
进行解码
46ESAB_UEsDBBQAAAAIAAldCFXqOw7cKAAAACYAAAAIAAAAZmxhZy50eHRLy0lMrzZISk02SEwxTkk0MjQ0TjY3SDU1SEsxNTM0T7JINU+zrAUAUEsBAhQAFAAAAAgACV0IVeo7DtwoAAAAJgAAAAgAJAAAAAAAAAAgAAAAAAAAAGZsYWcudHh0CgAgAAAAAAABABgAGxEfk9iq2AEbER+T2KrYAQJF+4rYqtgBUEsFBgAAAAABAAEAWgAAAE4AAAAAAA
开头的base64倒序了
起初,我以为整个字符串倒序,结果解码失败
注意:去掉前面的base64_; 长度只有254,需要再添加两个==
# 实现字符串倒序
def reverse_string(s):return s[::-1]# 使用函数
input_string = "Hello, World!"
reversed_string = reverse_string(input_string)
print(reversed_string)
那就去掉base64_正序
下载txt文件
flag{0bec0ad3da2113c70e50fd5617b8e7f9}
知识点:对编码的熟悉
[攻防世界]Peekaboo
比较简单的题目,但是很离谱,我一定要把这个wp写下来
解题
下载得到一张图片
王者荣耀盛世长安,还有我的本命英雄奕星
图片隐写,当然是对图片一顿分析,无果
回到题目“最后一次使用的英雄”
没错,flag就是每个英雄试一遍,得到百里玄策
CatCTF{bailixuance}
[攻防世界]Pixel-Princess
解题
下载得到一个压缩包
一开始用winrar解压。得到一串jpg字符
修改文件头发现没有,以为就是这么一个文件
后面卡住时看一眼wp发现原来这就有一个图片,换成7Z之后能解压出来
分离一下这个,得到MarioCastle.jpg
得到一个密码:BaD_DR4G0N
没错,就是卡在了这里发现winrar解压出来的本应是一个图片文件
看了一下wp,原来这里还要分离
得到flag
[攻防世界]saleae
大部分题解在这里
https://arui-li.notion.site/b8cd06fe61f44bb4bce09e0f8d56530c?pvs=4
分析
下载得到一个logicdata文件
第一次见
回头看题目 saleae
下载saleae逻辑分析工具
这个题大致是这么使用的,些许懵逼……
1.open文件
2.选择SPI
3.修改参数,save
4.拖拉,得到flag
flag{12071397-19d1-48e6-be8c-784b89a95e07}
来自官方的解释:
看了依旧懵逼
求大佬给与解释
[攻防世界]steg没有py
分析
下载得到图片Do_you_like_misc.png
观察题目,使用工具stegpy
解题
指令中的密码就是文件名称(李大普)
以为那段就是flag,当然是错误的
看了wp,原来是仿射密码,涨知识了
CTF在线工具-在线仿射密码加密|在线仿射密码解密|仿射密码算法|Affine Cipher
根据a,b范围以及上图给的a与b的运算关系得出a,b
然后我一提交,诶,又错了
题目要求注意大小写,发现加密前大写位置,在解密后变成了小写,将解密后由大写变为小写的地方,再改回相应大写字母。
得到flag{4f71ne_c1ph3r_15_ffffunny!!}
知识点:新工具stegpy
[攻防世界]test.pyc
分析
下载得到一个pyc文件
解题
在kail在uncompyle6
uncompyle6 -o test.py test.pyc
得到
=cWbihGfyMzNllzZ0cjZzMWN5cTM4YjYygTOycmNycWNyYmM1Ujf
反转脚本
str = "=cWbihGfyMzNllzZ0cjZzMWN5cTM4YjYygTOycmNycWNyYmM1Ujf"
print(str[::-1])
反转得到base64
fjU1MmYyNWcyNmcyOTgyYjY4MTc5NWMzZjc0ZzllNzMyfGhibWc=
进行解码,得到
~552f25g26g2982b681795c3f74g9e732|hbmg
再次反转
gmbh|237e9g47f3c597186b2892g62g52f255~
凯撒
当我直接复制flag那一行,提交失败
发现只有字母变化,数字没变,将数字也往后移一位
不完全凯撒
所以我们抄一段脚本
c='gmbh|237e9g47f3c597186b2892g62g52f255~'
d=''
for i in range(0,len(c)):k = chr(ord(c[i])-1)d+=k
print(d)
flag{126d8f36e2b486075a1781f51f41e144}
知识点:反编译,凯撒,对字符的敏感
[攻防世界]Time_losing
这思路万万没想到……
题目
2033-05-18 11:33:20似乎是个好时间。
分析
下载压缩得到许多txt,内容为空
先看一下属性
发现与题目大致相同的内容
时间戳转换工具 - 在线时间工具箱
中间相差88
88是啥?????????
卡了
88→X
这个题目来源于XMAN,难道下一个文件操作下来代表M?
#Author:Luci4n
import os,timeflag = ""
origin_time = 2000000000for i in range(0,47):file = r'./{0}.txt'.format(i) get_time = int(os.path.getmtime(file)) #获取最近修改时间key = get_time - origin_timeflag += chr(key)print(flag)
XMan{seems_to_be_related_to_the_special_guests}
[攻防世界]Usb-probing
分析
下载得到一个流量包
猜测USB流量分析
解题
按照USB流量题进行题解
tshark -r 1.pcap -T fields -e usb.capdata > usbdata.txt
然而,并无发现
binwalk一下,看下是否有其他文件
藏有png文件,尝试分离,分离失败
回到wireshark,过滤USB流量
发现png
将其复制进txt文件,在010editor导入该16进制保存为png格式
发现还是打不开,原来缺少png文件尾,加进去
重新导入并保存,得到图片
.......啥玩意?看了wp,原来要进浏览器查看
[攻防世界]Wire1
解题
下载得到一个流量包
打开wireshark
首先,协议分级
发现http占比大,过滤http
先搜索flag,看看有没有发现
http contains "flag"
导出http
按大小排序,102是f,猜测是flag,并且是几个flag重复排列在一起
咱不会脚本,直接一个一个输入
flag{w1reshARK_ez_1sntit}
对于后面提取数字一步,之前写过一道类似的可将其保存为excel表格进行提取,不过实验失败
[攻防世界]不确定,再看看
题目
做题做累了吧,给你准备了一道钢琴曲,要仔细听哦!我藏得很深。
hint1:信息隐藏一般要求载体需要有一定的冗余度,而base64编码刚好就有这个特点。
解题
下载得到音频文件
放入Audacity,并无收获
解锁新工具Deepsound
主要用于处理音频文件的加密。以将敏感数据隐藏在音频文件中,从而实现数据的保密和安全传输。
得到txt文件
解码
知识点:音频隐写,新工具Deepsound
[攻防世界]打野
解题
得到一张bmp文件
查看010,stegslove,暂时没啥发现
看了wp,学到一个新工具———zsteg
然后我一使用,出问题了
(but之前写另外一个题目没问题)
…………
时隔多日,我又回来了
如果zsteg出现栈报错“tack level too deep (SystemStackError)”,可以将命令改成“zsteg --msb 瞅啥.bmp”或“zsteg -o xY 1.bmp”,改变扫描顺序。 -o 是设置行列的读取顺序 --msb:most significant BIT comes first,最高有效位排在第一位
得出qwxf{you_say_chick_beautiful?}
[攻防世界]第四扩展FS
题目描述:
D公司正在调查一起内部数据泄露事件,锁定嫌疑人小明,取证人员从小明手机中获取了一张图片引起了怀疑。这是一道送分题,提示已经在题目里,日常违规审计中频次有时候非常重要。
分析
下载得到一张图片,比较大
考虑到文件分离
解题
分离后得到加密zip
回到题目“提示已经在题目里”
以为是啥线索,没想到就是密钥,打开zip
再次回到题目“频次”
运行脚本
text = ""count = []
for i in range(256):count.append([i, 0])for ch in text:count[ord(ch)][1] += 1count.sort(key=lambda x: x[1], reverse=True)
for i in range(256):if count[i][1] > 0:print(chr(count[i][0]), end = "")
DCTF{ka1f4NgxIntAi}
然后答案错误??????
官方wp:DCTF{ka1f4NgxlntAi}
[攻防世界]很普通的Disco
分析
音频文件,查看是否有摩斯密码,二进制,频谱等
音频开头有一段空白,应该有问题
解题
超级放大,上1下0
110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101
其实最前面还有一个,太可恶了!
s = '110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101'
flag = ''
for i in range(0,len(s),7):flag += chr(int('0'+s[i:i + 7],2))
print(flag)
得出flag
知识点:音频隐写,进制转换
[攻防世界]坚持60s
题目描述
菜狗发现最近菜猫不爱理他,反而迷上了菜鸡
我是菜狗
分析
下载得到一个jar文件
JAR 文件就是 Java Archive File,顾名思意,它的应bai用是与 Java 息息相关的,是 Java 的一du种文档格式。JAR 文件非常类似 ZIP 文件——zhi准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。
解题
放至010,发现这其实是个zip
改后缀,里面有3个文件夹,文件夹内有许多文件,一个一个看还是比较容易找到flag(就在前几个文件中)
直接提交失败,需要base64解码
得到flag{DajiDali_JinwanChiji}
上文提到,flag刚好在前面几个文件夹,如果在后面呢……
学到一个新工具id-gui
知识点:jar文件
[攻防世界]看雪看雪看雪
分析
得到一个rar文件,里面有一张jpg
南方孩子羡慕
按照图片隐写思路:
- 属性
- 010editor(隐藏文件分离,宽高)
- stegslove
- 等
解题
按照刚才思路,没有什么发现
回头看看题目“看雪看雪看雪”,好像有个东西叫雪隐写
后面看wp,其实属性里面有提及过,只是我没有注意到…….
所以压缩包内可能有其他我看不见的文件
于是乎
将后面这一大段复制进sublime
看吧,里面还是有东西的
将其全部复制下来进一个新的txt文件,用snow工具
得到flag
知识点:图片隐写,snow隐写
[攻防世界]碎纸机11
分析
下载得到一堆图片
打开看一眼,应该是一个二维码被“分尸”了
解题
碎片的排列应该有个顺序,010editor,属性暂时没有发现
可能是文件时间,大小
将图片按日期递增排序,随后放入网站
在线合并JPG、PNG、SVG、WEBP图片
注意选择水平
得到二维码
[攻防世界]我们的秘密是绿色的
分析
下载得到一张图片,图片隐写
解题
常用的图片隐写思路好像没发现什么,网上搜索原来有个工具就叫oursecret
Our Secret可以隐藏文本,视频,音频,图像还有其他格式的文件,它创建的初衷是为了隐藏和发送敏感文件或消息。
[攻防世界]信号不好先挂了
分析
又是图片隐写
我也先挂了……
解题
save bin
保存后的zip还需要修复一下才能解压缩
……怎么里面又是这张图片
Misc隐写术 - Scr1pt? - 博客园
两张一样图片还可在stegslove合成图片
用BlindWaterMark这个工具一直报错(麻木)
直接打开puzzlesolve,得到图片
知识点:盲水印
信女愿一台不会报错的电脑
[攻防世界]再见李华
题目描述
李华的图片被弄脏了,你能帮忙看看弄脏的字符吗,要求不少于10000字,没有特殊字符
分析
得到一张图片
凡是去010里面看一眼
解题
在010里发现txt文件,foremost分离出来,得到压缩包,里面含有txt文件,需要密码
看一眼,也不是伪加密,使用爆破
掩码加密(离谱)
观察题目 不少于10000字
可能是?????LiHua 看了wp,题目提示错误,因该是????LiHua
得到密码 15CCLiHua
打开得到