前两一天我装上江民杀毒软件,发现在我的2000系统引导时出现了江民杀毒四个用ASCII字符拼出的图形,然后该程序开始扫描系统,我感到很好奇,因为根据我以往的经验在这个位置出现的是磁盘扫描程序,杀毒软件能够在这个位置加载执行,肯定我也可以加载我自己编写的程序。我上网查找这方面的资料,目前了解到的细节是:要让自己的程序能够在引导时执行,必须修改注册表的BootExecute项的键值,增加自己的程序名称,这个很容易。关键是这个要加载执行的程序必须调用Native API才行,该程序调用了ntdll.dll库的函数,这个库完全独立于操作系统之外,有一整套的操作函数,这样才能在操作系统没有初始化完成时执行各种操作这样的程序称为Native application。我查找了MSDN,也在网上找了很多资料,可是没有很明确的说明文档,详细介绍如何编写Native application,特别是对ntdll.dll库导出函数的详细介绍(DDK也只有很少的一部分)。麻烦哪位高人能够给个指点,比如使用什么样的编译器,Native API的说明文档等等,多谢!

解决方案 »

  1.   

    网上有Mark的有关Native API的书,里面讲得很详细。
      

  2.   

    网上有Mark的有关Native API的书,里面讲得很详细。
    在哪里能找到?谢谢!或者我搜索的话该用什么关键词,我使用Native API找过,就是找不到有用信息,麻烦您了!
      

  3.   

    已经搞定,程序已经在Boot时正确执行,不过还是没有找到Undocumented Windows 系列的书或者Mark的API reference,这都已不成问题,整个过程可谓千辛万苦,此中滋味难以用语言表达,周围的人没有懂的,资料又奇缺,找到的资料又讲的让人一头雾水,唉,学东西难啊。还是要感谢楼上wangk(倒之)、DentistryDoctor(MVP-My heart will fly,in the sky.)两位网友的指点,非常感谢!一人50分。