Kompiluję prosty kod poniżej i uruchamiam go w gdb. Ustawić punkt przerwania na strcpy linii, tak szybko, jak go uruchomić na wejście na przykład ABC, a następnie naciśnij s, pojawia się następujący błąd:strcpy-sse2-unaligned.S nie znaleziono
Breakpoint 1, main (argc=2, argv=0x7fffffffdd98) at ExploitMe.c:9
9 strcpy(buffer, argv[1]);
(gdb) s
__strcpy_sse2_unaligned() at ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:48
48 ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: No such file or directory.
używam Ubuntu 12.04 amd64 oraz gcc 2.15 . Dowolny pomysł?
main(int argc, char *argv[]) {
char buffer[80];
strcpy(buffer, argv[1]);
return 0;
}
To nie jest błąd - gdb nie może znaleźć pliku źródłowego dla implementacji 'strcpy', ale nadal będzie wyświetlał zdemontowany kod. –
tak, zauważyłem to, ale dlaczego? i jakikolwiek pomysł, jak go rozwiązać? – Afshin
Nie wiem, dlaczego został wycofany ... – Mehrdad