如何知道一个 dll 是否使用了 ASLR?

12
如何检查某个 DLL 是否使用 ASLR?
以 kernel32.dll 为例,它是否使用 ASLR?如何检查其他 DLL…
谢谢。
1个回答

19

在DLL上使用dumpbin.exe /headers。如果启用了ASLR,DLL特征将显示“Dynamic base”:

...
OPTIONAL HEADER VALUES
             10B magic # (PE32)
            9.00 linker version
           D0000 size of code
           30000 size of initialized data
               0 size of uninitialized data
           132A3 entry point (7DD732A3)
           10000 base of code
           D0000 base of data
        7DD60000 image base (7DD60000 to 7DE6FFFF)
           10000 section alignment
           10000 file alignment
            6.01 operating system version
            6.01 image version
            6.01 subsystem version
               0 Win32 version
          110000 size of image
           10000 size of headers
          1164FD checksum
               3 subsystem (Windows CUI)
             140 DLL characteristics
                   Dynamic base                    <==  Here
                   NX compatible
           40000 size of stack reserve
...

+1,BinScope.exe是一种替代方案。https://www.microsoft.com/security/blog/2012/08/15/microsofts-free-security-tools-binscope-binary-analyzer/ - Sagar Pilkhwal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接