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