Я изучаю реверс-инжиниринг. Я пытаюсь скомпилировать код для просмотра на ассемблере для лучшего понимания. Как я могу отключить любую дополнительную (избыточную) информацию в коде ассемблера? Я хочу оставить только чистый ассемблерный код
текущая команда (windows) gcc -S .\test.c -masm=intel -O0
вывод:
.file "test.c"
.intel_syntax noprefix
.text
.def __main; .scl 2; .type 32; .endef
.globl main
.def main; .scl 2; .type 32; .endef
.seh_proc main
main:
push rbp
.seh_pushreg rbp
mov rbp, rsp
.seh_setframe rbp, 0
sub rsp, 32
.seh_stackalloc 32
.seh_endprologue
call __main
nop
add rsp, 32
pop rbp
ret
.seh_endproc
.ident "GCC: (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0"
Этот вывод выдает информацию избыточности. Например, я могу удалить .file "test.c"
, это ни на что не влияет.
Источник:
void main() {
}