IDA“呼叫抵消”

时间:2015-01-21 06:10:22

标签: ida

我使用LordPE从内存中删除了一个dll,到目前为止一直很好,但IDA显示的功能如下:

call    off_11CAE08

在内存地址11CAE08(.data部分)我们有01058530(.text部分)所以我想IDA能够显示调用sub_01058530,所以,有没有任何方法或脚本可以更改和修复所有行这个问题?

2 个答案:

答案 0 :(得分:0)

这是一个相对电话,您需要解决该地址。您可以通过查看库静态地执行此操作,也可以使用名为Ablation的工具动态执行此操作,您可以通过听取作者talk的黑帽来学习如何使用它。为此,您需要使用消融运行process / dll

答案 1 :(得分:0)

假设您具有1-dref这样的功能,下面是一个使用sark的脚本:

from sark import *
from idc import *
from idaapi import *
from idautils import *
import struct
text_start =xxx
text_end= xxxx
data_start=xxx
data_end=xxx

for line in sark.lines(text_start, text_end):
    for ref in line.xrefs_to:
        if ref.type.is_call:
            if data_start <= ref.to <= data_end:
                addr = GetManyBytes(ref.to, 4)
                addr, _ = struct.unpack("<I", addr)
                MakeName(ref.to, "func_ptr_"+str(addr))

P.S。我是用手机写的,所以语法可能不正确。