Anonimowy Net Sender

0

Witam!! Chciałbym napisać w cmd (plik *.bat) skrypt który będzie wysyłał do użytkownika komunikat (polecenie net send) z ukrytą - fałszywą nazwą nadawcy.

Podejrzewam, że można skorzystać z

NET USER bolek bolek7 /ADD
NET USER bolek /DELETE
net user bolek /active

Ale głowy nie dam.

Jeśli macie jakieś pomysły - proszę o rozwój tego ort!.

PS Program do wysyłania anonimowych komunikatów już mam - ale nie mój - i w postaci exe, a chodzi mi o plik *.bat ;)

0

Hm, odpiszcie coś ;) Ja tylko dopiszę, że jednak trzeba-by oczywiście skorzystać z funkcji api, a tu podaję kodzik, który prawie działa

implementation

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 { NetSend }
  Handle := LoadLibrary('NETAPI32.DLL');
  if Handle=0 then
  begin
    Result := GetLastError;
    Exit;
  end; { Handle=0 }
  @NetMessageBufferSend := GetProcAddress(Handle, 'NetMessageBufferSend');
  if @NetMessageBufferSend=nil then
  begin
    Result := GetLastError;
    Exit;
  end; { @NetMessageBufferSend=nil }
  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; { not (Source='') }

  finally
    FreeMem(MessagetextWideChar);
    FreeLibrary(Handle);
  end; { try }
end; { NetSend }

function NetSend(Dest, Msg: string) : Longint; overload;
begin { NetSend }
  Result := NetSend(Dest, '', Msg);
end; { NetSend }

function NetSend(Msg: string) : Longint; overload;
begin { NetSend }
  Result := NetSend('', '', Msg);
end; { NetSend }

button1.click(sender:tobject);
begin
  NetSend('Mike', 'Hello, Mike');
end.

Załóżmy, że nasz komputer to Mike.
To działa spoko: NetSend('Mike', 'Hello, Mike');
To też : NetSend('Mike','Mike', 'Hello');

Ale gdy chcemy oszukać : NetSend('Mike','Krokodyl', 'Hello'); - tzn chcemy żeby wyświetlił się nam komunikat wiadomości od krokodyla - niestety nie idzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1