• 06 Juin 2026, 09:56:09


Auteur Sujet: C'est juste un conseil.  (Lu 3441 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : C'est juste un conseil.
« Réponse #15 le: 25 Mai 2010, 23:20:52 »
non sinon il decompilerais aussi les include a_samp est autre utiliser il n'est pas capable de retrenscrire une INC :)

desoler pour les fautes :s

je n'ai jamais testé, mais s'il le faisait ce ne serait que de placer quelques native en haut du script. bref, ce ne serait pas très désagréable (donc possiblement présent).

à savoir qu'au moment de la compilation les includes sont inclus au script (eh oui lol), donc le code qu'ils contiennent est présent dans le .amx. Je pencherais donc que l'include sera présent dans le fichier décompilé.
NB. il ne faut pas trop se méfier de deamx, le script décompilé est très rarement compréhensible, les defines, les noms de variables, de fonctions non public

par contre, c'est sur que si tu ne fourni que le .pwn ça évite de prendre ton gm tel quel. Mais ça n'empêche pas de récupérer des bouts de script.

en gros:
 - il ne faut pas virer fou à cause de DeAmx, si vous faites attention les risques sont pratiquement nuls (en plus que le script devient très très laid)
 - la méthode de l'include est probablement inefficace
 - pour bloquer le DeAmx la fonction AntiDeAmx est la seule efficace
 - pour empêcher d'utiliser le .amx sur un autre serveur, la méthode du test d'IP est plutôt efficace.

EDIT: Syg plus rapide, et bravo très belles explications
EDIT2:
Syg,
je croyais que les constantes étaient calculées au moment de la compilation,
donc ton 61513/6060.0 aurait été transformé à 10,150660066006600....
mais d'après le résultat du DeAmx, ce genre d'expression est calculé à chaque exécution du code...j'imagine que certains cas sont calculés et d'autres non mais lesquels? je vais essayer de faire quelques tests...

++Sim++
« Modifié: 25 Mai 2010, 23:26:32 par Sim »





Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #16 le: 25 Mai 2010, 23:26:14 »
j'avoue que je n'avais pas penser a la methode de Syg mais j'ai vais aucun test avec le Damx je regarderais sa un de c'est jour :P

Sinon quand je voit on m'as voler mon script de 52 000 ligne c'est que forcement il a etait mis sur le serveur grosse erreur a jamais faire

De plus il vaut mieux un passe de type Gh44dSg55gfd6X que Miaou j'en ai meme vu qui mettent leur Pseudo ... donc si vous voulais un generateur de mot de passe je pourrais vous en creer un mais attention il faudras le retenir car il ne seras pas recuperable
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne CarCrasher

  • *
  • Tueur en série
  • Messages: 144
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #17 le: 25 Mai 2010, 23:48:20 »
La meilleur solution c'est :


Ne pas se faire d'ennemis :p


Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Re : C'est juste un conseil.
« Réponse #18 le: 26 Mai 2010, 10:34:55 »
Ne pas se faire d'ennemis :p
Malheureusement, la jalousie peut conduire certains à vouloir faire du mal à des gens qui ne leur ont rien fait.

EDIT2:
Syg,
je croyais que les constantes étaient calculées au moment de la compilation,
donc ton 61513/6060.0 aurait été transformé à 10,150660066006600....
mais d'après le résultat du DeAmx, ce genre d'expression est calculé à chaque exécution du code...j'imagine que certains cas sont calculés et d'autres non mais lesquels? je vais essayer de faire quelques tests...

++Sim++
Oui, c'est très bizarre, il remplace même ce calcul par un appel à une fonction (qui ne fait que le calcul d'ailleurs, d'où l'inutilité de la chose).
D'ailleurs, on remarquera que 61513/6060 n'est certainement pas égal à 1092616192 mais ce nombre est la représentation en Float de 61513/6060 (=10,1506600...).

++
Syg
Courtesy of GtaManiac

Hors ligne minimicro

  • *
  • Tueur
  • Codeur Php / Mysql / Pawno
  • Messages: 53
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #19 le: 26 Mai 2010, 10:41:38 »
Je ne sais pas pourquoi, pour mon GM, j'ai essayé de le décompiler sur 2 machines, et DeAmx crash au bout d'un moment ... tant mieux  :D
Codeur Php / Pawno / MySql - Administration et maintenance serveur

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #20 le: 26 Mai 2010, 12:22:01 »
AntiDeamx mal certain Tableau ...


Voila comment il décompile

new CName[128];
new glob372D8;



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : Re : C'est juste un conseil.
« Réponse #21 le: 27 Mai 2010, 21:14:47 »
Par contre, je vous conseille vivement de prendre un vrai gamemode (de plusieurs milliers de lignes), de le compiler, de décompiler le fichier amx et de jeter un oeil dans le code produit par DeAmx. Je souhaite beaucoup de patience à celui qui réussi à faire quelque chose de ce résultat de décompilation, surtout si il n'a aucune idée de ce que contient le gamemode d'origine.
Tout ça pour dire que si quelqu'un vous pique votre .amx, il faut vraiment qu'il vous en veuille beaucoup pour perdre autant de temps à vouloir remettre d'aplomb un code décompilé.
Mais on est jamais trop prudent.

Ça doit être utile pour savoir comment un script fait telle chose lorsqu'il s'agit d'une boîte noire.