自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (10)
  • 收藏
  • 关注

原创 codecomplete

14章 组织直线代码 14.1必须有明确顺序的语句 设法组织代码,使依赖关系变得非常明显 使子程序名能突显依赖关系 用注释不清晰的依赖关系进行说明 用断言或者错误处理代码来检查依赖关系 14.2顺序无关的语句 相关代码组织在一起(同一个对象的调用语句) 15使用条件语句 在写IF语句的时候要遵循下述指导原则: 首先写正常代码路径;再处理不常见情况 确保对于等量分支是正确的 > >=的问题。。。不会犯吧。。 把正常情况的处理放在if后面而不要放在else后面(把决策结果放在尽可能靠近决策位置) 让IF了句后

2010-12-21 16:05:00 237

原创 这个是用Zoundry发表的日志

这个是用Zoundry发表的日志2

2010-12-20 14:25:00 209

原创 这个是用Zoundry发表的日志

这个是用Zoundry发表的日志

2010-12-20 12:41:00 268

原创 完整的中断, I/O端口, CMOS, Opcodes等资料

我已经在本站申请免费空间上传了一个完整的Ralf Browns Interrupt List.(Winhelp格式,最新的61版),包括所有公布和未公布的中断调用, I/O端口, 内存分布, Opcodes, CPU bugs, DMA, PCI, CMOS, 各种主板数据... 网上大部分的在线资源都只有 中断调用.我先从官方http://www.cs.cmu.edu/~ralf

2009-11-28 01:16:00 428

原创 文章:Java和.NET两个世界的极点:赚钱和娱乐

 文章:Java和.NET两个世界的极点:赚钱和娱乐作者 霍泰稳 发布于 2007年7月16日 上午3时4分 社区 .NET, Java 主题 Java+.NET集成, 互操作, 故事和案例分析 标签 SQL Server 2005, Spring框架 直到现在,在很多开发者社区里你都还能看到关于Java和.NET那个好,哪个容易学,哪个更有前景的讨论。其实这些争论严格来说,毫无意

2009-11-21 14:31:00 352

转载 aa

作为网络安全的从业人员,我对本书的出版表示极度的失望。毫不客气的说,本书毫无实际用处,内容陈旧,编排混乱,有严重凑数灌水的感觉。 1.没有实际价值,这一点我并不奇怪,看作者的简历就知道,作者自己并没有什么实际的安全从业经验。翻翻书更加印证了我的观点,整书对安全的理解极为片面,肤浅,东拼西凑,人云亦云。更没有细致的讲解和实际的例子可供参考。安全不是理论,更不是在网上拼几篇狗屁不通的文章就能说清楚的。

2009-10-27 11:36:00 304

MAX30102EVKitSetupV1.2.zip

Software Version: 1.2.0 File Name: MAX30102EVKitSetupV1.2.zip Description: Integrated Optical Sensor Operating Systems Supported: Windows 7,Windows 8.0/8.1,Windows 10 Required Hardware: MAX30102ACCEVKIT# Related Product Folder(s): MAX30102ACCEVKIT Notes: MAX30102 EV KIT Software

2020-06-17

深入解析windows操作系统 (第五版) 英文

Table of Contents Table of Contents.............................................................................. i 1. Concepts and Tools ..................................................................... 1 1.1 Windows Operating System Versions ...........................................................1 1.2 Foundation Concepts and Terms...................................................................2 1.2.1 Windows API.........................................................................................2 1.2.2 Services, Functions, and Routines .......................................................4 1.2.3 Processes, Threads, and Jobs ...............................................................4 1.2.4 Virtual Memory...................................................................................14 1.2.5 Kernel Mode vs. User Mode...............................................................17 1.2.6 Terminal Services and Multiple Sessions..........................................20 1.2.7 Objects and Handles...........................................................................21 1.2.8 Security ................................................................................................22 1.2.9 Registry ................................................................................................23 1.2.10 Unicode...............................................................................................24 1.3 Digging into Windows internals...................................................................24 1.3.1 Reliability and Performance Monitor...............................................25 1.3.2 Kernel Debugging ...............................................................................27 1.3.3 Windows Software Development Kit ................................................32 1.3.4 Windows Driver Kit............................................................................32 1.3.5 Sysinternals Tools................................................................................32 1.4 Conclusion .....................................................................................................33 2. System Architecture .................................................................. 34 2.1 Requirements and Design Goals..................................................................34 2.2 Operating System Model..............................................................................35 2.3 Architecture Overview..................................................................................36 2.3.1 Portability ............................................................................................38 2.3.2 Symmetric Multiprocessing ...............................................................39 2.3.3 Scalability.............................................................................................44 2.3.4 Differences Between Client and Server Versions .............................44 2.3.5 Checked Build .....................................................................................48 2.4 Key System Components..............................................................................50 2.4.1 Environment Subsystems and Subsystem DLLs..............................51 2.4.2 Ntdll.dll ................................................................................................57 2.4.3 Executive..............................................................................................58 2.4.4 Kernel...................................................................................................61 2.4.5 Hardware Abstraction Layer.............................................................64 2.4.6 Device Drivers .....................................................................................67 2.4.7 System Processes .................................................................................72

2009-12-22

脱壳的艺术—Mark Vincent Yason

脱壳的艺术 Mark Vincent Yason 概述:脱壳是门艺术——脱壳既是一种心理挑战,同时也是逆向领域最为激动人心的智力游戏之一。为了甄别或解决非常难的反逆向技巧,逆向分析人员有时不得不了解操作系统的一些底层知识,聪明和耐心也是成功脱壳的关键。这个挑战既牵涉到壳的创建者,也牵涉到那些决心躲过这些保护的脱壳者。 本文主要目的是介绍壳常用的反逆向技术,同时也探讨了可以用来躲过或禁用这些保护的技术及公开可用的工具。这些信息将使研究人员特别是恶意代码分析人员在分析加壳的恶意代码时能识别出这些技术,当这些反逆向技术阻碍其成功分析时能决定下一步的动作。第二个目的,这里介绍的信息也会被那些计划在软件中添加一些保护措施用来减缓逆向分析人员分析其受保护代码的速度的研究人员用到。当然没有什么能使一个熟练的、消息灵通的、坚定的逆向分析人员止步的。 关键词:逆向工程、壳、保护、反调试、反逆向

2009-12-20

新编WIN32 API参考大全

第一章 Win32 API概论 1.1为什么使用 Wu32 API 在Windows程序设计领域处于发展初期时,Windows程序员可使用的编程工具唯有API 函数。这些函数在程序员手中犹如“积木块”一样,可搭建出各种界面丰富、功能灵活的应 用程序。不过,由于这些函数结构复杂,所以往往难以理解,而且容易误用。 随着软件技术的不断发展,在Windows平台上出现了很多优秀的可视化编程环境,程序 员可以采用“所见即所得”的编程方式来开发具有精美用户界面和功能的应用程序。这些可 视化编程环境操作简便、界面友好,比如:Visual C++,Delphi,Visual Basic等等。在 这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能。事实上,这些类库 和控件都是构筑在Windows API的基础上的,但它们使用方便,加速了Windows应用程序的 开发,所以受到程序员的普遍采用。有了这些类库和控件,程序员们便可以把主要精力放在 整体功能的设计上,而不必过于关注具体细节。不过,这也导致了非常多的程序员在类库面 前“固步自封”,对下层API函数的强大功能一无所知。 实际上。程序员要想开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接 使用API函数。虽然类库和控件使应用程序的开发容易得多,但它们只提供Microsoft Windows的一般功能,对于一些比较复杂和特殊的功能来说,单使用类库和控件是难以实现 的,必须直接使用API函数来编写。API函数是构筑整个Windows框架的基石,只有充分理 解和利用API函数,才能深入到Windows的内部,充分发挥各种32位平台的强大功能和灵 活性,才能成功地扩展和突破类库、控件和可视开发环境的限制。 1.2 Win32 API 简介 Win32 API即为Microsoft 32位平台的应用程序编程接口(Application Programming Interface)。所有在Win32平台上运行的应用程序都可以调用这些函数。 使用Win32 API,应用程序可以充分挖掘Windows的32位操作系统的潜力。 Mircrosoft 的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口。使用 Win32 API 不但可以开发出在各种平台上都能成功运行的应用程序,而且也可以充分利用每个平台特有 的功能和属性。 在具体编程时,程序实现方式的差异依赖于相应平台的底层功能的不同。最显著的差异 是某些函数只能在更强大的平台上实现其功能。例如,安全函数只能在Windows NT操作系 统下使用。另外一些主要差别就是系统限制,比如值的范围约束,或函数可管理的项目个数 等等。 标准Win32 API函数可以分为以下几类: 窗口管理 窗口通用控制 Shell特性 图形设备接口 系统服务 国际特性 网络服务 在下面各节中,我们分别介绍这7种类型的API函数。 1.2.1 窗口管理函数 窗口管理函数向应用程序提供了一些创建和管理用户界面的方法。你可以使用窗口管理 函数创建和使用窗口来显示输出、提示用户进行输入以及完成其他一些与用户进行交互所需 的工作。大多数应用程序都至少要创建一个窗口。 应用程序通过创建窗口类及相应的窗口过程来定义它们所用窗日的外观和行为。窗口类 可标识窗口的缺省属性,比如窗口是否接受双击鼠标按钮的操作。或是否带有菜单。窗口过 程中包含的代码用于定义窗口的行为,完成所需的任务,以及处理用户的输入。 应用程序可使用GDI函数来产生窗口的输出。由于所有的窗口都共享显示屏幕,所以应 用程序不接受对整个屏幕的访问。系统管理所有的输出内容,并对它们进行排列和剪裁,使 其能够适合相应的窗口。应用程序可以在处理输入消息时,或为了响应系统的需求而在窗口 中绘图。当窗口的大小或位置发生变化时,系统通常会向应用程序发送一个消息,要求它对 该窗口中原来未显露的区域进行重画。 应用程序以消息的形式接受鼠标和键盘输入。系统将鼠标移动、鼠标按钮操作转换为输 入消息,并将这些消息放入该应用程序的消息队列中。系统为每个应用程序都自动提供一个 消息队列。应用程序使用消息函数从消息队列中获取消息,并将它们分派给适当的窗口过程 进行处理。 应用程序可以直接处理鼠标和键盘输人,也可以让系统使用菜单和键盘加速健将这些低 级输入转换成命令消息。你可以使用菜单向用户展现一个命令列表。系统对所有菜单操作所 需的动作进行管理,包括让用户选择一个命令,然后再向窗日过程发送一个标识该选择的消 息。键盘加速键是应用程序定义的按键操作组合,系统可将其转换为消息。加速键通常对应 于菜单中的某个命令,并与该命令产生相同的消息。 应用程序通过在对话框中向用户提示附加信息来响应命令消息。对话框实际是一个临时 的窗口,用于显示信息或提示输入。一个对话框通常由一些表示按钮和方框的控制组成,可 供用户进行选择或输入信息。对话框中可包括用于输入正文、滚动正文、从列表中选择列表 项等操作的控制。对话框管理和处理来自这些控制的输入,使应用程序可使用这些信息,来 完成所要求的命令操作。 通过使用“资源”可以共享很多有用的数据,比如位图、图标、字体和字符串等,只需 将这些数据作为“资源”添加到应用程序或DLL文件中。应用程序通过使用资源函数,找到 资源并将它们加载到内存来获取这些数据。 窗口管理函数还提供了其他一些与窗口有关的特性,比如插入标记(Caret)、剪贴板、 光标、挂钩(Hook)、图标以及菜单等函数。 窗口管理函数包括以下几类: 易用特性函数(Accessibility Features) Win32 API提供的一系列易用特性使得有残疾的人也能很容易的使用计算机,Win32 API 提供了一些函数和结构来控制这些特性。 按钮函数(Button) Microsoft提供了对话框和控制来支持应用程序与用户之间的交互通讯。按钮就是一种 控制,用户可通过点击按钮来向应用程序提供输入信息。 插入标记函数(Caret) 一个插入标记是位于窗口绘图区中的一个闪动的直线、方块或图标。插入标记通常用于 指示文本或图形将插入的位置。Win32应用程序可以使用插入标记函数来创建一个插入标 记,改变它的闪动频率,显示、隐藏插入标记,或重新设置插入标记的位置。 组合框函数(Combo Box) 组合框是由COMBOBOX类定义的一种控制,综合了列表框和编辑控制的很多功能。使用 组合框函数可以在组合框中显示或获取不同类型的数据。 通用对话框函数(Common Dialog Box) 通用对话框是在通用对话框库中定义的,其功能是用来完成一些通用的任务,比如打开 文件、打印文档等。通用对话框为用户提供了一个统一的用户界面,使用户在不同的应用程 序中完成通用任务时的操作都相同,不必每次都学习不同的操作过程。 光标函数(Cursor) 光标是显示屏幕上的一个小图形,其所在的位置由指点设备比如鼠标、光笔或轨迹球等 控制。当用户移动鼠标时,系统就会随之移动光标的位置。应用程序使用Win32光标函数可 以创建、加载、显示、移动、限制和删除光标。 对话框函数(Dialog Box) 对话框是应用程序创建的一个临时窗口,用于获取用户的输入。应用程序通常使用对话 框向用户显示一些命令提示信息。一个对话框一般由一个或多个控制(子窗口)组成,这些 控制可用来输入文本、选择选项或执行命令动作。 编辑控制函数(Edit Control) 编辑控制是一个矩形窗口,通常用在对话框中,用户可通过键盘向编辑控制中输入和编 辑文本。系统对Unicode文本(字符采用双字节编码)和ANSI(字符采用单字节编码)文 本都支持。 图标函数(Icon) 图标是一个图片,由一个位图图像组成,并和一个掩码组合构成该图片的透明区域。当 提到图标时,可以是下列两种情况: 1)单个图标图像。资源类型为RT_ICON。 2)一组图标图像,系统或应用程序可从中选择。资源类型为RT_GROUP_JCON。 应用程序使用图标函数可以创建、显示、删除和复制图标。 键盘加速健函数(Keyboard Accelerator) 键盘加速键(或简称为加速键)是一个按键操作或多个按键操作的组合,可向应用程序 发送WM_COMMAND或WM_SYSCOMMAND消息。 使用键盘加速键函数可以拷贝、创建、加载或删除加速键表,* 图标是一个图片, 由一个位图图像组成,并和一个掩码组合构成该图片的透明区域。当提到图标时,可以是下 列两种情况: 1)单个图标图像。资源类型为RT_ICON。 2)一组图标图像,系统或应用程序可从中选择。资源类型为RT_GROUP_JCON。 应用程序使用图标函数可以创建、显示、删除和复制图标。 键盘加速健函数(Keyboard Accelerator) 键盘加速键(或简称为加速键)是一个按键操作或多个按键操作的组合,可向应用程序 发送WM_COMMAND或WM_SYSCOMMAND消息。 使用键盘加速键函数可以拷贝、创建、加载或删除加速键表,还可以将加速键消息转换 为命令消息。 键盘输入函数(Keyboard Input) 键盘输入函数提供了接受和处理键盘输入的方法。 列表框函数(List Box) Microsoft的Win32 API提供了对话框和控制来支持应用程序与用户之间的交互通讯。 列表框是一个控制窗口,其中包含一系列选项,可供用户进行选择。使用列表框函数可以在 列表框中显示或获取不同类型的数据。 菜单函数(Menu) 菜单函数向Win32应用程序提供了一系列创建、管理和使用菜单的方法,包括对菜单条、 菜单项。 于菜单等的处理。 消息和消息队列函数(Message and Message Queue) 消息和消息队列函数向Win32应用程序提供了一系列使用消息和消息队列的方法,包括 对消息进行 传播、发送、获取、转换等操作。 鼠标输入函数(Mouse Input) 鼠标输入函数提供了接受和处理鼠标输入的方法。 多文档接口函数(Multiple Document Interface) 多文档接口(MDI)是应用程序定义用户界面的一种规范,在这种界面下,用户可以同 时使用多个文档。 资源函数(Resource) 一个资源是一些二进制数据,可以添加到Win32应用程序的可执行文件中。资源既可以 是标准的,也可以是自己定义的。标准资源中的数据包括图标、光标、菜单、对话框、位图、 增强元文件、字体、加速键表、消息表入口、字符串表入口或版本。应用程序定义的资源(也 称为定制的资源)可以包含特 殊应用程序所需的任何数据。 使用资源函数可以添加、删除、拷贝、替换或加载各种资源数据。 滚动条函数(Scroll Bar) 在Win32应用程序的窗口中,可以显示比该窗口的显示区更大的数据对象,比如文档或 位图。当窗口提供了滚动条时,用户就可以通过拖动滚动条来浏览该数据对象中位于显示区 外面的部分。 滚动条包括水平滚动条和垂直滚动条。使用滚动条函数可以创建和管理这两种滚动条。 窗口函数(Window) 在图形化的Win32应用程序中,窗口是屏幕上的一个矩形区域,应用程序可在该区域中 显示输出结果,并接受用户输入。因此,一个图形化的Win32应用程序的首要任务之一就是 创建一个窗口。 一个窗口与其他窗口共享显示屏幕,也包括其他应用程序所创建的窗口。一次只能有一 个窗口接受用户的输入。用户可以使用鼠标、键盘或其他输人设备与该窗口及拥有该窗口的 应用程序进行交互。使用窗口函数可以创建和管理窗口。 窗口类函数(Window Class) 一个窗口类是一个属性的集合,系统将该属性集合用作创建窗口的模板。每个窗口都是 某个窗口类的一个成员。使闲置或删除窗口属性。

2009-11-09

O+DAY安全:软件漏洞分析技术 upload by piscor part4

O+DAY安全:软件漏洞分析技术.part4.rar,O+DAY安全:软件漏洞分析技术.part4.rar

2009-10-25

O+DAY安全:软件漏洞分析技术 upload by piscor part3

O+DAY安全:软件漏洞分析技术.part3.rar,O+DAY安全:软件漏洞分析技术.part3.rar

2009-10-25

O+DAY安全:软件漏洞分析技术 upload by piscor part2

O+DAY安全:软件漏洞分析技术,O+DAY安全:软件漏洞分析技术 upload by piscor part2

2009-10-25

O+DAY安全:软件漏洞分析技术 upload by piscor part1

O+DAY安全:软件漏洞分析技术,O+DAY安全:软件漏洞分析技术

2009-10-25

C++ Prime(第四版中英文)

中英文的。自己看吧…… C++ Prim er, Fourth Edition By Stanley . ippman, Jos ajoie, Barbara . oo ............................................... Publisher: Addison Wesley Professional

2009-04-24

MySQL 5.1参考手册中文官方版

MySQL 5.1参考手册中文官方版。不错的,没有广告。

2009-02-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除