如何在Python的64位应用程序中获取堆栈帧?
在86位pe/elf中,此代码起作用:如何在Python的64位应用程序中获取堆栈帧?,python,ida,Python,Ida,在86位pe/elf中,此代码起作用: ea=ScreenEA() stack = GetFrame(ea) size = GetStrucSize(stack) names = [] for i in xrange(size): n = GetMemberName(stack, i) if n and not n in names: names.append(n) print names 但在64位应用程序中,“stack”变量中的值无效,并且出现异常
ea=ScreenEA()
stack = GetFrame(ea)
size = GetStrucSize(stack)
names = []
for i in xrange(size):
n = GetMemberName(stack, i)
if n and not n in names:
names.append(n)
print names
但在64位应用程序中,“stack”变量中的值无效,并且出现异常:
Expected an ea_t type
Traceback (most recent call last):
File "\IDA Pro Advanced Edition v6.1\python\idaapi.py", line 373, in IDAPython_ExecScript
execfile(script, g)
File "F:/123.py", line 11, in <module>
size = GetStrucSize(stack)
File "\IDA Pro Advanced Edition v6.1\python\idc.py", line 4760, in GetStrucSize
return idaapi.get_struc_size(sid)
File "\IDA Pro Advanced Edition v6.1\python\idaapi.py", line 25013, in get_struc_size
return _idaapi.get_struc_size(*args)
TypeError: Expected an ea_t type
应为ea\t类型
回溯(最近一次呼叫最后一次):
文件“\IDA Pro Advanced Edition v6.1\python\idaapi.py”,第373行,在IDAPython_ExecScript中
execfile(脚本,g)
文件“F:/123.py”,第11行,在
大小=GetStrucSize(堆栈)
GetStrucSize中第4760行的文件“\IDA Pro Advanced Edition v6.1\python\idc.py”
返回idaapi。获取结构大小(sid)
文件“\IDA Pro Advanced Edition v6.1\python\idaapi.py”,第25013行,大小为
返回_idaapi.get_struc_size(*args)
TypeError:应为ea\u t类型
如何获取64位的帧
版本:IDA 6.1
IDAPython 1.5
Python2.6.6Hm,可能是旧版本的bug。