Net send anonyme via les mailslots

Description

Le service d'affichage des messages de Windows ("net send") travail avec les mailslots.
(je vous invite à voir : http://castelain.developpez.com/articles/Mailslots/ )

J'ai recrée un client d'affichage des messages permettant d'envoyé des messages à un autre PC mais contrairement à ma précedente source ( http://www.delphifr.com/codes/NET-SEND-DELPHI-API-NETMESSAGEBUFFERSEND_34749.aspx ) celle-ci permet de se faire passer pour quelqu'un d'autre puisque l'on peut choisir le nom de l'emetteur.
Un système de bombing permet d'envoyer une multitude de messages a la suite, mais ne faite pas çà, c'est chiant :-)

PS : Merci à fOxi pour l'optimisation du code.

Note et commentaires sont les bienvenues.

Source / Exemple :


function SendMessage(const Emetteur, Destinataire, LeMessage : string) : Boolean;
var
  HWNDSlot : THandle;
  Buffer   : String;
  lpNumberOfBytesWritten : Cardinal;
begin

  { Init }
  Result := false;
  lpNumberOfBytesWritten := 0;

  { Création du MailSlot }
  HWNDSlot := CreateFile( PChar('\\' + Destinataire + '\MAILSLOT\MESSNGR'),
                           GENERIC_WRITE, FILE_SHARE_READ, nil,
                           OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 );

  { Définition de la trame }
  Buffer := Emetteur + #0 + Destinataire + #0 + LeMessage + #0;

  try
      result := ( HWNDSlot <> INVALID_HANDLE_VALUE );
      if ( result ) then       { Envoi }
         result := WriteFile( HWNDSlot, PChar(Buffer)^, Length(Buffer), lpNumberOfBytesWritten, nil );
  finally
      CloseHandle( HWNDSlot );
  end;

end;

Conclusion :


Si les messages ne passent pas, verifiez que la machine distance est bien son service des messages activé.

Pour celà faire : [Démarrer] > [Executer] > "net start messenger" > [Ok]

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.