buuctf做题记录
查壳
64位无壳
IDA反编译
F5了main_main函数,看函数列表的时候就觉得不对劲,之后查了查这道题似乎是GO语言写的,属于是新的知识点。
函数很乱,对GO语言没有了解,所以在判断语句周围点出数据查看,找到明文flag。(按’a’转换成字符串形式)
小记
GO语言了解甚少,如果不是这种明文flag感觉很难找到函数逻辑,查资料时找到了一个叫IDAGolangHelper
的插件,不过不是很会用,学习内容+1.
(IDA似乎给了个GO1.13,可能因为插件没有这个版本才没用?)
GO语言
IDAGolangHelper
下载
Go 语言二进制文件有它自己的特殊性:
- Go 语言内置一些复杂的数据类型,并支持类型的组合与方法绑定,这些复杂数据类型在汇编层面有独特的表示方式和用法。比如 Go 二进制文件中的 string 数据不是传统的以 0x00 结尾的 C-St