- 博客(10)
- 资源 (38)
- 收藏
- 关注
原创 39.windbg-CPU基础(dg)
1. 标志寄存器 DF(Direction flag) 方向标志,为1时使用字符串指令每次操作后递减变址寄存器(ESI和EDI),为0时递增.CF位可以由STC和CLC指令来设置和清除,DF位可由STD和CLD指令来设置和清除(ST:set,CL: clear)随意写段代码测试: __asm { pushad int 3 CLC STC C
2013-01-31 17:58:08 1767
原创 38.windbg-调试技巧(创建进程即断下、r修改控制条件跳转)
创建进程时断下用于测试未到入口函数就崩的exe0:000> sxe cpr0:000> sx ct - Create thread - ignore et - Exit thread - ignore cpr - Create process - break epr - Exit process - break ld - Load module - output
2013-01-17 11:28:14 2494
原创 37.windbg-获取结构体大小(常用的两种方式)
两种方式:dt -v:详细输出。这会输出结构的总大小和字段数量这样的附加信息。当它和-y选项一起使用时,所有的符号都会被显示出来,即使他们没有任何关联的类型信息。0:000> dt -v _image_nt_headersOGame!_IMAGE_NT_HEADERSstruct _IMAGE_NT_HEADERS, 3 elements, 0xf8 bytes +0x000
2013-01-17 10:24:53 5291
原创 1.windbg script-.enumtag扩展插件
1.概述 本文从系统底层角度,通过分析MS.Net CLR架构在Win32平台上对PE可执行文件映像结构的扩展,解析CLR架构底层的部分运行机制,帮助读者从更深层次理解CLR架构中某些重要概念。 本文读者应具备基本的Win32编程经验,了解CLR中常见概念意义,并对Win32平台之PE可执行文件映像结构有一定了解,具体说明请参看Matt Pietrek于1994
2013-01-15 15:43:42 1756
原创 0.windbg engine-最简单的扩展插件
慢慢写一系列的windbg扩展插件和分析dmp的小知识!1.DebugExtensionInitializeHRESULTCALLBACK DebugExtensionInitialize( OUT PULONG Version, OUT PULONG Flags );我们注意到它是一个callback函数,这个函数会在windbg加载我们的扩展插件后调用,所以这个函数必须
2013-01-15 10:50:25 2198
原创 18.ring3-hook-得到线程入口地址的方式-线程创建前kill线程(随手代码)
要获取入口地址,可以用Native API: NtQueryInformationThread,以ThreadQuerySetWin32StartAddress为参数具体代码:.h:#pragma oncetypedef LONG NTSTATUS;typedef NTSTATUS (WINAPI *NTQUERYINFORMATIONTHREAD)( HANDLE Thread
2013-01-13 22:48:40 8542 3
原创 36.windbg-!peb(手工分析PEB结构)
!peb调试器用户经常会需要查看在启动调试目标时使用了哪些命令行参数,这个信息是保存在PEB中的,可以通过!peb来获取,这个命令将解析PEB并给出完整的命令行,所有已加载DLL的位置,以及环境变量等.0:000> !pebPEB at 7ffdf000 InheritedAddressSpace: No ReadImageFileExecOptions: No
2013-01-10 19:07:12 12591
原创 35.windbg-!dh、!lmi(显示PE头信息)
!dh!dh:扩展显示指定映像的头部-h 在调试器命令窗口中显示该扩展命令的帮助文本。0:004> !dh -hUsage: dh [options] addressDumps headers from an image based at addressOptions: -a Dump everything -f Dump fil
2013-01-08 22:30:11 1937
原创 34.windbg-k*实例分析(查看调用栈分析)
#include "stdafx.h"int fun0(int i){ return i;};int fun1(int i){ return fun0(i);}int _tmain(int argc, _TCHAR* argv[]){ fun1(10); return 0;}代码如上我们在test!fun1下个断点,g运行,断下来后:
2013-01-07 15:18:59 4489
原创 33.Windbg-VMware+windbg搭建双机调试(增加virtualKD)
虚拟机环境1.xp虚拟机用的是XP系统,找到XP系统打开系统盘(比如C盘),找到Boot.ini,去掉这个文件的只读属性,用记事本打开Boot.ini[boot loader]timeout=30default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS[operating systems]multi(0)disk(0)rdisk(0
2013-01-04 20:46:15 7612
debug.exe在win7-64下模拟
2015-08-25
SetStretchBltMode测试
2011-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人