Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e)

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 ...)

Posté(e)
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

Posté(e)


 (...)

   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

Posté(e)

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)

Rejoindre la conversation

Vous publiez en tant qu’invité. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
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.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...