XCTF logmein

混江龙づ霸主 提交于 2020-01-15 07:09:03

一.查壳

在这里插入图片描述
发现是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
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!