0%

恢复静态编译去符号

ida pro恢复去符号程序的符号

序言

第一部分说的都是废话吧,对我来说,建议用后面部分的

恢复方法

lscanf

首先获得sig,我这里用的是lscanf里的sig

下载地址

先扫描下

1
2
3
4
5
6
7
8
9
10
11
12
13
python lscan.py -f stripped -S amd64/sig/
amd64/sig/libc-2.13.sig 12266/3369 (364.08%)
amd64/sig/libc-2.22.sig 12870/2859 (450.16%)
amd64/sig/libc-2.23.sig 13163/2869 (458.80%)
amd64/sig/libcrypto-1.0.2h.sig 36850/5057 (728.69%)
amd64/sig/libm-2.13.sig 11125/445 (2500.00%)
amd64/sig/libm-2.22.sig 11121/582 (1910.82%)
amd64/sig/libm-2.23.sig 11124/600 (1854.00%)
amd64/sig/libpcre-8.38.sig 18/150 (12.00%)
amd64/sig/libpthread-2.13.sig 11379/319 (3567.08%)
amd64/sig/libpthread-2.22.sig 11159/262 (4259.16%)
amd64/sig/libpthread-2.23.sig 11160/258 (4325.58%)
amd64/sig/libssl-1.0.2h.sig 0/665 (0.00%)

对比下符号哪个版本最匹配,这里显示是libm-2.13是最高的

到目录下移动libm-2.13.sig到IDA pro的安装目录下的sig文件夹下的pc目录下(大坑,网上都说是sig目录下,放到那完全没用,对我来说)

emm,这个lscan 有点坑,我跑起来会卡死我机子,算了删了,手动尝试吧,下个sig database

sig-database

sig-database

file->Load file->flirt signature file

或者shift+f5

重要的事情

将.sig移动到IDA pro的安装目录下的sig文件夹下的pc目录下(大坑,网上都说是sig目录下,放到那完全没用,对我来说)
将.sig移动到IDA pro的安装目录下的sig文件夹下的pc目录下(大坑,网上都说是sig目录下,放到那完全没用,对我来说)
将.sig移动到IDA pro的安装目录下的sig文件夹下的pc目录下(大坑,网上都说是sig目录下,放到那完全没用,对我来说)

红帽杯 2019 three

这道题也是去除了符号表的

经尝试好多次后,发觉这个最符合,
libc6_2.27-0ubuntu2_i386 Applied 460 ubuntu 18.04 libc6 (2.27-0ubuntu2/i386)

看下恢复符号后

恢复符号前

好明显的对比,太强了

湖湘杯 HackNote

这个最匹配的库

libc6_2.23-0ubuntu10_amd64 Applied 671 ubuntu 16.04 libc6 (2.23-0ubuntu10/amd64)

多么好看的场景

总结

静态去符号的题目最近做了好几道,总结下这种方法,避免以后再次遇到

本文作者:NoOne
本文地址https://noonegroup.xyz/posts/fea8bac7/
版权声明:转载请注明出处!