XCTF logmein

一.查壳

在这里插入图片描述
发现是64位的Linux文件(ELF可以看出是linux的文件)
二.拖入ida64,静态分析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意这里两个坑:
1.strcpy是复制字符串的意思,前面定义的v8数组只有8个,但是后面的字符串是超过8个的,所以有可能这个v8定义是反编译错误的(算了一遍,确实是错的,不需要管这个数组,直接用原字符串就好了)
2._int 64 v7

在这里插入图片描述
先将v7转换成字符串,这步个人理解是BYTE是字节型的指针,刚好对应的是一个字符,同时这个字符需要倒过来,因为是小端存储。
三。算法分析,写出脚本

v7="harambe"
v6=7
v8=":\"AL_RT^L*.?+6/46"
str=""
for i in range(0,len(v8)):
    str+=chr(ord((v7[i%7]))^ord(v8[i]))
print(str)

得到flag
在这里插入图片描述

posted @ 2020-01-13 20:54  YenKoc  阅读(447)  评论(0编辑  收藏  举报