elf

    1热度

    1回答

    这适用于可重定位的ELF对象文件,而不是完全链接的ELF或ELF共享库。 目前,如果有一个程序,如: main.c: int main() { foo(); return 0; } 与编译GCC -c main.c中 它会生成一个main.o 我想做到的是什么替代foo与“傻瓜或食物”(更长的名称)AFTER目标文件是已经创建。 因为目前如果我们伸过

    0热度

    1回答

    我试图用-h选项运行readelf,它显示两个名为Version的字段,其中都有数字1。 它说其中一个字段中的版本1(当前)和另一个字段中的版本0x1。 这两个字段的意义是什么? ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data:

    0热度

    1回答

    我正在尝试使用C语言读取二进制文件中使用的共享库的名称。到目前为止,我有以下程序test.c: #include <string.h> #include <sys/mman.h> #include <elf.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #i

    0热度

    2回答

    如果动态链接器/加载器本身就是一个共享对象文件,它是如何正确加载到动态链接程序的过程映像空间(如果它尚未存在的话)?这是否是某种捕捉22的东西?

    1热度

    1回答

    在文章Say Hello to Assembly - Part 3中,作者想要在堆栈上打印一个字符串(转换后的整数)。 r12包含字符串中的数字个数。 ;;; Find length of string mov rax, 1 mul r12 mov r12, 8 ; 8 times num digits to get len in bytes mul r12 mov r

    0热度

    1回答

    我有多个files.How源代码用c程序

    0热度

    1回答

    我使用objcopy来提取/替换某个部分是Windows系统上的ELF文件。 >objcopy.exe -V GNU objcopy 2.17.50 20060824 Copyright 2005 Free Software Foundation, Inc. This program is free software; you may redistribute it under the te

    -1热度

    1回答

    我正在使用gnu sparc工具链。我有sparc-ab-elf-gcc和sparc-ab-linux-gcc。 ('ab'是处理器名称)。我想编译一个使用malloc和free(这个程序应该在linux上运行)的程序在baremetal(没有os)上。所以我应该使用sparc-ab-elf-gcc来编译它。我听说我可以在这种情况下使用dlmalloc。 (见stdlib-like library

    0热度

    2回答

    我们试图将二进制/ elf文件复制到我们系统的共享内存区域,然后执行它。我们不想直接调用我们的“客户端”程序,因为我们需要从内存本身执行它来达到我们的目的。 虽然我们知道,我们的做法(以下描述)将没有真正的工作,我们是(显然)设法得到它的工作。如何复制二进制/精灵/等等。直接将文件存入(共享)内存并在其后执行?也许我们是以错误的方式编译它的?还是别的什么做错了? 我们也不想将它转换成十六进制/ s

    1热度

    1回答

    我是计算机科学专业的学生。作为我的主项目的一部分,我试图拦截Android平台上本地库中函数的调用。目标是决定是否允许该呼叫或拒绝该呼叫以提高安全性。 继研究论文1的方法之后,我想修改ELF文件的Procedure Procedure Linkage Table(PLT)和Global Offset Table(GOT)。我的想法是,我想让所有的函数调用指向我自己的拦截函数,它决定是阻止调用还是传