Projet AKM : Outils pour Dofus 2

Sorrow

Membre Actif
Inscrit
5 Mai 2012
Messages
376
Reactions
26
#1
AKM Project : Tools for Dofus 2.x development

Je ne suis pas très actif sur Cadernis, mais ce n'est pas pour autant que je ne continue pas sur Dofus.
J'ai débuté un projet qui regroupe plusieurs outils dédié au développement sur Dofus ainsi que de PoC.
Le projet est en cours, le code n'est pas parfait, mais les outils disponibles sont fonctionnels.
Le code est en C++ et j'utilise la librairie boost ainsi que la STL avec la norme C++11, le projet peut donc être compiler avec les dernière versions de gcc, clang et également VC12.

Tous ses outils sont open source sous licence GPLv3 à cette adresse : https://github.com/LuaxY/AKM/

AKM Core :

AKM Core est une librairie (statique) qui regroupe les codes communs a tous les projets comme le binary reader/write, les classes mère serveur, client et session, un loggeur et quelques autres fonctions/classes utile.

AKM Master Sound :

AKM Master Sound est un PoC permettant d'obtenir le son de Dofus en jeu sans passer par l'uplauncher officiel.
3 sockets en écoute sont nécessaires :

  • Informations : Launcher <-> Client
  • Audio : Launcher <-> Client
  • Audio : Launcher <-> Reg (programme jouant le son de Dofus)

Le launcher fait office de pont entre le client et le reg, il transmet juste les données sans les analyser.

Vidéo d'exemple : https://www.youtube.com/watch?v=ouq0cpudVgw

AKM Proxy :

AKM Proxy est un proxy MTITM entre le client et le serveur officiel permettant d'altérer les données.
La première fonctionnalité codé est le GotoAdmin qui permet de passer le hasRights à true pour accéder aux commandes admin du client en jeu.

No.Ankama.dll :

Pour l'occasion j'ai mis à jour la lib de hook No.Ankama.dll permettant de se connecter un serveur privé ou proxy MITM, j'ai ajouté le support des adresses IP des serveurs d'identification de la beta.

https://github.com/LuaxY/No.Ankama/releases/tag/1.1

Config Développeur :

Voici maintenant une extension de configuration permettant l'activation de module de développement (sans être admin)
Fichier a placer au même endroit que le fichier config.xml :

config-custom.xml

la ligne <entry key="boo">true</entry> permet d'activer la console de debug en jeu

DofusUI :

DofusUI est un utilitaire d'Ankama pour modifier les modules du jeu (Dofus/app/ui) (les fichier .dm) (screen)

http://vodka.voidmx.net/Dofus/DofusUI-2.18.0.air

Ankama_Admin :

Ankama_Admin est le module pour les administrateur, gérant principalement le menuadmin.xml (que je n'est malheureusement pas :() (à placer dans Dofus/app/ui)

http://vodka.voidmx.net/Dofus/Ankama_Admin.rar

SDK lua :

Le SDK lua permet de créer des scripts en lua depuis le jeu permettant d'automatiser certaines tâches (beaucoup de possibilités)
L'archive qui suit contient la documentation (screen) ainsi que quelques images/tableaux utile.
Les scripts lua sont chargablent depuis la console ou depuis l'interface activé depuis le fichier de config développeur.

http://vodka.voidmx.net/Dofus/sdk-lua.zip

Uplauncher :

Dernier petit tricks, en ajoutant la variable d'environnement "AK_LOG_CONSOLE" (mettez "1" comme valeur par exemple) cela active la console de debug du nouvel uplauncher (screen).

Pour terminer voilà un petit screen de à quoi ressemble le jeu avec toutes les informations de debug : screen
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#2
Nice trolman :p, très beau poste :3 merci beaucoup j'ai appris des choses!
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#3
La config admin est tout de même assez sexy ;)
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#4
Waw sa c'est la frappe ヽ(•_•)ノ
 

Shornaal

Membre Actif
Inscrit
17 Février 2011
Messages
194
Reactions
0
#5
Impressionnant.
 

-FaLcOn-

Magouilleur
Inscrit
9 Mai 2012
Messages
44
Reactions
0
#6
Un grand merci pour ce partage, rien qu'en regardant la module console j'ai compris certaines choses dans Dofus que j'ignorais pour le moment. :)
 

Labo

Membre Actif
Inscrit
16 Aout 2013
Messages
799
Reactions
15
#7
Juste, c'est quoi exactement le GotoAdmin ?
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#8
Labo, ça permet à ton client d'avoir accès à la console de dofus, il y a seulement une variable d'un packet à changer de false en true!
 

Labo

Membre Actif
Inscrit
16 Aout 2013
Messages
799
Reactions
15
#9
Merci tifoux !
C'est la fenêtre "module console" du screen de BlueDream ?
En soi, c'est pareil que si on avait mis un MITM qui affiche les paquets, non ? (d'ailleurs, la présentation est sympa, je vais m'en inspirer pour mon MITM, et à ce sujet, le nouveau module asyncio de python 3.4 est génialissime, je prépare plein de tutos pour cet été et tout le monde va vouloir coder en python !)
 
Dernière édition par un modérateur:

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#10
Pas que Labo. Tu peux executer des script en Lua et tu vois aussi les messages internes executé par le jeu qui ne sont pas affichés en MITM.
 
A

Anonymous

Invité
#11
L'accès à la console Dofus n'est pas vue d'une quelconque manière ? Elle n'est pas sécurisée ou un truc du genre ?
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#12
Il fallait avoir le script que Sorrow a donné, il l'a piqué sur le ftp.
 

Sorrow

Membre Actif
Inscrit
5 Mai 2012
Messages
376
Reactions
26
#13
@Slowpoke : je ne pense pas, la console est activer seulement si le boolean hasRight est à true.
Les seuls choses pouvent être détecter ce sont les commandes envoyer au serveur (celle sans le "/" avant).

> /ma_commande = locale
> ma_commande = serveur
 

Gohu

Membre Actif
Inscrit
16 Novembre 2013
Messages
222
Reactions
2
#14
Je me demande parfois si des mecs de Ankam@ viennent checker ce forum parfois
si ils connaissent son existence bien sur...
 

Sorrow

Membre Actif
Inscrit
5 Mai 2012
Messages
376
Reactions
26
#15
Je pense certainement que oui.
 
A

Anonymous

Invité
#16
ça vous dit on ouvre un topic spécial pour eux qui récapitule tout ce qu'on a et tout ce qu'on sait contourner/faire avec leur jeu, et qui les enjoint à sortir de leur cachette qu'on discute ? ça peut être très constructif je pense ...
 

Gohu

Membre Actif
Inscrit
16 Novembre 2013
Messages
222
Reactions
2
#17
Oui moi je suis pour, je pense que ca serai sympa que l'un des devs puisse pointer le
bout de son nez sur cadernis. Je pense que ca peut être drole mais aussi assez constructif
comme tu le dis Munerk (gare au fake dev ankama ou au trolleurs en revanche :p)
 

Kyu

Staff
Membre du personnel
Inscrit
4 Octobre 2009
Messages
327
Reactions
8
#18
Vous pensez vraiment que des devs de chez ankamas viennent sur ce forum à peine trouvable sur les moteurs de recherches?
Si c'était le cas, notre amis Geraff aurait déjà eu des mails concernant leur visite.
Des sites dont le sujet et le "hack" de jeux il y en a à la pelle.
Les bots ne sont pas que sur dofus, il y en a sur beaucoup de mmo (wow, lineage 2, flyff), plus spécifiquement sur ceux dont l'évolution est lente et les ressources récoltés utiles. Les devs savent très bien comment les programmes utilisés fonctionnent, mais pour les contrer il faut du temps et le temps c'est de l'argent.
De plus une protection contre les bots n'est pas infaillible, il y a toujours la possibilité qu'un joueur normal se fasse étiqueter "bot" sur des facteurs clés du décèlement de programme malveillants. Par conséquent, il n'est pas envisageable de bannir automatiquement. Le plus abordable reste le ban temporaire.
Pour finir, le trie à la volé directement en jeu par les modérateurs est le plus adapté, vu comment les bots se comportent il est plus facile de les identifier et ainsi les coûts pour les contrer sont diminués.
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#19
Pour finir, le trie à la volé directement en jeu par les modérateurs est le plus adapté, vu comment les bots se comportent il est plus facile de les identifier et ainsi les coûts pour les contrer sont diminuer.
Avec plus de 40 servers est des millier des maps la centaine (un chiffre comme ca au nez ) de modo vont pas faire grand chose :p
 
A

Anonymous

Invité
#20
Il y a des moyens de contrer les bots automatiquement, vu le travail de cochon que fait le logiciel de bot le plus connu ces jours-ci.
Et à plusieurs reprises il a été tenté d'avertir les devs d'Anakama des vulnérabilités critiques de leurs clients, sans réponse.
 
Haut Bas