lab11-01
1静态分析一波,发现有资源节存在,自然要照例用resourcehacker看看,有没有问题,果然存在一个PE文件在资源节,而且看导入函数中存在资源相关函数也能证实
字符串有几个需要注意,特别是下面这个注册表项,很可能恶意代码,是要挂钩winlogon事件
现在看看代码,首先是得到当前模块句柄,也就是Lab11-01的句柄,然后做一些初始化操作把这个句柄传给函数sub_401080,现在看看这个函数做什找到指定资源,这里参数lptype就是BINARY,lpname就是TGAD,对照resourcehacker可以确定
函数的返回值,资源的句柄被传给loadresource,用来加载资源到全局存储器,返回资源数据句柄
lockresource锁定资源并得到第一个字节指针
SizeofResource得到资源数据大小
VirtualAlloc申请内存空间
然后将资源数据复制到这个内存空间,接着打开文件msgina32.dll(sub_401080函数结束后,当前文件夹会多出msgina32.dll文件)
将内存空间数据再写到这个文件,然后关闭文件,打印DR信息,释放资源,函数sub_401080分析结束,函数返回的是申请内存块句柄
现在回到主函数
首先得到当前程序的完整路径名,然后用strrchr得到程序名Lab11-01.exe
接着是一系列内存操作,静态分析是不合算的,对于我这种脑子转的慢的人来说还是很累的,所以动态分析一波,会发现,他就做了一件事,就是得到msgina32.dll的绝对路径.
接着就是把msgina32.dll的绝对路径传给sub_00401000函数,main函数就结束了
现在看看来sub_401000函数
先是调用regcreatekeyex,创建或打开SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon注册键
regsetvalueex,写一个GinaDLL的键.键值为msgina.dll的绝对路径
然后输出RI,关闭句柄程序结束
.exe文件分析结束,现在来看看.dl