babylua
local flag = '' --这里是你要逆推出的flag
local md5 = require("md5")
math.randomseed(os.time())
local function randomStr(len)
local rankStr = ""
local randNum = 0
for i = 1, len do
randNum = math.random(1, 2)
if randNum == 1 then
rankStr = rankStr .. string.char(math.random(65, 90))
elseif randNum == 2 then
rankStr = rankStr .. string.char(math.random(97, 122))
end
end
return rankStr
end
local seed = randomStr(4)
local key = md5.sumhexa(md5.sumhexa(seed)) #md5 encrypto
print(key:sub(1,10))
secret = {}
for i = 1, #flag do
secret[i] = string.byte(flag:sub(i,i)) + string.byte(key:sub(i,i))
end
for i, v in ipairs(secret) do
io.write(v, ' ')
end
print()
--程序运行输出结果:
--b5e62abe84
--200 161 198 157 173 169 199 150 105 163 193 175 173 194 135 131 135 225
--请你分析代码,逆向推出flag
题目给了两个lua脚本,其中md5.lua是md5加密库,可以去文件里打开链接就可以知道。
分析代码,给了个4位的seed字符串,并用seed进行了两次md5加密得到key,secret是flag的ascii值加上key的ascii值,题目已经给出key的前十位和secret,因为secret的长度是18,那么flag的长度也是18,那么自需要求出key就可以得到flag了。也很简单,爆破seed
s=string.ascii_letters
key='b5e62abe84'
for i in s:
for j in s:
for z in s:
for t in s:
h=i+j+z+t
h1=hashlib.md5(h.encode()).hexdigest()
h2=hashlib.md5(h1.encode()).hexdigest()
if h2[:10]==key:
key=h2[:18]
print(key)
exit()
key='b5e62abe84bc8afbfd'
sercet=[200 ,161, 198, 157, 173, 169, 199, 150, 105, 163, 193, 175, 173, 194, 135, 131, 135, 225]
for i in range(len(key)):
print(chr(sercet[i]-ord(key[i])),end='')
Absolute_Baby_Encrytpion
简单换表
a='abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+-=`~{}[]|:;"\'<>,.?/'
b='!1)vm+q0c](}[85$*i>#<?o^-_hwe9gzd~=xj:4b`l3t6sn;\'rkp"&/\\2.%|,@{u7ya'
key='+}!q")hiim)#}-nvm)i-$#mvn#0mnbm)im#n+}!qnm8)i-$#mvnoc#0nz<$9inm!>-n1:1-nm8)i-$~c58n!}qhij#0[noic##m8nc8n?!8c}w!n]>&'
flag=''
for i in key:
index=b.index(i)
flag+=a[index]
print(flag)
Magic of Encoding
这题总感觉是杂项题放错地方了
首先得到一堆base64加密后的密文,先把密文base64解密一下保存在文档里
用sublime text软件(其他软件也可以,但是要可以进行字符替换的)打开两个文件(密文文件和解密文件)。
这题思路是将假的flag删除
解密文件可以看到有三种flag:flag{Xd_fake_flag_xD}、find_me_if_you_can、flag{not_the_correct_flag_lol}。
将这三个flag分别base64加密一下:ZmxhZ3tYZF9mYWtlX2ZsYWdfeER9、ZmluZF9tZV9pZl95b3VfY2Fu、ZmxhZ3tub3RfdGhlX2NvcnJlY3RfZmxhZ19sb2x9
然后在密文文件中将这三个base64加密后的字符串删除,得到
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sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0K29kaW5nLnR4dFVUDQAHTZEzZE6RM2CmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KRNkTNkdXgLAAEE9QEAAAQUAAAAUEsCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KCmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0KFBgAAAAABAAEAYwAAAIoAAAAAAA==
再用上面的base64解密一下,得到
flag{not_the_correct_flag_lol}
flag{not_the_correct_flag_lol}
flag{not_the_correct_flag_lol}
flag{not_the_correct_flag_lol}
PK.........T.V........).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô().±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô(%..... .Magic of Enco`¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇФing.txtUT
..M.3dN.3dM....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B.3dux....õ........KËIL
flag{not_the_correct_flag_lol}
flag{not_the_correct_flag_lol}
flag{not_the_correct_flag_lol}
flag{not_the_correct_flag_lol}
¯Î0(0.¯4(.ÏÉÌ6N./ÉH.÷4).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô().±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô().±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô().±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô)IÏL.7/ÊLήå..PK...eúZ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЧ...%...PK...........T....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B.V.eúZ'...%..... .....
flag{not_the_correct_flag_lol}
flag{not_the_correct_flag_lol}
flag{not_the_correct_flag_lol}
flag{not_the_correct_flag_lol}
....¤.....Magic of En`).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô().±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô().±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô().±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô().±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô().±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô().±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô).±..í¹½Ñ}Ñ¡.}.½ÉÉ..Ñ}.±..}±½±ô+oding.txtUT
..M.3dN.3`¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇÐ ¦fÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇЦfÆ.w¶æ÷E÷F.Uö6÷'&V7EöfÆ.uöÆöÇФM.3dux....õ........PK....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B....YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B...YÞÛ.Ý.Ý..WØÛÜ..XÝ.Ù..Y×Û.Û.B..........c.........
然后又出现了flag,继续之前的操作
假的flag:
flag{not_the_correct_flag_lol}
flag{not_the_correct_flag_lol}
注意:这个要在上下留一行
base64加密:CmZsYWd7bm90X3RoZV9jb3JyZWN0X2ZsYWdfbG9sfQpmbGFne25vdF90aGVfY29ycmVjdF9mbGFnX2xvbH0K
然后在删除,最后得到
UEsDBBQACAAIAAZUilYAAAAAAAAAACUAAAAVACAATWFnaWMgb2YgRW5jb2RpbmcudHh0VVQNAAdNkTNkTpEzZE2RM2R1eAsAAQT1AQAABBQAAABLy0lMr84wKDCOrzQojc/JzDZOiS/JSI33NUnPTI43L8pMzq7lAgBQSwcIjmX6WicAAAAlAAAAUEsBAhQDFAAIAAgABlSKVo5l+lonAAAAJQAAABUAIAAAAAAAAAAAAKSBAAAAAE1hZ2ljIG9mIEVuY29kaW5nLnR4dFVUDQAHTZEzZE6RM2RNkTNkdXgLAAEE9QEAAAQUAAAAUEsFBgAAAAABAAEAYwAAAIoAAAAAAA==
然后用CyberChef网站转换保存为zip压缩包
打开压缩包就是flag了
Math Problem
#!/usr/bin/env sage
import secret
from Crypto.Util.number import *
p, q = getPrime(512), getPrime(512)
e, n = 0x10001, p * q
c = pow(bytes_to_long(secret.flag), e, n)
print(f"{e = }\n{n = }\n{c = }")
a, b = getPrime(512), getPrime(512)
E = EllipticCurve(GF(p), [a, b])
G = E.lift_x(ZZ(getPrime(64)))
print(f"{a = }\n{b = }\ny = {G.xy()[1]}")
'''
e = 65537
n = 79239019133008902130006198964639844798771408211660544649405418249108104979283858140199725213927656792578582828912684320882248828512464244641351915288069266378046829511827542801945752252863425605946379775869602719406340271702260307900825314967696531175183205977973427572862807386846990514994510850414958255877
c = 45457869965165575324534408050513326739799864850578881475341543330291990558135968254698676312246850389922318827771380881195754151389802803398367341521544667542828862543407738361578535730524976113729406101764290984943061582342991118766322793847422471903811686775249409300301726906738475446634950949059180072008
a = 9303981927028382051386918702900550228062240363697933771286553052631411452412621158116514735706670764224584958899184294505751247393129887316131576567242619
b = 9007779281398842447745292673398186664639261529076471011805234554666556577498532370235883716552696783469143334088312327338274844469338982242193952226631913
y = 970090448249525757357772770885678889252473675418473052487452323704761315577270362842929142427322075233537587085124672615901229826477368779145818623466854
'''
很明显椭圆曲线的题型,该题自需要求出模数p。
有限域下的椭圆曲线方程是y^2=x^3+a*x+b\pmod p,那么就有kp=x^3+a*x+b-y^2,所以可以构造copper还原x,然后按照kp=x^3+a*x+b-y^2去得到kp(若是负的取绝对值),和n进行gcd就可以得到p了。
from Crypto.Util.number import *
import gmpy2
e = 65537
n = 79239019133008902130006198964639844798771408211660544649405418249108104979283858140199725213927656792578582828912684320882248828512464244641351915288069266378046829511827542801945752252863425605946379775869602719406340271702260307900825314967696531175183205977973427572862807386846990514994510850414958255877
c = 45457869965165575324534408050513326739799864850578881475341543330291990558135968254698676312246850389922318827771380881195754151389802803398367341521544667542828862543407738361578535730524976113729406101764290984943061582342991118766322793847422471903811686775249409300301726906738475446634950949059180072008
a = 9303981927028382051386918702900550228062240363697933771286553052631411452412621158116514735706670764224584958899184294505751247393129887316131576567242619
b = 9007779281398842447745292673398186664639261529076471011805234554666556577498532370235883716552696783469143334088312327338274844469338982242193952226631913
y = 970090448249525757357772770885678889252473675418473052487452323704761315577270362842929142427322075233537587085124672615901229826477368779145818623466854
R.<x> = PolynomialRing(Zmod(n))
f=x**3+a*x+b-y**2
f=f.monic()
x0 = f.small_roots(X=2^64, beta=0.4,epsilon=0.01)[0]
x=int(x0)
kp=pow(y,2)-b-a*x-x**3
p=gmpy2.gcd(kp,n)
q=n//p
d=gmpy2.invert(e,(p-1)*(q-1))
m=pow(c,d,n)
print(long_to_bytes(int(m)))