Aller au contenu
Âme

Mal de Mer ...

Messages recommandés

Faites défilez le texte en penchant la tête à gauche :

////////////////////////////////////////////////////////////////////////////

   ////////

   //

   //   compile with eg Visual C++ link with advapi32.lib

   //

   //   Cerberus Information Security, Ltd

   //

   //    8th May 2000

   //

   ////////////////////////////////////////////////////////////////////////////

   /////////



   #include <windows.h>

   #include <stdio.h>

   #include <winreg.h>



   #define SUCCESS 1

   #define FAILURE 0



   HKEY KeyToChange = HKEY_CLASSES_ROOT;



   int ChangeFileAssociations(void);

   int ConnectToRemoteRegistry(char *);

   LONG DoSetAKey(HKEY, char *, char *);



   int main(int argc,char *argv[])

   {

    DWORD chk=0;

    char hostname[260]="";

    char *errors = "There were errors changing the file associations.n";

    char *noerrors = "VBS,VBE,WSF,WSH,JS and JSE file associations have been

   changed.n";



    printf("nCerberus Security Teamnhttp://www.cerberus-infosec.co.uk/n8th

   May 2000nn");



    if(argc == 1)

     {

      chk = ChangeFileAssociations();

      if(chk)

       {

        printf(noerrors);

        return SUCCESS;

       }

      else

       {

        printf(errors);

        return FAILURE;

       }

     }

    else

     {

      if



      ( stricmp( argv[1], "/?" ) == 0 ) ||

      ( stricmp( argv[1], "-?" ) == 0 ) ||

      ( stricmp( argv[1], "/h" ) == 0 ) ||

      ( stricmp( argv[1], "-h" ) == 0 ) ||

      ( stricmp( argv[1], "?" ) == 0 ) ||

      ( stricmp( argv[1], "help" ) == 0 ) ||

      ( stricmp( argv[1], "/help" ) == 0 ))

       {

        return 0;

       }

      else

       {

        strncat(hostname,argv[1],250);

        chk = ConnectToRemoteRegistry(hostname);

        if (!chk)

         {

          printf("Error connecting to %sn",hostname);

          return FAILURE;

         }

        else

         {

          chk = ChangeFileAssociations();

          if(chk)

           {

            printf(noerrors);

            return SUCCESS;

           }

          else

           {

            printf(errors);

            return FAILURE;

           }

         }



       }

     }

   }







   int ConnectToRemoteRegistry(char *host)

   {

    HKEY hkcr = HKEY_CLASSES_ROOT;

    LONG connect;





    connect = RegConnectRegistry(host,hkcr,&KeyToChange);

    if(connect == ERROR_SUCCESS)

     {

      return SUCCESS;

     }

    else

     {

      return FAILURE;

     }

   }



   int ChangeFileAssociations()

   {

    LONG chk=0;



    chk = DoSetAKey(KeyToChange,"VBSFileShellOpenCommand","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }

    chk = DoSetAKey(KeyToChange,"VBSFileShellOpen2Command","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }

    chk = DoSetAKey(KeyToChange,"WSHFileShellOpenCommand","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }

    chk = DoSetAKey(KeyToChange,"WSHFileShellOpen2Command","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }

    chk = DoSetAKey(KeyToChange,"VBEFileShellOpenCommand","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }

    chk = DoSetAKey(KeyToChange,"VBEFileShellOpen2Command","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }

    chk = DoSetAKey(KeyToChange,"WSFFileShellOpenCommand","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }

    chk = DoSetAKey(KeyToChange,"WSFFileShellOpen2Command","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }

    chk = DoSetAKey(KeyToChange,"JSEFileShellOpenCommand","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }

    chk = DoSetAKey(KeyToChange,"JSEFileShellOpen2Command","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }



    chk = DoSetAKey(KeyToChange,"JSFileShellOpenCommand","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }

    chk = DoSetAKey(KeyToChange,"JSFileShellOpen2Command","Foobar");

    if(chk != SUCCESS)

     {

      if(chk != ERROR_FILE_NOT_FOUND)

       {

        printf("Error %dn",chk);

        return FAILURE;

       }

     }







    return SUCCESS;

   }







   LONG DoSetAKey(HKEY root, char *key, char *set)

   {



    HKEY hResult;

    DWORD bufsize = MAX_PATH;

    LONG nResult;





    nResult = RegOpenKeyEx(root,key,0,KEY_WRITE,&hResult);

    if(nResult != ERROR_SUCCESS)

     {

      if(nResult != ERROR_FILE_NOT_FOUND)

       {

        RegCloseKey(hResult);

        return FAILURE;

       }

      else

       {

        return ERROR_FILE_NOT_FOUND;

       }

     }

    nResult = RegSetValueEx(hResult,NULL,0,REG_MULTI_SZ,(CONST

   BYTE*)set,strlen(set));



    if(nResult != ERROR_SUCCESS)

     {

      RegCloseKey(hResult);

      return FAILURE;

     }

    else

     {

      printf("Successn");

      RegCloseKey(hResult);

      return SUCCESS;

     }

   }

Celui qui trouve ce que c' est je lui paye une :P

(On posts n' importe kwa à 23H56 ...)

Partager ce message


Lien à poster
Partager sur d’autres sites

Du chinoi ? :-( ? le nouveau codage d'une secte ?

Du Chinois c' est ce qui ya de plus compliqué, aprés le DraZariens bien-sûr :-P

 

Wow ce que je doit etre super inteligent pour comprendre tout ce que je raconte :P

Partager ce message


Lien à poster
Partager sur d’autres sites


 (...)

   char *noerrors = "VBS,VBE,WSF,WSH,JS and JSE file associations have been changed.n";

 (...)

   strncat(hostname,argv[1],250);

   chk = ConnectToRemoteRegistry(hostname);

 (...)

   chk = DoSetAKey(KeyToChange,"VBSFileShellOpenCommand","Foobar");

 (...)

Celui qui trouve ce que c' est je lui paye une :biere:

 

J'avais pas vu qu'il y avait un concours...

A la vue des 3 lignes que j'ai laissées, je dirais que c'est un prog qui change les associations des fichiers .vbs et autres (cités dans la chaine noerrors), sur la machine locale ou une machine distante, pour qu'ils soient lancés avec le programme "Foobar" qui est inexistant (c'est le principe de foobar, d'ailleurs)

Bon, bin, pour moi ce sera une Erdinger ! :-9

Partager ce message


Lien à poster
Partager sur d’autres sites

bah, moi niveau code je me suis arrêté à l'époque de

10 PRINT "Hello, ceci est un code en Basic"

20 X=1

30 X=X+1

40 IF X=10 THEN GOTO 70

50 PRINT "un peu de patience, l'exécution de ce code à la con est presque finie"

60 GOTO 30

70 END

 

(non, je rassures mes (très) nombreux fans, ce n'est pas vrai :P)

Partager ce message


Lien à poster
Partager sur d’autres sites

Votre contenu devra être approuvé par un modérateur

Invité
Vous postez un commentaire en tant qu’invité. Si vous avez un compte, merci de vous connecter.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×