|
[讨论]APC和DPC
谢谢,可是很疑惑为什么微软封杀了 APC,想看到微软系统的APC文档,各种apc函数的齐全的介绍。 就像DPC一样,微软msdn里面有系统介绍,而且不止这2个api,可能有10几个dpc函数,而apc函数为什么被 封杀了呢?或者有谁能提供详细的apc 的文章或网站吗? |
|
[讨论]APC和DPC
是不是非公开的api,windows不让使用的啊? |
|
[讨论]APC和DPC
可是不知道怎么用啊?没有msdn官网文档?查不到啊? |
|
[讨论]APC和DPC
No Results Found For: KeInitializeApc Can’t find it? Here are some options: Change your query to use different or fewer keywords. Check your spelling. Tip: autocomplete on the search box can help you spell difficult terms. Your search is currently refined, which restricts results. Search again with refinements removed. Try asking a question in MSDN Forums. |
|
|
|
[讨论]程序中显示自身exe的MD5码
是的,自己计算自身的MD5再显示,这个MD5肯定是对的,但是不起作用。因为exe不被修改,原始有一个MD5,比如12345678xxxxxxxx。如果修改了,就不是12345678XXXX了,显示当前MD5为49baXXXXX,那这有什么意义呢?如果修改以后,仍然显示MD5是12345678xxxxxx,那样才有意思,那样,我可以用另一个校验器计算exe的md5为49baxxxxx,然后和程序显示的12345678xxxx一对比,发现不对,知道exe已经被修改。如果程序显示就是49baxxxx,我不能发现md5是错的,那也不能发现程序exe被修改了。所以,运行的时候计算自身exe的MD5码,然后再显示出来,就是一个自欺欺人的做法。或者说是程序员糊弄老板说任务完成了的做法,实际不能起到防止exe被修改而显示正确原始MD5的目的。 |
|
[讨论]程序中显示自身exe的MD5码
我想到了一个方法,就是联网由服务器传回我这个exe应该是正确的MD5的值,然后显示出来,如果要把这个正确的MD5值存储在exe文件本身某个位置,然后显示出来,那应该是不可能的,因为存储md5值得地方预先是不知道什么值,以后知道是某个值后,一旦填写进入,又会改变整个exe的MD5值,那填写的MD5值又不正确了。 后来我又运行了那个显示自身MD5值得程序,我改变了1个字节以后,其显示的自身md5值也随即改变了,并不是固定的初始不变的正确的值,那么原来这个显示自身md5值的程序是计算好自己的exe以后再显示出来,那么就是多此一举了,这样又不能防止程序被别人修改,别人修改以后,你显示的md5值就是修改以后的md5值,那要你显示干什么,应该能显示永远不变的一个正确的md5值才对。 |
|
[求助]FT_BALANCED_READ_MODE
请给出具体资料或者地址,谢谢。 |
|
[求助]FT_BALANCED_READ_MODE
童鞋,你这个等于沒回答。我是问这个他的具体功能,MSDN好象没查到 |
|
[求助]windows生成dump驱动的原理
使用google大法,国内是找不到了。 http://www.osronline.com/showThread.cfm?link=82275 typedef struct _DUMP_IRP { ULONG unknown1[3]; PVOID Buffer; //0ch, PVOID Buffer1; //10h ULONG Length; //14h, }DUMP_IRP, *PDUMP_IRP; ypedef struct _MMDUMP_FUNCTIONS_DESCRIPTOR { ULONG StructSize; //0h, ULONG unknown1[9]; //4h ULONG DumpData10; //28h NTSTATUS (__stdcall *DumpInit) (LARGE_INTEGER PartitionOffset); //2ch,init function pointer NTSTATUS (__stdcall *DumpWrite) (PLARGE_INTEGER StartOffset, PDUMP_IRP pDumpIrp); //30h, write function pointer NTSTATUS (__stdcall *DumpFinish)(void); //34h, finish function pointer ULONG unknown2[2]; //38h, ULONG DumpData; //40h ULONG unknown3[5]; //44h }MMDUMP_FUNCTIONS_DESCRIPTOR, *PMMDUMP_FUNCTIONS_DESCRIPTOR; |
|
[求助]windows生成dump驱动的原理
可是PMMDUMP_FUNCTIONS_DESCRIPTOR这个结构好像DDK里我没查到啊。哪里有这个结构定义? |
|
[求助]windows生成dump驱动的原理
系统在启动过程中,会向磁盘驱动链发送一个IOCTL_SCSI_GET_DUMP_POINTERS请求,一般是由最底层的PORT驱动来填写在Irp->AssociatedIrp.SystemBuffer这个位置的DUMP_POINTERS结构,这个结构里每个值都需要填写,其中成员DeviceObject就是当DISK DUMP时调用的驱动程序所包含的设备对象 启动过程在NtCreatePagingFile时会调用内核的IopLoadDiskDumpDriver加载DUMP驱动,在需要做DUMP时,调用该驱动的DriverEntry,参数为(NULL,PMMDUMP_FUNCTIONS_DESCRIPTOR pDump),第一个参数为0,第二个参数为一个结构,需要向内填写初始化信息,包括直接写DUMP数据进硬盘的函数地址,在其后调用该函数写硬盘 看来这个IOCTL_SCSI_GET_DUMP_POINTERS才是关键,我的123.sys驱动确实没有处理这个IOcontrol, 但是具体如何处理呢?这方面的资料根本查不到,这些数据结构定义都不知道。PMMDUMP_FUNCTIONS_DESCRIPTOR这个结构具体定义是怎样的?根本查不到啊。 |
|
[求助]windows生成dump驱动的原理
iastor.sys是intel系列主板的SATA 驱动程序,8系主板没有xp的SATA驱动程序,但是7系主板是有xp的SATA驱动程序的,在7系主板上安装好xp以后,可以看到C盘的驱动程序正是iastor.sys。确实,在xp系统下没有发现 dump_iastor.sys,但是,系统崩溃以后的dump功能是正常的,可以看到dmp文件已经存放在c盘上面,而c盘正是 intel sata接口 接入的硬盘,不知道windows如何把dmp文件存放到这个硬盘上的,也许仍然是通过dump_iastor.sys存入,但我用pchunter没有发现dump_iastor.sys,不知为什么。而且休眠也是成功的, 也是将hibernat.sys存入sata硬盘,但是也没有发现hiber_iastor.sys,这又是为什么呢? |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值