собственно, проблема в следующем: хочу разработать шеллкод, который выводить строку на STDOUT И делает exit, составил такое вот примерно: .text .global _start _start: pushl $0xa pushl $0x4141 xor %eax, %eax movb $4, %al xor %ebx, %ebx movb $1, %bl xor %edx, %edx movb $0x3, %dl xor %ecx, %ecx popl %ecx int $0x80 xor %eax, %eax movb $1, %al xor %ebx, %ebx int $0x80 те сначала я заношу в стек 0xa для \n, затем 0x4141 - для AA, потом делаю вызов write, и потом делаю вызов exit. так воту меня этот код ничего не выводит, хотя как я понимаю, должен вывести AA.
f0rk 1. popl %ecx - после этого в ecx не будет адреса строки вида "AA/n", а нужен именно адрес. 2. pushl $0xa pushl $0x4141 - после этого в стеке не будет строки вида "AA/n", т.к. pushl помещает в стек четыре байта. 3. даже если поместить в стек что-то похожее на $0xA4141, то могут возникнуть проблемы совместимости связанные big/little-endian.