• 05 Juin 2026, 10:55:04


Auteur Sujet: [PLUGIN] Edit the memory by Sasuke78200  (Lu 11336 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
[PLUGIN] Edit the memory by Sasuke78200
« le: 22 Mai 2011, 16:44:49 »
Bonjour,

Je vous présente un plugin que je viens de concevoir, celui ci permet d'éditer la mémoire du serveur directement depuis son script, c'est assez utile à qui sait s'en servir.

Fonctionnalités

Avec ce plugin vous pouvez faire énormément de chose, mais pour ça il faut avoir un bon niveau en informatique, savoir gérer la mémoire, connaitre exactement la taille des variables, savoir faire du reverse engineering, mais ce n'est pas obligatoire.

Vous pouvez par exemple manipuler directement certaines variables qu'on ne peut pas manipuler par le scripting, vous pouvez aussi patcher le serveur sa-mp, pour par exemple pouvoir augmenter le nombre de slots ( ça sert strictement à rien ), et beaucoup d'autre choses, mais je n'ai pas d'idée au moment même où j'écris :p

Fonctions

  • ReadIntMemory( address ) - permet de lire un nombre entier de 4 octets
  • WriteIntMemory( address, value ) - permet d'écrire un nombre entier de 4 octets
  • Float:ReadFloatMemory( address ) - permet de lire un nombre à virgule flottante de 4 octets
  • Float:WriteFloatMemory( address, Float:value ) - permet d'écrire un nombre à virgule flottante de 4 octets
  • ReadByteMemory( address ) - permet de lire un nombre entier d'un octet
  • WriteByteMemory( address, value ) - permet d'écrire un nombre entier d'un octet dans la mémoire
  • ReadShortMemory( address ) - permet de lire un nombre entier de deux octets dans la mémoire
  • WriteShortMemory( address, value ) - permet d'écrire un nombre entier de deux octets dans la mémoire
  • WriteArrayMemory( address, srcArray[], srcSize ) - permet d'écrire autant d'octet que l'on veut dans la mémoire
  • ReadArrayMemory( address, dest[], destSize ) - permet de lire autant d'octet que l'on veut dans la mémoire
  • Unlock( address, size ) - permet de permettre l'écriture/la lecture, et indiquer que ce qu'on écris peut être du code exécutable dans la mémoire


Téléchargements

Contient le code source, le plugin sous forme de dll, l'include pour déclarer les fonctions, et un exemple.
http://solidfiles.com/d/e5efd/
« Modifié: 13 Juillet 2011, 21:53:05 par Ssk »



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

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #1 le: 22 Mai 2011, 17:00:00 »
J'ai rien compris mais bon... GG ^^

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #2 le: 22 Mai 2011, 19:01:15 »
XD

Je me disais aussi, personne ne saurai comment l'utiliser, sauf peut être Syg, et à la limite Sim :s



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

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #3 le: 22 Mai 2011, 19:02:06 »
Comment tu as appris à faire ça ? C'est du C++ ?

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #4 le: 22 Mai 2011, 19:04:01 »
bah comment j'ai appris ça, bah au fil du temps sur le tas, et oui c'est en C++ ^^



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

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #5 le: 22 Mai 2011, 19:19:43 »
Salut,

par contre, je ne suis pas sur de la réaction de Kyeman s'il découvre se plugin....

Beau plugin, bon travail :p

Je me rappelle encore quand tu m'as montré la première version...

++Sim++





Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #6 le: 22 Mai 2011, 19:21:23 »
Ouais j'en avais codé avec moins de fonction, il y assez longtemps, je me suis dit pourquoi ne pas le recoder pour le distribuer ^^

Sinon, j'ai bien envie de le poster sur sa-mp, mais pour faire de belle phrase en Anglais je suis pas top :p



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

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #7 le: 22 Mai 2011, 19:32:38 »
Ouais j'en avais codé avec moins de fonction, il y assez longtemps, je me suis dit pourquoi ne pas le recoder pour le distribuer ^^

Sinon, j'ai bien envie de le poster sur sa-mp, mais pour faire de belle phrase en Anglais je suis pas top :p
Je pense que si tu le postes sur le forum SA-MP tu te feras bannir...

++
R@f

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #8 le: 22 Mai 2011, 19:33:34 »
un conseille ne le met surtout pas sur le forum samp
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 Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #9 le: 22 Mai 2011, 19:39:20 »
roh ce sera pas la première fois XD

Kyeman sait que j'ai reverse complètement son SAMP 0.3cR2 server, et que j'ai le code source de SAMP 0.2x, et que je recode petit à petit son serveur, alors je pense que s'il me ban c'est un peu à ses risque et périls :p



Sinon, avec ce plugin mon ancien plugin ne sert plus, vu qu'on peut le recoder en pawn

SetPlayerAdmin( playerid )
{
if( !IsPlayerConnected( playerid ) || IsPlayerAdmin( playerid ) ) return;
new CNetGame = ReadIntMemory( CNETGAME_WIN32 );
new CPlayerPool = ReadIntMemory( CNetGame + 0x04 );
WriteIntMemory( CPlayerPool + playerid * 4 + 0x4074, 1 );
}

RemovePlayerAdmin( playerid )
{
if( !IsPlayerConnected( playerid ) || !IsPlayerAdmin( playerid ) ) return;
new CNetGame = ReadIntMemory( CNETGAME_WIN32 );
new CPlayerPool = ReadIntMemory( CNetGame + 0x04 );
WriteIntMemory( CPlayerPool + playerid * 4 + 0x4074, 0 );
}



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

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #10 le: 22 Mai 2011, 19:44:24 »
ptit delinquant va !!!! ^^
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 MK

  • *
  • Gangster
  • Messages: 1845
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #11 le: 22 Mai 2011, 19:59:12 »
wow lol l'autre doit en avoir marre de toi

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #12 le: 23 Mai 2011, 00:02:06 »
Je ne vois pas ce qu'il y a de mal avec ce plugin.
La personne qui installe un serveur SAMP sur sa machine (ou sur un dédié) reste maître de ce que ce serveur fait.
De plus, ça ne modifie aucunement le code exécutable du serveur, ce n'est pas un patch et encore moins une version pirate du serveur SAMP.

Ce plugin ne fait aucunement de tord à la team SAMP. De toutes façons, le client SAMP fait bien pire que ça au logiciel GTA SA de Rockstar Games donc la team SAMP serait bien mal placée pour dire quoi que ce soit sur ce plugin.
D'ailleurs, ils ont eux mêmes laissé la possibilité à n'importe qui de faire des plugins.
Ce plugin n'est de plus absolument pas dangereux puisqu'il est côté serveur (contrairement aux logiciels de cheat).

Bon, maintenant, ce plugin mis entre les mains du premier venu ne conduira qu'à des plantages du serveur. Aller gratouiller dans le mémoire d'une application en cours d'exécution sans savoir ce qu'on fait ne mène pas très loin.
Le seul risque avec ce plugin c'est de ne pas savoir s'en servir et d'avoir un serveur qui plante à la moindre occasion.

Donc, ce plugin est très bien, même si son utilisation reste impossible si on ne connait pas l'organisation de la mémoire utilisée par le serveur SAMP.

@Ssk : La fonction memcpy est une fonction de la librairie standard du C, elle existe donc sous Linux. Tu peux ainsi modifier tes "horribles" fonctions f_ReadArrayMemory et f_WriteArrayMemory :).

++
Syg
Courtesy of GtaManiac

Hors ligne jerem428

  • *
  • Tueur en série
  • Messages: 143
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #13 le: 23 Mai 2011, 00:24:23 »
gg même si cela est un peu (beaucoup) trop compliqué.

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #14 le: 23 Mai 2011, 01:57:20 »
Le problème n'est pas le fait que le plugin soit autorisé ou pas, mais c'est plutot la réaction de kye, qui m'a banni plusieurs fois pour rien, et pour lui reverse ses oeuvres c'est mal, la preuve le plugin CNPC  est interdit maintenant alors qu'il est super, et je sais pas si tu le sait mais il  aime tellement pas qu'on touche a ses trucs qu'il a packé samp.dll LOL

Sinon Syg, j'ai le droit de distribuer un idb??



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