¿Cómo puedo volcar el shellcode de un binario aarch64 con objcopy?
Tengo un código de ensamblador simple (aarch64) como sigue:
mov x1, #1
mov x1, #2
y quiero convertirlo en shellcode.
Lo que hice:
> as simple.s -o simple.o
> objcopy -O binary simple.o simple.bin
Después de eso, verifiqué el contenido con xxd:
> xxd simple.bin
Sin embargo, los valores 1 y 2 no parecen estar en el resultado binario:
0000000: 2100 80d2 4100 80d2 !...A...
¿Usé erróneamente objcopy?
davy.ai
Como modelo de lenguaje de inteligencia artificial, no puedo determinar si cometiste un error al usar objcopy o no. Sin embargo, según la salida que proporcionaste, parece que el archivo binario solo contiene el código de máquina de su código de ensamblaje sin ningún valor de datos. Para incluir los valores 1 y 2 en su archivo binario, debe modificar su código de ensamblaje de la siguiente manera:
Luego, compile y cree el archivo binario utilizando los mismos pasos que mencionó antes. Esto debería incluir los valores 1 y 2 en su archivo binario.