自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(171)
  • 收藏
  • 关注

原创 王爽之《汇编语言》学习重点五

2.11  修改CS、IP的指令      在CPU中,程序员能够用指令读写的部件只有寄存器,程序员可以通过改变寄存器中的内容实现对CPU的控制。CPU从何处执行指令是由CS、IP中的内容决定的,程序员可以通过改变CS、IP中的内容来控制CPU执行目标指令。      我们如何改变CS、IP的值呢?显然,8086CPU必须提供相应的指令。我们如何修改AX中的值?可以用mov指令,如mov

2009-07-30 17:06:00 3795 2

原创 王爽之《汇编语言》学习重点四

2.9  段寄存器      我们前面讲到,8086CPU在访问内存时要由相关部件提供内存单元的段地址和偏移地址,送入地址加法器合成物理地址。这里,需要看一下,是什么部件提供段地址。段地址在8086CPU的段寄存器中存放。8086CPU有4个段寄存器:CS、DS、SS、ES。当8086CPU要访问内存时由这4个段寄存器提供内存单元的段地址。本章中只看一下CS。 2.10  CS和IP

2009-07-30 15:43:00 1367 1

原创 关于段地址,段的起始地址,基础地址

段地址 * 16 = 基础地址 (段的起始地址) (物理地址) CPU中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址。所以段地址为16位。   以下来源百度: 而段地址是针对内存的分段而言的,将每一段的段首地址定义为段地址.段地址的存在是由系统的分段存储决定的,通过段地址和偏移地址就能对数据进行寻访.  计算它们的物理地址只需要把段地址左移4位

2009-07-30 15:11:00 4349

原创 王爽之《汇编语言》学习重点三

2.5  16位结构的CPU      我们说8086CPU的上一代CPU(8080、8085)等是8位机,而8086是16位机,也可以说8086是16位结构的CPU。那么什么是16位结构的CPU呢?      概括地讲,16位结构(16位机、字长为16位等常见说法,与16位结构的含义相同)描述了一个CPU具有下面几方面的结构特性。      运算器一次最多可以处理16位的数据; 

2009-07-30 13:34:00 1558

原创 王爽之《汇编语言》学习重点二

第2章  寄存器(CPU 工作原理)      一个典型的CPU(此处讨论的不是某一具体的CPU)由运算器、控制器、寄存器(CPU工作原理)等器件构成,这些器件靠内部总线相连。前一章所说的总线,相对于CPU内部来说是外部总线。内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系。简单地说,在CPU中:运算器进行信息处理;寄存器进行信息存储;控制器控

2009-07-30 10:57:00 2310

原创 王爽之《汇编语言》学习重点

第1章  基础知识1.1  机器语言      机器语言是机器指令的集合。机器指令展开来讲就是一台机器可以正确执行的命令。电子计算机的机器指令是一列二进制数字。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算。      每一种微处理器,由于硬件设计和内部结构的不同,就需要用不同的电平脉冲来控制,使它工作。所以每一种微处理器都有自己的机器指令集,也就是机器语言。

2009-07-30 09:31:00 4413 3

转载 VC 关键字 __asm

__asm微软详述:__asm关键字启动内联汇编并且能写在任何c/c++合法语句之处.它不能单独出现.它必须接汇编指令、一组被大括号包含的指令或一对空括号.术语“__asm 块”在这里是任意一个指令或一组指令无论是否在括号内。以下代码片段是在括号内的一个简单的__asm块。__asm{   mov al, 2   mov dx, 0xD007   out al, dx}另一种方法是,你

2009-07-29 15:51:00 946

转载 笔记(Hook API)

下面就说说API Hook的原理、实现以及自己的分析和实际运用中的问题。    一、什么是API Hook    见下图所示,API Hook就是对API的正常调用起一个拦截或中间层的作用,这样可以在调用正常的API之前得到控制权,执行自己的代码。其中Module指映射到内存中的可执行文件或DLL。      module0    module1 |       |CALL modul

2009-07-29 15:44:00 640

转载 汇编ring3下实现HOOK API

汇编ring3下实现HOOK API 收藏 导读:   标 题:汇编ring3下实现HOOK API【原创】   作 者:非安全   时 间:2006-07-12,18:39   链 接:http://bbs.pediy.com/showthread.php?t=28895   汇编ring3下实现HOOK API(二次修改版)   【文章标题】汇编ring3下实现HOOK API   【文章作者

2009-07-29 14:58:00 754

转载 vc 下遍历文件夹

2008-12-28 20:26void find(char *lpPath){char szFind[MAX_PATH];char szFile[MAX_PATH];CString info;    WIN32_FIND_DATA FindFileData;    strcpy(szFind,lpPath);    strcat(szFind,"//*.*"); 

2009-07-29 14:49:00 360 1

转载 pragma 预处理指令详解

2008-11-13 14:20pragma指令简介在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作.下面介绍了一下该指令的一些常用参数,希望对大家有所帮助!一. message 参数。message它能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为:#pr

2009-07-29 14:47:00 297

转载 static关键字

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下://Example 1#include v

2009-07-29 14:47:00 288

转载 CreateEvent 作用

当你创建一个线程时,其实那个线程是一个循环,不像上面那样只运行一次的。这样就带来了一个问题,在那个死循环里要找到合适的条件退出那个死循环,那么是怎么样实现它的呢?在Windows里往往是采用事件的方式,当然还可以采用其它的方式。在这里先介绍采用事件的方式来通知从线程运行函数退出来,它的实现原理是这样,在那个死循环里不断地使用WaitForSingleObject函数来检查事件是否满足,如果满足就退

2009-07-29 14:43:00 995

转载 双击dsw打开单独的VC workspace

双击dsw打开单独的VC workspace文件浏览器中->工具->文件夹选项-> 文件类型-> dsw文件-> 高级-> 编辑open操作,把“使用DDE"的勾去掉就行了

2009-07-29 10:11:00 488

转载 检测PE文件的有效性

2008年01月14日 星期一 13:41       本文刊登于2007年第8期的《黑客防线》,有内容部分改动。正文如下:从杀毒软件的角度来讲检测文件是否为PE文件,并再进一步判断使用何种方式对文件进行操作。在病毒感染可执行文件时,也是应该有这样步骤的。那么,就来看看杀毒软件是如何检测PE文件的有效性了。PE文件是在windows系统中任何可执行模块或者DLL

2009-07-29 09:17:00 1059

转载 PE文件格式深入浅出(一)

 “ PE 的意思就是 Portable Executable(可移植的执行体)。它是 Win32环境自身所带的执行体文件格式。它的一些特性继承自 Unix的 Coff (common object file format)文件格式。"portable executable"(可移植的执行体)意味着此文件格式是跨win32平台的 :即使Windows运行在非Intel的CPU上,任何win32平台

2009-07-29 09:15:00 647

转载 公司职位简称表

首席品牌官【CBO】 chief brand officer 首席文化官【CCO】 Chief Cultural Officer 开发总监【CDO】 chief Development officer 首席执行官【CEO】 Chief Executive officer 首席财务官【CFO】 Chief finance officer 人事总监 【CHO】

2009-07-29 08:33:00 1409

转载 vc6 生成最小的exe文件

编译出体积尽可能的小的exe,步骤如下: 1.扔掉CRT. CRT提供了大量常用的函数.可说只要C/C++程序基本都会用到它.但是获得了方便的同 时也增大了不少体积.虽然可以通过动态链接到外部的dll来解决,但是自此就有了对一 个更大的dll的依赖.所以要减肥,就要先拿CRT开刀. 在cl的编译参数中加上/MD,再在link中加上/nodefaultlib:msvcrt.lib即可避免链接 到cr

2009-07-29 08:21:00 1849

原创 关于禁止Win系统关机

      建立MFC程序,截获WM_QUERYENDSESSION消息,响应ON_WM_QUERYENDSESSION() ,消息响应函数对应为:   afx_msg BOOL OnQueryEndSession();  直接在该函数中return false 则拒绝了Windows的WM_QUERYENDSESSION的请求,Windows则无法正常软关机。(开始->关闭计算机->关机、注销、

2009-07-28 16:03:00 1146

转载 控制台程序的事件处理

控制台程序在Windows程序的角色中是非常強大且方便的,像VC,C#,Delphi等等,好多功能強大的語言都支持控制台程序。她沒有複雜的GUI,完全是32位的程序,能夠調用除GDI 函數之外的API,支持多線程,支持MFC等等。用她來調試程序、學習程序設計、做實驗等是再合適不過的了。我經常把我試驗性的程序用控制台方式來寫,非常方便。 Console程序不像Win32 GUI程序那樣具有消息隊

2009-07-28 14:58:00 1061

转载 如何屏蔽系统低级键

      在windows中,通常只有很少的方法能够中断一些系统事件.我们首先考虑的机制是一个hook,因为微软给hook提供了全面的支持,它也存在于系统中,这样他能够中断某种事件.假如hook部工作的话,那么我考虑API hook. 微软并不想正式的支持API hook,所以如果可能的话,我会尽量的避免使用API hook.幸运的是,这个特别的问题可以通过设置hook来解决.在window N

2009-07-28 14:51:00 392

转载 Window关机函数ExitWindowsEx详解

“系统ShutDown”属于Windows系统的一种基本服务。功能上有“关闭系统”,“注销用户”,“锁定工作站”3中操作。SDK中提供了几个函数,来对此服务进行调用。 “关闭系统”功能使计算机可以被安全的关闭。所有在文件系统里缓冲的内容都被强制写入磁盘。然后,显示相应的对话框,提示用户计算机将被关闭或者已经准备好被关闭。可选的情况一般是计算机在关闭后重起,而不是直接切断电源。 如果

2009-07-28 14:24:00 449

转载 Windows消息映射函数原型

Message Map Functions in the Microsoft Foundation Class Library   HANDLERS FOR WM_COMMAND MESSAGES     Map Entry Function PrototypeON_COMMAND(, ) afx_msg void memberFxn();ON_COMMAND_EX(, ) afx

2009-07-28 13:21:00 594

转载 GetWindowLong函数

函数功能描述:用这个函数能够获得指定窗口的信息函数原型:LONG GetWindowLong( HWND hWnd,int nIndex )参数:hWnd:指定窗口的句柄nIndex:需要获得的信息的类型     值            功能nIndex取值如下:GWL_EXSTYLE    得到扩展的窗口风格GWL_STYLE      得到窗口风格GWL_WNDPROC    得

2009-07-28 11:10:00 929 1

转载 暴力搜索内存空间获得 Api 的线性地址

       首先我们来看看为什么要在内存中搜索 Api 的线性地址。我们知道,一个 PE 文件在编译和连接成功后,会有一个 import table ,当需要执行 Api 的时候,会先在 import table 中得到 Api 的地址,然后调用它。这在一般的情况下是足以应付要求的了,可是当有病毒插入宿主的时候,情况就不同了——病毒是在 PE 文件编译好之后才插入的,它本身没有 import

2009-07-27 11:01:00 1730

原创 ASCII 码表

ASCII码表  信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。 

2009-07-24 14:55:00 249

转载 大端(Big Endian)与小端(Little Endian)详解

大端(Big Endian)与小端(Little Endian)详解【大端(Big Endian)与小端(Little Endian)简介】 little endian和big endian是表示计算机字节顺序的两种格式,所谓的字节顺序指的是长度跨越多个字节的数据的存放形式.        假设从地址0x00000000开始的一个字中保存有数据0x1234abcd,那么在两种不同的内存

2009-07-23 17:02:00 650

转载 Win32的虚拟内存分配函数

   虚拟内存API是其他API的基础。虚拟内存API以页为最小分配单位,X86上页长度为4KB,可以用GetSystemInfo函数提取页长度。虚拟内存分配函数包括以下函数:  LPVOID VirtualAlloc(LPVOID lpvAddress,                                  DWORD cbSize,                       

2009-07-23 15:58:00 734

转载 Windows内存管理与结构体MEMORY_BASIC_INFORMATION

基于32位Windows,摘自http://blog.csdn.net/yeming81/archive/2008/01/16/2046193.aspx 1. 进程地址空间 软件的进程运行于32位系统上,其寻址位也是32位,能表示的空间是2的32 =4G,范围从0x0000 0000~0xFFFF FFFF。 ·        NULL指针分区范围:0x0000 0

2009-07-23 15:40:00 3513

转载 理解内存分页机制

理解内存分页机制2008-03-17 17:07在8086时期,寄存器是16位,无法存放20位的物理地址,为了解决这问题,人们提出了分段机制,分段机制就是将内存分段,每段大小64kb,在段寄存器中放入段基址,然后+上段偏移量就成了物理地址或者线性地址,为什么说是或呢?因为在采用分页基址的系统中,线性地址加上页偏移量才是真正的物理地址,如果没有用分页机制,计算出来的就是物

2009-07-23 15:36:00 669

转载 列举本程序加载的模块信息

Windows核心编程之一列举本程序加载的模块信息本文作者:jimmy文章性质:原创发布日期:2004-04-02MessageBox(GetActiveWindow(),"即将列举本程序所加载的Dll文件","",MB_OK); MEMORY_BASIC_INFORMATION mbi; PBYTE ptr = NULL; DWORD dwBytesRetur

2009-07-23 15:31:00 397

转载 Windows关机过程分析与快速关机

  Windows关机过程分析与快速关机        Windows开机和关机慢,很多时候慢得令人抓狂。特别是做嵌入式开发时(如XPE和WinCE),任谁都无法忍受开发出来的设备开关机的蜗牛速度。所以我们得为她加速。采用HORM是不错的方案,因为是直接从休眠文件中恢复系统现场,开机速度快了不少。采用HORM方案后,Windows默认的关机过程中,很多步骤对我们的设备来说,是完全不需要的,

2009-07-23 11:31:00 954

原创 定时关机

Windows XP系统通过一个名为Shutdown.exe的程序来完成定时关机操作(位置在Windows/System下),一般情况下XP的关机是由关机程序shutdown.exe来实现的,关机的时候是调用shutdown.exe程序的。    下面将其重要参数介绍一下:     shutdown.exe -s 关闭此计算机     shutdown.exe -l 注销当前用户。     shu

2009-07-23 11:28:00 327

转载 取计算机特征码(网卡MAC、硬盘序列号、CPU ID、BIOS编号)

©2005 黄友生。本文由原作者发布于MSN Space、CSDN。你可以保存、在非商业软件中使用、在非盈利性文章中引用本文中的部分或全部文字,但请注明作者及原文地址。要用于其它用途,请先联系作者([email protected])。作者不保证本文完全正确无误、不对因本文中的理论或代码缺陷造成的损失负责。本文中所有原理及思想均取自网络,有修改。其中获取硬盘序列号、获取CPU编号、获取BIOS编号的原始代

2009-07-23 10:18:00 954

转载 HOOK API 函数跳转详解

什么是HOOK API:       Windows下暴露的对开发人员的接口叫做应用程序编程接口,就是我们常说的API。我们在写应用层应用程序软件的时候都是通过调用各种API来实现的。有些时候,我们需要监控其他程序调用的API,也就是,当其他应用程序调用我们感兴趣的API的时候,我们在他调用前有一个机会做自己的处理,这就是HOOK API的涵义。  思路:       我们知道Wi

2009-07-22 09:46:00 3523 4

转载 内核级利用通用Hook函数方法检测进程

创建时间:2005-05-10文章属性:原创文章提交:LionD8 (liond8_at_126.com)内核级利用通用Hook函数方法检测进程作者:    LionD8QQ:    10415468Email: [email protected]:    http://blog.csdn.net/LionD8     or http://liond8.126.com介绍通用Hook的一点思想:

2009-07-21 17:26:00 427

转载 进程隐藏的两种方法

进程隐藏的两种方法                                        作者:dge                              进程隐藏的两种方法这两种都是很古老的方法,因为无聊,所以写了一下。代码在XP_SP2下调试通过.(1).从活动进程链表(ActiveProcessLinks)中摘除自身,这种方法可以欺骗任务管理器,下面这个程序做的

2009-07-21 17:22:00 816

转载 自动关机批处理

作者:xyt     时间:2008-06-17 09:25:53 字体:[大 中 小] 我要投稿 @ECHO offTITLE 自动关机程序 作者:廖晓青:startCLSCOLOR 1frem 使用COLOR命令对控制台输出颜色进行更改MODE con: COLS=41 LINES=18rem MODE语句为设定窗体的宽和高set tm1=%time:~0,2%set tm2=

2009-07-21 17:21:00 330

转载 覆盖地址HOOK API范例代码

覆盖地址HOOK API范例代码作者:Gxter     时间:2008-06-17 09:11:44前天看到kruglinski的一段程序,我看了一下今天花了一下午的时间来自己实现了一个。不过我的没有用动态地址的方法,而是自己去写了静态的地址到里面灵活性没有他的大不过功能上面还是差不多的。下面我简单讲一下我的原理。跳转的具体原理就是用两句汇编句:  mov eax , 123

2009-07-21 17:08:00 634

转载 HOOK API 简介

挂钩API技术(HOOK API)      Hook api 是指截获特定进程或系统对某个API函数的调用,使得API的执行流程转向指定的代码。例如,在挂钩了系统对user32.dll模块中MessageBoxA函数的调用以后,每当有应用程序调用MessageBoxA函数,调用线程都会执行提供的代码,而不去执行真正的MessageBoxA api函数。      Windows 下的应用程序都建

2009-07-21 16:56:00 621

空空如也

空空如也

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

TA关注的人

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