摘要: 一般情况下,需要先安装VC6,然后再安装DDK2000。 由于这次我安装的是VC6的绿色版,所以很多东西没有注册。 DDK2000自己的批处理会调用vccheck.exe,它回去寻找VC的安装位置。由于我安装的是绿色版的VC,所以肯定是找不到正确路径的。需要自己修改一下注册表。 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOF... 阅读全文
posted @ 2009-05-06 14:41 Fan Zhang 阅读(486) 评论(0) 推荐(0)
摘要: #include #include #include int main(void){ HANDLE hFile = CreateFile("\\\\.\\G:",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL); DWORD temp; BOOL bRet = DeviceIoControl(hFile,IOCTL_DISK_IS_WR... 阅读全文
posted @ 2009-05-05 14:21 Fan Zhang 阅读(316) 评论(0) 推荐(0)
摘要: Emacs有三种Lisp模式,其命令名称如下: emacs-lisp-mode 用于Emacs Lisp代码的编辑(文件名.emacs或后缀.el) lisp-mode 用来编辑另一个Lisp系统的Lisp代码(后缀.l或.lisp) lisp-interaction-mode 用来编辑和运行Emacs Lisp代码(交互模式)本文只讨论 lisp-interaction-... 阅读全文
posted @ 2009-04-16 16:23 Fan Zhang 阅读(553) 评论(0) 推荐(0)
摘要: @err,hr 阅读全文
posted @ 2009-04-09 17:24 Fan Zhang 阅读(359) 评论(0) 推荐(0)
摘要: Tramp 在windows下使用有些麻烦。首先需要先下载plink.exe 。 Please try PuTTY (or the plink tool that comes with it). There is a Tramp method "plink", so you only need to add the PuTTY directory to %PATH% and then C-x C... 阅读全文
posted @ 2009-04-08 15:09 Fan Zhang 阅读(198) 评论(0) 推荐(0)
摘要: p: previous noden: next nodeu: upper nodebackspace:move around backwardspace:move around forward?:help[: 前向遍历节点]: 后向遍历节点m: 搜索 阅读全文
posted @ 2009-04-07 23:18 Fan Zhang 阅读(124) 评论(0) 推荐(0)
摘要: 被忽悠了,一直以为lea和mov指令差不多的,今天算是知道了,顺便测试了下C内联汇编的效率关于对MOV(指令组)与LEA指令的讨论 kanxue语录:LEA EAX,[EBX + 4] 相当于:eax=ebx+4 ,lea指令允许用户在一个时钟内完成计算,速度快。ADD EBX,4; 相当于 ebx=ebx+4所不同MOV EAX,EBX + 4不合法,你可以在OD里键入这句指令测试一下。 c... 阅读全文
posted @ 2009-03-27 21:47 Fan Zhang 阅读(192) 评论(0) 推荐(0)
摘要: fs:[4]记录着栈顶地址。打开OD,点击M按钮,查看内存情况。显示堆栈区域是0x12e000~0x12efff,大小8K。PE文件参数SizeOfStackReserve = 100000 (1MB)SizeOfStackCommit = 1000 (4KB)也就是堆栈最大可为1MB大小,但是堆栈增长是以4KB为步进的。对堆栈是否溢出,就是将指针指向堆栈底部,读取这个指针指向的内容。然后将指针减... 阅读全文
posted @ 2009-03-27 01:18 Fan Zhang 阅读(237) 评论(0) 推荐(0)
摘要: 在应用程序中查看错误代码记住错误码,查看ddk中的ntstatus.h文件或者vc中的winnt.h或者winbase.h如0xC00000FDL对应着STATUS_STACK_OVERFLOW#define STATUS_STACK_OVERFLOW ((DWORD )0xC00000FDL) 阅读全文
posted @ 2009-03-26 19:20 Fan Zhang 阅读(348) 评论(0) 推荐(0)
摘要: 今天想总结一下栈的知识。栈是和线程关联的,每个线程会有一个栈。默认情况下,应用程序的栈是1MB,kernel程序的的栈是256KB。在设置栈的时候有两个参数(/STACK:reserve[,commit]) 其中reserve是栈的最大容量,但线程刚启动的时候,栈并没有那么大,随着需要增长。commit是增长的一个步进。在ring3中,线程相关的信息存储在_TEB块里,位于fs段中。_TEB的最前... 阅读全文
posted @ 2009-03-26 16:38 Fan Zhang 阅读(207) 评论(0) 推荐(0)