Lettle
Lettle
发布于 2022-05-20 / 155 阅读 / 0 评论 / 0 点赞

CTF-XCTF-re高级-流浪者

RE高级-流浪者

题目描述

答案为flag{XXX}形式

题目解析

题目会给我们一个cm.exe的程序,丢到exeinfope发现无壳,直接进入IDA。
点击SHIFT+F12查看所有字符串,发现两个比较可疑的字符串

aAbcdefghiabcde = abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ
aKanxuectf2019j = KanXueCTF2019JustForhappy

追踪到sub_4017F0函数,发现这里对aKanxuectf2019j字符串进行判断,如果前面得出的Str1是这个字符串就成功了。

因此我们需要暴力破解出这个字符串,即将每个字符都放入试试,能不能通过它给的算法算出正确的结果。

通过计算出来的结果,获得结果j0rXI4bTeustBiIGHeCF70DDM

代码

str1 = 'abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ'
str2 = 'KanXueCTF2019JustForhappy'
posis = [str1.index(x) for x in str2]										# 寻找对应关系

posi = 0
for i in posis:
	for j in range(0,128):
		if(j>57 or j <48):
			if(j>122 or j<97):
				if(j>90 or j<65):
					pass
				else:
					posi = j - 29
			else:
				posi = j - 87
		else:
			posi = j - 48

		if(posi == i):
			print(chr(j),end='')

print()