Est-ce qu'il y a un moyen de forcer un jump short à dedveir un jump near ou far ?
(sur masm de préférence)
Est-ce qu'il y a un moyen de forcer un jump short à dedveir un jump near ou far ?
(sur masm de préférence)
Oui oui il y a moyen !!!
J'ai pas ma doc sous les yeux, mais je penses que tu peux la retrouver sur Internet.
Il te suffit en fait de "forcer l'instruction".
J'ai un exemple en tête : lorsque l'on écrit
On peut également écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part int 21h
Il te suffit donc de retrouver la manière dont s'écrit en langage machine un jump (suivant qu'il soit near, short ou far c'est pas le même langage machine)
Code : Sélectionner tout - Visualiser dans une fenêtre à part DB 0CDh,21h
Woala j'espère avoit été compréhensible dans ce bout d'explication
ça devrait pouvoir se faire
il faut connaitre les opcodes du jmp, d'après la donc intel :
EBh pour un short
E9h pour un near
EAh pour un far
il faut penser a mettre 3-4 nop après quans tu coderas le short.
il suffira je pense juste de modifier l'opcode et de mettre l'adresse après
D'après ce que j'ai compris, Blustuff veut seulement forcer le compilateur à écrire un jump near ou far. Pas besoin de NOP, donc.Envoyé par Guru_Meditation
Oui mais attention cependant ! Les sauts SHORT et NEAR fonctionnent par distances signées entre le point de départ et le point d'arrivée, tandis que les sauts FAR utilisent un adressage SEGMENT:OFFSET.il suffira je pense juste de modifier l'opcode et de mettre l'adresse après
merci bien, ca suffira, simplement, en pratique je met quoi ?
je le remplacec par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part JMP labelpasloin
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 db E9h dd labelpasloin - ici ici:
(oubliez le jump far, ca n'a aucun interet, enfin pas pour moi)
Ben oui, c'est correct, mise à part l'écriture E9h qui se note en fait 0E9h. Mais je vois pas pourquoi tu veux forcer un jump near puisque de toute façon le compilateur ne met des jump short que si on le spécifie (en tout cas TASM).
sur MASM c pas toujorus comme ca, et c parce que j'utilise une structure particulière pour l'optimisation, et j'ai besoin de compter les octets des instrructions, donc j'ai besoin d'etrre sur de la taille de mes instructions
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager