Jump to content

piou

Membre
  • Content Count

    504
  • Joined

  • Last visited

  • Days Won

    11

piou last won the day on October 22 2018

piou had the most liked content!

Community Reputation

115 Excellent

2 Followers

About piou

  • Rank
    Dozonien Honorable

Profile Information

  • Genre
    Not Telling

Recent Profile Visitors

1701 profile views
  1. pyramide

  2. piou

    Condition PHP

    'UPDATE accounts SET IPvote = DEFAULT WHERE UNIX_TIMESTAMP() - timevote >= 180;' Sinon, utilise n'importe quel éditeur de texte en dehors du bloc note et tu vois directement qu'il y a un problème... Car tu fais une comparaison entre une chaine de caractère et un nombre et faire un soustraction d'une chaine par une autre et ce n'est pas ça que tu veux faire :| Évite de mélanger tes requêtes sql avec du php et utilise des requêtes préparés ce sera plus lisible et ça évitera les erreurs
  3. Bon sérieusement, tu ne comprends pas que personne ne va t'aider ? Pour une et bonne raison : En créant une passerelle, tu as accès au nom de compte ET mot de passe de toute les personnes qui se connecte dessus donc comme on ne connait pas tes intentions, le mieux et de ne pas t'aider. Si une personne cherche a obtenir le nom de compte et les mots de passe de plusieurs personnes et qu'il a les compétences pour monter une passerelle, il peut aussi le faire seul. L'alternative la plus "sécurisé" pour aller sur les serveurs espagnol et de payer un vps espagnol et d'installer openvpn... Tu pourras proposé l'alternative de chiffrer les packets disponible dans le client, pourquoi pas mais il faudra les déchiffrer pour les envoyés aux serveurs officiel donc tu peux sauvegarder facilement les packets envoyé et reçu en clair. Tu pourras proposé l'alternative de modifier le client pour être sur que personne d'autre, ne connaissant l'algorithme utilisé pour déchiffrer les packets ou le mot de passe du joueur, déchiffre les packets, oui mais toi, tu devrais les déchiffrer et donc tu pourras y avoir accès en clair. Le mot de passe envoyé par le client est juste chiffrer et pas haché. Tu peux retrouver le mot de passe en le déchiffrant très simplement et rapidement. Et si tu demandes de l'aide c'est que tu n'as ni les connaissances et les compétences pour le faire ce qui peut faire facilement doué vis à vis de tes intentions...
  4. ça fonctionne, beaucoup de lien ne fonctionnait plus, virus, crack qui ne fonctionne pas, ... Merci
  5. Edit : Au final, ça laisse le "powered by sothink" :/
  6. Je recherche un nouveau crack pour swf quicker car j'avais oublié de le récup avant de formatter mais pc mais la... XD Ton virus total est bidon : https://www.virustotal.com/en/file/147b8e78b37b93548cb5ef5cda8e2c478c6ffee9606a61af9a366e7544055c2d/analysis/1463084470/ C'est tellement de la merde que même la merde de windows defencer lance 3 popups pour dire que le fichier est dangereux et le supprimer tout seul xD
  7. Vu que le pack est un peu gros, voila le code du bordel sans avoir besoin du module loader : [hide] _global.packetParsers = new Array(); _global.ioStars = new Array(); _global.addParser = function(string, funct) { _global.packetParsers[string] = funct; }; aks._oDataProcessor.process = function(sData) { var _loc3 = sData.charAt(0); var _loc4 = sData.charAt(1); var _loc5 = sData.charAt(2) == "E"; var parser = _global.packetParsers[sData.substring(0, 2)]; if (parser == undefined) { this.postProcess(_loc3, _loc4, _loc5, sData); } else { parser(sData, _loc5); } }; ank.battlefield.mc.InteractiveObject.prototype.select = function(bool) { var _loc3 = new Color(this); var _loc4 = new Object(); if (bool) { _loc4 = {ra: 60, rb: 80, ga: 60, gb: 80, ba: 60, bb: 80}; var text = api.lang.getInteractiveObjectDataByGfxText(this.cellData.layerObject2Num).n; var starNumber = _global.ioStars[this.cellData.num]; var type = starNumber != undefined && starNumber > 0 ? dofus.graphics.battlefield.TextWithTitleOverHead : dofus.graphics.battlefield.TextOverHead; var data = starNumber != undefined && starNumber > 0 ? ["", this, undefined, undefined, text, undefined, starNumber] : [text]; if (text != undefined) api.gfx.overHeadHandler.addOverHeadItem(this.cellData.num, this._x, this._y, this, "text", type, data); } else { _loc4 = {ra: 100, rb: 0, ga: 100, gb: 0, ba: 100, bb: 0}; api.gfx.overHeadHandler.removeOverHeadLayer(this.cellData.num, "text"); } _loc3.setTransform(_loc4); }; _global.addParser("#i", function(packet, error) { _global.packetParsers[packet.substring(0, 3)](packet, error); }); _global.addParser("#io", function(packet, error) { var data = packet.substring(3); data = data.split(";"); _global.ioStars[data[0]] = data[1]; }); aks.Game.onMapLoaded = function() { this.api.gfx.showContainer(true); if (dofus.Constants.SAVING_THE_WORLD) { dofus.SaveTheWorld.getInstance().nextAction(); } _global.ioStars = new Array(); }; [/hide]
  8. Bonjour, Screen : Si vous avez le module loader et le module io : Pour l'activé, il suffit de rajouter la ligne [hide]"io" dans modules/modules.conf du dossier Dofus[/hide] Et pour les étoiles, vous envoyez le packet [hide]"#io" + cell + ";" + bonus[/hide] sinon : voila le code du bordel sans avoir besoin du module loader : [hide] _global.packetParsers = new Array(); _global.ioStars = new Array(); _global.addParser = function(string, funct) { _global.packetParsers[string] = funct; }; aks._oDataProcessor.process = function(sData) { var _loc3 = sData.charAt(0); var _loc4 = sData.charAt(1); var _loc5 = sData.charAt(2) == "E"; var parser = _global.packetParsers[sData.substring(0, 2)]; if (parser == undefined) { this.postProcess(_loc3, _loc4, _loc5, sData); } else { parser(sData, _loc5); } }; ank.battlefield.mc.InteractiveObject.prototype.select = function(bool) { var _loc3 = new Color(this); var _loc4 = new Object(); if (bool) { _loc4 = {ra: 60, rb: 80, ga: 60, gb: 80, ba: 60, bb: 80}; var text = api.lang.getInteractiveObjectDataByGfxText(this.cellData.layerObject2Num).n; var starNumber = _global.ioStars[this.cellData.num]; var type = starNumber != undefined && starNumber > 0 ? dofus.graphics.battlefield.TextWithTitleOverHead : dofus.graphics.battlefield.TextOverHead; var data = starNumber != undefined && starNumber > 0 ? ["", this, undefined, undefined, text, undefined, starNumber] : [text]; if (text != undefined) api.gfx.overHeadHandler.addOverHeadItem(this.cellData.num, this._x, this._y, this, "text", type, data); } else { _loc4 = {ra: 100, rb: 0, ga: 100, gb: 0, ba: 100, bb: 0}; api.gfx.overHeadHandler.removeOverHeadLayer(this.cellData.num, "text"); } _loc3.setTransform(_loc4); }; _global.addParser("#i", function(packet, error) { _global.packetParsers[packet.substring(0, 3)](packet, error); }); _global.addParser("#io", function(packet, error) { var data = packet.substring(3); data = data.split(";"); _global.ioStars[data[0]] = data[1]; }); aks.Game.onMapLoaded = function() { this.api.gfx.showContainer(true); if (dofus.Constants.SAVING_THE_WORLD) { dofus.SaveTheWorld.getInstance().nextAction(); } _global.ioStars = new Array(); }; [/hide]
  9. piou

    Dofus1 ModuleLoader

    http://dozenofelites.com/topic/13247-dofus-1-client-pour-ceux-qui-utilise-le-truc-dégueu-du-code-maison-coffre-pour-les-stats/ http://dozenofelites.com/topic/13478-dofus-1-client-changer-le-prix-des-ventes-des-objets/ http://dozenofelites.com/topic/15946-client-combat-sort-zone-lancement-sorts/ Il y avait un autre sujet présentant le module loader mais je crois qu'il a été supprimé et je n'ai pas envie de faire une présentation plus poussé de ce qu'il y a écrit au dessus. Pour faire simple, ça permet de charger des modules dans le client dofus1
  10. piou

    Dofus1 ModuleLoader

    Bonjour, J'ai modifié le module loader pour que la fonction main de chaque module soit appelé dans l'ordre définie dans le fichier modules.conf Cela permet de ne plus avoir de problème lorsque l'on souhaite utilisé des fonctions définies dans un module qui aurait du être chargé avant un autre et comme c'est bientôt noël, vous pouvez l'avoir et le télécharger gratuitement [hide]https://hostr.co/Kgy3Az1AKPjZ[/hide] Les sources sont incluent et vous avez trois petits fichiers d'exemple (très très basique) Module a : Module b : Ces deux modules permettent de vérifié avec un petit test que les modules sont bien chargé dans l'ordre, en changeant l'ordre dans modules.conf, aucun message ne s'affichera, dans le cas contraire, une msgbox s'ouvrira pour dire bonjours à poney et dans le tchat un message me dira bonjour. Vous pouvez aussi changer les noms si ça ne vous plait pas ou tenter de modifier un peu les fonctions. Le module "a" permet de créé un petit package où vous pourrez mettre des fonctions que vous voulez réutilisé facilement dans un autre module (ou dans le même), pour faire simple, il est créé dans la fonction main mais vous pourrez aussi voir un autre exemple disponible dans le module loader : Basic Il y a deux fonctions disponible, une pour écrire dans le tchat et l'autre pour ouvrir une msgbox. En utilisant ce module loader, vous pouvez chargé plusieurs modules : modules/modules.swf et les modules que vous voulez dans modules/modules.conf Vous avez quelque fonction d'exemple (Basic, test) Bonne soirée.
  11. Le code est en actionscript... _global.addParser("#C", function(packet, error) { packet = packet.substring(2); var list = packet.split(";"); var name = list[0]; var string = ""; var lastColor = 0; var nbr = 0; var finalDmg = 0; var i = 0; if (list.length == 2) { var array = list[1].split(","); finalDmg = array[0]; var effect = array[1]; if (effect == 85 || effect == 91 || effect == 96 || effect == 275) { lastColor = "3CCDF1";//00BFFF } else if (effect == 86 || effect == 92 || effect == 97 || effect == 276) { lastColor = "B2814A";//3B170B } else if (effect == 87 || effect == 93 || effect == 98 || effect == 277) { lastColor = "65F765";//BEF781 } else if (effect == 88 || effect == 94 || effect == 99 || effect == 278) { lastColor = "FF552B";//FF0000 } else if (effect == 89 || effect == 95 || effect == 100 || effect == 279) { lastColor = "848484";//848484 } if (_loc41 != 0) { var _loc42 = finalDmg > 0 ? ("LOST_LP") : ("WIN_LP"); if (finalDmg == 0) { api.kernel.showMessage(undefined, api.lang.getText("NOCHANGE_LP", [name]), "INFO_FIGHT_CHAT"); return; } if (_loc42 == "WIN_LP") { api.datacenter.Sprites.getItemAt(name).updateLP(finalDmg); api.kernel.showMessage(undefined, api.lang.getText("WIN_LP", [api.datacenter.Sprites.getItemAt(name).name, finalDmg]), "INFO_FIGHT_CHAT"); return; } } } else { while (++i, i < list.length) { if (i == 1) { string += " ("; } else { string += " + "; } ++nbr; var array = list[i].split(","); var dmg = array[0]; var effect = array[1]; var color = 0; finalDmg += int(dmg); if (effect == 85 || effect == 91 || effect == 96 || effect == 275) { color = "3CCDF1";//00BFFF } else if (effect == 86 || effect == 92 || effect == 97 || effect == 276) { color = "B2814A";//3B170B } else if (effect == 87 || effect == 93 || effect == 98 || effect == 277) { color = "65F765";//BEF781 } else if (effect == 88 || effect == 94 || effect == 99 || effect == 278) { color = "FF552B";//FF0000 } else if (effect == 89 || effect == 95 || effect == 100 || effect == 279) { color = "848484";//848484 } if (lastColor == 0) { lastColor = color; } else if (lastColor != color) { lastColor = "8258FA"; } string += "<b><font color=\"#" + color +"\">" + dmg + "</font></b>"; } string += ")."; } api.datacenter.Sprites.getItemAt(name).updateLP(-finalDmg); api.ui.getUIComponent("Timeline").timelineControl.updateCharacters(); string = "<b>" + api.datacenter.Sprites.getItemAt(name).name + "</b> perd <b>" + "<font color=\"#" + lastColor +"\">" + finalDmg + "</font>" + "</b> PDV" + (nbr > 1 ? string : "."); api.kernel.showMessage(undefined, string, "INFO_FIGHT_CHAT"); });#C{dmg,effet}(;{dmg,effet};...)Ex : #C50,86 #C50,86;50;87
  12. Sérieusement, c'est quoi ton idée stupide d'utilisé un switch ? tu ne vas pas faire case 0: printf("00000000"); break; case 1:printf("00000001"); case 2: ... case 3:, case 4:.... case 255: printf("11111111");break;Sachant qu'en c tu ne peux pas faire switch(n): case n & 128: printf("1"); case n & 64: printf("1"); case n & 32:... Et faire 8 conditions : if (n & 128) printf("1"); else printf("0"); if (n & 64) printf("1"); else ... c'est très répétitif surtout si tu dois le faire 64 fois #include <stdio.h> int main (int argc, char** argv) { unsigned int i; char c; printf("c = "); c = getchar(); for (i = 1 << 7; i > 0; i = i >> 1) {//i = i << 7 = 128; i > 0; i / 2 printf("%d", (c & i) > 0);//& = ET : 1111 & 0110 = 0110; 1010 & 0110 = 0010 } }J'ai posté un code au dessus qui permet d'afficher 8 à 64 bits en fonction du type de la variable (8 pour char, 32 pour int, ...)
  13. #include <stdio.h> int main (int argc, char** argv) { unsigned int i; char c; short d; int e; printf("c = "); c = d = e = getchar(); for (i = 1 << ((sizeof(c) * 8) - 1); i > 0; i = i >> 1) { printf("%d", (c & i) > 0); } printf("\n"); for (i = 1 << ((sizeof(d) * 8) - 1); i > 0; i = i >> 1) { printf("%d", (d & i) > 0); } printf("\n"); for (i = 1 << ((sizeof(e) * 8) - 1); i > 0; i = i >> 1) { printf("%d", (e & i) > 0); } return 0; }
  14. Créé un utilisateur avoir un droit en lecture sur une table dans votre base de donnée, c'est tellement dur... CREATE USER 'anonymous'@'%'; CREATE DATABASE data CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT SELECT ON `data` . * TO 'anonymous'@'%';Permet de créé un utilisateur anonymous sans mot de passe qui a un droit en lecture sur la table data.Après, c'est à vous de faire attention à ce que vous allez mettre dans cette table.
  15. (...) String pseudo = account.getPseudo(); if (pseudo == null || pseudo.isEmpty()) { lc.setParser(chooseNickNamePacketParser); client.sendPacket(accountPacket.chooseNickName()); account.write(account.getName() + " must choose nickname."); return; } (...) (...) if (name.length() < 4 && !Utils.isAlpha(name) || name.equalsIgnoreCase(account.getName())) { client.sendPacket(accountPacket.nickNameAlreadyUsed()); return; } (...) Account a = dao.findByPseudo(name); if (a != null) { lc.sendPacket(accountPacket.nickNameAlreadyUsed()); return; } (...) account.setPseudo(name); dao.update(account); lc.sendPacket(accountPacket.dofusPseudo(account.getPseudo())); lc.sendPacket(accountPacket.communityAccount(account)); lc.sendPacket(accountPacket.hostList()); lc.sendPacket(accountPacket.accountLoginOk(account)); lc.sendPacket(accountPacket.questionAccount(account));Mais je pense que tu n'as pas compris mon message...Si l'en prend "hello", on va prendre une sous chaine dans "hello" qui va du premier au dernier caractère donc tu auras la sous chaine "hello" ce qui est totalement stupide et inutile. Et si string == "" est vrai, string.isEmpty est vrai donc if (string.isEmpty ou string == "") est équivalent à if (string.isEmpty) Ce n'est pas difficile de faire mieux surtout qu'il ne vérifie même pas si deux personnes ont le même pseudo...
×
×
  • Create New...