Accueil > Forum > > > > Un peu d'aide svp
Un peu d'aide svp
lundi 8 août 2005 à 21:48:12 |
Un peu d'aide svp

sic_clash
|
Bien voila,
je m'interesse a l'asm depuis peu, et pour cela j'etudie des scripts pour tenter d'assimiler les sctructures syntaxes et deroulement.
Mais n'ayant pas trouvé de reponses dans les tutos, explications d'instructions et autres recherches, je poste ici en esperant de l'aide
voici donc mon probleme :
MOVZX EAX,BYTE PTR SS:[EBP-28]
CMP AL,BYTE PTR SS:[EBP-18]
JNZ SHORT hjerdfgi.00401329
Je ne comprends pas l'instruction MOVZX utilisé ici ni le rapprochement entre EBP-28 et EBP-18 .
je vous pris de bien vouloir pardonner mon ignorance et m'escuse si ce poste vous semble mal placé .
|
|
lundi 8 août 2005 à 22:15:18 |
Re : Un peu d'aide svp

BruNews
|
movzx remplit l'octet bas de EAX donc AL et met les 3 octets hauts de EAX à ZERO. Pour le reste, ben ça dépend de ce que doit faire ce prog.
ciao... BruNews, MVP VC++
|
|
lundi 8 août 2005 à 22:34:37 |
Re : Un peu d'aide svp

sic_clash
|
merci bien de ta reponse, enfete c'est un programme "password" une sorte de crack-me enfin voici ce qu'il se passe apres la saisi du code :
MOVZX EAX,BYTE PTR SS:[EBP-28]
CMP AL,BYTE PTR SS:[EBP-18]
JNZ SHORT hjerdfgi.00401329
MOVZX EAX,BYTE PTR SS:[EBP-27]
CMP AL,BYTE PTR SS:[EBP-17]
JNZ SHORT hjerdfgi.00401329
MOVZX EAX,BYTE PTR SS:[EBP-26]
CMP AL,BYTE PTR SS:[EBP-16]
JNZ SHORT hjerdfgi.00401329
MOVZX EAX,BYTE PTR SS:[EBP-25]
CMP AL,BYTE PTR SS:[EBP-15]
JNZ SHORT hjerdfgi.00401329
MOV DWORD PTR SS:[ESP],hjerdfgi.00403034
CALL
CALL
MOV DWORD PTR SS:[EBP-2C],0
JMP SHORT hjerdfgi.00401341
MOV DWORD PTR SS:[ESP],hjerdfgi.0040305C
ca fait un bout de temps que je m'efforce de comprendre le stratageme ...
|
|
mardi 9 août 2005 à 10:25:35 |
Re : Un peu d'aide svp

Nasman
|
A priori le programme compare les 4 octets successifs placés en EBP-28
...EBP-25 avec ceux placés en EBP-18 ...EBP-15. Si un des octets ne
coïncide pas on va en hjerdfgi.00401329 (ce qui doit déclancher plus
tard un message du type "va te faire voir") sinon l'adresse
hjerdfgi.00403034 est mise au sommet de la pile en écrasant ce
qui s'y trouvait. Ne serait-ce pas l'adresse de retour d'un sous
programme (si le morceau de code en est un). Dans ce cas s'il y a un
ret en fin du sous programme, le retour ne se fera pas à l'endroit
escompté mais à l'adresse hjerdfgi.00403034. Je pense que le même
principe est employé avec l' instruction MOV DWORD PTR
SS:[ESP],hjerdfgi.0040305C.
Par hazard, est-ce que l'adresse hjerdfgi.00401329 ne correspondrait
pas avec l'instruction MOV DWORD PTR SS:[ESP],hjerdfgi.0040305C ?
|
|
mardi 9 août 2005 à 10:36:37 |
Re : Un peu d'aide svp

sic_clash
|
Encors merci pour tes explications j'y vois plus clair maintenent, et en effet cette addresse correspond avec l'instruction MOV DWORD PTR SS:[ESP],hjerdfgi.0040305C :)
|
|
jeudi 11 août 2005 à 12:14:33 |
Re : Un peu d'aide svp

sic_clash
|
escusez moi encors pour mes questions mais je ne comprends toujours pas ce qu'est enfete EBP-18 ...
|
|
jeudi 11 août 2005 à 13:27:35 |
Re : Un peu d'aide svp

Nasman
|
esp est un pointeur qui désigne le sommet de la pile, [esp] est la
valeur de l'octet se trouvant à cet emplacement [esp+1] designe l'octet
suivant. Après un call [esp],[esp+1],[esp+2],[esp+3] contient le valeur
de retour (l'emplacement de l'instruction qui suit le call). Si dans le
sous programme tu effectue un push eax, esp est décrémenté de 4 (la
pile marque à l'envers) et l'adresse de retour se trouvera dans
[esp+4]--[esp+7]
ebp est un autre pointeur de pile qui n'est pas affecté par les push
(et pop). Il peut être plus commode de calculer les adresses à partir
de ce pointeur. Dans le cas précédent si tu fais
Call sousprogramme
;sousprogramme
mov ebp,esp ;esp pointe sur la valeur de eip qui suit l'appel du call
push eax ;décrémente esp de 4
[ebp] représente toujours eip
[esp] représente eax
Donc [ebp-18] correspond à la valeur située 18 octets avant ce que pointe ebp
Si tu avais fait
push eax
mov ebp,esp ;ebp pointe sur eax
push ebx ;esp pointe sur ebx (esp:=ebp-4)
push ecx ;esp pointe sur ecx (esp:=ebp-8)
push edx ;esp pointe sur edx (esp:=ebp-12)
push esi ;esp pointe sur esi (esp:=ebp-16)
push ax ;esp pointe sur ax (esp:=ebp-18)
Pour retrouver la valeur de eax sauvegardée tu peux faire:
mov eax,[esp+18] ;difficulté de ce baser sur un index mouvant
mov eax,[ebp] ;n'est ce pas plus simple ?
Ce n'est pas très compliqué mais il fait faire bien attention au nombre d'octets empilés
|
|
jeudi 11 août 2005 à 13:40:51 |
Re : Un peu d'aide svp

BruNews
|
mov eax,[esp+18] ERREUR de frappe, toujours sur un multiple de 4 en system 32 bits, chaque PUSH empile 4 octets.
ciao... BruNews, MVP VC++
|
|
jeudi 11 août 2005 à 13:58:40 |
Re : Un peu d'aide svp

Nasman
|
L'instruction push ax empile également 4 octets ?
|
|
jeudi 11 août 2005 à 14:11:15 |
Re : Un peu d'aide svp

BruNews
|
sur system 32 bits et prog 32, toujours 4 octets, éviter aussi cette écriture, 'push eax' et masque les 16 bits haut au besoin.
ciao... BruNews, MVP VC++
|
|
Cette discussion est classée dans : aide, poste, ici, ebp, movzx
Répondre à ce message
Sujets en rapport avec ce message
Aide chaine de caracteres, nasm sous dos [ par Juke ]
quelqu'un peut t'il m'aider pour un truc tout con.Comment faire pour demander à l'utilisateur de saisir une chaine, et de lui reafficher ?j'ai des tut
demande d'aide pour (débutant) [ par TRAX44 ]
salut,je débute, et ne c pas encor kel assembleur je dois utiliser : kel sont les différences entre masm tasm nasm. Pour le language d'après ce que g
besoin d'aide [ par huhude ]
bonjour je voudraisde laide :)j voudrais pouvoir mettre licone ke je veux pour ma fenetrepar exempleinvoke LoadIcon,NULL,IDI_MONICONEmais je c po com
aide pour faire jeux 3d [ par ghyslain ]
nous somme en train de faire un jeu 3d de dragon ball z sur pc.sa ne peux que etre une bonne experience.pour nous aider nous avons besoin de:_programm
besoin d'aide [ par assm ]
j'ai besoin d'un programme qui simule le fonctionnement d'une calculatrice ça veut dire :l'evaluation de l'expression "12+8*7-2+77"sera la suivante :1
Demande d'aide [ par jade ]
Bonjours J'aimerai aprendre à programmer avec le langage assembleur et je veus allez pas à pas .Merci de votre collaboration
Aide en Assembleur [ par vzz ]
Bonjour j'aimerai debuter l'assembleur mais je ne sait pas du tout quoi prendre pour le programmer parce que d'apres ce que j'ai compris il y a plusie
lecture octet par octet [ par manu18 ]
JeremJ'aurai besoin de votre aideJe programme sous Delphi et j'essaye de lire octet par octet un fichier avec la fonction "Read(F,value)"Malheureuseme
besoin d'aide tres urgent!!! [ par lefrans ]
voila mon probleme je recherche le code en PBP (pic basic pro) pour programer un pic 16f877 d'une calculatrice (simple)je dispose d'un clavier 4x4 et
besoin d'aide pour de l'assembleur sous simulateur [ par critchou ]
Bonjour, j'ai un programme à faire pour mercredi et je ne sais pas trop comment faire.Je dois écrire un texte (jusque là, ça va) et compter le nombre
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|