查找函数中字节的确切位置

时间:2015-12-04 14:34:33

标签: c linux

我在函数中插入一个字节:

void func_simple(){
    ...
    asm volatile (
        ".align 4 \n"
        ".long 0xfafafafa \n"
    );
    ...
}

如何计算func_simple中插入字节前后的字节数?使用nm -S a.out | grep func_simple我可以获得func_simple的开始地址和长度,但我不知道如何进一步。

2 个答案:

答案 0 :(得分:1)

如果我理解你,你可以尝试以下方法:

void func_simple(){
    ...
    asm volatile (
    ".align 4 \n"
    ".global mydata \n"
    "mydata:\n"
    ".long 0xfafafafa \n"
    );
   ...
}

然后用“objdump”或“nm -S”查找符号“mydata”

答案 1 :(得分:0)

您可以使用objdump查看整个目标代码,该代码将指定函数的地址和语句。

我不确定你想要实现的目标。 您可以尝试使用gdb进一步分析代码的工作方式