История изменений
Исправление alman, (текущая версия) :
Нет нет. Я не предлагаю дизассемблировать бинарный код x86.
$ cat tst.c
int main() {
puts("Hello world");
return 0;
}
$ gcc -S tst.c
.file "tst.c"
.section .rodata
.LC0:
.string "Hello world"
.text
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
subl $4, %esp
movl $.LC0, (%esp)
call puts
movl $0, %eax
addl $4, %esp
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.ident "GCC: (Debian 4.3.2-1.1) 4.3.2"
.section .note.GNU-stack,"",@progbits
Вот этот текст можно перегнать в текст для макроассемблера «Эверест». По крайней мере теоретически такая возможность есть. Кстати, флаги совпадают почти полностью.
Исправление alman, :
Нет нет. Я не предлагаю дизассемблировать бинарный код x86.
$ cat tst.c
int main() {
puts("Hello world");
return 0;
}
$ gcc -S tst.c
.file "t.c"
.section .rodata
.LC0:
.string "Hello world"
.text
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
subl $4, %esp
movl $.LC0, (%esp)
call puts
movl $0, %eax
addl $4, %esp
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.ident "GCC: (Debian 4.3.2-1.1) 4.3.2"
.section .note.GNU-stack,"",@progbits
Вот этот текст можно перегнать в текст для макроассемблера «Эверест». По крайней мере теоретически такая возможность есть. Кстати, флаги совпадают почти полностью.
Исправление alman, :
Нет нет. Я не предлагаю дизассемблировать бинарный код x86.
$ cat tst.c
int main() {
puts("Hello world");
return 0;
}
$ gcc -S tst.c
.file "t.c"
.section .rodata
.LC0:
.string "Hello world"
.text
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
subl $4, %esp
movl $.LC0, (%esp)
call puts
movl $0, %eax
addl $4, %esp
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.ident "GCC: (Debian 4.3.2-1.1) 4.3.2"
.section .note.GNU-stack,"",@progbits
Вот этот текст можно перегнать в текст для макроассемблера «Эверест». По крайней мере теоретически такая возможность есть.
Исходная версия alman, :
Нет нет. Я не предлагаю дизассемблировать бинарный код x86.
$ cat tst.c
int main() {
puts("Hello world");
return 0;
}
$ gcc -S tst.c
.file "t.c"
.section .rodata
.LC0:
.string "Hello world"
.text
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
pushl %ebp
movl %esp, %ebp
pushl %ecx
subl $4, %esp
movl $.LC0, (%esp)
call puts
movl $0, %eax
addl $4, %esp
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.ident "GCC: (Debian 4.3.2-1.1) 4.3.2"
.section .note.GNU-stack,"",@progbits
Вот этот текст можно перегнать в текст для макроассемблера «Эверест».