• 06 Juin 2026, 17:10:54


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

0 Membres et 1 Invité sur ce sujet

Hors ligne herq

  • *
  • Tueur en série
  • Messages: 116
    • Voir le profil
C'est juste un conseil.
« le: 22 Mai 2010, 16:59:22 »
Si vous avez un serveur, pensez a ne jamais mettre vos .pwn sur votre machine. ( Sa évitera les vol des hébergeur, ou en cas de hack ).

Et pensez a mettre un deAMX en cas de hackage de votre machine. Qui est dispo ici : http://forum.sa-mp.com/index.php?topic=84683.0 ( Source sa-mp.com  )
A la recherche d'un moviemaker

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #1 le: 23 Mai 2010, 16:01:27 »
Pour l'anti DeAMX je trouve ça facilement contournable, la première idée plus vicieuse qui me vient dans la tête serait de voir si l'IP du serveur est bien celle où le script est censé être, si ce n'est pas le cas on fait crasher le serveur, par exemple en essayant d'afficher une chaîne vide.

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : C'est juste un conseil.
« Réponse #2 le: 23 Mai 2010, 17:09:28 »
Pour l'anti DeAMX je trouve ça facilement contournable, la première idée plus vicieuse qui me vient dans la tête serait de voir si l'IP du serveur est bien celle où le script est censé être, si ce n'est pas le cas on fait crasher le serveur, par exemple en essayant d'afficher une chaîne vide.
ou encore comme le suggérait Y_LESS, tu met une boucle infinie dans le cas où ce n'est pas le bon serveur. En plus ca use plein de CPU^^





Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #3 le: 25 Mai 2010, 05:40:13 »
Oui, mais la méthode d'Y_Less à moins d'être correctement obfusqué est contournable en un Ctrl + F.

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #4 le: 25 Mai 2010, 08:14:30 »
si on a le PWN que l'on doit jamais mettre sur le serveur
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 Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #5 le: 25 Mai 2010, 17:41:38 »
Non, un logiciel du nom de DeAMX peut décompiler les scripts, sa méthode n'a pas grand chose de redoutable.

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #6 le: 25 Mai 2010, 17:47:11 »
Ah oui j'avais oublié ça, mais ça change pas grand chose au problème finalement, ce sera certainement fixé à la prochaine version.

Hors ligne herq

  • *
  • Tueur en série
  • Messages: 116
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #7 le: 25 Mai 2010, 17:57:27 »
Moi je pense que ce genre de logiciel ne devrait pas être donné comme sa .. x)
A la recherche d'un moviemaker

Hors ligne BuBuNo

  • Radio Guingamp - Bien plus qu'une radio !
  • *
  • Grand Banditisme
  • La radio bien plus qu'une passion !
  • Messages: 840
    • Voir le profil
    • Radio Guingamp - Bien plus qu'une radio !
Re : Re : C'est juste un conseil.
« Réponse #8 le: 25 Mai 2010, 18:59:22 »
Moi je pense que ce genre de logiciel ne devrait pas être donné comme sa .. x)

Bah j'ai bien été content de l'avoir sous la main quand j'ai suprimer le .pwn de mon XRaceV3 qui d'ailleur j'espert vas bientot sortir :D ::)
ıllıllı вυвυησ ıllıllı


Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #9 le: 25 Mai 2010, 20:13:09 »
sinon le mieux scripter votre GM est une fois fini faite un nouveau .pwn qui contiendras ceci

#include <a_samp>
#include "../NOMDUGM.pwn"
En cas de vole est de decompilation il y auras que c'est deux lignes :)
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 BuBuNo

  • Radio Guingamp - Bien plus qu'une radio !
  • *
  • Grand Banditisme
  • La radio bien plus qu'une passion !
  • Messages: 840
    • Voir le profil
    • Radio Guingamp - Bien plus qu'une radio !
Re : C'est juste un conseil.
« Réponse #10 le: 25 Mai 2010, 20:16:25 »
sa sert a rien car si on te vole un fichier en general tu prend tout ce qui a et pas juste un ^^
ıllıllı вυвυησ ıllıllı


Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #11 le: 25 Mai 2010, 20:32:48 »
ue mais si on est pas assez c** on met que le AMX qui contient les deux ligne pas la peine de mettre de l'autre
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 cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #12 le: 25 Mai 2010, 21:29:01 »
non car enfaite l'or de la compilation il auras pris en compte le GM inclue mais a la decompilation tu le verras pas mise a part les #include :)


en gros

gm coder nom GMCODE.pwn il me genere un GMCODE.amx

desormer je fait un nouveau pwn INC.pwn j'y insert ceci

#include <a_samp>
#include "../GMCODE.pwn"
puis je presse f5 il me genre donc le INC.amx qui est de la meme taille du GMCODE.amx je up le INC.amx UNIQUEMENT sur le serveur

est la je me rend compte qu'il reagit comme si c'etait le GMCODE.amx

Maintenant en cas de vole de cette AMX le gars il veut le decompiler il auras uniquement

#include <a_samp>
#include "../GMCODE.pwn"
est pas le GM je pense que j'ai du etre assez claire
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 cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #13 le: 25 Mai 2010, 22:30:58 »
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
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 Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : C'est juste un conseil.
« Réponse #14 le: 25 Mai 2010, 23:13:57 »
DeAmx ne décompile pas les includes de SAMP pour la bonne et simple raison qu'ils ne contiennent pas de code.
Si on met tout le code dans un include, DeAmx le décompilera de la même façon que si il était dans le gamemode.
Ta méthode ne fonctionne donc pas cristab.
Il est très facile de s'en convaincre, il suffit de créer un gamemode qui en inclut un autre :
Voici test.pwn
#include <a_samp>

main ()
{
new Float:Drunk3;
Drunk3 = 61513/6060;
printf ("Drunk3 = %.2f", Drunk3);
Drunk3 = 61513/6060.0;
printf ("Drunk3 = %.2f", Drunk3);
}

public OnGameModeInit ()
{
return 1;
}

Voici toto.pwn (1 seule ligne puisque tous les includes sont déjà dans test.pwn) :
#include "test.pwn"
et voici le résultat de DeAmx sur toto.amx :
#include <a_samp>
#include <core>
#include <float>


function8(arg0, Float:arg1)
{
return arg0 / arg1;
}

main()
{
new var0 = 0;
var0 = 1092616192;
printf("Drunk3 = %.2f", var0);
var0 = function8(61513, 6060.0);
printf("Drunk3 = %.2f", var0);
return 0;
}

public OnGameModeInit()
{
return 1;
}
On retrouve presque le fichier test.pwn à part quelques calculs qui ont certainement été faits au moment de la compilation (var0=1092616192).
La fonction function8 est la fonction qui permet la division d'un entier par un Float mais je ne vois pas pourquoi elle est là. Certainement un autre bug de DeAmx.

La seule façon de se prémunir d'une décompilation par DeAmx est d'utiliser la faille de ce décompilateur (à savoir, mettre un tableau multidimensionnel quelque part dans le mode).
Personnellement, sur Lalu's Stunt, j'utilise ce bout de code dans la fonction main :
/* Ces deux lignes évitent l'utilisation de DeAmx (elles font planter le décompilateur) */
new a[][9] = {"G", "G", "F"};
#pragma unused a

NB : Attention, certains tableaux multidimensionnels ne font pas planter le décompilateur, je vous conseille de faire l'essai si vous voulez mettre votre propre tableau. D'après ce que j'ai pu voir, il faut que le tableau fasse plus qu'une certaine taille pour que ça marche mais je n'ai pas de valeur précise à donner.

NB2 : Le #pragma qui suit sert juste à éviter le warning du compilateur ("a is assigned to a value ...")

NB3 : GGF veut dire  "Go Get F..." = "va te faire f...."


Mais attention, le jour où un petit malin parviendra à corriger le bug du script Lua qui décompile le .amx, cette façon de faire de vaudra plus rien.

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.

++
Syg

Courtesy of GtaManiac