
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监控.
On-screen Ruler软件介绍 / 321.78MB / 2014-1-2 / WinXP / / 小编点评:实现半透明的屏幕标尺工具,你可以用它来.
下载
WebRobotWeb(网络渗透检测工具)站长工具 / 837.99MB / 2017-2-3 / WinAll, WinXP, Win7 / / 小编点评:webrobot是一款实用的网站多.
下载
深海迷航环境音效重叠修复补丁游戏辅助 / 611.90MB / 2020-12-22 / WinAll, WinXP, Win7, win8 / / 小编点评:深海迷航环境音效重叠修复补丁是一款修复类补.
下载
DNF中夏辅助绿色免费版(暂未上线)游戏辅助 / 517.92MB / 2021-4-1 / WinAll / / 小编点评:DNF中夏辅助绿色免费版是dnf最新给力辅助.
下载
百度指数喜刷刷站长工具 / 936.32MB / 2022-10-14 / Win2003, WinXP, Win2K, win7, WinAll / / 小编点评:百度指数喜刷刷:第一步:启动喜刷刷.
下载
WHOIS信息批量扫描工具站长工具 / 435.6MB / 2010-1-29 / WinAll / / 小编点评:WHOIS信息批量扫描工具是一款可以.
下载
360主机卫士站长工具 / 869.73MB / 2020-7-2 / WinAll, Win7 / / 小编点评:虽然在winserver服务器版本上.
下载
铭美未注册域名批量快查软件站长工具 / 656.50MB / 2019-10-23 / WinAll, Win7 / / 小编点评:铭美未注册域名批量快查软件是一款可以.
下载
爱站seo百度权重查询工具包站长工具 / 857.53MB / 2019-1-6 / WinAll / / 小编点评:爱站seo百度权重查询工具包是一款由爱站网推.
下载
飞速流量专家自动挂机版站长工具 / 673.67MB / 2014-8-26 / WinAll / / 小编点评:飞速流量专家自动挂机版也叫网站排名优化辅助工具.
下载
快捷链接组合工具站长工具 / 844.71MB / 2022-10-21 / WinAll / / 小编点评:快捷链接组合工具是将网址A与网址B.
下载
字幕遮挡器V1.0下载 播放器 / 198.6MB / 2021-12-10 / Win8,Win7,WinXP / 简体中文 / 免费软件 小编点评:软件介绍字幕遮挡器(字幕遮挡工具)用于遮挡需.
下载
EZBack-it-up(轻松备份专家)V2.0.1下载 系统维护 / 821.20MB / 2010-9-7 / Win8,Win7,WinXP / 英文 / 共享软件 小编点评:软件介绍轻松备份专家能够设定时间自.
下载
一键关闭(SuperEsc)V1.0下载
小白还原(系统还原工具)V2.0.1.129免费版下载
化学方程式配平助手V3.10绿色版下载
矩码文件名批量提取工具下载-文件名批量提取软件 v1.7 免费版
新浪哪吒战杨戬辅助工具V2.3.5绿色版下载
三国志刘备传修改器V1.0绿色版下载
qq欢乐斗地主2024官方下载安装-qq欢乐斗地主手机版下载v8.027.016 安卓版
天天象棋下载最新版手机版-2024天天象棋官方版免费下载v4.2.2.2 安卓版
天才围棋游戏下载-天才围棋手机版下载v1.1.0.0 安卓最新版
茶苑达人麻将互通钱庄版下载-茶苑达人麻将钱庄版手机版下载v5.6.4.0 安卓版
照片恢复大师免费下载-照片恢复大师手机版下载v2.0.2 官方安卓版
畅享优化助手app下载安装-畅享优化助手官方版下载v1.0.3 安卓版
漂亮侧边栏Thoosje Vista Sidebar V3.1.0下载
系统维护 / 349.1MB / 2021-7-24 / Win8,Win7,WinXP / 英文 / 免费软件 下载
序列号输入专家精简版V1.0.0下载
系统维护 / 866.21MB / 2014-12-25 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
安秉网盾U盘管理加密软件(安秉网盾U盘管理加密软件下载)V3.3下载
系统维护 / 93.86MB / 2012-8-15 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
7-Max V1.0.0下载
系统维护 / 410.62MB / 2021-6-8 / Win8,Win7,WinXP / 英文 / 免费软件 下载
盘符虚拟器V1.1下载
系统维护 / 599.33MB / 2015-11-29 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
Discuz!X论坛帖子清理助手下载V1.0下载
站长工具 / 142.60MB / 2023-9-29 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
万码无忧(密码管理软件)V2.0.1下载
系统维护 / 423.1MB / 2018-5-6 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
NET PC V1.0.0下载
系统维护 / 897.92MB / 2011-2-11 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
Nero DVD Speed下载V0.53B下载
系统维护 / 593.33MB / 2015-6-13 / Win8,Win7,WinXP / 英文 / 免费软件 下载
File Renamer Ultra 2000 RC V1.0.0下载
文件管理 / 745.70MB / 2017-11-29 / Win8,Win7,WinXP / 英文 / 免费软件 下载
File Renamer Turbo(批量重命名工具)V2.76下载
文件管理 / 153.81MB / 2010-3-11 / Win7,Vista,Win2003,WinXP / 英文 / 共享软件 下载
Abdio Free 3GP Player (Abdio Free 3GP Player下载)V6.6 Build 010809下载
播放器 / 288.90MB / 2023-1-1 / Win8,Win7,WinXP / 英文 / 免费软件 下载
流氓网址大全专杀V1.0.0下载
系统维护 / 406.5MB / 2012-8-29 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载