腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
为什么
linux
上不可读的
ELF
可以运行?
、
、
告诉我,内核将调用/lib/ld-
linux
.so.2来运行程序(我使用read亲自检查,它有INTERP段,也就是/lib64/ld-
linux
-x86-64.so.2),所以我认为/lib64/ld-
linux
-x86-64.so.2是用户空间的
ELF
加载器(用于动态链接和将
ELF
映射到内存中)。由于我不能阅读
ELF
,我认为我不应该能够运行它,因为运行它需要读取它的需要做动态链接。结果,我真的不能像/lib64
浏览 1
提问于2018-09-10
得票数 1
回答已采纳
1
回答
修改
ELF
文件
、
、
我有一个
ELF
可执行文件,我想知道如何修改它的.rodata段。 另外,更普遍的是,我如何修改
ELF
可执行文件?
浏览 4
提问于2013-04-08
得票数 2
回答已采纳
1
回答
`[堆栈]`、`[vdso]`和`[vsyscall]`
mmap
从何而来?
、
、
、
考虑以
Linux
x86_64为目标的以下程序: .global _start_start:基本上是一个无限循环。如果我链接并删除它,我将得到一个
ELF
可执行文件: $ .可执行文件中,第一个程序头LOAD包含上面
mmap
(a.out)中第一个条目的映射。execve(2)在fs/binfmt_
elf
.c中调用
ELF
处理程序,读取程序头并在文件上调用
mmap</em
浏览 2
提问于2013-01-14
得票数 4
回答已采纳
1
回答
ASLR模式2的重要性
、
据我所知,ASLR有三种模式:1-随机化堆栈、堆、共享库、vDSO、
mmap
内存区域和文本区域(如果使用-fPIE -pie构建) 2-此外,随机化的brk()-allocated内存,据我所知
浏览 0
提问于2020-04-08
得票数 9
回答已采纳
2
回答
共享库是否使用与应用程序相同的堆?
、
、
、
假设我在
Linux
中有一个使用共享库(.so文件)的应用程序。我的问题是,这些库中的代码是否会在与主应用程序相同的堆中分配内存,或者它们是否使用自己的堆?
浏览 0
提问于2012-01-15
得票数 30
回答已采纳
1
回答
在Fedora 28上构建
Linux
内核时,如何避免“无效命令”错误?
、
我在Fedora 28上构建了一个
Linux
内核,但总是遇到相同的错误,例如:init/main.o: warning: objtool:
elf
_begin我尝试了从下载的"
linux
-5.0.16.tar.gz“和"
linux
-5.0.21.tar.gz”但是没有办法避免这个“无效命令”错误。
浏览 1
提问于2020-01-30
得票数 0
1
回答
Linux
ASLR到底是如何随机化堆栈位置的
、
、
我查看了/proc/pid/
mmap
,发现栈基地址总是变化的(例如,在下面的例子中是0xbfe76000 )。因此,我猜内核(或
ELF
加载器)必须在每次进程开始时随机化堆栈位置。我想知道堆栈基地址随机化的确切代码(在内核或
ELF
装载器中)是什么/在哪里。因为我想分配(例如通过
mmap
)在0xC0000000下面的几个页面,我只是不确定堆栈是否有可能位于0xbffff000。... ... b7762000-b7763000 rw-p 00020000 fc:00 1188263
浏览 4
提问于2016-05-19
得票数 3
1
回答
linux
686-亲自交叉编译GCC
、
、
、
、
我试图交叉编译gcc的
linux
-i 686-精灵平台的windows。/glibc-2.29/configure --target=$TARGET --host=i686-pc-
linux
-gnu --prefix=$PREFIX --with-headers=my/path/i686-
elf
/bin/ld: /home/MyPC/src/build-glibc/
elf
/librtld.os: in
浏览 2
提问于2019-02-25
得票数 2
回答已采纳
1
回答
用C++读取
ELF
头文件
、
、
目前,我正在编写读取
elf
文件头和打印一些信息的小程序
Elf
32_Ehdr *ehdr = (
Elf
32_Ehdr *)buf;
Elf
32_Phdr *ptbl = (
Elf
32_Phdr *) (buf + ehdr-stdout , "Offset of
浏览 5
提问于2012-04-27
得票数 7
回答已采纳
2
回答
Perf中确定库装入地址的机制
、
、
、
、
它是否存储在
elf
二进制文件或分析输出(例如,perf.data)中的某个位置?
浏览 31
提问于2020-01-13
得票数 2
回答已采纳
1
回答
execve如何调用动态链接器/加载器(ld-
linux
.so.2)
、
、
、
我用gcc编写并链接了最基本的C程序test.c:main() {正如预期的那样,输出是一个动态链接的可执行文件:test:
ELF
64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/
Linux
2.6.26, BuildID[/libc.so.6", O_RDONLY) = 3 read(3, "\177
ELF
浏览 4
提问于2014-11-11
得票数 9
1
回答
获取C代码中
ELF
文件任何部分的完整内容
、
、
Elf
64_Ehdr *
elf
;fd = open(av[1], O_RDONLY); perror("open : ");}data =
mmap
(NULL, filesize, PROT_READ= NULL) {
elf
= (
Elf
64_
浏览 0
提问于2020-03-03
得票数 0
1
回答
默认情况下,进程虚拟地址空间的内存映射段会增长到哪个方向?
、
、
目前,我正在研究将
ELF
从磁盘加载到内存的代码,该代码对应于
Linux
内核中的函数。if (
mmap
_is_legacy(rlim_stack)) {} else { mm-&
浏览 18
提问于2022-06-01
得票数 3
回答已采纳
1
回答
由strace产生的
linux
读取系统调用-如何理解指向缓冲区值的指针?
、
、
、
我运行了strace,在它的输出中我得到了这样的行: >,它是干什么用的?
浏览 2
提问于2019-09-22
得票数 1
回答已采纳
2
回答
关于共享库的问题
、
我有一些关于共享库的问题。
浏览 5
提问于2014-04-05
得票数 3
回答已采纳
2
回答
对共享库进行编译时会发生什么情况?
、
我了解到,当链接到静态库(即libname.a )时,所使用函数的二进制代码将从归档文件中取出并插入应用程序二进制文件中。因此,静态库必须在编译时出现。
浏览 1
提问于2013-02-22
得票数 4
回答已采纳
2
回答
加载时
ELF
重定位
、
、
、
我正在
Linux
下编写一个简单的用户空间
ELF
加载器(为什么?为了“好玩”)。目前我的加载器非常简单,只加载包含位置无关代码的静态链接的
ELF
文件。通常,当一个程序被内核的
ELF
加载程序加载时,它被加载到它自己的地址空间中。这样,数据段和代码段可以加载到
ELF
段中指定的正确虚拟地址。然而,在我的例子中,我通过
mmap
向内核请求地址,可能会也可能得不到在
ELF
段中请求的地址。这对于代码段来说不是问题,因为它与位置无关。是否在(静态)
ELF
文件中存储了用
浏览 2
提问于2009-08-28
得票数 21
回答已采纳
1
回答
可执行文件的标识信息
、
、
我有一个
Linux
可执行文件,它似乎是在C++中使用GNU编译器编写的,并且是在调试模式下编写的。我想知道我的结论是否正确,我有多大的机会将它分解成某种至少有点可读性的东西。malloc version="1">system bytes = %10uTotal (incl.
mmap
):片段2 __gnu_cxx::__concurrence_lock_err
浏览 1
提问于2011-12-17
得票数 3
2
回答
使用运行过程的共享内存收集核心转储
、
、
、
核心转储只收集进程空间,而不收集为进程间通信而创建的共享内存。如何使核心转储也包括运行进程的共享内存?
浏览 2
提问于2016-02-18
得票数 5
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券