<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SoftRCE.net &#187; 逆向技巧</title>
	<atom:link href="http://www.softrce.net/archives/tag/%e9%80%86%e5%90%91%e6%8a%80%e5%b7%a7/feed" rel="self" type="application/rss+xml" />
	<link>http://www.softrce.net</link>
	<description>Software Reverse Code Engineering</description>
	<lastBuildDate>Tue, 13 Sep 2011 06:58:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>静态分析驱动的一点技巧</title>
		<link>http://www.softrce.net/archives/140</link>
		<comments>http://www.softrce.net/archives/140#comments</comments>
		<pubDate>Sat, 16 May 2009 09:12:36 +0000</pubDate>
		<dc:creator>dge</dc:creator>
				<category><![CDATA[乾坤挪移（RCE）]]></category>
		<category><![CDATA[逆向技巧]]></category>

		<guid isPermaLink="false">http://www.softrce.net/?p=140</guid>
		<description><![CDATA[习惯了OD和IDA的组合，也懒的装内核调试器了，好在需要分析驱动的时候特别少，而且只用IDA就可以玩的转。
最近在整驱动的过程中积累了点技巧，把他们记录下来，以慰同菜。]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">author:dge</p>
<p style="text-align: left;">习惯了OD和IDA的组合，也懒的装内核调试器了，好在需要分析驱动的时候特别少，而且只用IDA就可以玩的转。</p>
<p style="text-align: left;">最近在整驱动的过程中积累了点技巧，把他们记录下来，以慰同菜。</p>
<p><span id="more-140"></span></p>
<p style="text-align: left;">Q:许多软件隐藏了驱动,如何找到它们?<br />
A:其实很简单，隐藏文件肯定是驱动干的，不让驱动的加载，再牛B的隐藏也废了，用SSM拦截驱动的加载是个不错的选择。</p>
<p style="text-align: left;">Q:如何提高驱动代码可读性?<br />
A:驱动中对IRP，DEVICE_OBJECT，DRIVER_OBJECT和IO_STACK_LOCATION的操作很多，所以把这些结构添加进来，然后把对这些结构的操作进行标识。</p>
<p style="text-align: left;">Q:如何完成驱动代码的准确定位?<br />
A:一般的驱动都是用DeviceIoControl给驱动发送IRP_MJ_DEVICE_CONTROL类型的IRP来调用驱动中的代码，在驱动中一般先对<br />
IRP_MJ_DEVICE_CONTROL进行处理，然后再细化到处理相应IOCTL的代码，这个IOCTL又是DeviceIoControl的一个参数，所以通过监视DeviceIoControl就可以完成代码的精确定位。</p>
<p style="text-align: left;">Q:如何来获取这个IOCTL?<br />
A:(1):可以通过调试器对DeviceIoControl下断，不过一般得应付很多反调试，感觉很笨拙。<br />
(2):可以写个监视DeviceIoControl的程序，然后把IOCTL作为日志实时的输出。如果我们想分析软件的某个功能，只要运行软件的某个功能,然后
</p>
<p style="text-align: left;">在日志中找到IOCTL，再在驱动代码中搜索它，就可以完成准确定位了，这个方式感觉比较好，它饶过了反调试。</p>
<p style="text-align: left;">Q:如何实现监视?<br />
A:其实就是改变DeviceIoControl的流程，inline hook就可以。</p>
<p style="text-align: left;">Q:还需要什么?<br />
A:一点兴趣，一些体力。</p>
<hr /><h2>Comments</h2><ul><li><a href="http://www.softrce.net/archives/140">2009年05月26日</a>, mj0011 writes: 真技巧啊真技巧</li><li><a href="http://www.softrce.net/archives/140">2009年06月1日</a>, lammer writes: Q:还需要什么?
A:一点兴趣，一些体力。

这个是最重要的·！赞</li></ul><hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> 8e761b2ea8edc3ca311452b020051837)</small><h3  class="related_post_title">随机日志</h3><ul class="related_post"><li>2009年05月1日 -- <a href="http://www.softrce.net/archives/114" title="Symbian S60 3rd Reverse CrAcKiNg Tutorial">Symbian S60 3rd Reverse CrAcKiNg Tutorial</a></li><li>2009年05月1日 -- <a href="http://www.softrce.net/archives/100" title="暴风影音2009(Config.dll)ActiveX远程栈溢出漏洞">暴风影音2009(Config.dll)ActiveX远程栈溢出漏洞</a></li><li>2009年05月1日 -- <a href="http://www.softrce.net/archives/96" title="暴风影音2009(mps.dll)ActiveX远程栈溢出漏洞">暴风影音2009(mps.dll)ActiveX远程栈溢出漏洞</a></li><li>2011年05月18日 -- <a href="http://www.softrce.net/archives/392" title="Microsoft Windows Vista/Server 2008 “nsiproxy.sys” Local Kernel DoS Vulnerability">Microsoft Windows Vista/Server 2008 “nsiproxy.sys” Local Kernel DoS Vulnerability</a></li><li>2008年10月22日 -- <a href="http://www.softrce.net/archives/16" title="绕过主动防御的代码注入方法一点思考">绕过主动防御的代码注入方法一点思考</a></li><li>2009年05月30日 -- <a href="http://www.softrce.net/archives/189" title="基于NDIS Filter 抓包">基于NDIS Filter 抓包</a></li><li>2010年05月7日 -- <a href="http://www.softrce.net/archives/310" title="IoRegisterDriverReinitialization 和IoRegisterBootDriverReinitialization">IoRegisterDriverReinitialization 和IoRegisterBootDriverReinitialization</a></li><li>2010年09月13日 -- <a href="http://www.softrce.net/archives/337" title="金山毒霸2011内核溢出漏洞">金山毒霸2011内核溢出漏洞</a></li><li>2010年02月10日 -- <a href="http://www.softrce.net/archives/217" title="How to adjust the Ace of device object">How to adjust the Ace of device object</a></li><li>2008年10月22日 -- <a href="http://www.softrce.net/archives/15" title="构造无人之境: Exploiting Realtek RTL8139单芯片以太网控制器">构造无人之境: Exploiting Realtek RTL8139单芯片以太网控制器</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.softrce.net/archives/140/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

