endurer 原创

2006-11-25 第1

  我们已经习惯于双击桌面上的应用程序快捷方式图标来运行程序,如果恶意程序把桌面上或的应用程序快捷方式指向的应用程序目标文件说明符修改成恶意程序自身或其它恶意程序的文件说明符,那我们双击桌面上的应用程序快捷方式图标将……

  如果恶意程序修改的是开始菜单的启动组中的程序的快捷方式,比如腾讯QQ的快捷方式,那么恶意程序将会在系统启动时运行……

  系统分析和修复程序HijackThis的作者早就考虑到了这一点,在HijackThis扫描的log中不仅列出了开始菜单的启动组中的程序的快捷方式的文件名,还给出了每个快捷方式指向的应用程序目标文件说明符。

  偶最近正在写一个类似 HijackThis 的系统分析程序,那么如何像HijackThis一样实现呢?

  用16位编辑程序看了几个.lnk文件的内容,发现它们指向的应用程序目标文件说明符的偏移地址各不相同……汗!

  用 google 在网上搜索 .lnk文件的结构说明,找到的c、c++和Delphi写的演示程序都是用com来实现的,在MASM32同样也可以使用com,但是有没有更快捷的方法呢?

  终于找到一篇29A写的资料译文,里面不仅有.lnk文件的结构分析说明,还有搜索并修改桌面上的应用程序快捷方式图标指向的应用程序目标文件说明符的汇编源程序,没有使用com!看来29A的成员早就想到这招了,汗!

  把资料里面的汇编源程序改了一下,用MASM32 v8汇编、连接,结果没有获取到快捷方式图标指向的应用程序目标文件说明符……#&$!

  用OllyDbg跟踪了一下,发现资料中有一个地方可能弄错了,把word弄成dword了。