IE内嵌对象提取方法
我发现很多MM喜欢在blog里面嵌入各种对象,例如flash或者music。例如光MM的光良的歌,功MM的如果的事。一般来说要将这些内嵌对象保存下来是比较麻烦的。因为内嵌对象直接播放,没有引用和连接,那么用连接跟踪器就分析不出结果。
通常来说URL是通过阅读代码来获得的,但是有的时候网页是通过javascript来引用的。这个时候代码分析和代码分析器(例如Mozilla内嵌的那个)就无效了。一般来说是用sniffer来解决问题的,贝壳以前用的是iris。后来出现了种种的特种sniffer分析器(其实分析cap抓包文件就好了),所以这个问题看似就解决了。但是恶搞是没有境界的,还有别的解决方法吗?
贝壳首先想到的是COM分析和跟踪,跟踪COM的dll载入过程和接口参数。这样当然可以获得对象,问题是成本太高了。然后贝壳又设想了文件钩子,在向缓存区域写入特定文件的时候hook到。然后导出这个文件。但是文件确定的问题太困难了,假如同时有1000个内嵌的mid,这个方法等于没用。这个还不是最严重的问题,最严重的问题是这个解决方案可不比特种sniffer简单。
后来贝壳在用ProcExp(www.sysinternal.com出品)的时候发现这个软件可以跟踪进程的句柄。这样的话IE内嵌对象必定在缓存区缓存,COM在打开的时候肯定使用了句柄。我们只要跟踪所有文件句柄,其中不会有很多的。(其实这个方法和前面的方法一样,要确定文件名是个困难的事情。)然后将文件的路径复制到console里面,运行下copy指令,文件就出来了。这个是我想的到的最简单的IE内嵌对象提取方法了。