0
일부 쉘 코드가있는 쉘을 생성하려고합니다. 페이로드는 프로그램 자체에 있지만, 프로그램을 개별적으로 실행하면 세그먼트 오류가 발생하지만 gdb에서 실행하면 쉘이 열립니다. 누군가가 문제의 원인을 지적 할 수 있습니까?gdb에서 실행되지만 gdb에서 실행되지 않습니다.
[email protected]:~/folder$ ./a.out h h
Segmentation fault (core dumped)
[email protected]:~/folder$ gdb -q a.out
Reading symbols from /home/folder/a.out...done.
(gdb) run h h
Starting program: /home/folder/a.out h h
process 22119 is executing new program: /bin/dash
$
$
나는 한번 같은 Heisenbug했다. 힙 손상으로 인해 정의되지 않은 동작입니다. 재현이 가능하다는 사실에 감사드립니다. 코드를 [minimal complete example] (http://www.sscce.org)로 좁히고 게시하여 버그를 발견하도록하겠습니다. – Beta