GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: leptiroman le 30 Septembre 2009, 21:28:16

Titre: pass perdu enleve cryptage[RESOLU]
Posté par: leptiroman le 30 Septembre 2009, 21:28:16
Bonsoir a tous,

Voila j'ai un problème assez récurant, sur mon serveur,
je suis sur un base de GF
les gens comme des cons perde leur pass et me demande

bon après que je sois sur que c'est eu je leur dis de recrée un compte et je transfere les donnée mais bon c'ets lourd

Y a pas moyen soit de décrypter les pass , soit d'enlever le cryptage automatique des pass etque dans les scriptfile j'ai le mot de pass qui apparaisse comme il 'on encodé?

Merci bcp.

Titre: Re : pass perdu enleve cryptage
Posté par: BuBuNo le 30 Septembre 2009, 21:45:18
Bas moi pour les compte j'utilise le FS Admin On duty qui ne cript pas les mot de pass
Titre: Re : pass perdu enleve cryptage
Posté par: cristab le 30 Septembre 2009, 22:13:59
au pire le plus simple tu laisse le encoder mais en plus dans le /register tu ajoute une ligne du passe non hacher
Titre: Re : pass perdu enleve cryptage
Posté par: leptiroman le 30 Septembre 2009, 22:37:36
et comment on fait ça
Titre: Re : pass perdu enleve cryptage
Posté par: cristab le 30 Septembre 2009, 22:52:45
fait voir ta commande /register
Titre: Re : pass perdu enleve cryptage
Posté par: leptiroman le 30 Septembre 2009, 23:26:19
la voici:

Citer
if (strcmp(cmd, "/enregistrer", true) ==0 )
   {
       if(IsPlayerConnected(playerid))
       {
           if(gPlayerLogged[playerid] == 1)
         {
            SendClientMessage(playerid, COLOR_WHITE, "SERVEUR: tu es déjà logué.");
            return 1;
         }
         GetPlayerName(playerid, sendername, sizeof(sendername));
         format(string, sizeof(string), "%s.ini", sendername);
         new File: hFile = fopen(string, io_read);
         if (hFile)
         {
            SendClientMessage(playerid, COLOR_YELLOW, "Ce Nom d'utilisateur est déjà prit, choisis-en un différent s'il te plaît.");
            fclose(hFile);
            return 1;
         }
           new tmppass[64];
         tmp = strtok(cmdtext, idx);
         if(!strlen(tmp))
         {
            SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /enregister [pass]");
            return 1;
         }
         strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
         Encrypt(tmppass);
         OnPlayerRegister(playerid,tmppass);
      }
      return 1;
   }
Titre: Re : pass perdu enleve cryptage
Posté par: cristab le 30 Septembre 2009, 23:29:42
il va falloir que tu poste aussi cette fonction OnPlayerRegister(playerid,tmppass);
Titre: Re : pass perdu enleve cryptage
Posté par: leptiroman le 01 Octobre 2009, 00:12:29
Citer
public OnPlayerRegister(playerid, password[])
{
   if(IsPlayerConnected(playerid))
   {
         new string3[32];
         new playername3[MAX_PLAYER_NAME];
         GetPlayerName(playerid, playername3, sizeof(playername3));
         format(string3, sizeof(string3), "%s.ini", playername3);
         new File: hFile = fopen(string3, io_write);
         if (hFile)
         {
             strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
             new var[32];
            format(var, 32, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
            PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
            format(var, 32, "Level=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
            format(var, 32, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
            format(var, 32, "DonateRank=%d\n",PlayerInfo[playerid][pDonateRank]);fwrite(hFile, var);
            format(var, 32, "UpgradePoints=%d\n",PlayerInfo[playerid][gPupgrade]);fwrite(hFile, var);
            format(var, 32, "ConnectedTime=%d\n",PlayerInfo[playerid][pConnectTime]);fwrite(hFile, var);
            format(var, 32, "Registered=%d\n",PlayerInfo[playerid][pReg]);fwrite(hFile, var);
            format(var, 32, "Sex=%d\n",PlayerInfo[playerid][pSex]);fwrite(hFile, var);
            format(var, 32, "Age=%d\n",PlayerInfo[playerid][pAge]);fwrite(hFile, var);
            format(var, 32, "Origin=%d\n",PlayerInfo[playerid][pOrigin]);fwrite(hFile, var);
            format(var, 32, "CK=%d\n",PlayerInfo[playerid][pCK]);fwrite(hFile, var);
            format(var, 32, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);
            format(var, 32, "Respect=%d\n",PlayerInfo[playerid][pExp]);fwrite(hFile, var);
            format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
            format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pAccount]);fwrite(hFile, var);
            format(var, 32, "Crimes=%d\n",PlayerInfo[playerid][pCrimes]);fwrite(hFile, var);
            format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
            format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
            format(var, 32, "Arrested=%d\n",PlayerInfo[playerid][pArrested]);fwrite(hFile, var);
            format(var, 32, "WantedDeaths=%d\n",PlayerInfo[playerid][pWantedDeaths]);fwrite(hFile, var);
            format(var, 32, "Phonebook=%d\n",PlayerInfo[playerid][pPhoneBook]);fwrite(hFile, var);
            format(var, 32, "LottoNr=%d\n",PlayerInfo[playerid][pLottoNr]);fwrite(hFile, var);
            format(var, 32, "Fishes=%d\n",PlayerInfo[playerid][pFishes]);fwrite(hFile, var);
            format(var, 32, "BiggestFish=%d\n",PlayerInfo[playerid][pBiggestFish]);fwrite(hFile, var);
            format(var, 32, "Job=%d\n",PlayerInfo[playerid][pJob]);fwrite(hFile, var);
            format(var, 32, "Paycheck=%d\n",PlayerInfo[playerid][pPayCheck]);fwrite(hFile, var);
            format(var, 32, "HeadValue=%d\n",PlayerInfo[playerid][pHeadValue]);fwrite(hFile, var);
            format(var, 32, "Jailed=%d\n",PlayerInfo[playerid][pJailed]);fwrite(hFile, var);
            format(var, 32, "JailTime=%d\n",PlayerInfo[playerid][pJailTime]);fwrite(hFile, var);
            format(var, 32, "Materials=%d\n",PlayerInfo[playerid][pMats]);fwrite(hFile, var);
            format(var, 32, "Drugs=%d\n",PlayerInfo[playerid][pDrugs]);fwrite(hFile, var);
            format(var, 32, "Leader=%d\n",PlayerInfo[playerid][pLeader]);fwrite(hFile, var);
            format(var, 32, "Member=%d\n",PlayerInfo[playerid][pMember]);fwrite(hFile, var);
            format(var, 32, "FMember=%d\n",PlayerInfo[playerid][pFMember]);fwrite(hFile, var);
            format(var, 32, "Rank=%d\n",PlayerInfo[playerid][pRank]);fwrite(hFile, var);
            format(var, 32, "Char=%d\n",PlayerInfo[playerid][pChar]);fwrite(hFile, var);
            format(var, 32, "contratTime=%d\n",PlayerInfo[playerid][pcontratTime]);fwrite(hFile, var);
            format(var, 32, "DetSkill=%d\n",PlayerInfo[playerid][pDetSkill]);fwrite(hFile, var);
            format(var, 32, "SexSkill=%d\n",PlayerInfo[playerid][pSexSkill]);fwrite(hFile, var);
            format(var, 32, "BoxSkill=%d\n",PlayerInfo[playerid][pBoxSkill]);fwrite(hFile, var);
            format(var, 32, "LawSkill=%d\n",PlayerInfo[playerid][pLawSkill]);fwrite(hFile, var);
            format(var, 32, "MechSkill=%d\n",PlayerInfo[playerid][pMechSkill]);fwrite(hFile, var);
            format(var, 32, "JackSkill=%d\n",PlayerInfo[playerid][pJackSkill]);fwrite(hFile, var);
            format(var, 32, "CarSkill=%d\n",PlayerInfo[playerid][pCarSkill]);fwrite(hFile, var);
            format(var, 32, "NewsSkill=%d\n",PlayerInfo[playerid][pNewsSkill]);fwrite(hFile, var);
            format(var, 32, "DrugsSkill=%d\n",PlayerInfo[playerid][pDrugsSkill]);fwrite(hFile, var);
            format(var, 32, "CookSkill=%d\n",PlayerInfo[playerid][pCookSkill]);fwrite(hFile, var);
            format(var, 32, "FishSkill=%d\n",PlayerInfo[playerid][pFishSkill]);fwrite(hFile, var);
            format(var, 32, "pSHealth=%.1f\n",PlayerInfo[playerid][pSHealth]);fwrite(hFile, var);
               GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
            format(var, 32, "pHealth=%.1f\n",PlayerInfo[playerid][pHealth]);fwrite(hFile, var);
            format(var, 32, "Int=%d\n",PlayerInfo[playerid][pInt]);fwrite(hFile, var);
            format(var, 32, "Local=%d\n",PlayerInfo[playerid][pLocal]);fwrite(hFile, var);
            format(var, 32, "Team=%d\n",PlayerInfo[playerid][pTeam]);fwrite(hFile, var);
            format(var, 32, "Model=%d\n",PlayerInfo[playerid][pModel]);fwrite(hFile, var);
            format(var, 32, "PhoneNr=%d\n",PlayerInfo[playerid][pPnumber]);fwrite(hFile, var);
            format(var, 32, "House=%d\n",PlayerInfo[playerid][pPhousekey]);fwrite(hFile, var);
            format(var, 32, "Bizz=%d\n",PlayerInfo[playerid][pPbiskey]);fwrite(hFile, var);
            if ((PlayerInfo[playerid][pPos_x]==0.0 && PlayerInfo[playerid][pPos_y]==0.0 && PlayerInfo[playerid][pPos_z]==0.0))
            {
               PlayerInfo[playerid][pPos_x] = 1684.9;
               PlayerInfo[playerid][pPos_y] = -2244.5;
               PlayerInfo[playerid][pPos_z] = 13.5;
            }
            if(Spectate[playerid] != 255)
            {
               PlayerInfo[playerid][pPos_x] = Unspec[playerid][sPx];
               PlayerInfo[playerid][pPos_y] = Unspec[playerid][sPy];
               PlayerInfo[playerid][pPos_z] = Unspec[playerid][sPz];
               PlayerInfo[playerid][pInt] = Unspec[playerid][sPint];
               PlayerInfo[playerid][pLocal] = Unspec[playerid][sLocal];
            }
            format(var, 32, "Pos_x=%.1f\n",PlayerInfo[playerid][pPos_x]);fwrite(hFile, var);
            format(var, 32, "Pos_y=%.1f\n",PlayerInfo[playerid][pPos_y]);fwrite(hFile, var);
            format(var, 32, "Pos_z=%.1f\n",PlayerInfo[playerid][pPos_z]);fwrite(hFile, var);
            format(var, 32, "CarLic=%d\n",PlayerInfo[playerid][pCarLic]);fwrite(hFile, var);
                format(var, 32, "FlyLic=%d\n",PlayerInfo[playerid][pFlyLic]);fwrite(hFile, var);
            format(var, 32, "BoatLic=%d\n",PlayerInfo[playerid][pBoatLic]);fwrite(hFile, var);
            format(var, 32, "FishLic=%d\n",PlayerInfo[playerid][pFishLic]);fwrite(hFile, var);
            format(var, 32, "GunLic=%d\n",PlayerInfo[playerid][pGunLic]);fwrite(hFile, var);
            format(var, 32, "Gun1=%d\n",PlayerInfo[playerid][pGun1]);fwrite(hFile, var);
            format(var, 32, "Gun2=%d\n",PlayerInfo[playerid][pGun2]);fwrite(hFile, var);
            format(var, 32, "Gun3=%d\n",PlayerInfo[playerid][pGun3]);fwrite(hFile, var);
            format(var, 32, "Gun4=%d\n",PlayerInfo[playerid][pGun4]);fwrite(hFile, var);
            format(var, 32, "Ammo1=%d\n",PlayerInfo[playerid][pAmmo1]);fwrite(hFile, var);
            format(var, 32, "Ammo2=%d\n",PlayerInfo[playerid][pAmmo2]);fwrite(hFile, var);
            format(var, 32, "Ammo3=%d\n",PlayerInfo[playerid][pAmmo3]);fwrite(hFile, var);
            format(var, 32, "Ammo4=%d\n",PlayerInfo[playerid][pAmmo4]);fwrite(hFile, var);
            format(var, 32, "CarTime=%d\n",PlayerInfo[playerid][pCarTime]);fwrite(hFile, var);
            format(var, 32, "PayDay=%d\n",PlayerInfo[playerid][pPayDay]);fwrite(hFile, var);
            format(var, 32, "PayDayHad=%d\n",PlayerInfo[playerid][pPayDayHad]);fwrite(hFile, var);
            format(var, 32, "CDPlayer=%d\n",PlayerInfo[playerid][pCDPlayer]);fwrite(hFile, var);
            format(var, 32, "Wins=%d\n",PlayerInfo[playerid][pWins]);fwrite(hFile, var);
            format(var, 32, "Loses=%d\n",PlayerInfo[playerid][pLoses]);fwrite(hFile, var);
            format(var, 32, "AlcoholPerk=%d\n",PlayerInfo[playerid][pAlcoholPerk]);fwrite(hFile, var);
            format(var, 32, "DrugPerk=%d\n",PlayerInfo[playerid][pDrugPerk]);fwrite(hFile, var);
            format(var, 32, "MiserPerk=%d\n",PlayerInfo[playerid][pMiserPerk]);fwrite(hFile, var);
            format(var, 32, "PainPerk=%d\n",PlayerInfo[playerid][pPainPerk]);fwrite(hFile, var);
            format(var, 32, "TraderPerk=%d\n",PlayerInfo[playerid][pTraderPerk]);fwrite(hFile, var);
            format(var, 32, "Tutorial=%d\n",PlayerInfo[playerid][pTut]);fwrite(hFile, var);
            format(var, 32, "Mission=%d\n",PlayerInfo[playerid][pMissionNr]);fwrite(hFile, var);
            format(var, 32, "Warnings=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var);
            format(var, 32, "Adjustable=%d\n",PlayerInfo[playerid][pAdjustable]);fwrite(hFile, var);
            format(var, 32, "Fuel=%d\n",PlayerInfo[playerid][pFuel]);fwrite(hFile, var);
            format(var, 32, "Married=%d\n",PlayerInfo[playerid][pMarried]);fwrite(hFile, var);
            format(var, 32, "MarriedTo=%s\n",PlayerInfo[playerid][pMarriedTo]);fwrite(hFile, var);
            fclose(hFile);
            SendClientMessage(playerid, COLOR_YELLOW, "Félicitation, Compte enregistré !  tu peux t'identifier maintenant (/ident [motdepass]).");
         }
   }
   return 1;
Titre: Re : pass perdu enleve cryptage
Posté par: cristab le 01 Octobre 2009, 00:21:40
modifie ceci a ta commande /register


OnPlayerRegister(playerid,tmppass,tmp);
puis

modifie ceci

public OnPlayerRegister(playerid, password[],motdepass[])
{

enfin ajoute ceci
format(var, 32, "mot de passe=%s\n",motdepass);fwrite(hFile, var);
Titre: Re : pass perdu enleve cryptage
Posté par: 69scorpion le 01 Octobre 2009, 00:27:01
Moi l'exention du fichier compte du joueur est : ".ini" et les mot de pass s'afiche correctement 
Titre: Re : pass perdu enleve cryptage
Posté par: Syg le 01 Octobre 2009, 10:42:31
La solution la plus simple, sans avoir à modifier ton script c'est de mettre un mot de passe temporaire au joueur.
Pour faire ça, tu modifies ton propre mot de passe en mettant par exemple "provisoire" et du récupère le mot de passe hashé dans ton propre fichier de profil (ensuite, tu remets ton vrai mot de passe).
Ensuite, lorsque qu'un joueur te demande son mot de passe, tu modifies son fichier de profil en mettant le mot de passe "provisoire" hashé et tu lui dis d'utiliser "provisoire" comme mot de passe pour son premier login et de le changer dès qu'il est connecté.

++
Syg
Titre: Re : Re : pass perdu enleve cryptage
Posté par: S!m le 01 Octobre 2009, 23:05:57
Salut,

si tu désire complètement enlever la cryptage des mot de passe, tu peut simpklement enlever cette ligne:

Encrypt(tmppass);

ainsi tu devrais retrouver le mot de passe non crypté dans les fichiers d'utilisateur, par contre il te faudra enlever le Encrypt au moment du /login

++Sim++
Titre: Re : pass perdu enleve cryptage
Posté par: leptiroman le 02 Octobre 2009, 21:43:06
a encore plus simple merci Sim :) ça marche