radare2 函数偏移量和最小边界之间的区别

逆向工程 雷达2
2021-07-05 14:45:33

我试图了解radare2中函数offset和它minbound的区别。考虑radare2中的这个函数(输出aflj):

    {
        “偏移”:4549740,
        "name": "sym.tightdb::TableViewBase::sync_distinct_view_unsignedlong",
        “大小”:2394,
        “realsz”:4598,
        “堆栈帧”:1200,
        "calltype": "(null)",
        “成本”:4425,
        “抄送”:103,
        “位”:16,
        “类型”:“fcn”,
        "nbbs": 213,
        “边缘”:298,
        “潮起潮落”:9,
        "minbound": "4267940",
        "maxbound": "4552134",
        ...
    }

有几点不是很清楚:

当我这样做时pdf @4549740(打印函数在offset),radare2 开始在0x456644(= 4548164)打印,这不是上面的值。

我希望它offset总是指向函数的第一个基本块的开始。事实上,这里似乎就是这种情况,如offset+ realsize= maxbound但是maxbound - minbound = 284194,这显然比函数应该长得多。

那么,什么minbound表示它,它与什么不同offset

示例二进制

0个回答
没有发现任何回复~