Votre avis sur un sujet bien précis

Parlez de tout ce qui n'a pas sa place dans les autres rubriques.

Votre avis sur un sujet bien précis

Messagepar Hitsuki » 28 Novembre 2013, 12:38

Bonjour, j'aimerais avoir votre avis sur un sujet bien précis, le sujet en question est un logiciel de jeux, qui permet de lancer un serveur dédié. Pour être plus explicite, le logiciel en question a deux modes de fonctionnement: "ranked" et "unranked", et il s'avère que lorsque le mode "ranked" est activé, des paramètres sont prédéfinis, tels que le temps pour respawn "spawntime", ainsi que le nombre de joueur nécessaire pour commencer la partie "playersneededtostart". Ce qui veut dire que si nous essayons de modifier les valeurs attribués à ses variables lorsque le mode "ranked" est activé, le changement de ses valeurs n'est tout simplement pas pris en compte par le serveur.

Auparavant j'ai essayé un saut conditionnel "JMP", "NOP", mais cela n'a rien donné. Même pire, la variable semblait "cassé", si on peut dire ça. J'aimerais donc avoir votre avis sur le sujet, de quelle manière pensez-vous que l'on doit aborder ce problème?
Hitsuki
Débutant
Débutant
 
Messages: 25
Inscription: 07 Mai 2013, 12:30

Re: Votre avis sur un sujet bien précis

Messagepar etherlord » 28 Novembre 2013, 14:01

Le contexte restant quand même assez vague, difficile de répondre.

et il s'avère que lorsque le mode "ranked" est activé, des paramètres sont prédéfinis


Comment sont définis les paramètres ? ou est-ce qu'ils sont stockés ?

Ce qui veut dire que si nous essayons de modifier les valeurs attribués à ses variables lorsque le mode "ranked" est activé, le changement de ses valeurs n'est tout simplement pas pris en compte par le serveur.



Comment est faite la modification des valeures ?
Le serveur est-il lancé lors de la modif ou pas ?
Qu'est-ce qui te fait penser que tu as changé les bonnes valeures à la bonne place ?

Auparavant j'ai essayé un saut conditionnel "JMP", "NOP", mais cela n'a rien donné


NOP, en général je le déconseil. Problème, on as aucune ligne de code, on ne sait pas dans quelle partie tu as modifié de JMP, on ne sait pas ce que
fait la partie que tu as modifié ?

JMP n'est pas un saut conditionnel.

de quelle manière pensez-vous que l'on doit aborder ce problème?


en commencant par nous expliquer comment tu as approché le problème, comment tu as analysé la cible et les conclusions que tu en
a retirées, les essais que tu as fait avec les résultats, enfin bref toute info qui permet de comprendre le contexte, de manière un peu
plus apronfondie que ton post (même si c'est déjà pas mal de nous avoir mis ces infos)

etherlord

P.S. : un titre précis aide. Ton titre est tout sauf précis, je serai pas admin je ne l'aurais même pas ouvert.
etherlord
Triumvirat
Triumvirat
 
Messages: 2538
Inscription: 22 Mars 2004, 16:12

Re: Votre avis sur un sujet bien précis

Messagepar etherlord » 28 Novembre 2013, 14:03

Sujet déplacé, ne concerne pas la section dans laquelle il a été posté

etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2538
Inscription: 22 Mars 2004, 16:12

Re: Votre avis sur un sujet bien précis

Messagepar Hitsuki » 29 Novembre 2013, 22:39

Oui, excusez-moi, sur le moment je ne savais pas trop quoi mettre en nom de sujet, et je devais partir à mon cours de sport.

Alors pour être un peu plus explicite, sur le serveur dédié de ce jeu il y a deux modes "unranked" et "ranked". Sur le mode unranké, nous pouvons modifier la valeur des variables comme bon nous semble. Tandis que sur le mode ranked, ses mêmes variables sont prédéfinis, et non modifiable.

Pour tester, je lance le serveur en mode ranké, et j'écris la valeur de la variable choisi grace à une commande d'admin dans la console du serveur. Et donc comme la valeur de cette variable est prédéfinis, et propre à ce mode, même si je tape la commande pour modifier la valeur de cette variable, ça ne change rien, impossible de la modifier. Je précise qu'il n'y a aucun message d'erreur, la commande est prise en compte par le serveur, ça affiche ok mais aucun changement dans la valeur de la variable.

J'ai donc ouvert le programme avec OllyDBG, repréré tout les termes faisant référence à ma variable "spawntime", j'ai également essayé avec le terme "ranked". J'ai donc trouvé 3 parties de codes pour le terme "spawntime", relié avec une partie de code faisant référence au terme "ranked". Mais petit problème, il n'y a aucun saut conditionnel ou inconditionnel pour le terme "spawntime", juste un mais placé après la partie de code. C'est le même cas pour le terme "ranked", il n'y a aucun saut conditionnel ou inconditionnel à l'exception d'un. Et je n'ai pas vraiment l'impression que ça change quelque chose que j'édite un saut conditionnel ou inconditionnel dans une partie de code avec le terme "spawntime" ou "ranked", vu comment sont assez éloignés ses deux variables.

Je suppose donc que pour éditer la valeur de cette variable prédéfinis c'est plus qu'un saut à éditer. J'ai passé pas mal d'heures sur le sujet, j'ai également essayé quelques breakpoints mais lorsque je lançais le programme sur Olly, la fenêtre du serveur était complètement noire.
Hitsuki
Débutant
Débutant
 
Messages: 25
Inscription: 07 Mai 2013, 12:30

Re: Votre avis sur un sujet bien précis

Messagepar etherlord » 02 Décembre 2013, 14:23

Tu parle de serveurs dediés. Donc géres par l'éditeur du jeu en question.

Il propose plusieurs modes, mais si tu veut être affiché dans le classement mondial, tu doit suivre les règles 'standard'. Logique, si tout le monde pouvait modifier les
comportements, un classement mondial ne serait pas possible.

Donc d'après ta description, on voit que le client envoie quoi que tu demande, sauf que dans le cas du classement mondial, le serveur de l'editeur dispose d'un
mécanisme de contrôle pour ne pas permettre au joueur de 'cheater' la partie. Logique implacable.

Première chose qu'il faut faire, jouer une partie unranked en capturant le trafic, même chose avec le serveur ranked. Cela te permettera déjà de voir si c'est le
client qui gère cela ou le serveur. D'après ta description, c'est le serveur.

Tes recherches Olly sont biaisées. En gros tu recherche une information qui est affichée (mais connue depuis le début du jeu : ranked/unranked), en pensant que le
choix qui se fait dûn point de vue logique (programme), est affiché chez le joueur. J'en doute fortement, aucun interêt de dire à l'utilisateur qu'il joue sur une partie
'ranked' si c'est le choix qu'il a effectué avant de lancer la partie.

Recherche une chaîne de caractère, cela s'applique quand tu enregsitre une licence et que tu obtient un message genre 'mauvais serial'. Tu n'est pas du tout dans ce
cas de figure.

Je doute que tu t'en sorte sur cette cible avec cette approche. Il y a un dialogue entre ton client et le serveur qui gère cela, et c'est la première chose qu'il
faut investiguer.

Capture du trafic et anaylse, et ensuite en fonctionede cela déterminer ce qui est faisable.

etherlord
etherlord
Triumvirat
Triumvirat
 
Messages: 2538
Inscription: 22 Mars 2004, 16:12

Re: Votre avis sur un sujet bien précis

Messagepar Hitsuki » 24 Mars 2014, 02:13

Désolé du retard, j'ai finalement réussi à éditer la valeur de cette variable, en fait la valeur était bien caché au dessus du code, et c'est en changeant de version de OllyDBG que je me suis aperçu de cette variable.

En ce moment je bosse sur un problème similaire; comment éditer une valeur. Sauf que là je ne dois pas casser le saut conditionnel pour ensuite être capable de changer cette valeur ingame, mais changer directement dans l'exe cette valeur. Pouvez-vous me dire globalement, la marche à suivre pour éditer une valeur? Merci par avance.
Hitsuki
Débutant
Débutant
 
Messages: 25
Inscription: 07 Mai 2013, 12:30


Retourner vers Divers

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités