[反汇编分析]调用函数传入参数不一致时可能寄存器传入参数

在逆向内核时,发现了这么一个问题,传入参数明显不一致。

通过函数末尾 @16,明显需要四个函数,这里只是传入三个函数。

 

查看WRK源码,发现其确实需要四个参数。

 

排除IDA分析错误的前提下,则存在寄存器传入。

 

这种情况一般IDA会自动给出注释,可以根据注释判断是哪个寄存器传入。

 

但是,我们可以手动推测是哪个传入的:

 

  1. 该函数上面紧跟一个发送消息函数,该函数可能有返回值eax。

  2. 正好有一个 MsgStatus函数,则该可能是寄存器。

  3. 进入函数验证:

    

    看,eax进入函数之后没任何赋值直接使用判断,则肯定说明eax作为存储参数使用。

 

posted @ 2019-11-17 22:44  OneTrainee  阅读(565)  评论(0编辑  收藏  举报