Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Besion info importante assembleur/desassembleur [ Archives / Autres asm ] (PatSW)

vendredi 23 juillet 2004 à 21:02:24 | Besion info importante assembleur/desassembleur

PatSW

Bonjour,

je suis présentement en train de modifier un fichier execute que jai décompiler avec W32Dasm et toute mes modifications jusqu'a présent sont parfaite mais je bloc sur une seul et derniere chose.

J'ai changer une "procedure" de place mais je ne sais pas comment réécrire les JMP CALL ect;

voici la "procedure"

:004547A7 A114AE6E00 mov eax, dword ptr [006EAE14]
:004547AC 8B8C30CC010000 mov ecx, dword ptr [eax+esi+000001CC] ECX = total gold
:004547B3 85C9 test ecx, ecx
:004547B5 7405 je 004547BC
:004547B7 E806E1FFFF call 004528C2
:004547BC E944680000 jmp 0045B005

je doit mettre cette procedure a loffset :00409428

comment faire pour modifier le "jmp 0045B005" par exemple qui se retrouvera a :004547CF

en gros je voudrai savoir commen recalculer la valeur hexadecimal;
je sais que E9 veu dire "jmp" mais je ne sais pas comment est calculer ladresse :004547BC E944680000
E9 = jmp
4680000 = 0045B005 -> comment sa fait ici?

merci de votre aide!




The Universal ßð¥

vendredi 23 juillet 2004 à 23:15:23 | Re : Besion info importante assembleur/desassembleur

ToutEnMasm

Réponse acceptée !
Salut,
D'habitude on trouve une adresse relative,c'est a dire :
on part de l'adresse du jmp 004547BC , on prend l'adresse d'arrivée 00409428 ,on fait une soustraction ou une addition en prétant attention au fait que le déplacement peut être négatif ou positif.
Pour y voir plus clair ,prendre l'exemple non modifié:
004547BC E944680000 jmp 0045B005
soustraire 4547BC de 0045B005,si l'opération es bonne on retrouve les chiffres suivants de l'instruction 4468 sinon faire l'inverse.
Pour des informations plus pointues sur les instructions voir le livre deux d'intel

ToutEnMasm

lundi 26 juillet 2004 à 18:32:50 | Merci!

PatSW

J'avais déja trouver une solution:

dans win32dasm, si on fait debug et ensuite patch code,
le code asm est retranscrit avec le code hexadecimal.

Cela ma permis de continuer mes modifs mais sans comprendre vraiment pourquoi, mais grace a ta reponse je comprend, ce qui me permet dans savoir plus sur l'asm, code que j'aimerais bien maîtriser!

Merci de ton aide!

The Universal ßð¥

mercredi 28 juillet 2004 à 16:07:37 | Re : Besion info importante assembleur/desassembleur

patatalo

Membre Club Administrateur CodeS-SourceS

salut,

c pratiquement exacte sauf qu'il faut prendre l'adresse de l'instruction suivante du jmp.

exemple Masm:

@@:
jmp @B te donne le code 0EBh,0FEh

EBh c le code jmp +/- byte
FEh etant le déplacement. ( -2 et pas 0 )

@++



Cette discussion est classé dans : procedure, jmp, ecx, 004547bc, 0045b005


Répondre à ce message

Sujets en rapport avec ce message

probleme de comprehension de jmp:( [ par SVKMrNice ] yop le monde alors voila je suis debutant en asm... de temps en temps je regarde des progs en asm pour essayer de comprendre les techniques... mais vo Delphi (6) + ASM en ligne ... Problème !!! [ par Robbby ] Voici un problème concernant un programme tres simple utilisant l'Assembleur en ligne sousDelphi 6.Dans l'exemple n°1, "gogo" et "toto" sont incrément Pb registre DL [ par AlexMAN ] Bonjour, J'ai un ptit pb avec le code qui suit, au nivo du mov dl, [ecx] ://Renvoie pointeur sur fin de chaine (permet d'eviter l'utilisation de strca optimisation [ par sajid_morad ] salut tout le monde , j ai une parti du code en c++, que j ai voulu optimiser , le l ai reécri en asm , mai ça donne pas grand chose, si quelqu un po Sous-procedure externe en Assembleur ? [ par cbil ] débutant en c/c++, flash et asm- Me contacterBonjour à tous,J'utilise TASM et j'aimerais faire une sous procedure externe.J'ai tester un exemple, (je Conversion [ par noel70 ] Bonjour a tous.Voila le programme sous Masm32, et sous Masm32, il existe une procedure pour convertir des valeurs numeriques en des valeurs ascii, et erreur dans le boot + kernel [ par hudson ] Bonjour, voilà j'ai essayer de suivre le tut de inferno sur les OS et donc le boot sur la disquette est ok ! mais dès que je veux mettre un kernel il exécution de shellcodes ---> jmp esp [ par morganitos ] Bonjour à tous.Pour exploiter un buffer overflow, il faut déborder sur l'adresse de retour située dans la pile, et stocké ensuite le shellcodeIl faut les tableaux dans masm32 [ par cricri_b34 ] salut, j'ai une procedure en delphi que jveux traduire en assembleur, mais la, ma procedure utilise un tableau pour enregistrer des informations.donc Programme en assembleur un peu tordu.... [ par linuxux ] Bonjour, Voilà un petit programme pour un exo qui me semble un peu tordu. Les questions sont tout d'abord que fait ce programme (pour moi il tou


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.