easyre
IDA pro查看伪代码快捷键F5
|
|
EZ,flag{this_Is_a_EaSyRe}
reverse1
IDA Pro查看字符串类型快捷键:Shift + F12
直接找到了.data:000000014001C000 0000000E C {hello_world}
但提交并不对,继续查找,找到:
|
|
双击进入,查看是哪段函数调用了该字符串Ctrl + X
:
|
|
strcmp
判断str1与str2是否相等,str1是输入的字符串,所以str2应该就是flag的值,点击str2高亮它,发现它上面经过了一个处理:
|
|
可以看到,经过一个遍历,str2中的111被改变为48,这是ascii码,选中数字后按下R
转化为字符:
|
|
双击str2,可以看到str2是{hello_world}
,那么flag即为:{hell0_w0rld}
reverse2
一样的步骤,F5分析main:
|
|
R转换为字符:
|
|
遍历,如果字符是i
或者r
,转换为1
。
双击flag:
|
|
其中7Bh
R一下就是{
所以flag处理前是{hacking_for_fun}
,处理后就是:{hack1ng_fo1_fun}
内涵的软件
shift + F12
秒了…
DBAPP{49d3c93df25caad81232130f3d2ebfad}
但还是分析下:
|
|
定义了字符串v5但是没有使用,所以是忘记把变量写进来了
新年快乐
DIE
查壳:UPX(3.91)[NRV,best]
脱壳,虽然打不开程序了,但是ida可以分析了:
|
|
得到了HappyNewYear!
xor
|
|
输入__b
,异或后与global
进行比较,所以global
应该是flag异或后的值。
提取global
,shift + E
导出数据:
python写一遍异或的部分:
|
|
得到:flag{QianQiuWanDai_YiTongJiangHu}