Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

NET SEND ANONYME VIA LES MAILSLOTS


Information sur la source

Catégorie :Réseau & Internet Classé sous : netsend, mailslot, anonyme, api, createfile Niveau : Initié Date de création : 18/05/2006 Date de mise à jour : 18/05/2006 10:06:58 Vu / téléchargé: 8 711 / 1 200

Note :
9 / 10 - par 4 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (25)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Cette source est une adaptation VB de mon programme en Delphi (sur DelphiFr.com).
Elle permet d'envoyer un message de type NetSend à une machine distante (sur le reseau), avec la possibilité de mettre un nom d'emetteur quelqconque... ce qui n'est pas possible avec la commande "Net Send" de chez Microsoft.

Commentaires et notes sont les bienvenues.
 

Source

  • '----------------------------------------
  • ' NSA : Envoi de net send anonyme
  • ' --------------------------------
  • ' Par LEVEUGLE Damien
  • ' Elguevel (c) 2006
  • '
  • ' Pour : VBFrance.com
  • '
  • '----------------------------------------
  • Option Explicit
  • '--------------------
  • ' Fonctions Windows
  • '--------------------
  • Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" ( _
  • ByVal lpFileName As String, _
  • ByVal dwDesiredAccess As Long, _
  • ByVal dwShareMode As Long, _
  • ByVal lpSecurityAttributes As Long, _
  • ByVal dwCreationDisposition As Long, _
  • ByVal dwFlagsAndAttributes As Long, _
  • ByVal hTemplateFile As Long) As Long
  • Private Declare Function WriteFile Lib "kernel32" ( _
  • ByVal hFile As Long, _
  • ByVal lpBuffer As String, _
  • ByVal cToWrite As Long, _
  • ByRef cWritten As Long, _
  • Optional ByVal lpOverlapped As Long) As Long
  • Private Declare Function CloseHandle Lib "kernel32" ( _
  • ByVal hObject As Long) As Long
  • '--------------------
  • ' Constantes Windows
  • '--------------------
  • Public Const OPEN_EXISTING = 3
  • Public Const FILE_SHARE_READ = &H1
  • Public Const INVALID_HANDLE_VALUE = &HFFFFFFFF
  • Public Const GENERIC_WRITE = &H40000000
  • Public Const FILE_ATTRIBUTE_NORMAL = &H80
  • '****************************************************
  • '* ENVOI
  • '****************************************************
  • Public Function SendMessage(Emetteur, Destinataire, LeMessage As String) As Boolean
  • ' Declaration
  • Dim HWNDSlot As Integer
  • Dim Buffer As String
  • Dim NombreEcrit As Long
  • ' Initialisation
  • SendMessage = False
  • NombreEcrit = 0 ' Non utilisé
  • ' Création du MailSlot
  • HWNDSlot = CreateFile("\\" & Destinataire & "\MAILSLOT\MESSNGR", _
  • GENERIC_WRITE, _
  • FILE_SHARE_READ, 0, _
  • OPEN_EXISTING, _
  • FILE_ATTRIBUTE_NORMAL, 0)
  • ' Définition de la trame
  • Buffer = Emetteur & Chr(0) & Destinataire & Chr(0) & LeMessage & Chr(0)
  • ' Envoi
  • If (HWNDSlot <> INVALID_HANDLE_VALUE) Then
  • Call WriteFile(HWNDSlot, Buffer, Len(Buffer), NombreEcrit, 0)
  • SendMessage = True
  • Else
  • SendMessage = False
  • End If
  • ' Fermeture du Slot
  • Call CloseHandle(HWNDSlot)
  • End Function
'----------------------------------------
' NSA : Envoi de net send anonyme
' --------------------------------
' Par LEVEUGLE Damien
' Elguevel (c) 2006
'
' Pour : VBFrance.com
'
'----------------------------------------


Option Explicit

    '--------------------
    ' Fonctions Windows
    '--------------------
    Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" ( _
        ByVal lpFileName As String, _
        ByVal dwDesiredAccess As Long, _
        ByVal dwShareMode As Long, _
        ByVal lpSecurityAttributes As Long, _
        ByVal dwCreationDisposition As Long, _
        ByVal dwFlagsAndAttributes As Long, _
        ByVal hTemplateFile As Long) As Long

    Private Declare Function WriteFile Lib "kernel32" ( _
        ByVal hFile As Long, _
        ByVal lpBuffer As String, _
        ByVal cToWrite As Long, _
        ByRef cWritten As Long, _
        Optional ByVal lpOverlapped As Long) As Long
        
    Private Declare Function CloseHandle Lib "kernel32" ( _
        ByVal hObject As Long) As Long
        
    '--------------------
    ' Constantes Windows
    '--------------------
    Public Const OPEN_EXISTING = 3
    Public Const FILE_SHARE_READ = &H1
    Public Const INVALID_HANDLE_VALUE = &HFFFFFFFF
    Public Const GENERIC_WRITE = &H40000000
    Public Const FILE_ATTRIBUTE_NORMAL = &H80
        

'****************************************************
'* ENVOI
'****************************************************
Public Function SendMessage(Emetteur, Destinataire, LeMessage As String) As Boolean

    ' Declaration
    Dim HWNDSlot    As Integer
    Dim Buffer      As String
    Dim NombreEcrit As Long

    ' Initialisation
    SendMessage = False
    NombreEcrit = 0     ' Non utilisé

    ' Création du MailSlot
    HWNDSlot = CreateFile("\\" & Destinataire & "\MAILSLOT\MESSNGR", _
                           GENERIC_WRITE, _
                           FILE_SHARE_READ, 0, _
                           OPEN_EXISTING, _
                           FILE_ATTRIBUTE_NORMAL, 0)

    ' Définition de la trame
    Buffer = Emetteur & Chr(0) & Destinataire & Chr(0) & LeMessage & Chr(0)

    ' Envoi
    If (HWNDSlot <> INVALID_HANDLE_VALUE) Then
        Call WriteFile(HWNDSlot, Buffer, Len(Buffer), NombreEcrit, 0)
        SendMessage = True
    Else
        SendMessage = False
    End If
  
    ' Fermeture du Slot
    Call CloseHandle(HWNDSlot)

End Function

Conclusion

Ce programme est hyper court et simple, et ne necessite que la connaissance des MAILSLOTS.
Il à été rapidement traduit, et donc peut etre impcomplet ou manquant de fonctionalités, mais il fonctionne.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

18 mai 2006 08:06:00 :
Oubli du paramètre de retour : Corrigé
18 mai 2006 09:49:51 :
Caractères incorrects : Corrigé (merci à Renfield)
18 mai 2006 10:06:58 :
Re Re Re correction ...

Commentaires et avis

signaler à un administrateur
Commentaire de Renfield le 18/05/2006 08:58:55 administrateur CS

tu peux aussi utiliser l'API NetMessageBufferSend.

signaler à un administrateur
Commentaire de elguevel le 18/05/2006 09:15:15

Je sais et je l'ai déja fait .. l'avantage du mailslot et de communiquer directment avec le service d'affichage de la machine distante avec toute la libérté voulu, puisqu'il n'y a aucun control Windows (pas d'API), meme pas besoin d'avoir son service des messages à soi d'activé !

++

signaler à un administrateur
Commentaire de Renfield le 18/05/2006 09:43:43 administrateur CS

ok....

petites remarques...

Chr(0)   => VbNullChar

et

\\" + Destinataire + "\MAILSLOT\MESSNGR"  => \\" & Destinataire & "\MAILSLOT\MESSNGR"

signaler à un administrateur
Commentaire de elguevel le 18/05/2006 09:46:50

Oui désolé, ayant recopier mon code Delphi, j'ai omis quelques transcryptage.

Merci à toi, je corrige çà tout de suite.

signaler à un administrateur
Commentaire de Renfield le 18/05/2006 09:56:20 administrateur CS

attention ^^

vbNullString  <> vbNullChar

ce coup-ci, ca risque de ne même plus fonctionner ....
vbNullString  est plus ou moins équivalent à ""
vbNullChar est '\0'  (si tu est habitué au C...)

signaler à un administrateur
Commentaire de elguevel le 18/05/2006 10:03:16

arf merde... j'aurai du laissé mes Chr(0), au moins je savais quel caractère c'etait :-D

Bon je les remet, après chacun fera comme il le souhaitera.

Merci.

signaler à un administrateur
Commentaire de VB le 18/05/2006 18:37:07




Sa fonctionne pas ...
c'est Domage sa avait l'air bien comme programme

signaler à un administrateur
Commentaire de elguevel le 18/05/2006 18:41:36

Explique moi comment tu t'en es servie ?

Est ce que ton service d'affichage des messages est bien activé sur la machine distante, pour l'activer fait :

"net start messenger"

Tient moi au courant, ++

signaler à un administrateur
Commentaire de VB le 18/05/2006 20:14:12



marche pas même avec la commande :
"net start messenger"

Mon service est bien activé.
win2k pour les 2 machines.

j'ai entré comme dans ton screenshot :
première ligne  :  ANONYME
deuxième ligne  :  "nom de machine à atteindre"
sujet : hello its me !
body : yes its me of couse !!!

voilà...

Cordialement.

signaler à un administrateur
Commentaire de VB le 18/05/2006 20:17:47

j' oubliais une chose...

pour sujet :

c'est dans une autre appli que j'essaye en parallèle avec la tienne , donc je retire ce que j'ai dit pour sujet.

signaler à un administrateur
Commentaire de elguevel le 18/05/2006 20:26:30

Alors là faudrai d'autre temoignage, car je vois pas ce que çà peut être, j'ai essayer chez moi là, je regarde mais tout fonctionne ...

T'as pas un par feu par hazard ? Ta essayer en local sur ta machine ?

Sinon essai avec çà http://elguevel.free.fr/download/bsender.zip et dit moi si c'est pareil, c'est la source compilé en Delphi.

signaler à un administrateur
Commentaire de ratala le 18/05/2006 21:28:02

En tout cas c'est vraiment genial, ça faisait longtemps que je cherchait quelque chose pour envoyer les netsends anonymes !

signaler à un administrateur
Commentaire de eldim le 19/05/2006 11:49:37

Bonjour,

Fonctionne pas chez moi non (XP sp2)

signaler à un administrateur
Commentaire de elguevel le 19/05/2006 13:41:46

bon çà marche chez certain et pas chez d'autres.

Premièrement est ce que votre service des messages est activé ?

Pour ceux qui savent pas ce que c'est, vous faite : bouton droit sur poste de travail -> Gérer -> Service -> Bouton droit sur "Affichage des messages" et Démarrer !

Deuxièment le destinataire doit être le nom d'une machine du reseau (çà marche pas sur internet), et il faut biensur être dans le meme réseau(meme "nom" de reseau).

Sinon j'lai testé sous "Win2K" et sous "Xp SP2", ba aucun problème, et chez mes amis non plus aucun problèmes.

Si çà marche tjrs pas contactez moi par MP, on essayera de voir d'où çà viens !

++

signaler à un administrateur
Commentaire de ratala le 19/05/2006 17:14:14

Moi ça marche tres bien, je l'ai même éssayé au college ( et je me suis éclaté ) alors que les ordis ils sont meme pas en admin

signaler à un administrateur
Commentaire de elguevel le 19/05/2006 21:49:47

ah enfin qqn chez qui çà marche ...

signaler à un administrateur
Commentaire de e_NeX le 20/05/2006 18:28:48

elle marche tres bien cette source. et elle est tres bien structurée!!! seul probleme a noter... on est limité dans la taille du texte que l'on veux envoyer!!! si quelqu'un sait faire pour laugmenter, ca serait bien de faire une ptite mise a jour. sinon 10/10 ;)

signaler à un administrateur
Commentaire de elguevel le 20/05/2006 19:28:13

J'ai limité volontairement la taille du texte à 250 caractères je crois. Tu peux enlever la limite pour voir, mais je pense pas qu'envoyer un message par net send demande autant de caractères... sinon autant envoyer un mail.

Merci quand meme pour ton soutient :-)

signaler à un administrateur
Commentaire de ratala le 20/05/2006 19:35:46

Mais de toute facon il y aura toujours une limite : la taille de la message box qui s'ouvre a une limite.

signaler à un administrateur
Commentaire de loulou_be le 25/05/2006 15:23:32

Pourquoi se casser la nénette ?
Suffit d'aller dans "démarrer", "éxécuter", et de taper ceci < net send "NOM DU DESTINATAIRE" "MESSAGE" >

ça marche très bien, on l'utilise pour tricher aux exams nous :p

Bonne journée à tous

signaler à un administrateur
Commentaire de elguevel le 25/05/2006 22:04:31

Quel remarque pertinante... :-(

Si tu avais lu tout les postes j'explique les raisons avantageuse  de l'utilisation d'un tel programme :
- Interface graphique
- Possibilité de bombing (faut ajouter une boucle dans le programme)
- On ne passe pas par son service des messages (protection contre les net send des autres).
- ET SURTOUT l'emetteur peut mettre le nom qu'il veut, donc ANONYME (c'est le titre de la source, ce que le net send standard ne fait pas).

Je montre aussi ici, et c'est le but de ce site, l'utilisation d'autres methodes qui ici sont les MAILSLOT, Les API (CreateFile, WriteFile, et CloseHandle) sans compter vous montrer comment est structuré et comment est composé le NETSEND.

Après si tout le monde me sort suffit de faire Shell("net send etc...").. moi c'est fini je met plus les pied sur VBFrance :-s

signaler à un administrateur
Commentaire de Renfield le 26/05/2006 09:57:42 administrateur CS

ca fait léger comme avantage :
- Possibilité de bombing (faut ajouter une boucle dans le programme)

le désavantage du démarrer > executer, c'est ce coté non anonyme...
et je ne parle pas des traces que ca laisse en base de registres...
(surtout si vous vous en servez pour tricher... passez au moins par l'interpreteur de ligne de commande (cmd))

signaler à un administrateur
Commentaire de elguevel le 26/05/2006 11:10:52

"ca fait léger comme avantage :
- Possibilité de bombing (faut ajouter une boucle dans le programme)"

C'est simplement un exemple d'utilisation ... avec le net send habituelle il faudrai crée une routine externe pour faire du bombing, l'avantage de ce programme etant surtout de passer par une autre alternative que le fameux NetMessageBufferSend.

Puis arrettez de me parler de CMD ou de Shell(), ici on fait de la programmation pas de la ligne de commande ou des Batch.
Et encore je poste ici pour la communauté, car je ne porte pas VB dans mon coeur.

signaler à un administrateur
Commentaire de logarcon le 04/07/2006 17:19:32

Juste comme ça http://www.vbfrance.com/codes/NET-SEND-ANONYME-ORIGINAL_7052.aspx

signaler à un administrateur
Commentaire de elguevel le 04/07/2006 20:55:39

Bravo pour ta source elle est super bien faite. J'ai visualisé le code et je la trouve très bien construite. Tu as mis plein de fonctions interessantes et l'utilisation de fichiers de configuration, bravo.

Par contre si çà peut te rassurer je n'ai pas pompé ta source (j'ai l'impression d'etre accusé de çà) même si bizzarement elles portent toutes les deux le même nom. Le nom "NSA"  à été choisie de mon propre chef pour sinifié "Net Send Anonyme". (De plus j'ai d'abord conçu en Delphi : http://www.delphifr.com/codes/NET-SEND-ANONYME-VIA-MAILSLOTS_37153.aspx)

Tu peux même allé voir ma fiche si çà peux te prouver que je ne suis pas un plagia.

De plus tu utilise l'api "NetMessageBufferSend" (comme bcp), moi je montre juste l'utilisation du service d'affichage des messages sans cette API, ce qui n'a rien avoir.

Si tu veux je t'autorise à combiner ta source avec la mienne afin de la rendre plus flexible, çà ne me pose aucun problème.

A+, et Bon Code !

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

API CreateFile & ReadFile [ par VBSpirit ] Bonjour, je suis persuadé que les API CreateFile et ReadFile sont plus rapide que les instructions Open, Get, Put...Quelqu'un sait comment s'en servir source shutdown et netsend anonyme en .net [ par eviljojo22 ] je voudrai avoir les source shutdown et netsend anonyme en .netmerci NetSend Anonyme [ par sam469 ] Bonsoir a toutes et tous,joyeuse annee 2007 et bonne santer avant tous,je voulais savoir comment rajouter dans mon "bout" de code La commande netsend Catia V5 VBScript [ par zavier666 ] Beaucoup de messages concernant l'utilisation de VBScript en Catia V5 sur VBFrance, mais peu de réponses sur le site (public assez restreint)Vous pour Testez API @ la Loupe Viewer v2.0 [ par zavier666 ] bonjour, je viens de terminer la V2.0 du soft "API @ la Loupe Viewer" qui doit permettre d'augmenter la compatibilité avec les divers OS. je cherche d surveillance d'un spool [ par jocou ] Bonjour à tousJ'écris actuellement un outil de surveillance d'un spool d'imprimantes. J'utilise à cet effet les APIs FindFirstPrinterChangeNotificatio Besoin d'aide avec l'API Scrollbar pour une picturebox [ par Mew27 ] Bonjour, je travailles présentement sur un projet personnel et j'aimerais faire mes propres controles, par exemple une listbox, dabord pour avoir mes api [ par aminevb ] salut,c'est quoi une API Svp : une aide sur les API de produits CFAO [ par wangotango ] Bonjourje suis archi débutant, mais volontaire et courageuxje ne sais meme pas si Vb peut m'aider dans ma démarcheje suis utilisateur Cao sur topsoli/ Via API réaliser un control TreeView avec Images ET Checkbox à 3 états [ par drakkard ] Bonjour Bonjour...voici mon problème, n'étant pas un habitué des API, je galère un peu pour réaliser un contrôle TreeView avecune image sur chaque noe


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.