PETIT ALIAS DE CREEPTAGE

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 17 nov. 2004 à 23:29
Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005 - 24 nov. 2004 à 22:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27641-petit-alias-de-creeptage

Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005
24 nov. 2004 à 22:37
hum *ont
euh donc si tu fait quelque chose dans le genre //echo -a $creept(salut,ABC,1) : la partie de la table ascii quil est possible de tapper via un clavier (du char 32 a 126) sera divisee en 3 ($len(ABC)).
Ensuite les chars du mot de passe A en pos 1, B en pos 2 et C en pos 3 vont etre utiliser pour select une partie de la table ascii.
Donc deja le nombre de chrs ds la table ascii (256) va etre diviser par 31 (126 - 32 94; $floor(94/$len(abc)) 31) ce qui donnera 8 parties (il y a un $floor pour ne pas avoir de demi parties).
Apres avoir obtenu ce nombre, un charactere de depart va etre attribuer pour chaque cript correspondant a la lettre du mot de passe voulu. Donc en premier : A qui va avoir les chrs de 1 a 31, puis pour B c plus compliqué, il va avoir les chars de 62 à 93 (31 * 2=bB & bB + 31) jai expliquer pourquoi dans lautre post. Ainsi de suite pout le reste, ici il ny a plus que C.
Bon apres a ces nombres (1-31 pour A par exe) on va ajouter une valeur calculee a partir de la position et de la valeur du char dont il est question (cette valeur sera toujours inferieure au nombre de char calculer au debut (ici 31)). Dison que pour a cette valeur sera de 10 donc A aura comme chrs attribués les chrs de 11 à 42. Ainsi de suite pour B et C.
Bon on approche de la fin. Maintenan nous avons une serie de nombres bien defenir pour chaque chr su mot de passe. Bon pour terminer lencodage va se faire de la façon suivante : les 31 premiers chars (de la table ascii que lon a dispo au clavier) cest a dire de 32 à 63 (32 + 31) vont tous etre remplacés (dans le mot a encoder ici "salut") un apres lautre par les chrs de la suite attribuée a A cest a dire par les chrs de la table ascii de 11 à 42. Ainsi de suite pour B et C.
Bon jespere que jai étais assez clair cette fois sinon ge pourer toujours rep a tes questions si ta tjrs po tt saisi ^^
Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005
24 nov. 2004 à 22:10
dison que mes commentaire du debut a fait entendre aux raleurs ce que de tt de fasson ils cherchaient a me faire dire dison que cetait plus direct ....
cs_Melnofil Messages postés 71 Date d'inscription dimanche 23 juin 2002 Statut Membre Dernière intervention 1 février 2008
24 nov. 2004 à 15:23
Je sais que t'a passé du temps sur ton algo mais sur ton commentaire du début en 3 lignes tu arrive à placer "nayant pas eu envie", "etant fleymar" et "la flemme de me demerder". Après t'étonne pas après que les gens voient ca d'un sale d'oeil.

Cette explication est encore plus complexe que la précedente... Tu peux montrer un exemple genre les calculs qui sont fait si on tape "/creept salut abc 1" ?
Je sais je suis soulant XD

Hum rapport au commentaire d'Asthari tu devrais mettre une protection contre les gens qui ne tapent pas assez de paramêtres => genre if $0 < 3 { echo -a Paramêtres insuffisants | halt }

++

Ps: Je vois d'ici la réponse d'Asthari : Koi nan c vrai on peut pas utiliser de parenthèses fermantes dans les fonctions ???? .... On nage en plein drame..... T_T
Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005
23 nov. 2004 à 20:35
et puis juste encore un ptit truc pour les raleurs :
-Asthar => //echo -a $creept(pouet=),pass,1) la le prob vien pas de mon script mais de mirc et ge pense que tu le sais ...
-JulioDelphi => penses tu que cette source de flemmard est utile si elle ne prends pas en compte els MAJ et si le cryptage ne tiens pas la route ? fais un effort et sort une source de "bosseur"
=> etant donné le temps que jai passé sur lalgo pour le criptage je mestime en droit den avoir un peu mare de recommencer sans cesse demuler des choses que mirc ne fait pas correctement ou que mirc ne permet pas dutiliser correctement et davoir "la flemme".
voila bon je suis sur quil vont encore trouver des sources de "ralages" mais bon ... ^^ je ne vous en veu pas ^^ je suis un peu pareil quand il sagit devaluer les scripts des autres
Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005
23 nov. 2004 à 19:56
oups jai en quelque sorte oublier de conclure :
une fois que chaque char compris entre $chr(32) et $chr(126) c vu obtenir une valeur codee je fais un $replace en gros enfin .... jai proceder a laide de htables pour emuler un $replace lors du remplacement des characteres par leurs codage (c dailleurs ce qui genere le prob avec les MAJ).
enfin jespere que tu aura a peu pres saisi lalgo ^^
Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005
23 nov. 2004 à 19:24
bon en ce qui concerne mes noms de var locales moi sa maide pas mal donc .....
bon je vais rexpliquer un peu si tu le souhaite Melnofil:
donc mon algo encode les valeurs de la façon suivante :
le nombre de chars utilisables via un clavier (du $chr(32) au $chr(126) ) est divisé par le nombre de charactères du mot de passe, on se retrouve donc avec des suites de characteres separees. Par exemple pour un mot de passe de deux characteres, on nommera A le premier et B le second, la suite de chrs 32-126 cest a dire 94 au total est divisée en deux on a donc la suite de chrs 32-79 est associée à A (on la nommera §A) et la suite de chrs 79-126 associée à B (on la nommera §B)[le nombre de characteres total des suites §A et §B est bien sur égal est il sera nommé §µ]. Ensuite le nombre total de characteres de la table ascii (256) est divisé par §µ ce qui divise donc la table ascii entiere en plusieurs sous parties. Enfin en fonction de la place du charactere (A ou B ici) dans le mot de passe, chaque partie ainsi a partir de la division de la table ascii (&) permettra dencoder les suites (§A et §B ici). Ceci aurait pu generer des erreurs alors jy ais ajouté une petite securitee, les parties de tables ascii divisees (&) sont utilisées non pas une apres lautre mais avec une frequence de 2, cest a dire en revenant a notre exemple, ici le nombre de parties de tables divisées (&) serait de 256 / 47= 5 ($floor) et les chars utilisés pour encoder §A et §B seraient respectivement la partie 1 pour §A et 3 pour §B.
Bon venan en aux expliquations de cette petite securitee, elle permet de definir un encodage en fonction de la valeur du charactere du mot de passe utilisé (ici A ou B) et aussi de sa place dans le mot de passe. Un petit calcul est donc fait pour ajouter la valeur de A pour §A et B pour §B au charactere definissant le debut de la suite de parties de tables divisees (&) par exemple ici pour A sa serait 0 et pour B sa serait 3*47 = 141. Ensuite les characteres des differentes suites obtenues permettrons dencoder §A et §B par exemple le premier chr de §A cest a dire le $chr(32) serait remplacé par le premier charactere de la suite dencodage de §A (&1) ce charactere etant egal à 0 + la valeur de A on le nomera @ (des calculs sont aussi effectués pour determiner cette valeur) pour le charactere suivant cest a dire le $chr(33) ou ! sera remplacer par le charactere suivant @ cest a dire $asc( @ + 1 ) en gros. Il en sera ainsi jusqua a arriver au chr 32 + 47=79 (dans cette exemple) qui est le debut de §B et donc la valeur de remplacement de $chr(79) cest a dire "0" sera remplacé par 47 * 3 + la valeur de B et ainsi de suite .........
cs_Melnofil Messages postés 71 Date d'inscription dimanche 23 juin 2002 Statut Membre Dernière intervention 1 février 2008
23 nov. 2004 à 10:21
Lol j'étais en train que faire une tournée des "meilleurs" sources du mois et qu'est-ce que je vois :
>> Beyond_The_Grave et hisoka2501 <<
Salut vous deux ca va bien ? Ici votre neko préféré (=^.^=)

Beyond : Il est inutile d'utiliser des noms de variable locale à rallonge (pour les globales ok mais pas les locales) ca a nuit bcp a la compréhension du code.
J'ai rien compris a ton explication : tu n'utilise qu'une partie du mot de passe pour encoder chaque lettre ?
Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005
22 nov. 2004 à 22:56
et puis bon ada (hisoka) comparon ce qui est comparable
Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005
22 nov. 2004 à 22:48
et puis bon ada comparon ce qui est comparable
Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005
22 nov. 2004 à 21:08
Bon tofu voila une petite explication :
En gros, chaque charactere du mot de passe permet de cripter une partie de la table asc quil est possible dutiliser via un clavier (du char 32 à 126 en gros). Pour chaque mot de passe le nombre de charactere que je vien de citer (cad un total de 94 chrs) est diviser par le nombre de characteres du mot de passe. Ensuite chaque parties de la table ascii obtenue par cette division est encriptée a partir de la lettre du mot de passe corespondant. A partir de lalgo, je prend un endroit dans la table ascii pour cripter tout les chrs de la partie (celle dont le nombre de char cripter est definie par 94 / le nombre de chars du mot de passe).
Bien sur jai prix la precaussion dutiliser un algo qui prend aussi en compte la position du charactere dans le mot de passe pour que lutilisation du meme charactere plusieurs fois ne donne pas le meme encriptage.
bon voila en esperant que sa aura pu teclairer un peu ^^
Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005
22 nov. 2004 à 20:53
adamaru as tu été soudainement pris dalusinations lorsque tu a lu mon script ? car moi ge ne voi aucun /set juste un /unset pour reseter une de mes var dans mes boucles ...
hisoka2501 Messages postés 264 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 7 juillet 2009
22 nov. 2004 à 17:48
franchement beyond la tu me decoi :(
ok ta mis un truc avec un mot de passe mais kand je vois des /Set suivit de /unset au lieux de /var g peur mwa, meme ca c mieux:

on *:text:*:#:{
var %tmp = $unbin($1-)
if (%tmp != Erreur: ce n'est pas du binaire !!!) && ($1- isalnum) { echo $chan $timestamp 4« $+ $nick $+ 04» %tmp }
elseif ($right($1,1) $chr(129)) && ($left($1-,1) $chr(131)) {
var % l = $len($1-)
echo $chan $timestamp 4« $+ $nick $+ 04» $unbin($reverse($bin($mid($1-,2,$calc(%n -1)))))
}
}
alias unbin {
if ($isid) {
if ($1- !isnum) && ($regex($1-,01) == 0) { return Erreur: ce n'est pas du binaire !!! | return }
var %l = $len($1) , %i 1
while (%i <= %l) {
var %tmp = %tmp $+ $iif($chr($base($mid($1,%i,8),2,10)) != $chr(32),$ifmatch,$chr(160))
inc %i 8
}
return $replace(%tmp,$chr(160),$chr(32))
}
}
alias bin {
var %l = $len($1-) , %i 1
while (%i <= %l) {
var %asc = $asc($mid($1-,%i,1))
var %tmp = %tmp $+ $base(%asc,10,2,8)
inc %i
}
if ($isid) { return %tmp }
else { say %tmp }
}

alias reverse {
if ($1) {
var %txt $replace($1-,$chr(32),$chr(160)) , %l $len(%txt)
while (%l > 0) {
var %tmp = %tmp $+ $mid(%txt,%l,1)
dec %l
}
if ($isid) { return $replace(%tmp,$chr(160),$chr(32)) }
else { say $replace(%tmp,$chr(160),$chr(32)) }
}
}
alias code {
if ($1) {
if ($len($1-) <= 117) {
if ($isid) { return $chr(131) $+ $unbin($reverse($bin($1-))) $+ $chr(129) }
else { say $chr(131) $+ $unbin($reverse($bin($1-))) $+ $chr(129) }
}
else { echo -a La ligne a encoder est trop longue }
}
}



mais étant tres basique je ne me suis pas dis "jvé poster sur ircfr" car je pensse pas que "poluer" le site de la sorte soit réelement nécéssair, ya deja bien assé d'immondices pas la peine d'en rajouer....
cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
18 nov. 2004 à 21:10
oui j'aimerais bien un peu de théorie (calculs?) sur cet algo et pas juste un bout de code..
Beyond_The_Grave Messages postés 19 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 4 mars 2005
18 nov. 2004 à 19:37
tofu => oui il y a un algo que jai mis beaucoup de temps a trouver ....
en voila les bases :
var %akm.creept.chr $chr($calc((32 + ( %akm.creept.lenchr * %i )) + %v )), %akm.creept.chrend $chr($calc($ceil($calc( (2 * (%akm.creept.lenchr * %i)) + $ceil($calc( (%akm.creept.lenchr / ($asc(%akm.creept.letter) - 96)) * 10)) )) + (%v + %z))))

si tu le souhaite je pourrai pousser mon explication un peu + loin ...
cs_Asthar Messages postés 208 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 6 septembre 2005
18 nov. 2004 à 11:11
J'viens de regarder d'un peu plus pres :

Ma commande :
//echo -a $creept(pouet=),pass,1)

Résultat : /hfree: no such table 'akm.creept' (line 34, script.sys)

Au départ, je crée la table avec cette commande : hmake akm.creept 100

Résultat : /hadd: insufficient parameters (line 24, script.sys)

Moralité : Ca ne marche pas. Mon premier commentaire est donc plus efficace ($encode / $decode). 1/10
cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
18 nov. 2004 à 09:58
ça utilise quel system de cryptographie ? c juste un remplacement de caractère non aléatoire ou ya un algo ?
cs_Asthar Messages postés 208 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 6 septembre 2005
18 nov. 2004 à 09:23
Mouais, j'suis sur que $encode marche aussi bien =)
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
17 nov. 2004 à 23:29
hello,
"n'ayant pas envie" de derouler la liste de notes vers le haut, "etant fleymar, j'ai eu la flemme" de mettre plus de 2/10.

penses tu que cette source de flemmard est utile si elle ne prends pas en compte els MAJ et si le cryptage ne tiens pas la route ? fais un effort et sort une source de "bosseur"
Rejoignez-nous