This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/15977] New: gdb anti-debug - internal-error: generic_elf_osabi_sniff_abi_tag_sections: unknown OS number


http://sourceware.org/bugzilla/show_bug.cgi?id=15977

            Bug ID: 15977
           Summary: gdb anti-debug - internal-error:
                    generic_elf_osabi_sniff_abi_tag_sections: unknown OS
                    number
           Product: gdb
           Version: 7.6
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gdb
          Assignee: unassigned at sourceware dot org
          Reporter: pawel.wylecial at gmail dot com

Created attachment 7216
  --> http://sourceware.org/bugzilla/attachment.cgi?id=7216&action=edit
original and trigger files

1) Description

When the OS type byte gets changed to an non-existant value gdb is unable to
process the binary and ask for core dump. This value sits at 0x178 offset in
the test file that i included.
- 'original' file is a simple hello world program compiled on a 32bit Ubuntu
machine using gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1)
~ file /home/pawel/original 
/home/pawel/original: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.24,
BuildID[sha1]=0x2b0679c4f1952c96ceb4907e544bfd59fa4275a9, not stripped
- 'trigger' file has the value changed to 0xff and results with a following
behaviour:
file /home/pawel/trigger
/home/pawel/trigger: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/<unknown> 2.6.24,
BuildID[sha1]=0x2b0679c4f1952c96ceb4907e544bfd59fa4275a9, not stripped

$ ./gdb/gdb -q /home/pawel/trigger
osabi.c:476: internal-error: generic_elf_osabi_sniff_abi_tag_sections: unknown
OS number 255
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y

osabi.c:476: internal-error: generic_elf_osabi_sniff_abi_tag_sections: unknown
OS number 255
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n)

Tested on:
$ ./gdb/gdb --version
GNU gdb (GDB) 7.6.1

Not sure if this will be considered as a bug. But users aware of this behaviour
may use it as some sort of anti-debugging technique (ofcourse if someone is
aware of it its quite easy to patch, its just one byte)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]