存档

文章标签 ‘源码’

Chrome源码阅读之basictypes.h

2013年9月1日 4 条评论

对Chrome的源码阅读主要集中在src\base下,这里面实现了很多基础组件,相对来说更容易理解,也是阅读其他源码的一个基础。

文件src\base\basictypes.h定义了一些基础数据结构和宏。

1. 明确拒绝不需要的函数
下面这部分代码用于禁用类不需要的复制构造函数、复制操作符以及隐式的构造函数。

2. 编译期间条件检查
下面这部分代码用于编译期间的条件检查,如果COMPILE_ASSERT(expr, msg)中expr不为true,就会定义一个名字为msg,大小为-1的数组,显然编译器不允许定义一个大小小于零的数组,从而中断编译操作。[......]

Windows内核驱动开发入门学习资料

2011年11月5日 7 条评论

声明:本文所描述的所有资料和源码均搜集自互联网,版权归原始作者所有,所以在引用资料时我尽量注明原始作者和出处;本文所搜集资料也仅供同学们学习之用,由于用作其他用途引起的责任纠纷,本人不负任何责任。(本资料由代码疯子整理)
一、书籍推荐

  1. 《Windows驱动开发技术详解》作者:张帆、史彩成;出版社:电子工业出版社
  2. 《天书夜读:从汇编语言到Windows内核编程》作者:谭文、邵坚磊;出版社:电子工业出版社
  3. 《寒江独钓:Windows内核安全编程》作者:谭文、杨潇、邵坚磊;出版社:电子工业出版社
  4. 其[......]

继续阅读

PE文件格式学习资料

2011年9月26日 5 条评论

以前学习时收集了一些资料,感觉其中有些资料还是很不错的,现在电脑上的文件也是乱七八糟的,拿出来做个备份。
学习PE最权威的资料当属微软官方的《Microsoft Portable Executable and Common Object File Format Specification》,可能现在文档的名字变了,最新的下载地址在http://msdn.microsoft.com/en-us/windows/hardware/gg463119,点击Accept就可以看到了。
上面的PE文件介绍是[......]

继续阅读

分类: PE文件格式 标签: , ,

调试与反调试(二)——BeingDebugged

2011年4月21日 2 条评论

如果进程处于被调试状态,那么PEB里面的BeingDebugged标志会置位,《调试与反调试(一)——IsDebuggerPresent》中的IsDebuggerPresent就是这么实现的~不信?可以看网上流传的Windows 2000源代码,在“\win2k\private\windows\base\client\debug.c”里面可以看到,就是这么实现的:

BOOL
APIENTRY
IsDebuggerPresent(
VOID
)
 
/*[......]

继续阅读

用OllyDbg对Win32汇编进行源码级调试

2011年4月19日 2 条评论

如果是刚开始学习汇编,肯定对调试有很大的困难,我以前都是用OD来反汇编,对于Win32Asm的话,感觉还是过得去的,效果也还好。今天在网上看到有源码级调试方法,所以就搬过来了,试了一下,效果不错。
首先是编译的时候要生产符号表,类似用WinDbg进行驱动程序源码级调试一样。所以,makefile需要这样写(这只是一个例子):

NAME = NoImport
EXE = $(NAME).exe
OBJ = $(NAME).obj
 
ML_FLAG = [......]

继续阅读