Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "dll.h" // On inclut le fichier d'en tête qui contient les variables basiques et les fonctions Win32.
- HINSTANCE hInstance; // Buffer pour plus tard.
- void WriteMemory( DWORD Address, void * ValueToWrite, int Size ) // Ceci est une fonction qui pourra nous servir pour écrire dans la mémoire (en beta).
- {
- memcpy( (void*)Address, ValueToWrite, Size ); // On copie l'intérieur de ValueToWrite à l'addresse Address en prenant en compte sa taille.
- }
- void ReadMemory( DWORD Address, void * Buffer, int Size ) // Ceci est une fonction qui pourra nous servir pour lire dans la mémoire (en beta).
- {
- memcpy( Buffer, (void*)Address, Size ); // On copie "la taille de Buffer" bytes qui se situe à l'addresse Address dans Buffer, la conversion sera auto.
- }
- DWORD WINAPI ThreadProc( LPVOID lpParam ) // Ceci est donc "le" contenu de la DLL, le code qu'elle va éxécuter.
- {
- while (1)
- {
- char Cheat1[100]; // Variable cheat 1
- GetPrivateProfileStringA("CHEAT","Cheat1","error",Cheat1,100,"arkenix.ini"); // Value de la variable cheat 1
- if(!strcmp(Cheat1,"On")) // Si Cheat 1 = On > hack ok !
- {
- char Cheat1Type[100];
- GetPrivateProfileStringA("CHEAT1","Type","error",Cheat1Type,100,"arkenix.ini"); // Value de la variable cheat 1 Type
- if (!strcmp(Cheat1Type,"string")) // SI c'est du string hack
- {
- char Val1[100];
- DWORD Add1 = (DWORD)GetPrivateProfileIntA("CHEAT1","Add",0,"arkenix.ini");
- GetPrivateProfileStringA("CHEAT1","Val","error",Val1,100,"arkenix.ini");
- int Byt1 = (int)GetPrivateProfileIntA("CHEAT1","Byt",4,"arkenix.ini");
- WriteMemory(Add1, Val1, Byt1 ); // On écrit le contenu de Val à l'addresse contenu dans Add.
- WritePrivateProfileStringA("CHEAT","CHEAT1","Off","arkenix.ini");
- }
- else if(!strcmp(Cheat1Type,"number")) // Si c'est autre que string hack
- {
- DWORD Add1 = (DWORD)GetPrivateProfileIntA("CHEAT1","Add",0,"arkenix.ini");
- int Val1 = (int)GetPrivateProfileIntA("CHEAT1","Val",0,"arkenix.ini");
- int Byt1 = (int)GetPrivateProfileIntA("CHEAT1","Byt",4,"arkenix.ini");
- WriteMemory(Add1, &Val1, Byt1 ); // On écrit le contenu de Val à l'addresse contenu dans Add.
- WritePrivateProfileStringA("CHEAT","CHEAT1","Off","arkenix.ini");
- }
- }
- char Cheat2[100]; // Variable cheat 2
- GetPrivateProfileStringA("CHEAT","Cheat2","error",Cheat2,100,"arkenix.ini"); // Value de la variable cheat 2
- if(!strcmp(Cheat2,"On")) // Si Cheat 2 = On > hack ok !
- {
- char Cheat2Type[100];
- GetPrivateProfileStringA("CHEAT2","Type","error",Cheat2Type,100,"arkenix.ini"); // Value de la variable cheat 2 Type
- if (!strcmp(Cheat2Type,"string")) // SI c'est du string hack
- {
- char Val2[100];
- DWORD Add2 = (DWORD)GetPrivateProfileIntA("CHEAT2","Add",0,"arkenix.ini");
- GetPrivateProfileStringA("CHEAT2","Val","error",Val2,100,"arkenix.ini");
- int Byt2 = (int)GetPrivateProfileIntA("CHEAT2","Byt",4,"arkenix.ini");
- WriteMemory(Add2, Val2, Byt2 ); // On écrit le contenu de Val à l'addresse contenu dans Add.
- WritePrivateProfileStringA("CHEAT","CHEAT2","Off","arkenix.ini");
- }
- else if(!strcmp(Cheat2Type,"number")) // Si c'est autre que string hack
- {
- DWORD Add2 = (DWORD)GetPrivateProfileIntA("CHEAT2","Add",0,"arkenix.ini");
- int Val2 = (int)GetPrivateProfileIntA("CHEAT2","Val",0,"arkenix.ini");
- int Byt2 = (int)GetPrivateProfileIntA("CHEAT2","Byt",4,"arkenix.ini");
- WriteMemory(Add2, &Val2, Byt2 ); // On écrit le contenu de Val à l'addresse contenu dans Add.
- WritePrivateProfileStringA("CHEAT","CHEAT2","Off","arkenix.ini");
- }
- }
- }
- ExitThread(0); // On "supprime" le thread créé par la fonction CreateThread. (On ferme la DLL)
- return 1; // On retourne "n'importe quoi" pour être en accord avec le type de fonction.
- }
- BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) // Cette fonction est appelé lorsque quelque chose intéragit avec la DLL.
- {
- if( ul_reason_for_call == DLL_PROCESS_ATTACH ) // Dans le cas où la DLL vient d'entrer dans un processus.
- {
- hInstance = hModule; // On récupère "l'envirronement" de la DLL qui pourra être utile plus tard.
- CreateThread(0, 0, ThreadProc, 0, 0, 0); // On lance notre propre code.
- MessageBoxA(NULL,"Injected!","Arkenix",NULL); // On affiche un messag qui confirme l'injection !
- }
- return TRUE; // On retourne que la DLL s'est correctement injectée.
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement