最新版本SoftSnoop2009V0.3已提供下载。

简单的举例说明下:SoftSnoop2009如何跟踪加壳程序

被跟踪的程序:cyclone.rar(也是在看雪中下的)

使用SoftSnoop跟踪程序有四种方式:
1、“文件”--“打开”
2、“附着到进程” 
3、拖放程序到SoftSnoop窗口
4、“选项”--“常规”-- “注册Shell扩展” 选中,exe类型右键中会有“debug with SoftSnoop”

我们先使用第四种方式,跟踪程序直接报错:


说明直接跟踪失败。使用OD运行可以过(海风月影的StrongOD真的强大,膜拜一下)。

下面请使用OD来附助SoftSnoop跟踪此程序:
第一步:使用OD打开cyclone.exe
第二步:打开SoftSnoop,使用第二种跟踪方式“附着到进程”(晕,“附加到进程”好听点吧),把cyclone.exe附加到SoftSnoop
第三步:在OD里运行程序,可以运行,没有报错。可惜什么都没有跟踪到。

没有跟踪到,有两种可能:
第一种:程序后面的运行也不在主程序范围内
第二种:SoftSnoop有问题

查看列举的模块,发现了“ZShell32.dll”,这是什么动态连接库。用百度查找,只找到“Zprotect,与你同行”,竟然还是看雪里的。不用看了,这肯定是壳生成的东西。

在“设置”---“DLL调用”---“报告这些模块内的API”选中,加入ZShell32.dll


重新操作前三步:用OD打开,附加,运行。跟踪列表出来了:(列表比较长就不全列了)

返回地址: 010643A7  函数名称: OL_n10024(ZShell32.dll) 
OL_n10024返回值: 0x00000001
     
返回地址: 010643BE  函数名称: MessageBoxA(USER32.dll) 
MessageBoxA: 信息对话框
          hWnd=0x001D02D4
          lpText="无效的序列号!"
          lpCaption="错误"
          uType=0x00000010 (MB_OK|MB_ICONERROR|MB_APPLMODAL)
MessageBoxA返回值: 0x00000001 (IDOK)

总结:
如果一个进程SoftSnoop不能直接跟踪,请使用OD附助操作。