攻防世界逆向入门题之logmein
继续开启全栈梦想之逆向之旅~
这题是攻防世界逆向入门题的logmein
下载附件:
照例扔到exeinfo PE中查看信息:
ELF的linux文件,在kali虚拟机中查看位数,是64位:
扔到64位IDA中查看信息,主要查看伪代码:
好的,很常规的题型,关键输入判断如下:
在IDA中v7按R键转换为v7 = ‘ebmarah’;
(_BYTE *)&v7表示将原本是_int64类型的v7转换地址形式,转成byte型地址形式来实现1位一位读取字符串。
这里还要注意的是这里的内存是小端存放的,也就是说我们要逆着来比较v7的字符串,详细细节可以看下面这位仁兄的博客,讲得很详细:
https://blog.csdn.net/qq_43656475/article/details/103069606
那么直接上python3脚本:
key1=":\"AL_RT^L*.?+6/46"
key2="ebmarah"[::-1]
key3=""
for i in range(len(key1)):
key3+=chr(ord(key2[i%7]) ^ ord(key1[i]))
print(key3)