IDA恢复符号表

有elf题目打开之后,发现里面的函数都没有识别出函数名,这时候需要对符号表进行恢复。

可以手动和自动,自动的比较扯淡

自动

github上的一个脚本,maroueneboubakri/lscan,下载之后根据题目的格式,执行里面的lscan.py文件,可以判断重合率,但是不一定对。

image-20220528124207223

在上述目录下执行命令(注意pwn的位数选择合理的目录)

1
python lscan.py -S ./i386/sig/ -f pwn

这时就可以得到一堆答案

image-20220528124346146

把后面数字大的对应的文件,拖进ida的IDA7.5\IDA_Pro_v7.5_Portable\sig\pc

目录下,然后在ida中选择

image-20220528124508170

在如下窗口中选一个合适就可以了

image-20220528124539770

或者多试试,毕竟这个lscan他不准确。

手动

直接下载sig-database:push0ebp/sig-database,里面有windows和ubuntu两个。

image-20220528124727361

在里面找到对应的ubuntu版本的对应位数的sig文件,直接拖到ida的

IDA7.5\IDA_Pro_v7.5_Portable\sig\pc目录中,就可以了,然后重复上述步骤,这样就可以自己选了,可以多选几个找个合适的。

image-20220528124849914

这里就看到有的库只能识别几个,有的就可以识别几百个,还是很方便的,利于分析。

总结

考虑到lscan也好几年没有更新了,这里可以把database里的sig文件直接复制到lscan的那个目录下,这样应该就可以提高准确性了。