记得当时是看了几天黑客,了解了黑客基本的网络常用命令,,其中这个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;

评论