2012年5月18日

win32汇编问题---------指令

摘要: 一、关于REP/REPE/REPZ/REPNE/REPNZ 按计数寄存器 ((E)CX) 中指定的次数重复执行字符串指令,或是重复到 ZF 标志不再满足指定的条件。REP(重复)、REPE(相等时重复)、REPNE(不相等时重复)、REPZ(为零时重复)及 REPNZ(不为零时重复)助记符都是可以添加到一些字符串指令中的前缀。REP 前缀可以添加到 INS、OUTS、MOVS、LODS 及 STOS 指令,REPE、REPNE、REPZ 及 REPNZ 前缀可以添加到 CMPS 与 SCAS 指令。(REPZ 与 REPNZ 前缀分别是 REPE 与 REPNE 前缀的同义形式)。同非字符串指 阅读全文

posted @ 2012-05-18 09:58 紫 陌 阅读(1724) 评论(0) 推荐(0) 编辑

2012年5月10日

PEB-------------模块链表Ldr

摘要: 一、xp下peb结构kd> dt _pebntdll!_PEB +0x000 InheritedAddressSpace : UChar +0x001 ReadImageFileExecOptions : UChar +0x002 BeingDebugged : UChar +0x003 SpareBool : UChar +0x004 Mutant : Ptr32 Void +0x008 ImageBaseAddress : Ptr32 Void +0x00c Ldr : Ptr32 _PEB_LDR_DATA;进程加载的模块链表 +0x010 ProcessParameters : 阅读全文

posted @ 2012-05-10 16:37 紫 陌 阅读(3375) 评论(0) 推荐(1) 编辑

PE文件格式--------------重定位

摘要: 一、关于重定位1、直接寻址指令需要重定位。如:mov eax, dword ptr [4000c0h]注意:call 401000h 是相对寻址,不需要重定位。请问 call [401000h]需要重定位吗?2、重定位需要的信息:重定位地址、实际装载地址、建议装载地址。二、重定位数据结构IMAGE_ BASE_RELOCATION struct VirtualAddress dd ;重定位内存页首地址RVASizeOfBlock dd ;重定位块大小,包含本结构在内的大小IMAGE_BASE_RELOCATION ends1、该结构后面紧跟的是word型的重定位项。2、重定位地址的 RVA = 阅读全文

posted @ 2012-05-10 08:38 紫 陌 阅读(1746) 评论(0) 推荐(0) 编辑

2012年5月8日

PE文件格式--------------资源

摘要: 一、资源的树形结构二、有关资源的数据结构(1)IMAGE_RESOURCE_DIRECTORY struct+00h Characteristics dd+04h TimeDateStamp dd+08h MajorVersion dw+0ah MinorVersion dw+0ch NumberOfNameEntrydw ;使用名字命名的资源条目数量+0eh NumberOfIdEntry dw ;使用id命名的资源条目数量,IMAGE_RESOURCE_DIRECOTRY ends资源条目数量=NumberOfNameEntry + NumberOfIdEntry,即IMAGE_RESOU 阅读全文

posted @ 2012-05-08 15:16 紫 陌 阅读(411) 评论(0) 推荐(0) 编辑

2012年5月3日

硬盘基本知识

摘要: 1.磁道,扇区,柱面和磁头数 硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片被分成许多扇形的区 域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。在DOS中每扇区是128×2的2次方=512字节,盘片表 面上以盘片中心为圆心,不同半径的同心圆称为磁道。硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。磁道与柱面都是表示不同半径的圆,在许多场合, 磁道和柱面可以互换使用,我们知道,每个磁盘有两个面,每个面都有一个磁头,习惯用磁头号来区分。扇区,磁道(或柱面)和磁 阅读全文

posted @ 2012-05-03 23:02 紫 陌 阅读(809) 评论(0) 推荐(0) 编辑

PE文件格式--------------导出表

摘要: 一、导出表位置在数据目录的的第0项,即IMAGE_NT_HEADERS.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT]项二、导出表结构IMAGE_EXPORT_DESCRIPTRO struc+00h Characteristics dd+04h TimeDateStampdd+08h MajorVersion dw+0ah MinorVersion dw+0ch nName dd ;RVA指向编译时的模块名+10h nBase dd ;起始序号+14h NumberOfFunctions dd ;导出函数总数+18h Nu 阅读全文

posted @ 2012-05-03 11:22 紫 陌 阅读(2239) 评论(1) 推荐(0) 编辑

2012年4月28日

PE文件格式--------------导入表和IAT

摘要: pe文件导入表1)提取导入表:在数据目录的中,索引为1的位置;导入表起始RVA地址:IMAGE_NT_HEADER.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress导入表大小:IMAGE_NT_HEADER.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualSize2)导入表结构:一个导入库对应下面的一个结构,pe文件引用了几个导入库文件就有几个这样的结构,最后以全0值结构结束。当pe在磁盘中时,结构中的两个域Ori 阅读全文

posted @ 2012-04-28 10:33 紫 陌 阅读(10027) 评论(0) 推荐(3) 编辑

2012年4月27日

win32汇编问题---------堆栈

摘要: win32汇编下,堆栈以dword对齐。在push或invoke api调用时,要注意堆栈平衡问题。push 立即数 ;这个立即数将自动以dword类型存入堆栈,并且压站后esp-4,不会有任何问题。push var ;这种属于间接寻址,如果var为dword型,压站后esp-4,没有问题;如果var为word型,压站后esp-2,将导致堆栈不平衡;如果var为byte型,语法错误,push al也会语法错误。例如:szMsg db '%04X', 0dh, 0ah, 0local @wTmp: wordlocal @szBuf[256]:bytemov @wTmp, 3inv 阅读全文

posted @ 2012-04-27 10:32 紫 陌 阅读(557) 评论(0) 推荐(0) 编辑

PE文件格式--------------基本结构信息

摘要: 一)win32下PE文件格式的文件有:*.exe;*.dll;*.scr;*.fon;*.drv;*.sys二)pe文件基本结构附加数据其它节区.reloc节区.rsrc节区.data节区.text节区节表数据目录选项头文件头PE标志DOS stubDOS头格式说明:1)dos头:0000 0000:4D 5A0000 0010:0000 0020:0000 0030:3Cxxxx xxIMAGE_DOS_HEADER struc+00h e_magic: word ;dos标志MZ,常量表示IMAGE_DOS_SIGNATURE ...+3ch e_lfanew: dword;指向pe文件头 阅读全文

posted @ 2012-04-27 10:09 紫 陌 阅读(1516) 评论(0) 推荐(0) 编辑

2012年4月25日

SEH异常处理

摘要: SEH是应用最为广泛,却没有被微软公开技术之一,所有不同windows版本,SEH可能有所不同。SEH链表位置:fs:[0]->线程信息块TIB,TIB.ExceptionList->SEH链表一)有关SEH链表结构:1)线程信息块TIB结构kd> dt _NT_TIBnt!_NT_TIB +0x000 ExceptionList : Ptr32 _EXCEPTION_REGISTRATION_RECORD ;SEH链表头 +0x004 StackBase : Ptr32 Void +0x008 StackLimit : Ptr32 Void +0x00c SubSystem 阅读全文

posted @ 2012-04-25 10:50 紫 陌 阅读(4592) 评论(0) 推荐(0) 编辑

导航