用于采集函数调用信息的IDAPython脚本

优采云 发布时间: 2020-08-06 07:11

  转载: 好吧

  当我们寻找软件错误或恶意代码分析时,我们将首先找到一些易于被错误使用的常用功能. 但是有时候很难找到太多的程序代码并且很费时间. 因此,我们可以编写脚本来跟踪这些功能,找出它们的调用位置,然后将这些位置的背景色设置为不同的颜色,以便我们可以在IDA窗口中轻松看到它们.

  以下是我们测试程序的伪代码:

  

  我们将使用此脚本找出printf函数.

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  从idaapi导入*

  danger_funcs = [“ printf”]#需要找到函数的名称

  对于危险功能中的功能:

  addr = LocByName(func)

  如果addr!= BADADDR:

  #查找交叉引用的地址

  cross_refs = CodeRefsTo(addr,0)

  打印“对%s的交叉引用”%func

  打印“ -------------------------------”

  cross_refs中的参考

  打印“ x”%引用

  #函数的颜色为红色

  SetColor(ref,CIC_ITEM,0x0000ff)

  效果:

  我们首先获取这些功能的地址,然后测试这些地址的有效性. 然后获取这些函数的交叉引用信息,确认它们的调用位置,最后将它们打印出来并在IDA中进行着色.

  这是打印的信息.

  

  如果在IDA中浏览这些位置,您会发现它们都是彩色的.

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线