作为刚刚进入reserve的小白,这几天在攻防世界的一些解题
no_strings_attached
一看没有exe,估计是linux的文件了,扔进C32Asm里
果然elf文件
先用扔进ida分析,发现主要函数authenticate,找到他的地址
OK,接下来就是扔到linux的gdb里面分析啦(这里我用的是peda显示的更方便点)
用b来下断点,b*0x08048708,然后r运行,n单步往前走
断点指令reg info查看寄存器
用x指令查看0x282,x/282x &eax
这便是数据,copy出来通过python转码既得flag
csaw2013reversing2
首先终于是一个exe文件,但是我一直打不开,而且不容易动态分析,所以这里就只讲静态分析了
扔进ida,找到main函数
发现dword409B10提供了数据,猜测应该是源数据
发现sub_401000是变形函数,就是源数据和提供的一个数据进行抑或
dword_409B38便是提供数据
用python写出代码
得到flag
getit
静态分析
放入ida,查看到中心函数
意思就是根据index值得奇偶来判断该值ord是+1还是-1
s的值也已经给了,如下图
写出python脚本就行
a=("c61b68366edeb7bdce3c6820314b7498")
for i in range (0,32):if(i%2!=0):print(chr(ord(a[i])+1),end='')else:print(chr(ord(a[i])-1), end='')
python-trade
这道题比较简单,用py反编译器用一下就行,下载地址http://sourceforge.net/projects/easypythondecompiler/?source=directory
反编译结束后,得到代码
只要倒着推先base64解码,再-16,和32异或即可
这里最好用python软件直接base64解码,不要用外部网站,不然最后结果会差一点点,具体情况为啥我也不知道,正能猜测base64解码的代码不同吧
最后得到flag
maze
这道题在做的时候完全摸不清头脑,主要还是自己的思路太窄了吧,很有趣的一道迷宫题
首先ida静态分析,代码很多,很烦,但是要有耐心,一步一步来
第一是在判断密码位是否24,开头是否为 nctf{ ,结尾是否为 }
这时候,你会发现,有一段代码比较类似,是平行出现的,这就是在迷宫里的上下左右的四个动作
四个函数sub_400650\sub_400660\sub_400670\sub_400680是+1或-1的动作
v9是一个二维数组,用来控制上下和左右这两种方向的。
两种可能:1.v9代表横向、&v9+1代表竖向2.v9代表竖向、&v9+1代表横向
假设v9代表竖向,则"."上"0"下"o"右"O"左
根据流程图找到要求的迷宫
根据call sub_400690得出迷宫分布规律是8个字符一行
然后就是本人的方法了
在Excel里面画出来,简单易懂
根据道路得出代码为:
o0oo00O000oooo…OO
加上外壳flag便得到了:
nctf{o0oo00O000oooo…OO}