GTAOnline.net
San Andreas Multiplayer (sa:mp) => Problèmes et bugs => Discussion démarrée par: leptiroman le 16 Mai 2011, 20:14:55
-
Bonjour a tous,
je suis sur un gm gf et j'ai oublier comment on faisais pour décrypter les mdp
ca
r la quand je vis dans le dossier des joueur, le mot de pass est crypter donc si un joueur perd son mdp bah fini donc j'aimerai enlever l'option de cryptage des mdr mais j'ai oublier la ligne a effacer, pourriez vous m'aide?
me
merci bcp
-
Tout dépend de la méthode de cryptage que ton GM utilise, si c'est du MD5 bah tu peut aller sur certain site où beaucoup de Hash MD5 sont répertoriés.
-
le prob c'ets que c'ets pas du md5 pur et dur c'ets un dérivé
vu qu'il ne contien aps les 32 caracteres mais de 8 a 10 +-
-
montre le onplayerregistre sur le pastebin
-
le voici :)
http://pastebin.com/eAyBvRQM (http://pastebin.com/eAyBvRQM)
cque je veux concrètement ça serai que le pas soit plus crypter du tout ça serai plus simple.
merci beaucoup
-
Salut,
t'as qu'à enlever l'appel à la fonction cryptant le mot de passe:
new password2 = num_hash(password); // ici
PlayerInfo[playerid][pKey] = password2;//et ici on met password et pas password2 bien sur...
++Sim++
-
sinon passe nous la fonction num_hash j'vais tente de la "reverse" pour qu'elle nous décrypter au lieu de crypter ^^
-
Ssk, un hash n'est pas réversible.
Donc ne te lances pas dans un truc impossible.
La seule façon de faire c'est d'essayer de trouver une chaîne avec le même hash que le mot de passe que l'on cherche.
++
Syg
-
Yep je sais très bien qu'on pas reverse un hash, mais j'aimerai juste qu'il me passe ça fonction, on sait jamais si on peut reverse celui la ^^
( Je ne fais pas confiance au nom de la fonction pour ça ^^ )
-
okok merci je tente ça ;)h
edith :
hum du coup probleme:
mlrp.pwn(25229) : error 006: must be assigned to an array
\mlrp.pwn(25230) : error 035: argument type mismatch (argument 3)
\mlrp.pwn(52870) : error 029: invalid expression, assumed zero
\mlrp.pwn(52870) : warning 215: expression has no effect
\mlrp.pwn(52870) : error 001: expected token: ";", but found ")"
\mlrp.pwn(52870) : error 029: invalid expression, assumed zero
\mlrp.pwn(52870) : fatal error 107: too many error messages on one line
voila le bout de code
public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
new string3[64];
new splayerid, playername3, sizeof(playername3));
GetPlayerIp(playerid, playersip, sizeof(playersip));
format(string3, sizeof(string3), "LARP/Users/);
PlayerInfo[playerid][pKey] = password;
dini_IntSet(string3, "Password",password);
dini_IntSet(string3, "Level",PlayerInfo[playerid][pLevel]);
dini_IntSet(string3, "Spawn",PlayerInfo[playerid][pSpawn]);
dini_IntSet(string3, "TesterLevel",PlayerInfo[playerid][pTester]);
dini_IntSet(string3, "HelperLevel",PlayerInfo[playerid][pHelper]);
dini_IntSet(string3, "AdminLevel",PlayerInfo[playerid][pAdmin]);
-
format(string3, sizeof(string3), "LARP/Users/");
-
dsl de déterrer le sujet mais du coup ça marche toujours pas,...
je comprend pas ta dernière réponse cristab
-
Tiens, moi j'utilise celle-ci, si ça peut t'aider...
stock hash(buf[])
{
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n<length; n++)
{
s1 = (s1 + buf[n]) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}
Elle retourne un nombre entier donc il faudra que tu utilises dini_IntSet et dini_Int pour l'intégrer.
Essaye au moins de mettre un système de hash pour tes mots de passe, c'est la moindre des choses quand on fait un serveur/site Web.
++
-
cque je veux juste c'est que si un mec perde sont pass je doivent pas recrée son compte quoi,... car e sais pas le récup
-
ma reponse est courte mais claire il manque un guillement a ton code
-
Au pire, tu modifies son mot de passe si il l'a perdu, ... non ?
C'est beaucoup mieux de les laisser cryptés.
-
Dans ce cas, le mot de passe n'est pas chiffré mais haché.
Les fonctions de haches sont faites de façon à ce qui sort de ces fonctions ne permettent pas de retrouver clairement le message qui a donné ce résultat.
Ces fonctions sont faillible (pour les plus faible) à des collisions, cela veut dire que deux messages ont une empreinte similaire.
Pour ton problème, si tu veux absolument trouver le mot de passe utilisé, tu vas devoir utilisé un méthode que l'on appel brute force.
Le résultat est garantie mais au bout de combien de temps ?
Il faut savoir que le message trouvé ne pourrait pas correspondre au message de base mais pourrait tous de même marcher.
Reste à appliquer cette méthode !