如何在IDApython中检查调用是否为API /库调用?

问题描述

我刚才问了一个问题,但是没有找到答案,所以我再次尝试运气

唯一的解决方法是:

https://reverseengineering.stackexchange.com/questions/9352/finding-all-api-calls-in-a-function

但是当库调用是.NET库调用时它不起作用,而且似乎不包括调情识别的已识别的staticley链接调用

基本上,我只想检查调用指令是API /库调用还是本地函数调用

我已经尝试使用GetopType函数,但是没有用,“本地”调用和库调用都将返回10:

void [mscorlib]System.Threading.Thread::Sleep(int32)
10

unsigned int8[] Loader.Nyan::AES_Decrypt(unsigned int8[] bytesTobedecrypted)
10 (LOCAL function)

当前,我仅将正则表达式用作一种肮脏的解决方法,以仅在操作数中存在[*]时才能查找库调用,但必须有更好的方法。.

我知道LIB标志,但是在.net中,使用Getopnd API调用将返回.NET文件中操作数的名称,没有地址,因此我可以针对lib标志使用

请注意,它是在IDA中实现的(显然),例如在.NET文件中,您可以清楚地看到库调用为蓝色/粉红色,普通调用为黄色(至少在我的颜色设置中),因此必须有一个检查方式。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)