正文

net send使其别人死机2006-12-13 23:24:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wolfelite/21556.html

分享到:

记得当时是看了几天黑客,了解了黑客基本的网络常用命令,,其中这个net send 我倒觉得有点意思,不需要对方的许可,你不收都得收,另外在看windows2000的批理命令中的for可以连续执行某个条命令,A,,,历害,当时我就有一个想法,如果说我用for连续发他个几万次的消息过去,他会点了再点点了再就是难得点完确定,呵呵,,,,心想中    一天在学校没事就耍吓这些常用的命令,,,,打一条net send /?看帮助,耶,还有一个domain哒嘛,,,,这么说一次可以向一个域的机子发信息了哦,,,,呵呵,,,更幸的是,,,那个FOR的/L参数的配合,,哈我看你们都遭映吧,还不气死你们,,,    看看我一直在想的事就要成功的表演一吓了,,       我就用一条        for /l %i in(1,1,999999) do net send /domain:121gp %i%illlaskf%i%i    哈哈,看看这么简单的一条命令,却是要连续向整个域里面的机子发送999999次信息,看看不点才怪哈哈哈,,,     我说一吓,那个FOR是循环的命令,,是专用在批处理文件里的,/L就是代失下去,也就是说1,2,3,4,5,6,,,,这样不断的执行下去,,,具体执行多少次就由in(1,1,999999)这个IN里面的最后一个参数决定,注意这个IN后的括号"("要在一起,不要有空格哟,否则就要出错,IN里面有三个参数,第一个是初始值,第二是每次加多少的,最后一个是最大数,当变量i加到这个值就会停止。。。   具体也可以在CMD下输入for /?看帮助   当时那个教室还在上课,,我发了这条命令后就锁定机子走人,,,不幸,一会,一个女教室来了,,在我后面,,我还在为刚才的那命令开心得想会怎么样?   不经意的又在另一个教室再发了一次,,,这时那个女老师走过来说,,,你还多发几条嘛?...............  我晕,,,漏线了,,,不过她还好,没有向校长说,,,只是警告了一次,。。不一会班主任知道了,,,,也来询问刚才是你在发?   我。。。。。。。。无语了         想起的话,就是一教室的机子都在不停的"嘟嘟.."的响,,那场院面可真是热呼哟。。呵呵         同学们都在广播中,,突然所有的机子都叫起来了,,哈哈,,,俞想愈有意思。。。 implement net send? 主要是要向局域网内的机器发送信息。 function NetSend(dest, Source, Msg: string): Longint; overload; type  TNetMessageBufferSendFunction = function(servername, msgname, fromname: PWideChar;   buf: PWideChar; buflen: Cardinal): Longint;  stdcall; var  NetMessageBufferSend: TNetMessageBufferSendFunction;  SourceWideChar: PWideChar;  DestWideChar: PWideChar;  MessagetextWideChar: PWideChar;  Handle: THandle; begin  Handle := LoadLibrary('NETAPI32.DLL');  if Handle = 0 then  begin   Result := GetLastError;   Exit;  end;   @NetMessageBufferSend := GetProcAddress(Handle, 'NetMessageBufferSend');  if @NetMessageBufferSend = nil then  begin   Result := GetLastError;   Exit;  end;  MessagetextWideChar := nil;  SourceWideChar   := nil;  DestWideChar    := nil;  try   GetMem(MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);   GetMem(DestWideChar, 20 * SizeOf(WideChar) + 1);   StringToWideChar(Msg, MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);   StringToWideChar(Dest, DestWideChar, 20 * SizeOf(WideChar) + 1);   if Source = '' then    Result := NetMessageBufferSend(nil, DestWideChar, nil,     MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1)   else   begin    GetMem(SourceWideChar, 20 * SizeOf(WideChar) + 1);    StringToWideChar(Source, SourceWideChar, 20 * SizeOf(WideChar) + 1);    Result := NetMessageBufferSend(nil, DestWideChar, SourceWideChar,     MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);    FreeMem(SourceWideChar);   end;  finally   FreeMem(MessagetextWideChar);   FreeLibrary(Handle);  end; end; function NetSend(Dest, Msg: string): Longint; overload; begin  Result := NetSend(Dest, '', Msg); end; function NetSend(Msg: string): Longint; overload; begin  Result := NetSend('', '', Msg); end; // Example: procedure TForm1.Button1Click(Sender: TObject); const  NERR_BASE = 2100;  NERR_NameNotFound = NERR_BASE + 173;  NERR_NetworkError = NERR_BASE + 36;  NERR_Success = 0; var  Res: Longint;  sMsg: string; begin  Res := NetSend('LoginName', 'Your Message...');  case Res of   ERROR_ACCESS_DENIED: sMsg := 'user does not have access to the requested information.';   ERROR_INVALID_PARAMETER: sMsg := 'The specified parameter is invalid.';   ERROR_NOT_SUPPORTED: sMsg := 'This network request is not supported.';   NERR_NameNotFound: sMsg := 'The user name could not be found.';   NERR_NetworkError: sMsg := 'A general failure occurred in the network hardware.';   NERR_Success: sMsg := 'Message sent!';  end;  ShowMessage(sMsg); end;  

阅读(2183) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册