枚举字符映射相关键值,该Windows功能可以将不能正常显示的字符使用备用字体来替换,关键词FontLink。
查询字符集相关的键值,关键词SurrogateFallback。
设置开机自启动,启动路径及目标程序C:WINDOWS\WINDOWS.exe
不显示隐藏属性的文件和文件夹,一直保持修改开机启动和不显示隐藏文件这两个注册表,也算是一些蠕虫病毒的常规操作了。
向Windows目录下写入Windows.exe,共写入229,376字节,与病毒自身相同大小,判断是复制到系统路径。
复制自身到每个文件目录下,名字为目录名称加.exe,具有一定的迷惑性,占用病毒程序防止被修改。
使用detect it easy侦测文件类型,确定好准备如何分析,可以看到这是一个VB编译的程序,正好可以使用VB反编译来进行静态分析,因为是native的程序可以使用ollydbg进行动态调试。
VB程序只有一个窗体的话则从窗体form的load过程开始执行,如果有多个窗体则从设计的第一个窗体的Form_Load过程开始执行,因为没有main过程,所以判断Form_Load就是VB应用程序的入口点了。
frmutama是其设计的第一个窗口,从这个窗口的入口过程开始分析。
判断当前目录是不是系统目录,不是则调用cari过程
调用cek_hardisk遍历磁盘驱动器获取磁盘类型GetDriveType,随后得到一个有效磁盘数。
接着调用cekdisket过程,该过程主要执行sebar_semua,主要是对传入的磁盘驱动器进行文件感染。
其中41FDE0具体实现对磁盘文件和目录进行遍历。
如果遍历到文件目录,则将目录路径发送到列表框中。
返回到sebar_semua过程复制病毒到每个目录
复制完毕后调用ShellExecute运行系统目录下的病毒,程序退出。
cari过程可以看出,这是主要感染磁盘的过程,以每个上级目录名称作为文件名字复制到目录里。
获取每个磁盘驱动器的类型,将有效的磁盘数var_3c赋予hardisk.Text。
starup过程将病毒复制到系统目录,并添加到注册表启动项,接着将系统目录下的病毒(Windows.exe)隐藏。
注册表修改的具体实现。
Timer2将修改注册表使得文件管理器隐藏文件显示
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)