做个记录~ 阅读全文
地址:0x7ffa4512
继续上一次分析感染的dll
00871B9A |. 6A 1C push 1C ; /BufSize = 1C (28.) 00871B9C |. 8D45 E4 lea eax, dword ptr [ebp-1C] ; | 00871B9F |. 50 push eax ; |Buffer 00871BA0 |. FF75 E0 push dword ptr [ebp-20] ; |Address 00871BA3 |. FF15 2C918700 call dword ptr [<&KERNEL32.VirtualQue>; \VirtualQuery 00871BA9 |. 8B45 E8 mov eax, dword ptr [ebp-18] ; VirTualQuery获取内存信息 00871BAC |. A3 38DC8700 mov dword ptr [87DC38], eax 00871BB1 |. 6A 00 push 0 ; /pModule = NULL 00871BB3 |. FF15 04918700 call dword ptr [<&KERNEL32.GetModuleH>; \GetModuleHandleA 00871BB9 |. 3B05 38DC8700 cmp eax, dword ptr [87DC38] ; GetModuleHandle获取当前模块基址 00871BBF |. 75 16 jnz short 00871BD7 ; 两者比较,相等执行loder部分功能,不相等则开始。。。 008758E2 |. 6A 00 push 0 ; /pThreadId = NULL 008758E4 |. 6A 00 push 0 ; |CreationFlags = 0 008758E6 |. 6A 00 push 0 ; |pThreadParm = NULL 008758E8 |. 68 9D538700 push 0087539D ; |ThreadFunction = appmgmts.0087539D 008758ED |. 6A 00 push 0 ; |StackSize = 0 008758EF |. 6A 00 push 0 ; |pSecurity = NULL 008758F1 |. FF15 80918700 call dword ptr [<&KERNEL32.CreateThre>; \CreateThread 008758F7 |> 33C0 xor eax, eax ; 启动线程A
样本下载:http://vip.begin09.com/thread-5745-1-1.html
只分析了exe运行的情况,关闭windows文件保护,更改自身属性为DLL,写入C:\WINDOWS\system32\appmgmts.dll并以服务方式启动,dll下次在分析,今天没时间了~
00401B9A |. 6A 1C push 1C ; /BufSize = 1C (28.) 00401B9C |. 8D45 E4 lea eax, dword ptr [ebp-1C] ; | 00401B9F |. 50 push eax ; |Buffer 00401BA0 |. FF75 E0 push dword ptr [ebp-20] ; |Address 00401BA3 |. FF15 2C914000 call dword ptr [<&KERNEL32.VirtualQue>; \VirtualQuery 00401BA9 |. 8B45 E8 mov eax, dword ptr [ebp-18] ; VirTualQuery获取内存信息 00401BAC |. A3 38DC4000 mov dword ptr [40DC38], eax 00401BB1 |. 6A 00 push 0 ; /pModule = NULL 00401BB3 |. FF15 04914000 call dword ptr [<&KERNEL32.GetModuleH>; \GetModuleHandleA 00401BB9 |. 3B05 38DC4000 cmp eax, dword ptr [40DC38] ; GetModuleHandle获取当前模块基址 00401BBF |. 75 16 jnz short 00401BD7 ; 两者比较,不要相等则退出线程
1.在区块表(section table)中最后一个IMAGE_SECTION_TABLE后面添加一个IMAGE_SECTION_TABLE
IMAGE_SECTION_TABLE 结构如下
typedef struct _IMAGE_SECTION_HEADER {
BYTE Name[IMAGE_SIZEOF_SHORT_NAME];
union {
DWORD PhysicalAddress;
DWORD VirtualSize;
} Misc;
DWORD VirtualAddress;
DWORD SizeOfRawData;
DWORD PointerToRawData;
DWORD PointerToRelocations;
DWORD PointerToLinenumbers;
WORD NumberOfRelocations;
WORD NumberOfLinenumbers;
DWORD Characteristics;
} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
按照结构添加一个长度为1000h名为.lingdux的区块:
解压密码:www.lingdux.com
变量类别与编译预处理A.rar
http://www.xun6.com/file/54e974021/%E5%8F%98%E9%87%8F%E7%B1%BB%E5%88%AB%E4%B8%8E%E7%BC%96%E8%AF%91%E9%A2%84%E5%A4%84%E7%90%86A.rar.html
变量类别与编译预处理B.rar
http://www.xun6.com/file/9d7605421/%E5%8F%98%E9%87%8F%E7%B1%BB%E5%88%AB%E4%B8%8E%E7%BC%96%E8%AF%91%E9%A2%84%E5%A4%84%E7%90%86B.rar.html
变量类别与编译预处理C.rar
http://www.xun6.com/file/253eb5b21/%E5%8F%98%E9%87%8F%E7%B1%BB%E5%88%AB%E4%B8%8E%E7%BC%96%E8%AF%91%E9%A2%84%E5%A4%84%E7%90%86C.rar.html
IEEE-条件-循环A.rar
http://www.xun6.com/file/be38fee21/IEEE-%E6%9D%A1%E4%BB%B6-%E5%BE%AA%E7%8E%AFA.rar.html
void GetWindowCommandLine(char *buffer,DWORD pid)
{
CHAR *P=::GetCommandLine();
char *pEvn;
char *pAddr;
char *pFunction;
pFunction=(char *)::GetCommandLine;
memcpy(&pAddr,pFunction+1,sizeof(char *));
DWORD dwRet;
HANDLE hProcess=::OpenProcess(PROCESS_ALL_ACCESS, false,pid);
::ReadProcessMemory(hProcess, pAddr,&pEvn, sizeof(DWORD),&dwRet);
char Buff[512];
::ReadProcessMemory(hProcess, pEvn, Buff, 512, &dwRet);
strcpy(buffer,Buff);
CloseHandle(hProcess);
}
Eztoo AVI Video Converter 是一个功能强大的AVI格式转换工具,可以将MPEG(MPG)、WMV(ASF、ASX)、AVI(DivX、XviD)、VCD格式转换为AVI格式的文件。它使用方便,鼠标点击就可以完成转换,转换速度很快,质量也很好,支持进行批量和自动转换,也可以自己设定相应的参数来输出AVI文件。在它的帮助下,转换工作变得非常轻松。
下载地址:http://www.newhua.com/soft/56777.htm
安装后运行,提示注册,随意输入提示“invalid register code! please retry!”
然后找字符串的调用位置如下:
004B03F6 . 55 push ebp
004B03F7 . 68 FE054B00 push 004B05FE
004B03FC . 64:FF30 push dword ptr fs:[eax]
004B03FF . 64:8920 mov dword ptr fs:[eax], esp
004B0402 . C605 9C7D4B00>mov byte ptr [4B7D9C], 1 ; 全局变量
004B0409 . FF05 987D4B00 inc dword ptr [4B7D98] ; ———-3次输入限制————-


