SoftSnoop可以监视系统调用了哪些API,从而在SoftICE里可以用这些API设置断点!是一个很好用的可以捕获进程调用的Api的程序,但是我在使用过程中发现其只能对静态导入的Api实现捕获,因此极大地限制了其使用范围,前几天在看了它的源码,分析之后产生了改进的想法,我对其中ApiHook的部分进行了修改,使之能捕获动态加载的dll中的Api调用!
更新日志:
相对于SoftSnoop1.3版新增功能
(1)可以捕获从任一模块产生的到任一模块的Api调用,包括动态加载的模块;可以在调用Api之前输出Api名称,Api所属模块,Api参数及调用这个Api的地址;可以在Api返回之后输出Api返回值;
(2)可以像OllyDbg那样附着到正在运行的目标进程并捕获其Api,可以随意终止和继续捕获,目标进程不受影响;
(3)可以选择是否对目标进程进行调试,对一些检查调试器的程序可以选择不调试目标进程,对Api捕获没有影响;由于修改了ApiHook方式,因此对于加过壳或修改了输入表的程序也可以进行Api捕获;
(4)添加了中文版;
(5)解决了1.3版中在加载目标进程时偶尔会产生内存访问越界的问题;
怎么用?
如果想让SoftSnoop显示自己感兴趣的Api的参数,请看ApiDef目录下的SS.txt;如果只想捕获特点模块或特定的Api,或者只想捕获来自某些特定模块的Api,请在选项窗口进行设置;其它使用方法都很简单,界面上一目了然,也不用多说了;另外大家觉得有什么不方便的地方自己DIY即可,这就是有源码的好处:)
实现原理介绍:
SoftSnoop1.3版的ApiHook是通过修改目标进程的输入表的方法来实现的,这种方法的优点在于实现简单,但缺点在于无法捕获动态加载的模块中的Api,另外对于加过壳的程序和修改了输入表的程序也是无效的。
另一种应用层的ApiHook方法是修改目标Api的前几条指令为跳转指令,当产生Api调用时先跳到我们的程序,我们处理之后再跳回去继续执行;这种ApiHook的实现方法在这里有详细的介绍:http://中的ScanModules()函数,大家如果感兴趣可以看看;
(2)对于扫描得到的每个模块,通过读取其输出表来获得其输出的Api的入口地址和名称,然后将这些Api添加到待Hook列表中;
对于问题2,分两种情况进行介绍:
(1)由SoftSnoop创建的目标进程,通过在修改其输入表来实现其加载我们的ApiSnoop.dll,修改时机是目标进程已经被加载到内存中但还没有执行的时候,具体实现方法是创建目标进程时加CREATE_SUSPENDED参数,然后修改其输入表,把我们的ApiSnoop.dll加进去,然后让目标进程继续执行,这样我们的ApiSnoop.dll就会被加载到目标进程的地址空间;这里要说明的是,SoftSnoop1.3版使用的方法没有公开源码,是封装在ForceLibrary.dll里的,其缺点在于必须对目标进程进行调试才能实现加载ApiSnoop.dll,恰好Detours库中提供了DetourCreateProcessWithDll()函数能够实现这个功能,因此我就直接使用了这种方法;
(2)附着到正在执行的目标进程http://www.168ftp.com/,通过CreateRemoteThread实现让目标进程加载我们的ApiSnoop.dll;
其它一些问题的实现方法是:Api调用的参数和来源地址可以通过读堆栈得到,至于如何让Api返回时执行我们的代码从而获得其返回地址,我沿用了1.3版的实现方法:修改堆栈中的返回地址。
另外1.3版里主程序和SoftSnoop.dll是通过消息进行交互的,这种交互只能是单向的,在1.3.2版里我使用了事件+内存映射文件的方法实现了双向交互。
下一步的工作:
如果大家觉得这个工具还行,还值得继续开发的话,请给我支持和建议。
我想可能的改进之处包括:
(1)在Api调用之前停下来,允许用户查看和修改Api调用的参数;在Api调用返回的时候可以停下来,允许用户查看参数变化并修改Api返回值;
(2)增强调试支持,因为修改了目标进程加载方式,因此原先1.3版中的一些设置断点的功能可能有所减弱;
(3)增加反汇编支持,不过这个可能没有必要,使用OllyDbg就行了:)
Tags:API监控.
小编点评:实现半透明的屏幕标尺工具,你可以用它来.
下载小编点评:webrobot是一款实用的网站多.
下载小编点评:深海迷航环境音效重叠修复补丁是一款修复类补.
下载小编点评:DNF中夏辅助绿色免费版是dnf最新给力辅助.
下载小编点评:百度指数喜刷刷:第一步:启动喜刷刷.
下载小编点评:WHOIS信息批量扫描工具是一款可以.
下载小编点评:虽然在winserver服务器版本上.
下载小编点评:铭美未注册域名批量快查软件是一款可以.
下载小编点评:爱站seo百度权重查询工具包是一款由爱站网推.
下载小编点评:飞速流量专家自动挂机版也叫网站排名优化辅助工具.
下载小编点评:快捷链接组合工具是将网址A与网址B.
下载小编点评:软件介绍字幕遮挡器(字幕遮挡工具)用于遮挡需.
下载小编点评:软件介绍轻松备份专家能够设定时间自.
下载漂亮侧边栏Thoosje Vista Sidebar V3.1.0下载
序列号输入专家精简版V1.0.0下载
安秉网盾U盘管理加密软件(安秉网盾U盘管理加密软件下载)V3.3下载
7-Max V1.0.0下载
盘符虚拟器V1.1下载
Discuz!X论坛帖子清理助手下载V1.0下载
万码无忧(密码管理软件)V2.0.1下载
NET PC V1.0.0下载
Nero DVD Speed下载V0.53B下载
File Renamer Ultra 2000 RC V1.0.0下载
File Renamer Turbo(批量重命名工具)V2.76下载
Abdio Free 3GP Player (Abdio Free 3GP Player下载)V6.6 Build 010809下载
流氓网址大全专杀V1.0.0下载