gpt4 book ai didi

ghidra - CONCAT15 和 CONCAT412 在 ghidra 中意味着什么?

转载 作者:行者123 更新时间:2023-12-05 09:30:42 29 4
gpt4 key购买 nike

我在ghidra中反编译了一个文件,我在反编译文件中看到了很多CONCAT+RandomNumber!

它们是什么意思?

最佳答案

让我先引用 Ghidra Help (F1):

CONCAT31(x,y) - Concatenation operator - PIECEThe digit '3' indicates the size of the input operand 'x' in bytes.The digit '1' indicates the size of the input operand 'y' in bytes.The parameters 'x' and 'y' hold the values being concatenated.

      CONCAT31(0xaabbcc,0xdd) = 0xaabbccdd

Concatenate the bytes in 'x' with the bytes in 'y'. 'x' becomes the most significant bytes, and 'y' the least significant bytes, in the result. So all these "functions" prefixed with CONCAT belong to a set of internal decompiler functions used by Ghidra to express things that normally not simply expressed in the C-like high level representation.

CONCAT 特别是可以建模为第一个参数左移第二个参数的大小,然后对两个参数进行逻辑与操作。但对于人类来说,将其视为“将两个东西放在一起”要容易得多。

CONCAT 后面的数字仅在传递的参数不是预期大小时才有意义,并且可能主要是为了使事情更明确。具体来说,您不应将 CONCAT15 读作“concat fifteent”,而应读作“concat one five”:第一个参数的大小应为一个字节,而第二个参数的大小应为 5,总计六个字节的数量:CONCAT15(0x12, 0x3456789012)0x123456789012 相同。

P.S.:CONCAT412 几乎肯定意味着连接 412 字节,而不是 412

关于ghidra - CONCAT15 和 CONCAT412 在 ghidra 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69430800/

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