摘要: 看了孙鑫老师的视频关于DLL的一章的笔记:情形一:自己编写DLL,自己调用在DLL中编写的输出函数,必须要在函数前面写上_declspec(dllexport),其中declspec是declare special的意思。如:在编译DLL的时候,会生成一个lib文件,如a.lib而在主程序中要调用这个函数的话,就要先声明下:extern int add(int a, int b);或者_decls... 阅读全文
posted @ 2009-11-18 13:39 小试锋芒 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 1.提升本进程的系统权限2.进入宿主的内存空间a.OpenProcess(),修改宿主进程的一些属性,如允许远程创建线程等[代码]b.VirtualAllocEx(),在宿主进程中开辟一块内存空间,用来存放DLL的文件名[代码]c.WriteProcessMemory(),往宿主内存中写入DLL名称[代码]3.在宿主中启动新的线程a.GetProcAddress(),得到Kernel32.dll中... 阅读全文
posted @ 2009-11-18 13:20 小试锋芒 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 1.用户态和内核态2.单个进程内的编程特点:a.自由使用通用寄存器b.如果一个进程对一个变量取地址,然后把这个地址传递给其他进程,那么另一个进程看见的地址中的内容是一样的吗?答案是否定的,每个进程的用户空间内存是隔离的。c.大多数操作系统要求进程在使用TCP协议时必须要打开一个端口,以避免和其他进程冲突。3.进程的空间实际上被分成了两个部分。一部分供进程独立使用,成为用户空间;另一个部分容纳操作系... 阅读全文
posted @ 2009-08-03 21:19 小试锋芒 阅读(206) 评论(1) 推荐(0) 编辑
摘要: 1.WDk: Windows Driver Kit2.你有可能听说过DDK或者IFSDDK,但是那已经是历史了,请遗忘它。3.因为不是应用程序编程,所以所有的Win32 API函数都不能使用。4.当我们用SRVINSTW安装了我们的驱动服务后,在系统的服务列表里是看不到的!用net start也看不到!但是安装后,我们要启动服务,就可以用net start 服务名,注意这个服务名是我们刚才用SRV... 阅读全文
posted @ 2009-08-03 21:19 小试锋芒 阅读(111) 评论(0) 推荐(0) 编辑
摘要: [代码] 阅读全文
posted @ 2009-04-07 14:13 小试锋芒 阅读(108) 评论(0) 推荐(0) 编辑
摘要: [代码] 阅读全文
posted @ 2009-04-02 16:23 小试锋芒 阅读(103) 评论(0) 推荐(0) 编辑
摘要: [代码] 阅读全文
posted @ 2009-04-02 15:41 小试锋芒 阅读(290) 评论(0) 推荐(0) 编辑
摘要: [代码] 阅读全文
posted @ 2009-04-02 15:10 小试锋芒 阅读(580) 评论(0) 推荐(0) 编辑
摘要: [代码] 阅读全文
posted @ 2009-04-02 15:06 小试锋芒 阅读(125) 评论(0) 推荐(0) 编辑
摘要: [代码] 阅读全文
posted @ 2009-04-02 15:05 小试锋芒 阅读(317) 评论(1) 推荐(0) 编辑