如何计算最大可能的堆栈大小利用率

逆向工程 艾达 蟒蛇
2021-06-23 14:50:41

有没有什么优雅的方法可以使用 IDAPython 计算程序的最大可能堆栈深度利用率?

目前我最好的方法是遍历所有函数并计算堆栈增加指令。

1个回答

IDAPython 函数get_frame_size(ea)以字节为单位给出堆栈的大小。因此,您可以通过所有可用函数获得最大堆栈:

"0x%04X" % max(get_frame_size(f) for f in Functions(0, BADADDR))