dyroj
Messages postés123Date d'inscriptionvendredi 14 novembre 2008StatutMembreDernière intervention18 juin 2012
-
2 févr. 2009 à 10:18
dyroj
Messages postés123Date d'inscriptionvendredi 14 novembre 2008StatutMembreDernière intervention18 juin 2012
-
2 févr. 2009 à 17:43
bonjour a tous,
je que je veut comprendre c'est pas comment créer l'ago mais comment lappliquer sur une aplication que utilise un passe.
moi ce que je veut c'est créer un brute dorce que peut craquer le passe de mon programme.
je presise que mon programme est avec une interface graphique et au demaraque il y a une boite de dialogue qui demande le passe.
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
HWND hWin;
int i;
hWin = FindWindow("Notepad", NULL);
if (hWin)
{
hWin = GetWindow(hWin, GW_CHILD);
if (hWin)
for (i = 0; i < NB_KEYS; i++)
{
PostMessage(hWin, WM_KEYDOWN, lpKeys[i], 0);
Sleep(10);
}
}
return 0;
}
<hr size="2" width="100%" />Si tu lance un bloc note (notepad) et que tu exécute ce programme, "hello world" va être écrit dedans, avec un retour chariot à la fin, souvent synonyme de validation dans le cas d'un mot de passe.
PostMessage est utilisé pour envoyé les caractères un à un à l'aide d'un message WM_KEYDOWN. Un WM_SETTEXT aurait pu être utilisé, quoiqu'il y a plus de code à écrire, car il faut allouer une zone dans le processus distant. Par contre, WM_SETTEXT est probablement plus rapide à l'exécution, ce qui est important dans le cas de la force brute.
Concernant le récupération du handle de la fenêtre, il y a différentes fonctions disponibles et diverses façon d'arriver à ses fins. Par exemple :
1) CreateToolhelp32Snapshot pour trouver le processus associé à un nom de .exe entré par l'utilisateur.
2) EnumWindows pour lister les fenêtres principales.
3) GetWindowThreadProcessId pour voir si le handle de fenêtre principal correspond au PID trouvé à l'aide de CreateToolhelp32Snapshot.
Une autre implémentation via WindowFromPoint peut être une alternative tout aussi intéressante.
Quoiqu'il en soit, la force brute, ça reste pour les brutes... Un petit désassemblage peut s'avérer beaucoup plus intéressant.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 2 févr. 2009 à 15:17
Fais un peu attention à ton français s'il te plait, il est pire que le mien. Les principaux navigateurs proposent la correction auto ou ont des plugins qui le propose.
Concernant la méthode alternative, elle peut être plus efficace, mais ça dépend des compétences de celui qui l'applique et du code utilisé pour vérifier le mot de passe.
Avant tout chose, il faut apprendre l'assembleur. Quelques connaissances sur l'API Win32 s'avèrent aussi nécessaires. Une fois qu'on connait un peu l'assembleur et le Win32, on comprend rapidement comment exploiter ces connaissances pour esquiver une validation de mot de passe.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 2 févr. 2009 à 15:30
Bin non. Ce n'est pas écrire du code, c'est lire le code de quelqu'un d'autre qui ne te l'a pas fourni. Mais même s'il ne te donne pas son code, tu peux toujours (Ou presque) récupérer le "source" assembleur.
Source C -> .exe -> assembleur -> .exe modifié
Première traduction réalisée par un compilo, deuxième traduction réalisée par un désassembleur, troisième traduction réalisée par un assembleur.
dyroj
Messages postés123Date d'inscriptionvendredi 14 novembre 2008StatutMembreDernière intervention18 juin 2012 2 févr. 2009 à 14:19
je te remerci vraiment pour ta reponce,
j'avai pencer a sa mais je ne savai pas qu'on pouvai le faire avec des fonction de windows.
quand tu dit "Un petit désassemblage peut s'avérer beaucoup plus intéressant."
sa veut dire koi. existe t'il dotre moyen plus efficasse pour casser un pass.
merci encor pour ta reponce++
Vous n’avez pas trouvé la réponse que vous recherchez ?