ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[羊城杯 2020]easyre

2022-01-16 11:01:02  阅读:181  来源: 互联网

标签:tmp 26 flag easyre 羊城 num 2020 encode ord


查壳,莫得,64 位,载入 IDA,查看主函数

看到关键的三个加密函数,第一个就是进行了个 base64,第二个进行移位变换,第三个对字符进行了一些变换

encode_three 爆破就可以,然后按照 encode_two 的逻辑重组字符串最后进行 base64decode 即可获得 flag

exp 如下:

from base64 import b64encode, b64decode
Str2 = "EmBmP5Pmn7QcPU4gLYKv5QcMmB3PWHcP5YkPq3=cT6QckkPckoRG"
key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890+/="

#encode_three
tmp = ''
for i in range(len(Str2)):
	for j in key:
		if ord(j) <= 64 or ord(j) > 90:
			if ord(j) <= 96 or ord(j) > 122:
				if ord(j) <= 47 or ord(j) > 57:
					num = j
				else:
					num = chr((ord(j) - 48 + 3) % 10 + 48)
			else:
				num = chr((ord(j) - 97 + 3) % 26 + 97)
		else :
			num = chr((ord(j) - 65 + 3) % 26 + 65)
		if num == Str2[i]:
			tmp += j
			break
print(tmp)
#BjYjM2Mjk4NzMR1dIVHs2NzJjY0MTEzM2VhMn0=zQ3NzhhMzhlOD
#encode_two
flag = tmp[13:26] + tmp[39:] + tmp[:13] + tmp[26:39]
#encode_one
print(b64decode(flag))
#flag{672cc4778a38e80cb362987341133ea2}

标签:tmp,26,flag,easyre,羊城,num,2020,encode,ord
来源: https://www.cnblogs.com/Moomin/p/15808898.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有