首页
社区
课程
招聘
遇到C++标准库时如何高效逆向
发表于: 2020-10-21 17:47 2941

遇到C++标准库时如何高效逆向

2020-10-21 17:47
2941

# 在很多大型软件开发中都使用了c++11标准和标准库及其STL模板库,但是针对此类软件逆向时,就会遇到这些函数库的代码,但是由于网上没有对标准库源码的全面介绍,就会导致我们误入标准库去逆向,这是个无底洞和费力不讨好的工作。

因此在逆向过程中如何快速识别各种标准库代码成为关键,但是这方面的资料又很少,只能遇到一个总结一个。如果有一个标准库识别插件就会提高逆向效率,当然前提需要对每个标准库的汇编代码有一定的认识。

###### 请问大家有没有这类困惑和对应的应对办法?

std::string会内联汇编,没有符号,只能依靠特征:
mov qword ptr [rbx+60h], 7
mov [rbx+58h], rbp
mov [rbx+48h], bp
是一个内存块,高地址为7,然后是0 0


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-10-22 16:18 被紫霞星光编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
stl都是些模板,inline进来了就没固定特征了
2020-10-21 18:21
0
雪    币: 918
活跃值: (1875)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
无他,手熟尔,其实如果是运行时库的反而还好弄一点,多保存几份签名文件,别的就全靠基本功了
2020-10-21 20:56
1
雪    币: 22
活跃值: (146)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
标准库东西太多,如果全部去了解汇编特征非常耗时间。好在有些标准库即便汇编也会带上特征,比如call    _Mtx_init和call    _Cnd_init分别对应std::condition_variable和std::mutex的初始化
2020-10-22 16:02
0
游客
登录 | 注册 方可回帖
返回
//