28.3 代码的熵值

(熵在理想的情况是,压缩(或加密)文件是每字节8位;如果每字节的熵为0,它可能是任意大小的空白文件) 在这里我们可以看到当CPU(ARM模式的ARM架构或者MIPS架构)采用4个字节的指令代码的时候,在这个意义上是最有效率的。

28.3.1 x86

Windows 2003系统下ntoskrnl.exe文件中的.text节表:熵 = 每字节6.662739位。 最佳的压缩方法将这个593920个字节大小的文件的大小减少16%。Windows 7 x64系统下ntoskrnl.exe文件中的.text节表:熵 = 每字节6.549586位。 最佳的压缩方法将这个1685504个字节大小的文件的大小减少18%。

28.3.2 ARM(Thumb模式)

AngryBirds Classic 熵 = 每字节7.058766位。 最佳的压缩方法将这个3336888个字节大小的文件的大小减少11%。

28.3.3 ARM(ARM模式)

Linux Kernel 3.8.8: 熵 = 每字节6.036160位。 最佳的压缩方法将这个6946037个字节大小的文件的大小减少24%。

28.3.4 MIPS(小端序)

Windows NT 4系统下user32.dll文件中的.text节表: 熵 = 每字节6.098227位。 最佳的压缩方法将这个433152个字节大小的文件的大小减少23%。 # 花指令

花指令是企图隐藏掉不想被逆向工程的代码块(或其它功能)的一种方法。