2.0 「ALPHA BOT」Bot dofus 2.00

Inscrit
24 Septembre 2016
Messages
17
Reactions
0
#21
Tu es pas d'accord sur quoi ?
 
Inscrit
29 Octobre 2016
Messages
65
Reactions
2
#22
Laisse c'est hors sujet :) en sois je suis d'accord sur tout ce qui est que le langage en lui même on s'en fou, qu'on peut quand même t'aider comme tu peux nous aider si il y à besoin et que ça change pas le résultat.
 
Inscrit
6 Avril 2016
Messages
85
Reactions
40
#23
Je pense qu'il vaudrait mieux arrêter de débattre sur ce sujet. De toutes façons, j'ai pas envie de changer de langage de programmation du moins pour le moment car ce qui importe c'est le résultat final et non le langage utilisé. Certains viendront dire oui mais avec ce langage tu pourrais faire ça et puis ça etc... et d'autres apporterons d'autres réponses, mais nan. Je pense que l'ont doit vraiment se focaliser sur les caractéristiques du programme en lui même. Le comparer avec un autre serait surement bien plus utile que finalement tout ramener à son code.
C# comme le VB = .NET Framework, la seule différence entre les deux langages , c'est globalement la syntaxe. Un bot Dofus en VB .NET est totalement viable si il est bien réalisé! Les langage du .NET sont haut niveau & orienté objet. Ce sont de bon langage pour aller directement au but quand tu n'as pas besoin de passer par le bas niveau (ce qui est le cas pour un bot) ;) Bon courage
 
Dernière édition:
Inscrit
29 Octobre 2016
Messages
65
Reactions
2
#24
C# = VB = .NET Framework, la seule différence entre les deux langages , c'est globalement la syntaxe. Un bot Dofus en VB .NET est totalement viable si il est bien réalisé! Les langage du .NET sont haut niveau & orienté objet. Ce sont de bon langage pour aller directement au but quand tu n'as pas besoin de passer par le bas niveau (ce qui est le cas pour un bot) ;) Bon courage
Euh, ce n'est pas que ce sont des .NET presque frère jumeaux qu'ils sont identique, surtout pas !

https://www.codeproject.com/Articles/9978/Complete-Comparison-for-VB-NET-and-C
https://www.harding.edu/fmccown/vbnet_csharp_comparison.html

Car si on part sur les idéaux "les .net sont identique" on va très loin .. Vu qu'il n'existe pas que le C# et VB en .net.

Je peux finir avec un https://www.lesjeudis.com/article/cb-657-c:
En citant une phrase: "Il y a bien chez Microsoft deux équipes de développement qui font chacune des choix techniques. C’est encore le cas aujourd’hui, chaque langage a ses propres spécificités."

Le VB n'est pas égale au C#, ce sont deux langages différent, mais lié par une même pseudo source, donc ils sont compatible majoritairement entre eux.

Ps: Un petit débat et en plus des stats de "préférence" des utilisateurs: https://dotnet.developpez.com/actu/...B-NET-F-Cplusplus-CLI-ou-Delphi-NET-Pourquoi/

Mais pour un bot en socket, l'un ou l'autre ne changera pas grand choses au résultat.
 
Dernière édition:
Inscrit
6 Avril 2016
Messages
85
Reactions
40
#25
Euh, ce n'est pas que ce sont des .NET presque frère jumeaux qu'ils sont identique, surtout pas !

https://www.codeproject.com/Articles/9978/Complete-Comparison-for-VB-NET-and-C
https://www.harding.edu/fmccown/vbnet_csharp_comparison.html

Car si on part sur les idéaux "les .net sont identique" on va très loin .. Vu qu'il n'existe pas que le C# et VB en .net.

Je peux finir avec un https://www.lesjeudis.com/article/cb-657-c:
En citant une phrase: "Il y a bien chez Microsoft deux équipes de développement qui font chacune des choix techniques. C’est encore le cas aujourd’hui, chaque langage a ses propres spécificités."

Le VB n'est pas égale au C#, ce sont deux langages différent, mais lié par une même pseudo source, donc ils sont compatible majoritairement entre eux.

Ps: Un petit débat et en plus des stats de "préférence" des utilisateurs: https://dotnet.developpez.com/actu/...B-NET-F-Cplusplus-CLI-ou-Delphi-NET-Pourquoi/

Mais pour un bot en socket, l'un ou l'autre ne changera pas grand choses au résultat.
A aucun moment, je n'ai pas dis que ces langages était identique. :p
Je dois bien admettre que tous les langage .NET ne sont pas identique F# se distingue bien d'ailleurs. mais centrons nous sur le VB et le C#,
Tu montre des liens qui compare, les structures, les opérateurs, la syntaxe de manière générale, mais pas la logique opératoire qui se trouve derrière ces deux langage (https://www.codeproject.com/Articles/9978/Complete-Comparison-for-VB-NET-and-C) le .NET est un Framework :
Framework : Un framework est un ensemble d'outils et de composants logiciels organisés conformément à un plan d'architecture et des patterns, l'ensemble formant ou promouvant un « squelette » de programme
En ce qui concerne le C# .Net et le VB .Net, les deux langages sont différents, je suis d’accord, mais leur différence n'est pas lié a leur Framework.. qui est le même:

https://fr.wikipedia.org/wiki/Visual_Basic_.NET (liste des différences avec le C# a la fin)

Donc, les outils a dispositions pour développer, (les librairies pour se soulager la vie et qui font de ces deux languages des languages haut niveau) sont donc les mêmes. Mais cela ne suffit pas a dire que le C#

A l'heure actuelle, le C# ressemble plus au VB qu’auparavant. La logique programmatoire est la même (orianté objets, même opérateurs (while, for , + - etc...), ils utilisent tout deux le même CLR, les performances sont donc proches.

Un bot dofus est un programme relativement haut niveau, (on ne touche pas a la machine, autant s'aider du framework .NET plutôt que de partir dans un language bas niveau). A la base du bot se trouve le socket, qui permet de gérer la connection TCP au serveur. Pour ce faire, le .NET possède déja System.Net et Socket , Udp Socket , qui sont les mêmes types en C# & en VB, si l'on sait développer en C#, il n'y aura quelques élements de syntaxe a revoir pour passer au VB, la logique reste casiment la même partout. Alors que... Faire du C# en C++, c'est sale ^^ Le code devra être différent en fonctions des capacités qu'apporte les deux langages.



https://www.codeproject.com/Articles/9978/Complete-Comparison-for-VB-NET-and-C Si, a partir de cette page, tu me donne une structure de code réalisable en VB qui ne l'est pas en C#, ou réciproquement, je tirerais mon chapeau, mais j'en doute.

Extrait de ta page:
VB.Net:
Code:
If nCnt <= nMax Then
   ' Same as nTotal =
   ' nTotal + nCnt.
   nTotal += nCnt
   ' Same as nCnt = nCnt + 1.
   nCnt += 1
Else
   nTotal += nCnt
   nCnt -= 1
End If
C#.Net
Code:
if (nCnt <= nMax)
{
   nTotal += nCnt;
   nCnt++;
}
else
{
   nTotal +=nCnt;
   nCnt--;
}
Il n'y a pas de différence de structure entre ces deux codes, la logique est la même. Pour moi, savoir travailler en C# revient a savoir travailler en VB.

https://www.lesjeudis.com/article/cb-657-c Je ne suis pas d’accord avec ce que raconte cet article, le VB .Net pour débutant, le C# pour développeur confirmé, wtf. Et nous parlons du C# & du VB d'aujourd'hui ;) qui admet encore plus de points commun qu'avant.

Afin que tu comprennes ce dont je parle, voici un exemple de languages différent pour moi :

Scala
Code:
 def sum(l:List[Int]) : Int =
   {
      l match
      {
        case Nil => 0
        case x :: suite => x + sum(suite)
      }
   }
C# .net
Code:
private int sum(int[] tab)
    {
        int num = 0;

        foreach (var value in tab)
        {
            num += value;
        }
        return num;
    }
Au final, je pense qu'il s'agit surtout d'avis personnel, et de la définition de langages différents
 
Dernière édition:
Inscrit
29 Octobre 2016
Messages
65
Reactions
2
#26
Ton argument c'est me parler de la syntaxe ...

Advantages of both languages
VB.NET
  • Support for optional parameters - very handy for some COM interoperability.
  • Support for late binding with Option Strict off - type safety at compile time goes out of the window, but legacy libraries which don't have strongly typed interfaces become easier to use.
  • Support for named indexers.
  • Various legacy VB functions (provided in the Microsoft.VisualBasic namespace, and can be used by other languages with a reference to the Microsoft.VisualBasic.dll). Many of these can be harmful to performance if used unwisely, however, and many people believe they should be avoided for the most part.
  • The with construct: it's a matter of debate as to whether this is an advantage or not, but it's certainly a difference.
  • Simpler (in expression - perhaps more complicated in understanding) event handling, where a method can declare that it handles an event, rather than the handler having to be set up in code.
  • The ability to implement interfaces with methods of different names. (Arguably this makes it harder to find the implementation of an interface, however.)
  • Catch ... When ... clauses, which allow exceptions to be filtered based on runtime expressions rather than just by type.
  • The VB.NET parts of Visual Studio .NET compiles your code in the background. While this is considered as an advantage for small projects, people creating very large projects have found that the IDE slows down considerably as the project gets larger.
C#
  • XML documentation generated from source code comments. (This is coming in VB.NET with Whidbey (the code name for the next version of Visual Studio and .NET), and there are tools which will do it with existing VB.NET code already.)
  • Operator overloading - again, coming to VB.NET in Whidbey.
  • Language support for unsigned types (you can use them from VB.NET, but they aren't in the language itself). Again, support for these is coming to VB.NET in Whidbey.
  • The using statement, which makes unmanaged resource disposal simple.
  • Explicit interface implementation, where an interface which is already implemented in a base class can be re-implemented separately in a derived class. Arguably this makes the class harder to understand, in the same way that member hiding normally does.
  • Unsafe code. This allows pointer arithmetic etc, and can improve performance in some situations. However, it is not to be used lightly, as a lot of the normal safety of C# is lost (as the name implies). Note that unsafe code is still managed code, i.e., it is compiled to IL, JITted, and run within the CLR.
Je ne savais pas que ceci était de la syntaxe.

Donc je vais gentiment quitter le sujet, on va dire que "il n'y à que la syntaxe qui change" comme ça tout le monde sera content :)

Ps: Sur Indeed ou n'importe quel site d'offre d'emploi essaye de contacter une société qui recrute pour "développeur VB.NET/C#.NET" et demande leurs en quel langage sera le projet. ;)
Ps2: Dans un sujet j'avais montrer un code pour "forcer" à faire une fonction en ne faisant pas attention à une erreur, je n'avais pas trouver l'équivalence VB, je dis ça je dis rien, sans ça la fonction ne fonctionnait pas. (Je ne parles pas du Try/Catch merci de ne pas me prendre pour un débutant)
 
Inscrit
6 Avril 2016
Messages
85
Reactions
40
#27
Ton argument c'est me parler de la syntaxe ...



Je ne savais pas que ceci était de la syntaxe.

Donc je vais gentiment quitter le sujet, on va dire que "il n'y à que la syntaxe qui change" comme ça tout le monde sera content :)

Ps: Sur Indeed ou n'importe quel site d'offre d'emploi essaye de contacter une société qui recrute pour "développeur VB.NET/C#.NET" et demande leurs en quel langage sera le projet. ;)
Ps2: Dans un sujet j'avais montrer un code pour "forcer" à faire une fonction en ne faisant pas attention à une erreur, je n'avais pas trouver l'équivalence VB, je dis ça je dis rien, sans ça la fonction ne fonctionnait pas. (Je ne parles pas du Try/Catch merci de ne pas me prendre pour un débutant)
Non mes arguments ne se base pas que sur la syntaxe ^^ je parle du CLR, de la logique et je donne un exemple avec Scala ^^
Ce n'est pas un combat hein ^^ on ne joue pas les présidentielles, chacun argumente, j'ai plein de choses a apprendre! Je ne suis pas d’accord avec toi, mais il se peut que je me trompe complétement. Je ne te prend pas pour un débutant, je n'ai pas vu tes code, donc je ne juge pas ^^ Montre moi le code du Ps2 ? Je doute qu'il n'y est pas de solution

Unsafe code. This allows pointer arithmetic etc, and can improve performance in some situations. However, it is not to be used lightly, as a lot of the normal safety of C# is lost (as the name implies). Note that unsafe code is still managed code, i.e., it is compiled to IL, JITted, and run within the CLR.

Voici un argument de ta liste, le code unsafe c'est très pratique ! Mais ça reste très situationnel, car le C# n'est pas fait pour gérer la mémoire, il y d'autre langages pour ça , de plus, il y a un GC intégré, ce n'est pas pour rien. C'est donc un argument qui ne reflète pas vraiment le langage mais une sorte de + que la fonctionnalité lui apporte, et c'est pareil pour le reste de la liste.
 
Dernière édition:
Inscrit
29 Octobre 2016
Messages
65
Reactions
2
#28
Non mes arguments ne se base pas que sur la syntaxe ^^ je parle du CLR, de la logique et je donne un exemple avec Scala ^^
Ce n'est pas un combat hein ^^ on ne joue pas les présidentielles, chacun argumente, j'ai plein de choses a apprendre! Je ne suis pas d’accord avec toi, mais il se peut que je me trompe complétement. Je ne te prend pas pour un débutant, je n'ai pas vu tes code, donc je ne juge pas ^^ Montre moi le code du Ps2 ? Je doute qu'il n'y est pas de solution

Unsafe code. This allows pointer arithmetic etc, and can improve performance in some situations. However, it is not to be used lightly, as a lot of the normal safety of C# is lost (as the name implies). Note that unsafe code is still managed code, i.e., it is compiled to IL, JITted, and run within the CLR.

Voici un argument de ta liste, le code unsafe c'est très pratique ! Mais ça reste très situationnel, car le C# n'est pas fait pour gérer la mémoire, il y d'autre langages pour ça , de plus, il y a un GC intégré, ce n'est pas pour rien. C'est donc un argument qui ne reflète pas vraiment le langage mais une sorte de + que la fonctionnalité lui apporte, et c'est pareil pour le reste de la liste.
Justement la fonction dite était un unsafe:

Code:
double idMap = getDouble(0x41A3680000000000);

public unsafe static double getDouble (UInt64 b) {
    return *(double*)&b;
}
Je n'ai pas chercher très longtemps, je n'ai pas réussis à retourner la valeur voulu autrement m'enfin xD j'ai pas vraiment chercher non plus.
 

Labo

Membre Actif
Inscrit
16 Aout 2013
Messages
799
Reactions
15
#29
Oui, en effet, ça à l'air très bien mais ton unique screen fait "tâche" bon courage à toi et bon travail!

PS: Si tu te sert de cette addresse pour le createur de comptes:

https://haapi.ankama.com/json/Ankama/v2/Account/CreateGuest?game=18&lang=fr

remplace juste 18 par 20 et hop plus de captcha :)
J'avais vu ton message il y a quelques temps et je me suis dit que ça venait de Dofus Touch.
Cela dit, je me demande comment tu fais pour créer un compte Dofus à partir de là.
Ca renvoie quelque chose comme

{"id":124852395,"type":"GUEST","login":"[GUEST]3bb7747c0947138c2","nickname":null,"security":[],"lang":"fr","community":"COMMUNITY_3","added_date":"2018-03-11T01:44:14+01:00","added_ip":"94.130.21.22","login_date":null,"login_ip":"0.0.0.0","locked":false}
 

DevChris

Membre Actif
Inscrit
12 Avril 2017
Messages
138
Reactions
24
#30
J'avais vu ton message il y a quelques temps et je me suis dit que ça venait de Dofus Touch.
Cela dit, je me demande comment tu fais pour créer un compte Dofus à partir de là.
Ca renvoie quelque chose comme
Non 18 c'est Touch, 20 je pense que c'est Wakfu si je me trompe pas.
Si on utilise 18 on a en plus de la façon normale de faire un captcha a resoudre, je vais d'abord te dire sans captcha:

Une fois que tu as recuperer donc ces infos que tu ma montrer il te faut faire une autre get request sur :

https://proxyconnection.touch.dofus.com/haapi/validateGuest

en y passant: email, guestLogin, guestPassword, lang, nickname, password.

email: L'email à associer au compte. (après faut donc valider l'email)
guestLogin: c'est le login que tu obtient dans la réponse que tu mas donner (qui commence par [GUEST])
guestPassword: si tu as fais attention, dans la requête que tu as fais tu as un header: x-password dans la réponse, c'est ça qu'il faut garder.
lang: "fr", par exemple.
nickname: tu choisis un pseudo
password: tu choisis ton vrai mot de passe.

Et voilà ton compte est creer :)

Sinon tu veut la méthode catpcha ^^ tu as juste a envoyé:

websiteUrl = "https://haapi.ankama.com/json/Ankama/v2/Account/CreateGuest?game=18&lang=fr";
websiteKey = "6LfbFRsUAAAAACrqF5w4oOiGVxOsjSUjIHHvglJx";

à AntiCaptcha pour récuperer leur réponse et ensuite tu peux faire ta request mais en plus du game = 18 et lang = "fr" tu rajoutes un g-recaptcha-response

PS: J'ai creer un module npm, qui s'utilise aussi en cli global donne moi ton github je t'ajoute au repo si tu veux voir, il va aussi valider les emails, c'est un peu moche mais ça fonctionne assez bien. Enfin c'est moche car j'ai du me dermerder car axios supporte pas tellement de pouvoir utiliser des proxy ...
 
Dernière édition:

Labo

Membre Actif
Inscrit
16 Aout 2013
Messages
799
Reactions
15
#31
Très intéressant! Mon github: https://github.com/louisabraham

Je me demandais en fait comment tu avais trouvé ces endpoints. J'ai jamais essayé Wakfu.

Par contre, leur API est suffisamment sympa pour donner la liste des valeurs possibles :

{"status":422,"message":"Invalid conditions parameters 'game' with value '-1' for condition 'in : 1;13;17;18;13001;20'"}
Ce qui paraît changer est le champ "community" de la réponse:

pour game=13, 17 ou 20, community=COMMUNITY_2
pour game=1, COMMUNITY_13
pour game=13001, COMMUNITY_0

Hier soir, depuis ma propre IP, je crois que game=18 fonctionnait sans code d'identification et que ça donnait COMMUNITY_2.
 
Dernière édition:

Labo

Membre Actif
Inscrit
16 Aout 2013
Messages
799
Reactions
15
#32
J'ai testé, il y a rien à dire :)

Tu as seulement oublié de dire qu'il faut un champ login dans la seconde requête :)

Sinon, j'ai laissé le game=13001 de mes tests, et le compte fonctionne bien sur Dofus.

J'ai fait un petit code python qui utilise des proxies anonymes (il faut que je gère les erreurs quand le proxy supporte pas https). J'ai plus qu'à coder un petit bot pour www.mailinator.com (j'en ai un pour yopmail mais ankama aime pas :p )
Pour info, donner une adresse yopmail renvoie un code 200 avec reason: "BRUTEFORCE", mais je viens de faire un test où le compte a été créé (après validation mail) mais le status code était quand même 200…


Est-ce que je peux mettre mon code sur github ? (ou est-ce que tu penses que du coup ils vont sécuriser et que ton créateur marchera plus ?)
 
Dernière édition:
Haut Bas