ARM将字符串更改为不同的长度?吉德拉,艾达亲

Posted

技术标签:

【中文标题】ARM将字符串更改为不同的长度?吉德拉,艾达亲【英文标题】:ARM Change string to different length? Ghidra, Ida Pro 【发布时间】:2021-12-26 06:01:55 【问题描述】:

我正在尝试将编译后的脚本翻译成母语。我正在使用 ida pro 和 ghidra,但我遇到了问题。如果字符串长度相同,我可以将字符串值更改为任何值。但是如果字符串长度更大或更小,我就会遇到问题。我是这里的新手,不能发照片,所以我会把它们上传到imgur。 https://imgur.com/a/Rbv67lJ

当我在当前字符串中插入额外的字节时,IDA 不想打开文件并说错误。我了解,可能在某个地方存储了该字符串长度,但我找不到任何东西。而且,也许这是不可能的?提前致谢。

【问题讨论】:

您可能会发现在逆向工程 SE 处提问很有帮助,尽管您也可以在这里找到答案。 reverseengineering.stackexchange.com 【参考方案1】:

可能在某个地方存储了该字符串长度,但我找不到任何东西

从屏幕截图看来,它们是以 NUL 结尾的字符串,因此长度不会被存储,而是通过检查 NULL 字节来确定。较短的字符串可以通过在字符串的前面插入一个 NULL 字节来插入,但对于较长的字符串,您必须做更多的事情(比如移动东西),以便为它们留出空间。这可能真的很耗时(需要更新对这些的引用)

【讨论】:

以上是关于ARM将字符串更改为不同的长度?吉德拉,艾达亲的主要内容,如果未能解决你的问题,请参考以下文章

Xcode - 如何将 App ID 后缀从旧帐户更改为新帐户?带有标识符的应用程序 ID 不可用。请输入不同的字符串

将字符串字段值更改为其子字符串的最有效方法

将 Excel 中的值从字符串更改为数字

如何在 Pyspark 中将字符串更改为时间戳?

iOS - 更改为不同的 TextField 时保持 TextField 状态的输入键盘

某企业算法题目,亲测试难度