(十三)、easy_go
easy_go
攻防世界第64题

一、 运行,查看文件类型
提升为执行权限后运行

二、 IDA静态分析
IDA7.0与IDA7.6打开后不一样
IDA7.0:

IDA7.6:

好像IDA7.0需要下载IDAGolangHelper进行符号分析
链接: https://github.com/sibears/IDAGolangHelper
分析:

这里,上半部分是判断失败的代码,下半部分是判断成功的代码
交叉引用



这里v3来自v17,v17来自v12,而v12来自何处无从得知
用Gdb动态调试一下看看
三、gdb动态分析
1、peta插件
这里介绍一款特别好用的插件:
peta(https://github.com/longld/peda)
下载方法:
git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit
抄自:
2、调试
下 b *0x495318断点

直接就出flag了
Flag:
flag{92094daf-33c9-431e-a85a-8bfbd5df98ad}
PS
虽然最后拿到了flag,但代码逻辑我还是捋不清,老是感觉这IDA反编译的变量有问题...还是太菜了吗,占个坑,以后了解了解GO语言之后再看看
坑

浙公网安备 33010602011771号