cost 332 ms
如何链接 ELF 文件中的数据以在运行时显示? STM32 - How to link Data in ELF file to show up during run time? STM32

我一直试图让我的固件版本在运行时显示。 我已经尝试使用示例中的gcc 是否有任何选项可以在 ELF 二进制文件中添加版本信息? 但没有运气。 这是我到目前为止所拥有的。 在 STM32CubeIDE (MacOS) 上使用 STM32L462 内部源文件: 在我的应用程序文件夹 ...

从 efi 存根获取文本部分 (.cmdline) 的优雅方式 - Elegant way to get text section (.cmdline) from efi stub

我想阅读 systemd efi 存根的 .cmdline 部分(插入了 initramfs、内核和 cmdline)。 我认为第一个选项是最优雅的选项,但遗憾的是它修改了原始文件,从而破坏了安全启动。 第二个选项创建一个不需要的输出文件。 使用 /dev/null 作为文件中断 /dev/nu ...

ELF-编辑:用不同的 function 替换它自己的部分中的 function - ELF-Editing: Replacing function in it's own section with different function

我有 ao object 文件,其中有一个 function 同一文件中的其他函数正在调用。 function 在它自己的部分中,没有导出。 我需要用我自己的实现替换这个 function。 我自己的实现也需要外部符号。 我考虑简单地修补该部分,以便它调用放置在某个位置的地址(因此旧的 func ...

在 c 中使用 gcc 进行动态文件编译 - dynamic file compilation with gcc in c

我试图找到一种方法,从程序中检查一个或多个“.c”文件的存在并加载它的一个或多个函数。 基本上,我会有一个“主”程序,它将检查“script.c”文件是否存在,并将启动(如果存在)这个程序的 main() function。 这是编译前我的“主要”程序的内容: 他是我的“script.c”文件的内容 ...

如何挂接 static function? - How can I hook a static function?

我试图在不修改源代码的情况下模拟 static function 。 这是因为我们有大量的遗留代码库,我们想添加测试代码而不需要开发人员通过 go 并更改一堆原始代码。 使用 objcopy,我可以玩 object 文件之间的函数,但我不能影响内部链接。 换句话说,在下面的代码中,我可以让 mai ...

删除部分后如何删除ELF部分之间无用的空白空间? - How to remove useless empty space between ELF sections after removing section?

我尝试使用--remove-section选项通过objcopy减小二进制大小。 删除节后,在删除节的原始位置还留有一些空白。 有没有办法调整部分的偏移量以避免这些空白空间? 对于 emxaple,我删除了.eh_frame_hdr部分,并且在剥离的二进制文件中从 0x0764 开始有 0x03c ...

gcc objcopy 生成的二进制文件的大小远大于 gcc 大小输出中“文本”和“数据”的总和 - binary file generated by gcc objcopy has a size much larger than sum of 'text' and 'data' in gcc size output

我使用objcopy -S -g -O binary test.elf test.bin从.elf获取.bin文件。 test.bin的大小显然大于test.elf本和数据的test.elf 。 为什么会有如此巨大的差异? objcopy哪些部分从.elf复制到.bin ? ...

"重新定义共享库中的符号" - Redefining symbols from shared library

我需要从共享库 (.so) 文件中更改某些符号,如下例所示:我需要将 .so 文件中的符号abc<\/code>重命名为符号xyz<\/code> 。 我有一个工具可以在头文件中替换它,这只是我在 .so 共享库中更改所面临的挑战。 对于共享库,是否有任何工具或命令可以帮助我 ...

为什么在 rust 程序中运行 objcopy --strip-all 会将它们的大小减半? - Why does running objcopy --strip-all in a rust program halves their size?

当我在任何 rust 程序中执行 objcopy --strip-all 时,它们的大小减半。 例如,如果我使用 cargo build --release 编译一个普通的 hello world 应用程序,它以一个 3 mb 的可执行文件(在 linux 中)结束。 然后,当我在可执行文件上运行 ...

如何在外部 object 文件中调用重命名的符号? - How to call a renamed symbol in an external object file?

我正在尝试使用 LLVM libFuzzer 对一段特定的代码进行模糊测试,该代码仅在外部公开其main() function。 我可以访问目标代码的源代码,但无法更改它。 如果我尝试直接包含 object 文件,它会与-fsanitize=fuzzer提供的main定义冲突。 我想我可以通过重命 ...

用于打开二进制 elf 文件、从中读取并打印出来的 C 程序(如 objcopy) - C program to open binary elf files, read from them, and print them out (like objcopy)

我正在尝试实现类似于 objcopy 的功能,其中将使用open()和read()打印出二进制文件的字节(特别是 .text 部分read() 。 我将如何设置缓冲区大小并迭代到.text部分的末尾,以便我不会读取比我需要的更多的字节以避免错误? ...

2020-09-24 04:00:10   1   187    c / objcopy  
如何在objcopy生成的二进制图像文件中获取入口点地址? - How to get an entry point address in binary image file generated by objcopy?

我正在为自己的教育目的构建 Risk-V CPU 的模拟器。 我有小型 POC 工作,想构建示例程序并在模拟器上测试它们。 我正在尝试在 Rust 中构建示例程序,并且似乎取得了一些不错的进展,但是当我必须将已编译的程序加载到我的模拟器的 memory 并将 CPU 执行转移到该程序时,我陷入了困 ...

合并精灵部分 - Merge elf sections

我有一个包含以下部分的 elf 文件: 我正在使用一个将此精灵作为输入的工具,但最多只能使用 16 个部分。 如您所见,其中一些部分是相邻的。 有没有办法在链接时或在使用其他工具之前合并这些部分? ...

2020-07-14 09:04:33   1   73    elf / objcopy  
重命名符号失败并出现错误 - Renaming symbols fails with errors

我已经安装了新的 glib 库 2.6 版,创建后我试图使用objcopy命令重命名 glib 库中的一些符号。 为了我们的项目支持,重命名符号是必要的。 它失败并出现以下错误 glibrename是一个文件,其中定义了所有 glib 原始符号并重命名了我想做的符号。 示例文件内容将是: 这是我的 ...

如何从 MachO 二进制文件中提取 __bitcode/__bundle 部分 - How to extract the __bitcode/__bundle section from a MachO binary

对于具有嵌入式位码的二进制文件(即,使用-fembed-bitcode编译)。 我怎样才能提取该部分,以便我可以像使用任何其他位码文件一样使用该位码文件,例如,运行opt或llvm-dis 作为一个测试用例,我有这个 hello-world 程序: 编译: clang++ -O2 test.cpp ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM