【发布时间】:2022-01-05 11:25:32
【问题描述】:
假设我在 IDA 中打开的 PE 文件的 .data 段中有以下字节:
32 A2 DF 2D 99 2B 00 00 CD 5D 20 D2 66 D4 FF FF
01 00 D2 8B 0A 35 60 BD F1 C9 D6 5D 6C 59 51 D5
24 FD 02 F5 43 26 29 79 53 3E B0 FB 2B 97 BF 5E
我想知道如何从上面识别数据类型(即 INT、浮点等)。
从外观上看,你可以看出它不是字符串,因为它包含不在 ASCII 表中的字节,除非它是 Unicode 字符。
我尝试创建一个包含具有不同值的浮点数和整数的 C 程序,以查看是否存在定义数据类型的模式,但不幸的是,我找不到任何模式。当您更改浮点值时,字节会完全改变。
我想知道您能否帮助我们如何识别上面的数据类型?
【问题讨论】:
-
我会查看 .text 部分,看看内存是如何被访问的。
-
有一些明显的迹象。例如,看到连续的
FFs 让我觉得存储了一个负数。
标签: c reverse-engineering opcode