Giter Site home page Giter Site logo

Comments (5)

OBarronCS avatar OBarronCS commented on May 18, 2024 1

In the backend, Pwndbg gets the symbol by running the GDB command info symbol ADDRESS.

# This sucks, but there's not a GDB API for this.
# Workaround for a bug with Rust language, see #2094
try:
result = gdb.execute(f"info symbol 0x{address:x}", to_string=True, from_tty=False)
except gdb.error:
return ""

image

Very interestingly, looks like GDB is incorrectly resolving the address in this case.

image

from pwndbg.

k4lizen avatar k4lizen commented on May 18, 2024

I can submit a bug report upstream (to gdb).
Maybe pwndbg should include a sanity check anyways?

from pwndbg.

k4lizen avatar k4lizen commented on May 18, 2024

I submitted it to gdb here: https://sourceware.org/bugzilla/show_bug.cgi?id=31669

from pwndbg.

OBarronCS avatar OBarronCS commented on May 18, 2024

In case this becomes a very common occurrence, we could think of a sanity check (for example, we know __dso_handle is just a pointer). At the end of the day, we rely on the APIs that GDB exposes, and in the case of symbols we would need some outside information to fix this.

image
image

from pwndbg.

disconnect3d avatar disconnect3d commented on May 18, 2024

I have added some more comments in https://sourceware.org/bugzilla/show_bug.cgi?id=31669

We can probably hack around this behavior in Pwndbg by ... parsing the symbol returned from info symbol and returning no symbol if there is "+"? But idk, maybe this is not desirable?

from pwndbg.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.