mdperdu

Membre
  • Compteur de contenus

    961
  • Inscription

  • Dernière visite

  • Points

    35 [ Faire un don ]
  • Feedback

    N/A

Réputation sur la communauté

0 Neutre

À propos de mdperdu

  • Rang
    Challenger
  1. Infos : Ceci est l'adaptation en partie du tuto de Thiesius de Elitepvp Sur la creation d'un cheat sous forme de dll Let's go ..... Pour ce Tuto je continue d'utiliser Rumerstrike (déjà utiliser pour ce tuto --> http://over-game.eu/apprentissage-de-creation-de-hacks-bots-et-tools/41739-tuto-creer-un-cheat-de-z.html ) 1] THEORIE Le principe de la DLL-proxy est de se placer entre le programme cible (jeu , logiciel ect ...) et la vrai DLL Le programme charge la dll et dans celle ci il y a notre code en plus d'un pont vers les fonctions de la vrai dll Pour Romustrike j'ai opté pour la SDL.DLL (pour plus tard je veux bidouiller les fonctions graphiques) Je ne maitrise pas encore tres bien les meandres du C++ il y a certaine partie (comme celle ci ) qui vont etre tres .... light Pour creer le la dll il nous faut toutes les infos de l'originale Pour les exports on utilise un wrapper qui vas faire ca pour nous ( en piece jointe ) 2] CREATION DE LA DLL-PROXY Copiez dans votre repertoire de travail la dll qui se trouve dans le jeu Monrep\SDL.dll Etape 1: On recupere la liste des export grace a visual studio Demarer/Tout les programmes/Microsoft Visual Studio xxxx/Visual Studio Tools/Visual Studio Command Prompt (xxxx). (ouverture d'une console Dos) Etape 2: Changer de repertoire pour arriver dans votre repertoire de travail Tapez la commande suivante : DUMPBIN /EXPORTS SDL.dll > EXPORTS.txt Par curiosité regardez dans le fichier exports.txt vous avez toutes les fonction de la dll Etape 3: Renommer la dll originale ex : SDL_.DLL Etape 4: On est pret pour utiliser le wrapper . La syntaxe est la suivante : Ancien nom de la dll originale l'export.txt creer juste avant Convention d'appel des fonctions donc le nom (sdl.dll) nom du fichier .cpp generer nom du fichier .def generer La commande : wrappit.exe SDL.dll EXPORTS.txt __stdcall SDL_.dll sdl.cpp Exports_Def.def (perso sa fini en erreur il ne trouve pas le fichier sdl.cpp.obj mais ca ne gene pas ) Etape 5: Le repertoire contient 2 nouveaux fichier : SDL.cpp and Exports_Def.def Felicitation le squelette de la DLL est cree 3] CREATION DU CHEAT/HACK/MENU 1] Le projet Dans visual studio (express fonctionne aussi) creer une dll vide et ajoutez le code source SDL.cpp Faite un clic droit sur votre projet et propriétés Proprietes de configuration>general>Jeu de caracteres>caractere multioctet Proprietes de configuration>Editeur de liens>entrée>Fichier de definition de module> Entrez : Exports_Def.def Sauvez et fermez > #include <windows.h> #pragma pack(1) HINSTANCE hLThis = 0; HINSTANCE hL = 0; FARPROC p[202] = {0}; BOOL WINAPI DllMain(HINSTANCE hInst,DWORD reason,LPVOID) { if (reason == DLL_PROCESS_ATTACH) { hLThis = hInst; hL = LoadLibrary("SDL_.dll"); if (!hL) return false; p[0] = GetProcAddress(hL,"SDL_AddTimer"); p[1] = GetProcAddress(hL,"SDL_AllocRW"); p[2] = GetProcAddress(hL,"SDL_AudioDriverName"); p[3] = GetProcAddress(hL,"SDL_AudioInit"); p[4] = GetProcAddress(hL,"SDL_AudioQuit"); p[5] = GetProcAddress(hL,"SDL_BuildAudioCVT"); p[6] = GetProcAddress(hL,"SDL_CDClose"); p[7] = GetProcAddress(hL,"SDL_CDEject"); p[8] = GetProcAddress(hL,"SDL_CDName"); p[9] = GetProcAddress(hL,"SDL_CDNumDrives"); p[10] = GetProcAddress(hL,"SDL_CDOpen"); p[11] = GetProcAddress(hL,"SDL_CDPause"); p[12] = GetProcAddress(hL,"SDL_CDPlay"); p[13] = GetProcAddress(hL,"SDL_CDPlayTracks"); le source généré charge la dll d origine et récupère toutes les adresses de fonction pour pouvoir faire le pont correctement C'est a cet endroit qu on vas creer un autre thread pour activer notre cheat je ne connais pas encore bien cette partie (la creation du thread et les attibut de securité) Dans le principe c est assez claire Si la dll d origine est bien chargée on creer le thread qui commence par la routine declarer dans le createthread ici CheatMain > void CheatMain() { Sleep(10000); // 10 seconde d'attente CommandComm(); // Creation de la console SetConsoleTitleA("Proxy-dll v0.01"); // Change le titre de la console Menu(); // affiche le menu .help CommandHandler(); // la gestion des commandes } C est l'initialisation du cheat La pause de 10 secondes est la pour eviter une détection du jeux apparemment dans le sujet initial CommandComm() creer la console Menu() affiche les commandes dispo CommandHandler() c est la boucle principal qui attend les commandes > void CommandHandler() // la boucle principale qui vas attendre les commandes { while(true) // Ma boucle principale { char chCommand[255]={0}; // Ma variable qui vas stocké les commandes claviers scanf("%s", &chCommand); // Attente l'entré clavier et stock le resultat dans chCommand (maxi 254 caracteres .... ca vas la pire de commande passe ) // pour les pro du C++ la ligne d origine c est scanf_s("%s%*c", &chCommand); mais sa fait planter le prog , j ai tester plusieur syntaxe sans resultats // visual c++ emet un warning avec les scanf mais ca passe pour ce que j en fait if (strcmp ( chCommand , ".Cmd01" ) == 0) // si la chaine contenu dans chCommand est eqale a .Cmd01 alors j execute les commandes dans les accolades { printf_s("Message recu OK: .Cmd01 "); printf_s("\nEnter Command: "); } if (strcmp ( chCommand , ".Cmd02" ) == 0) // idem dessus { printf_s("Message recu OK: .Cmd02 "); printf_s("\nEnter Command: "); } if (strcmp ( chCommand , ".Help" ) == 0) // idem dessus { printf_s("\n"); Menu(); // appel du menu d'affichage de la liste des commandes } } } Si quelqu un peut me dire pourquoi la syntaxe d'origine ne fonctionne pas ça m'interesse >scanf_s("%s%*c", &chCommand); Vous compilez tout ca et c'est bon !!! Copiez la dll dans le repertoire du jeux sous le nom SDL.dll Lancez romustrike et au bout de 10 secondes la console s ouvre ci-joint le projet et le wrapper prochaine étape le cheat par lui meme , peut etre un menu dans le jeux Infos sup : J'ai volontairement reduit le tuto d'origine a cette partie pour l'instant Je n ai pas encore tester le reste . pour l export des fonction il y a des truc pas mal ici : http://sourcesecure.net/2011/03/dll-redirection-tutorial/ http://www.codeguru.com/cpp/g-m/directx/directx8/article.php/c11453/Intercept-Calls-to-DirectX-with-a-Proxy-DLL.htm et le sujet sur le quel je m appuis http://www.elit******.com/forum/kal-hacks-bots-cheats-exploits/486196-tutorial-creating-simple-dll-cheat-hack.html Fichier joint Free - Envoyez vos documents
  2. le blaireau de service

  3. Pour ce tuto je vais utiliser le petit jeu en ligne : Romustrike - Accueil Pour les outils j'utilise Cheat engine , la calculatrice et autoit (le choix d Autoit c'est pour la rapidité de création de script mais n'importe quel langage est bon) Adresses utiles : Le jeux !! Romustrike : Romustrike - Accueil Un editeur de memoire , Cheat Engine : Cheat Engine De quoi programmer rapidement ,Autoit : AutoIt Français • Afficher le sujet - Pack AutoIt-Fr - Installer AutoIt et ses outils en 1 clic. Je passe sur l instalation de CE et Autoit Certaines connaissances en informatique sont obligatoire !! ( go go section tutoriel ) On commence par aller s'inscrire sur le site Romustrike - Accueil et telecharger le jeu Une fois inscrit et jeu installé au premier lancement choisissez "Internet" et puis "Creer" En map prenez tunisia (il n y en a pas beaucoup de dispo) Collez un MDP a votre partie pour eviter les visites pour l'instant Jouez un peu si vous voulez , pour récupéré la souris tapez sur Escape Pour infos si vous lancez directement cheat engine vous risquez un message d erreur du jeu et plantage Perso j ai renommer mon CE avec un nom a la con genre i386.exe et ca passe Bon on lance CE et sélection du processus du jeux "Romutstrike.exe" On vas se faire les dents sur les balles Dans CE a l emplacement value mettez le nombre de balles que vous avez Pour moi c'est 10 (10 balles sur un chargeur de 17) (on cherche une infos en decimal et codée en 32 bits (sur 4 bytes (octets)) donc on ne touche pas au reglages) Appuyez sur First scan la on trouve enormement d'adresses !! (chez moi 5503 ) on retourne dans le jeu et on tire quelques munitions il m en reste 8, je met cette valeur dans "value" de CE et Nexte Scan encore 33 adresses .... meme manip que precedement il m en reste 4, je met cette valeur dans "value" de CE et Nexte Scan la c bon il ne me reste qu une adresse !!! je verifi en directe et oui , quand je tire ca correspond bien a mon compteur Si vous changez d arme vous verez que ca correspond au compteur de balle de l'arme active !! Cette adresse est en noir dans le tableau de recherche C est a dire que ce n est pas une info issus directement du programme mais de la memoire qu il utilise Donc prochain demarage l'adresse ne seras pas la meme et adieu nos munition infinie !!! Dans CE Double clic sur l adresse pour la copier dans la liste du bas , double clic sur la description pour la renommer en "Munition" Changez cette valeur et retournez dans le jeu vous verrez les munition prendre la valeur que vous avez donner Dans CE clic droit sur l'adresse munition et clic sur "Find out what accesses this adresse" (trouver ce qui a acces a cette adresse) (en lecture et ecriture) Clic sur yes a la demande e confirmation Allez dans le jeu et tirez une ou deux fois De retour dans CE quelques lignes sont apparues Count (nombre de fois ou l instruction a ete executée) Instruction (Mnemonique assembleur executé) il y a une ligne qui correspond au nombre de cartouches tiré pour moi c est 3 : >002EA03F - FF 8B 90690200 - dec [ebx+00026990] ce qui correspond a décrémente la valeur contenue a l adresse ebx+0x26990 de 1 donc notre compteur a munition -1 Si cette opération n est pas exécutée mes balles ne sont pas decrementée ! bingo les balles infinies !! En assembleur le mnémonique qui correspond a "fait rien" c est "nop" opcode 0x90 donc a l'adresse 0x2ea03f si je modifie les 6 octets FF:8B:90:69:02:00 par 90:90:90:90:90:90 je ne dépense plus de munition !! cette adresse n'est pas directe si on fait un clic droit sur la ligne 002EA03F - FF 8B 90690200 - dec [ebx+00026990] et "Show this adress in the disassembler" une fenêtre s ouvre a la ligne dec [ebx+00026990] mais l adresse c est romustrike.exe+4a03f romustrike.exe correspond a la BASE du module romustrike.exe , ici D8A000 (j ai relancer le jeu depuis le debut du tuto donc ca a changer) cette partie de l adresse est variable donc c est base + 0x4A03F Bon on as les infos pour creer le cheat !!! dans mon repertoir de travail je fait clic droit > nouveau script autoit que j'appel Balles.au3 j ouvre ce script a la premiere ligne je colle : > #RequireAdmin #Include <NomadMemory.au3> SetPrivilege("SeDebugPrivilege", 1) directive pour que le programme se lance avec les droit admin condition obligatoire pour avoir le mode "debug" qui permet la lecture memoire un processus tierce la lib nomadmemory.au3 contient les fonction d'edition de memoire les variables utilisées > Global $Offset_munition = 0x4A03F ; adresse a modifier Global $Bool_munition = false ; temoin de marche arret Global $MunitDec[6]=[0xFF,0x8B,0x90,0x69,0x02,0x00] ; octets d'origine pour restituer la decrementation des balles Global $Modul,$Pid,$Open; variables diverses On vas fair simple avec juste deux touches , > une hotkey du pave numerique , le 1 , pour le marche arret des munition infini une hotkey du pave numerique , le 9 , pour sortire du programme les fonctions seront MunitionInf et _exit donc les declaractions seront > HotKeySet("{NUMPAD1}","MunitionInf") HotKeySet("{NUMPAD9}","_exit") et la boucle infini pour garder le programme en marche > While 1 Sleep(500) WEnd la fonction _exit : > Func _exit() If $Bool_munition Then MunitionInf() ; si cheat actif on le desactive Exit EndFunc une fonction pour récupéré l'adresse du module (truc recup des cheat de wow) s'appel avec le pid et le nom du processus cible , retour adresse du module demander > Func _Get_BaseA($Arg00,$Name) If $Arg00 = 0 Then MsgBox(0, "Erreur", "Erreur Numero de process invalide") Exit EndIf $Var04F5 = DllCall("Kernel32.dll", "HANDLE", "CreateToolhelp32Snapshot", "DWORD", 8, "DWORD", $Arg00) $Var04F6 = DllStructCreate("DWORD dwSize;DWORD th32ModuleID;DWORD th32ProcessID;" & "DWORD GlblcntUsage;DWORD ProccntUsage;ptr modBaseAddr;" & "DWORD modBaseSize;HANDLE hModule;WCHAR szModule[256];" & "WCHAR szExePath[260]") DllStructSetData($Var04F6, "dwSize", DllStructGetSize($Var04F6)) $Var003F = DllCall("Kernel32.dll", "BOOLEAN", "Module32FirstW", "HANDLE", $Var04F5[0], "ptr", DllStructGetPtr($Var04F6)) If ($Var003F[0] = False) Then DllCall("Kernel32.dll", "BOOLEAN", "CloseHandle", "HANDLE", $Var04F5[0]) Return 0 Else $Var003F[0] = True Do If DllStructGetData($Var04F6, "szModule") = $Name Then DllCall("Kernel32.dll", "BOOLEAN", "CloseHandle", "HANDLE", $Var04F5[0]) Return DllStructGetData($Var04F6, "modBaseAddr") EndIf $Var003F = DllCall("Kernel32.dll", "BOOLEAN", "Module32NextW", "HANDLE", $Var04F5[0], "ptr", DllStructGetPtr($Var04F6)) Until $Var003F[0] = False EndIf EndFunc Ouverture du processus cible et recuperation de l'adresse du module > $Pid=ProcessExists("romustrike.exe") If $Pid=0 Then MsgBox(0,"","Pas de pid , lancez le jeu en premier") Exit EndIf $Open=_MemoryOpen($Pid) If $Open=0 Then MsgBox(0,"","Pas de de handle d'acces") Exit EndIf $Modul=_Get_BaseA($pid,"romustrike.exe") et la fonction qui fait le miracle > Func MunitionInf() If $Bool_munition Then ; $Bool_munition est a true(vrai) si le cheat est actif donc on remet les octets d origine For $x=0 to 5 _MEMORYwrite($Modul+$Offset_munition+$x,$Open,$MunitDec[$x],"byte") ; j ecris les octet du tableau a l adresse Offset_munition Next $Bool_munition = False ; on inverse pour le prochain appel Else ;$Bool_munition est a false(faux) si le cheat n'est pas actif on remet les octets a 0x90 (NOP) For $x=0 to 5 _MEMORYwrite($Modul+$Offset_munition+$x,$Open,0x90,"byte") Next $Bool_munition = True ; on inverse pour le prochain appel EndIf EndFunc Et voila !!!!! Pendant le jeu une pression sur le 1 active / désactive le cheat et une pression sur le 9 arrête le cheat Ce tuto marche aussi avec la vie En continuant mes recherches j'ai aussi fait un TP hack
  4. Je suis vraimenet impressionné par votre travail mais je cherche pendent longtemp un script coffre/maison sur dofus donc si sa te derange pas ou sinnon si ta un script a vendre ou a donner (sa me fera plaisir) et merci beaucoup

  5. SOURCE BitBot 5 en clair !!!!

    tout est dans le titre version BETA !!! concerne les gens qui font la différence entre un camembert et l autoit
  6. Bon en faite le crack de fullbot n est pas admis sur ce forum arf . . . . le titre était prometteur pourtant alors du coup je me suis dit si on peu l utiliser sans le cracké c'est carrément mieux en faite donc pour notre affaire il faut : Edit : Gros changement de tech Cause : . . . la drogue c est le mal !!!! Je pense que j ai du m emmeler les crayon avec une version cracké Car fiddler de fait pas de difference avec une requete type "Post" Bon on passe par le fichier Host Pour ceux qui n on pas telecharger et mis a jours le bot c est par ici : Fullbot : http://www.fullbot.com/dl/FullBot.rar lancez le,effectuez la maj et stoppez le Ensuite modif du fichier Host (ce qui redirigeras les requête en localhost : 127.0.0.1) donc voici les ligne a rajouter > 127.0.0.1 www.fullbot.com 127.0.0.1 fullbot.com Le fichier se trouve : C:\Windows\System32\drivers\etc (pour infos si vous voulez aller sur le forum de fullbot vous devez mettre un '#' devant ces deux ligne et relancer le navigateur) Bon la on vas carrément faire serveur de réponse J ai recup un serv web en autoit que j ai modif pour nos besoins je joint le source dans l archive donc vous décompressez le serveur et le fichier fullbot.version dans le même répertoire apres avoir modif le fichier host vous lancez dans l ordre : le serveur wow (logguer etc ...) puis le bot tapez ce que vous voulez comme clef et voila c est tout ps tester peche et leveling
  7. I need to do what they need to rewrite the source code to me wowbot (Full shoes) worked on any version of wow?

  8. Source BitBotv4 en claire

    le bot complet avec le script en claire Multiupload.nl - upload your files to multiple file hosting sites!
  9. s'il vous plait pouvez vous m'envoyer des scripts pour bitbot?

  10. Le geek n'arrive pas a cracké, il a sûrement perdu la main :(

  11. aller le geek go crackme en c++ section defis !! c est posté ;)

  12. Crackme en C++

    Bon et bien tout est dans le titre J'etudie le C++ sur Sdz (on s enflamme pas juste les premieres pages pour l instant ) et du coup pour valider les quelques acquis je post se Crackme Il n y a pas encore de gros controle d erreur donc le mot de passe est numerique (pour infos) si vous entrez de l'alphanumerique ca risque de planter ^^ j ai fait un raccourcis qui me compresse auto mes executable le packing c est l upx de base pour decompresser c est upx -d mon fichier voila j espere que ca vas tenir au moins . . .. 15 minutes ?
  13. Sources maj bitbot4

    Voila tout est dans le titre Un petit sources pour les petits codeurs en herbe !!! Sources du bot
  14. salut escuse moi mais le lien est mort !

  15. Post pour les gens qui font la différence entre du code autoit et un camembert !!! vous reconnaitrez le source il n est pas obfusquer Plein de fonction dispo et claire BotSource