gpt4 book ai didi

更改linux二进制elf文件中的strcpy参数

转载 作者:行者123 更新时间:2023-11-30 14:54:21 33 4
gpt4 key购买 nike

我面临以下问题:我有一个已编译的c 程序。我需要更改二进制可执行文件中的一个参数。我知道如何在 Linux 中对普通变量执行此操作,编辑十六进制代码。我的问题是,有没有办法修改strcpy参数的内容:

strcpy(outSig, "test.examples.out");

所以我需要用 elf 二进制文件中的另一个字符串(相同长度)替换 test.examples.out 。这可能吗?

感谢您的帮助

最佳答案

如果您可以识别二进制文件中“test.examples.out”所在的位置,则可以将其替换为新字符串,假设新字符串长于当前字符串。

如果新字符串与旧字符串长度相同,只需替换相关字符即可。如果它更短,则用值 0 填充额外的字节。这样,字符串仍然正确地以 null 结尾,并且对其进行操作的任何字符串函数都不应读取超过第一个 null 字节的内容。

请务必使用正确的十六进制编辑器,以便正确保留所有字节,而不是像文本编辑器那样重新解释。

关于更改linux二进制elf文件中的strcpy参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46835841/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com