微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 RTN_FindByName 查找函数?

如何解决如何使用 RTN_FindByName 查找函数?

我正在努力寻找具有原型 mul(float,float)函数时,我尝试使用 RTN_FindByName,但输出仍然为空。

VOID Arg1Before(CHAR * name,ADDRINT size)
{
    TraceFile << name << "(" << size << ")" << endl;
}
VOID MulAfter(ADDRINT ret)
{
    TraceFile << "  returns " << ret << endl;
}
VOID Image(IMG img,VOID *v)
{
// Instrument the mul() and div() functions.  Print the input argument
// of each mul() or div(),and the return value of mul().
//
//  Find the mul() function.
RTN mulRtn = RTN_FindByName(img,MUL);
if (RTN_Valid(mulRtn))
{
    RTN_Open(mulRtn);
    // Instrument mul() to print the input argument value and the return value.
    RTN_InsertCall(mulRtn,IPOINT_BEFORE,(AFUNPTR)Arg1Before,IARG_ADDRINT,MUL,IARG_FUNCARG_ENTRYPOINT_VALUE,IARG_END);
    RTN_InsertCall(mulRtn,IPOINT_AFTER,(AFUNPTR)MulAfter,IARG_FUNCRET_EXITPOINT_VALUE,IARG_END);
    RTN_Close(mulRtn);
}
}

在那里,MUL一个常量,它是 "mul"。显然,我已经包括了 pin.H。问题是我的 traceFile 仍然是空的

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。