WINDOWS/R3/R0
文章平均质量分 85
yuzl32
这个作者很懒,什么都没留下…
展开
-
《WINDOWS核心编程第5版》随笔记录19
条目1、WINDOWS中最重要的三个包含API提供函数的DLL:Kernel32.dll、User32.dll、GDI32.dll。(P509) 条目2、DLL通常由一组可供任何应用程序使用的独立函数组成,因此它通常比应用程序更容易创建。(P510) 条目3、在应用程序(或其他DLL)能够调用一个DLL中的函数之前,必须将该DLL的文件映像映射到调用进程的地址空间中。DLL中的函数原创 2010-02-20 14:02:00 · 846 阅读 · 0 评论 -
逆向分析kernel32.dll!_global_unwind2函数
引言:__global_unwind2函数是结构化异常处理的全局展开函数.7C80DE94 ;int __cdecl _global_unwind2(_EXCEPTION_REGISTRATION *EstablisherFrame)7C80DE94 __global_unwind2 proc near ; CODE XREF: __except_handler3+70p7C80原创 2010-03-22 15:41:00 · 1102 阅读 · 0 评论 -
逆向分析NtDLL.dll!RtlUnwind函数
引言:RtlUnwind是Kernel32.dll!_except_handler3中的全局展开函数。7C957A40 ; int __stdcall RtlUnwind(PVOID TargetFrame, PVOID TargetIp, 7C957A40 PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue)7C957A原创 2010-03-22 22:52:00 · 5429 阅读 · 1 评论 -
逆向分析MSVCR90D.dll!_except_handler4函数
引言:MSVCR90D.dll!_except_handler4函数是C/C++运行库自动生成的异常处理函数。004114A0 _EXCEPTION_DISPOSITION __cdecl _except_handler4(004114A0 _EXCEPTION_RECORD *ExceptionRecord,004114A0 _EXCEPTION_REGISTRA原创 2010-04-03 14:10:00 · 2374 阅读 · 0 评论 -
逆向分析MSVCR90D.dll!_except_handler4_common函数
引言:_except_handler4_common执行_except_handler4转发而来的异常处理。102DCA80 _EXCEPTION_DISPOSITION __cdecl _except_handler4_common(102DCA80 unsigned int *CookiePointer, 102DCA80 void (__fastcall *C原创 2010-04-04 14:42:00 · 5192 阅读 · 5 评论 -
《深入解析Windows操作系统第4版》随笔记录01
条目1、.NET框架是由框架类库(FCL,Framework Class Library)和提供托管代码执行环境的公共语言运行库(CLR,Common Language Runtime)组成。CLR的具体实现形式是一个典型的COM服务器,它的代码位于一个用户模式的标准Windows DLL中。(P4)条目2、Windows 进程由以下几个元素组成:(P6) (1)、一个私有的虚拟地址空原创 2010-04-19 17:07:00 · 1156 阅读 · 0 评论 -
逆向分析MSVCR90D.dll!_EH4_LocalUnwind函数
引言:_EH4_LocalUnwind是except_handler4_common的局部展开函数。102D9C0C int __fastcall _EH4_LocalUnwind(_EXCEPTION_REGISTRATION_RECORD *EstablisherFrame, 102D9C0C int TryLevel, 102D9C0C int Frame原创 2010-04-07 10:15:00 · 1332 阅读 · 1 评论 -
深入研究Win32结构化异常处理(SEH总结篇)
深入研究Win32结构化异常处理(SEH总结篇) 本文假设你熟悉WIN32,C/C++。引言: 本文是在《Win32 结构化异常处理(SEH)探秘》基础上做的更新总结。探索MS C/C++编译器和MS核心DLL在操作系统SEH上的不同扩展,逐个分析其内部采用的数据结构及处理流程。 摘要: Win32 结构化异常处理其核心是操作系统提供的服务,特定的编原创 2010-04-07 20:43:00 · 8174 阅读 · 0 评论 -
《深入解析Windows操作系统第4版》随笔记录02
《深入解析Windows操作系统第4版》随笔记录02 系统结构原创 2010-06-24 21:45:00 · 2291 阅读 · 0 评论 -
《深入解析Windows操作系统第4版》随笔记录03
《深入解析Windows操作系统第4版》随笔记录03 系统机制原创 2010-07-29 21:02:00 · 2287 阅读 · 1 评论 -
《深入解析Windows操作系统第4版》随笔记录04
《深入解析Windows操作系统第4版》随笔记录04 管理机制原创 2010-07-30 22:21:00 · 1310 阅读 · 1 评论 -
《深入解析Windows操作系统第4版》随笔记录05
《深入解析Windows操作系统第4版》随笔记录05 启动和停机原创 2010-08-26 22:12:00 · 986 阅读 · 0 评论 -
GDI+实现图片格式转换(bmp、jpeg、gif、tiff、png)
引言:通过GDI+我们可以很方便的对bmp、jpeg、gif、tiff、png格式的图片进行转换。步骤:1) 通过GdiplusStartup初始化GDI+,以便后续的GDI+函数可以成功调用。2) 通过GetImageEncodersSize获取GDI+支持的图像格式编码器种类数numEncoders以及ImageCodecInfo数组的存放大小size。3)原创 2010-03-17 16:57:00 · 9409 阅读 · 3 评论 -
逆向分析kernel32.dll!__local_unwind2函数
引言:__local_unwind2函数是结构化异常处理的局部展开函数.7C80DF7F int __cdecl _local_unwind2(int argEstablisherFrame, int argTryLevel); CODE XREF: sub_7C80DF44+22p7C80DF7F ; BasepGetTempPa原创 2010-03-18 10:57:00 · 1775 阅读 · 0 评论 -
《WINDOWS核心编程第5版》随笔记录20
条目1、有2种方式将DLL的文件映像映射到调用线程所在进程的地址空间:(P524)(1) 直接让应用程序的源代码引用DLL中所包含的符号(查阅:随笔记录19中条目7)(2) 让应用程序在运行过程中通过LoadLibrary(Ex)和GetProcAddress显式地载入所需DLL及其函数地址 条目2、LoadLibrary(Ex)函数会根据“随笔记录19中条目8”中的搜索算原创 2010-02-22 00:16:00 · 1380 阅读 · 0 评论 -
通过PEB的Ldr枚举进程内所有已加载的模块
一、几个重要的数据结构,可以通过windbg的dt命令查看其详细信息_PEB、_PEB_LDR_DATA、_LDR_DATA_TABLE_ENTRY 二、技术原理1、通过fs:[30h]获取当前进程的_PEB结构2、通过_PEB的Ldr成员获取_PEB_LDR_DATA结构3、通过_PEB_LDR_DATA的InMemoryOrderModuleList成员获取_LIST_原创 2010-02-23 13:10:00 · 3783 阅读 · 1 评论 -
《WINDOWS核心编程第5版》随笔记录21
条目1、使用线程局部存储区(Thread Local Storage)可以讲数据和一个指定的线程关联起来。(P565)条目2、由于早期运行库中的大多数函数设计在单线程的基础上,为保证在多线程的情况下这些函数(特别是使用了静态变量/全局变量的函数)的行为不发生改变,C/C++运行库使用了TLS。(p565) 条目3、TLS技术分为:动态TLS和静态TLS。(P566) 条目4、动原创 2010-02-24 15:23:00 · 717 阅读 · 0 评论 -
《WINDOWS核心编程第5版》随笔记录22
条目1、使用注册表来注入DLL。(P575)原理:当User32.dll被映射到一个新的进程时,它的DLL_PROCESS_ATTACH通知会取得注册表HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Windows/AppInit_DLLs中的DLL列表,逐个加载。这个DLL列表的第一个DLL文件可以包含路径,其他原创 2010-02-24 17:52:00 · 2434 阅读 · 0 评论 -
《WINDOWS核心编程第5版》随笔记录23
条目1、促使微软将SEH加入WINDOWS系统的因素之一是它可以简化操作系统本身的开发工作。(P621) 条目2、终止处理的语法(P622)__try{ //Guarded body }__finally{ //Termination handler } 操作系统和编译器协同工作保证不管被保护的代码如何退出(return、goto、longjmp)的,原创 2010-02-27 10:14:00 · 835 阅读 · 0 评论 -
结构化异常处理的1个重要的数据结构
简述这几天都在学习结构化异常处理,在逆向_except_handler4方面出了点问题,还没什么头绪。看来修为还是不够,至少一些关键性的结构没有弄清楚。唉。正文当发生异常的时候,系统从fs:[0]中提取EXCEPTION_REGISTRATION结构的信息,调用其成员handler进行处理。EXCEPTION_REGISTRATION定义如下:// 操作系统定义的基本异常帧st原创 2010-03-03 18:36:00 · 877 阅读 · 0 评论 -
WINDOWS核心编程第5版》随笔记录24
条目1、由CPU抛出的异常都是硬件异常,由操作系统和应用程序抛出的异常通常被称为软件异常。(P638) 条目2、异常处理程序的语法结构:(P638)__try{ //Guarded body //..}__except(Exception filter){ //Exception handler //..} 任何一个try,后面必须跟着final原创 2010-03-01 11:40:00 · 572 阅读 · 0 评论 -
Win32 结构化异常处理(SEH)探秘
Win32 结构化异常处理(SEH)探秘 原著:Matt Pietrek编译:VCKBASE转至:http://www.vckbase.com/document/viewdoc/?id=1867原文出处:A Crash Course on the Depths of Win32? Structured Exception Handling本文假设你熟悉 C++,Win32转载 2010-03-04 22:20:00 · 2428 阅读 · 0 评论 -
一段结构化异常处理代码的追踪历程
在学习《Win32 结构化异常处理(SEH)揭秘》的过程中,里面有一段示例代码(ShowSEHFrames.cpp)在试验中没有得到预期的结果,追踪过程中发现,VS2005内置的C/C++编译器的异常处理函数是_except_handler4而非_except_handler3,而且ScopeTable也被简单加密处理过,就是这样才导致示例程序pScopeTableEntry的所有指向均出错(如:原创 2010-03-09 22:03:00 · 1771 阅读 · 0 评论 -
逆向分析Kernel32.dll!BaseProcessStart函数
Kernel32.dll!BaseProcessStart汇编代码如下:7C817054 ; __stdcall BaseProcessStart(x)7C817054 _BaseProcessStart@4 proc near ; CODE XREF: BaseProcessStartThunk(x,x)+5j7C8170547C817054 ms_exc = CPPEH_RE原创 2010-03-12 10:40:00 · 4764 阅读 · 1 评论 -
逆向分析kernel32.dll!_except_handler3函数
引言:_except_handler3是BaseProcessStart的异常处理函数。7C839AF0 ; int __cdecl _except_handler3(EXCEPTION_RECORD *argExceptionRecord,7C839AF0 _EXCEPTION_REGISTRATION *argEstablisherFrame, _CONTEXT *argContex原创 2010-03-15 22:58:00 · 3439 阅读 · 2 评论 -
基于栈溢出的EXPLOIT编写
声明:以下涉及的内容只作为学习的目的,任何因为滥用本篇内容而导致对个人或者企业组织造成危害,作者并不承担任何责任。 ◆ 目标软件 Easy RM to MP3 Converter(版本2.7.3.700) ◆ 辅助工具 WinDbg6.12、Metasploit3.4.1、ActivePerl5.12 ◆ 漏洞描述 通过创建一个恶意的.m3u文件将触发Easy RM to MP3 Converter (version 2.7.3.700)缓冲区溢出利用。 ◆ 测试平台 Windows原创 2011-01-10 04:34:00 · 2826 阅读 · 0 评论