我写了一个脚本来显示NtQueryInformationProcess.however的第二个参数,我总是得到错误的数据,似乎记忆并不新鲜,我得到的是旧的data.Here是我的代码:
from idaapi import *
NtQueryInformationProcess=0x7798E740
class HookNQIP(DBG_Hooks):
def dbg_bpt(self,tid,ea):
if ea==NtQueryInformationProcess:
print 'ProcessInformationClass:
我正在尝试在Windows7机器上安装IDA Pro 5.5。我已经安装了python 2.5。启动IDA时,我收到init.py失败的错误消息。当查看这个文件时,我发现它正在导入_idaapi模块,但是我在IDA安装目录中找不到这个模块。有一个名为idaapi.py的python模块,它也在导入_idaapi。我也尝试过单独下载IDAPython,但它仍然不起作用。有没有人可以建议一些方法来摆脱这个错误,让我的IDA在安装了IDAPython的情况下正常工作?预先感谢-Sanjay
我已经写了一个IDAPython脚本,它通过IDA Pro GUI执行并列出DLL中的函数。但是,当通过命令提示符执行同一脚本时,该脚本不会列出DLL中存在的函数。代码如下:
from idautils import *
from idaapi import *
import idc
ea = BeginEA()
dll_functions=[]
fp=open(r"C:\Users\xxx\Documents\check\fun_output.txt","w")
fp.write("check")
for funcea in Functions
IDApython在命令行的IDA中工作得很好。但是,在正常编辑器中的IDA之外,当我用import idautis编译python程序时,会得到以下错误:
“没有名为_idaapi的模块”
from idautils import *
from idaapi import *
ea = BeginEA()
for funcea in Functions(SegStart(ea), SegEnd(ea)):
functionName = GetFunctionName(funcea)
functionStart = paddAddr(hex(funcea)[2:])
当我用IDA gui反转二进制文件时,所有函数都会被解压缩,而不会有任何问题。
但是当我在没有gui的ida上运行一个自动脚本时,总是有相同的功能,拒绝被解压缩。(当我打开自动化脚本所使用的同一个IDB时,函数就会被解压缩,而不会出现问题)
我正在使用bip。并使用BipFunc.can_decompile来检查一个函数是否可以被解压缩。
编辑:
根据下文的答复,我试图补充以下几点:
if not func.can_decompile:
print(f"can't decompile function 0x{func.ea:04x}, trying again"