
Win32系统
文章平均质量分 84
李马
不过如此
展开
-
PE文件格式详解(1)
摘要 Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。 然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE格式。本文旨在解决这一问题,它会对原创 2003-12-25 10:32:00 · 3103 阅读 · 0 评论 -
Winsock程序设计入门(2)
作者:Nishant S原文链接:http://www.codeproject.com/internet/winsockintro02.asp下载工程二、简单的TCP客户端介绍本文是《Winsock程序设计入门(1) - 简单的TCP服务器》一文的结局,如果你还没有读过第1部分的话,我还是建议你首先读一下。在本文中,我将示范给你如何编写一个简单的TCP客户端程序。我们要编写一个程序,这个程序将连接原创 2005-04-08 09:54:00 · 3379 阅读 · 0 评论 -
DLL的远程注入技术
DLL的远程注入技术是目前Win32病毒广泛使用的一种技术。使用这种技术的病毒体通常位于一个DLL中,在系统启动的时候,一个EXE程序会将这个DLL加载至某些系统进程(如Explorer.exe)中运行。这样一来,普通的进程管理器就很难发现这种病毒了,而且即使发现了也很难清除,因为只要病毒寄生的进程不终止运行,那么这个DLL就不会在内存中卸载,用户也就无法在资源管理器中删除这个DLL文件,真可谓一原创 2005-09-12 08:57:00 · 3602 阅读 · 2 评论 -
调用未知DLL中的导出函数
不知道诸位看官是否有过这样的经历:在不经意之间发现一个DLL文件,它里边有不少有趣的导出函数——但是由于你不知道如何调用这些函数,所以只能大发感慨而又无能为力焉。固然有些知名的DLL可以直接通过搜索引擎来找到它的使用方式(比如本文中的例子ipsearcher.dll),不过我们诚然不能希望自己总能交到这样的好运。所以在本文中,李马希望通过自己文理不甚通达的讲解能够给大家以授人以渔的效果。先决条原创 2006-05-29 09:25:00 · 5030 阅读 · 7 评论 -
城里城外看SSDT
原文链接:http://www.titilima.cn/?action=show&id=201点这里下载本文的配套代码引子2006年,中国互联网上的斗争硝烟弥漫。这时的战场上,先前颇为流行的窗口挂钩、API挂钩、进程注入等技术已然成为昨日黄花,大有逐渐淡出之势;取而代之的,则是更狠毒、更为赤裸裸的词汇:驱动、隐藏进程、Rootkit……前不久,我不经意翻出自己2005年9月写下原创 2007-07-05 16:15:00 · 6065 阅读 · 7 评论 -
用远线程实现文件自删除
http://www.titilima.cn/readblog.php?id=138点这里下载示例代码实现文件自删除不是一个特别新的话题了,不过貌似一直没有特别完美的解决方式。从早先Gary Nebbett的堆栈溢出版本到后来的批处理、临时文件等方式,无不存在着各样瑕疵:如堆栈溢出不支持XP,临时文件(批处理)不够优雅等等。当然,还有用驱动发IRP的方式,不过这只是一个自删除,杀鸡焉用原创 2007-11-23 11:40:00 · 1969 阅读 · 0 评论 -
在 Microsoft Symbol Server 上定位 PDB 文件
原文链接:http://www.titilima.cn/?action=show&id=281Windows 系统文件的调试符号保存在 Microsoft Symbol Server 上面,每个文件的链接格式为:http://msdl.microsoft.com/download/symbols/PDB 文件名/PE 特征签名/PDB 文件名.pd_其中,PE 映像签名和 PDB 文件原创 2008-11-19 14:15:00 · 3899 阅读 · 0 评论 -
让 DLL 卸载自身
原文链接:http://www.titilima.cn/show-547-1.html 今天的问题是:有没有可能让一个 DLL 自己卸载自己?这个问题可以分成两个部分:卸载一个 DLL。卸载 DLL 的代码应该是放在 DLL之中的。当然,如果不考虑后果的话,这个代码并不难写,如下:#include HMODULE g_hDll = NULL;DW原创 2009-04-23 15:22:00 · 9359 阅读 · 0 评论 -
替换 Win + E 热键的默认处理
现在有很多比 Windows 资源管理器功能强大的资源管理程序,如 Total Commander、xplorer2 和 Ultra Explorer 等等。于是乎,我们就会有了一个新的需求——在使用系统热键 Win + E 的时候能呼出我们自定义的资源管理程序,而不是默认的 Windows 资源管理器。但是,我一直没有找到一个合适的辅助工具来实现这个功能,网上大多的热键工具不是无法替换默认的 W原创 2009-10-13 11:09:00 · 4498 阅读 · 1 评论 -
管道重定向符“|”
原文链接:http://www.titilima.cn/show-259-1.html在 cmd.exe 的命令行模式下,管道重定向符“|”用于把一个命令的输出传递给另一个程序,比如,在查看一个比较长的文件时,需要把 type 命令的结果分页显示,这时候就需要把它重定向到 more 命令,如:type somefile.txt | more管道重定向符“|”的实质作用是把 type 的原创 2008-12-04 11:16:00 · 2212 阅读 · 2 评论 -
Winsock程序设计入门(1)
作者:Nishant S原文链接:http://www.codeproject.com/internet/winsockintro01.asp一、简单的TCP服务器介绍WinSock API是一套供Microsoft Windows操作系统使用的套接字程序库,它最初基于Berkeley套接字,但是其中加入了一些Microsoft的特殊改动。在这篇文章中,我要试着给你介绍如何使用WinSock来进行原创 2005-04-07 09:15:00 · 2567 阅读 · 2 评论 -
解说Win32的窗口子类化
也许你需要一个特殊的Edit来限制浮点数的输入,但是现有的Edit却并不能完成这项工作——因为它只能够单纯的限制大小写或者纯数字。当你在论坛上求救的时候,某个网友告诉你:“用子类化。”你也许会在看到一线曙光的同时多出了一连串的问题:何为子类化?子类化的原理是什么?如何实现子类化?下面就让我从一个简单的C++程序开始,一步步解开你的疑团吧。 首先,我为你列出以下这个C++程序:#include原创 2004-03-30 19:26:00 · 2330 阅读 · 2 评论 -
PE文件格式详解(2)
MS-DOS头部/实模式头部 如上所述,PE文件格式的第一个组成部分是MS-DOS头部。在PE文件格式中,它并非一个新概念,因为它与MS-DOS 2.0以来就已有的MS-DOS头部是完全一样的。保留这个相同结构的最主要原因是,当你尝试在Windows 3.1以下或MS-DOS 2.0以上的系统下装载一个文件的时候,操作系统能够读取这个文件并明白它是和当前系统不相兼容的。换句话说,当你在MS-原创 2003-12-26 11:22:00 · 2745 阅读 · 0 评论 -
PE文件格式详解(3)
PE可选头部 PE可执行文件中接下来的224个字节组成了PE可选头部。虽然它的名字是“可选头部”,但是请确信:这个头部并非“可选”,而是“必需”的。OPTHDROFFSET宏可以获得指向可选头部的指针:PEFILE.H#define OPTHDROFFSET(a) ((LPVOID)((BYTE *)a + / ((PIMAGE_DOS_HEAD原创 2003-12-26 11:30:00 · 2495 阅读 · 1 评论 -
PE文件格式详解(5)
预定义段 一个Windows NT的应用程序典型地拥有9个预定义段,它们是.text、.bss、.rdata、.data、.rsrc、.edata、.idata、.pdata和.debug。一些应用程序不需要所有的这些段,同样还有一些应用程序为了自己特殊的需要而定义了更多的段。这种做法与MS-DOS和Windows 3.1中的代码段和数据段相似。事实上,应用程序定义一个独特的段的方法是使用标原创 2003-12-28 12:23:00 · 1951 阅读 · 0 评论 -
PE文件格式详解(6)
导出数据段,.edata .edata段包含了应用程序或DLL的导出数据。在这个段出现的时候,它会包含一个到达导出信息的导出目录。WINNT.Htypedef struct _IMAGE_EXPORT_DIRECTORY { ULONG Characteristics; ULONG TimeDateStamp; USHORT MajorVersion; USHORT MinorVer原创 2003-12-29 11:04:00 · 2041 阅读 · 0 评论 -
“QQ尾巴病毒”核心技术的实现
声明:本文旨在探讨技术,请读者不要使用文章中的方法进行任何破坏。 2003这一年里,QQ尾巴病毒可以算是风光了一阵子。它利用IE的邮件头漏洞在QQ上疯狂传播。中毒者在给别人发信息时,病毒会自动在信息文本的后边添上一句话,话的内容多种多样,总之就是希望信息的接收者点击这句话中的URL,成为下一个中毒者。下图就是染毒后的QQ发送的消息,其中中毒者只打了“你好”两个字,其它的就全是病毒的杰作了。原创 2004-02-09 00:13:00 · 2276 阅读 · 1 评论 -
浅析木马服务端的生成技术
有些木马在解压缩之后只会有一个客户端程序,用户可以通过在客户端的一些设置工作来自动生成针对性比较强的服务端程序,例如特定的端口、击键木马的邮件地址、密码、SMTP服务器等等。在本文中,我将简要地探讨这一技术的实现。 事实上,这一技术并无神秘性可言,因为说穿了这一技术不过是对可执行文件的自定义资源进行操作罢了。也就是说,客户端程序本身绑有一段自定义的二进制数据,这段二进制数据实质上就是一个服务原创 2004-06-07 09:49:00 · 2724 阅读 · 1 评论 -
用递归写Win32的文件夹遍历
文件夹遍历技术是一种非常有用的技术,在文件的搜索以及杀毒软件中都使用了这种技术。以下我将讨论如何在Win32下实现这种技术。 文件夹遍历技术的核心就是使用递归算法,关于递归算法我这里就不多介绍了,不明白的朋友请参阅相关内容。 以下是我的算法伪代码:void function(LPCTSTR lpszPath){ 开始查找; if (没有找到文件) return; do {原创 2004-03-16 16:54:00 · 2175 阅读 · 1 评论 -
PE文件格式详解(4)
PE文件段 PE文件规范由目前为止定义的那些头部以及一个名为“段”的一般对象组成。段包含了文件的内容,包括代码、数据、资源以及其它可执行信息,每个段都有一个头部和一个实体(原始数据)。我将在下面描述段头部的有关信息,但是段实体则缺少一个严格的文件结构。因此,它们几乎可以被链接器按任何的方法组织,只要它的头部填充了足够能够解释数据的信息。 段头部 PE文件格式中,所有的段头部位于原创 2003-12-28 12:24:00 · 2124 阅读 · 0 评论 -
PE文件格式详解(7)
调试信息段,.debug 调试信息位于.debug段之中,同时PE文件格式也支持单独的调试文件(通常由.DBG扩展名标识)作为一种将调试信息集中的方法。调试段包含了调试信息,但是调试目录却位于早先提到的.rdata段之中。这其中每个目录都涉及了.debug段之中的调试信息。调试目录的结构IMAGE_DEBUG_DIRECTORY被定义为:WINNT.Htypedef struct _IMAG原创 2003-12-29 13:35:00 · 2535 阅读 · 3 评论 -
调用 IE 浏览器的开发者工具
本文介绍了借助于 Spy++、Process Explorer、WinDbg 和 IDA 等工具来分析 IE 开发者工具调用接口的整个过程。原创 2013-11-22 10:06:43 · 7981 阅读 · 2 评论