所以我现在正在尝试编写一个反向工具并尝试制作一个 CALL 图
我遇到的问题是有些电话就像 Call *eax 而不是 Call 'address'
我可以使用绝对调用轻松生成调用图,但不能使用这些调用
所以我有三个问题:
使用寄存器而不是绝对函数调用什么类型的函数?我只想为主程序中的函数而不是库等生成调用图,我是否需要担心寄存器调用或这些仅用于特殊函数?如果是这样,为什么?(即使这些仅用于库函数,我也不明白为什么它们不能在重定位期间转换为绝对地址??)
如果我想通过读取寄存器来检查被调用的函数是什么,这是否可以使用静态分析或我必须进行动态分析?
我可以使用静态分析制作一个像样的调用图,意思是只读取二进制文件吗?像 IDA 这样的流行工具是否也使用静态来生成调用图?或者如果我这样做我会面临真正的问题吗?