none
ExecutableImportsCheck error from ACK and WDK puts .idata into INIT section RRS feed

  • Question

  • Hello, we have a driver built using WDK and currently it is failing ExecutableImportsCheck from ACK (http://msdn.microsoft.com/library/windows/apps/hh920280.aspx#binscope_7). The reason is import table was put into driver's INIT section, which has execution flag set, and the ACK check says import table shouldn't have execution flag set.

    Now the question is how do I make linker to put import table into a separate .idata section?

    I tried option /merge but it doesn't allow merging few sections and .idata is among them.

    Monday, February 10, 2014 6:09 PM

All replies

  • which WDK did you use? these ACK tests are for apps, not drivers BTW

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, February 10, 2014 6:22 PM
  • We are still using WDK 6001 as we need to support Win2k/XP.

    The ACK we are using came from Windows 8.1, our driver is displayed as a warning in the security section from the report:

    File C:\Windows\System32\Drivers\xyx.sys has failed the ExecutableImportsCheck check.

    Monday, February 10, 2014 7:44 PM
  • I don't have that kit installed at the moment. when you build the driver, is there a /merge:.rdata=.test on the link command line?

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, February 10, 2014 8:49 PM
  • No, this is the first think I checked. I reviewed our make files and pretty much we are using the default linker options except enabled /safeseh and /nx for 32-bit binary.
    Monday, February 10, 2014 8:54 PM