2013年3月26日
摘要: ZwQuerySystemInformation是一个非常有用的函数,用法可以得到很多系统信息。任务管理器就是通过这个函数得到系统进程信息。关于这个函数的使用下面给出一个例子。代码在VS2010驱动编译通过,用DriverMonitor加载。/*信息类型*/typedef enum _SYSTEM_INFORMATION_CLASS { SystemBasicInformation, //0 SystemProcessorInformation, //1 SystemPerformanceInformation, //2 SystemTimeOfDayInfo... 阅读全文
posted @ 2013-03-26 23:56 冬瓜茶 阅读(1980) 评论(0) 推荐(0)
摘要: 今天做了一个栈溢出实验,主要目的是弹出一个对话框。还是用老办法,利用strcpy拷贝字符串时的漏洞,输入较长的字符串产生溢出,覆盖返回地址,从而劫持进程。产生对话框部分字符串的是:33DB5368 7765737468 6661696C68 6661696C8BC453505053B8 71EAD677FFD0对应汇编是:33DB xor ebx,ebx53 push ebx68 77657374 push 7473657768 6661696C push 6C6961668BC4 ... 阅读全文
posted @ 2013-03-26 17:30 冬瓜茶 阅读(244) 评论(0) 推荐(0)
摘要: Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 相信不少朋友用C++开发时,用debug版本可以运行,但用Release版本就不行了,或者倒过来。根本原因就是Release版本优化的问题,如果用Release版本调试会看到“面目全非”的反汇编代码,很多地方与源码对不上,而debug版本没有做任何优化,代码与汇编能一一对上。本人菜鸟抛砖引玉举几个例子,看看Release对代码做了什么手脚,下面只贴上Release版本代码,读者可以自己运行看看. 阅读全文
posted @ 2013-03-26 16:48 冬瓜茶 阅读(601) 评论(0) 推荐(0)