J'ai besoin de savoir comment je retire le null (00) du code machine. J'ai écrit le code en langage d'assemblage. Il fonctionne avec succès. J'ai besoin de la sortie sans NULLComment faire pour supprimer NULL (00) de code machine?
.data
Bash:
.asciz "/bin/hostname"
Null1:
.int 0
AddrToBash:
.int 0
NULL2:
.int 0
.text
.globl _start
_start:
#execute routine
xor %eax,%eax
movl $Bash, AddrToBash
movl $11,%eax
movl $Bash,%ebx
movl $AddrToBash,%ecx
movl $NULL2,%edx
int $0x80
#exit routine
Exit:
movl $10,%ebx
movl $1,%eax
int $0x80
La sortie suivante est
4000b0: 31 c0 xor %eax,%eax
4000b2: c7 04 25 f2 00 60 00 movl $0x6000e0,0x6000f2
4000b9: e0 00 60 00
4000bd: b8 0b 00 00 00 mov $0xb,%eax
4000c2: bb e0 00 60 00 mov $0x6000e0,%ebx
4000c7: b9 f2 00 60 00 mov $0x6000f2,%ecx
4000cc: ba f6 00 60 00 mov $0x6000f6,%edx
4000d1: cd 80 int $0x80
00000000004000d3 <Exit>:
4000d3: bb 0a 00 00 00 mov $0xa,%ebx
4000d8: b8 01 00 00 00 mov $0x1,%eax
4000dd: cd 80 int $0x80
comment enlever 00, je ne l'a changé comme eax
à al
, bx
à bl blahahahahahaha ...... mais ne fonctionne pas quelqu'un peut-il le modifier .......
Veuillez corriger la démarque de votre publication. –
Je ne comprendrai jamais pourquoi les gens trouvent qu'il est si difficile de cliquer sur le bouton magique "code de format". Ou même pourquoi les gens ne * regardent pas l'aperçu * et réalisent que la moitié de leur code ** n'est même pas affichée à cause d'un mauvais formatage **. Si vous ne pouvez pas prendre la peine de regarder votre ** propre ** question, pourquoi vous attendez-vous à ce que quelqu'un d'autre le lise? – jalf
Et que voulez-vous dire "sans nul"? Quel null voulez-vous supprimer, et * pourquoi *? – jalf