下载附件,为ELF文件,在Linux中查看相关信息
发现为32位ELF文件,将文件拖入IDA中
主函数比较简单,跟进每一个函数,发现 authenticate() 为关键函数
而其中的 decrypt 为加密函数(名称也可以看出来),函数返回加密结果s2
根据下面的比较函数,判断s2即为flag
在IDA View 中观察 decrypt 函数
该函数的结束位置为 0x08048707
在Linux中利用gdb动态调试,在0x08048707处下断点,运行后查看eax中的数据
可以清晰得看到flag:9447{you_are_an_international_mystery}
解题完毕!
收获:熟悉GDB的调试方法。
这篇博文十分详尽,好东西,记下来,有空没空看几眼。https://blog.csdn.net/horotororensu/article/details/82256832
原文:https://www.cnblogs.com/MuZiShiYe/p/11053164.html