Giter Site home page Giter Site logo

Comments (2)

longld avatar longld commented on July 25, 2024

peda sets disassembly-flavor to intel by default for instruction parsing and will not support GAS syntax.

from peda.

danielhenrymantilla avatar danielhenrymantilla commented on July 25, 2024

@longld Actually you happen to support both syntaxes. For intance,
both-syntaxes-are-well-parsed
That shouldn't come as a surprise, since when looking at your code, you look for "cmp","test", "call", "j" and "ret" to be substrings of the opcodes mnemonics:
image

# lib/utils.py, in function format_disasm_code
# line 526
addr, opcode = to_int(m.group(1)), m.group(2)
            for c in colorcodes:
                if c in opcode:
                    color = colorcodes[c]
                    if c == "call":
                        for f in VULN_FUNCTIONS:
                            if f in line.split(":\t", 1)[-1]:
                                style = "bold, underline"
                                color = "red"
                                break
                    break

It so happens that both AT&T's (GAS) syntax and Intel's use the same opcodes mnemonics, at least at their core. Your "is a substring of" test means you maintain compatiblity regarding both syntaxes, which won't evolve in the future by the way.

Ergo, you do support both syntaxes with your parsing, and should therefore not favour one syntax over another.

The suggested fix, as said in my initial post, is to delete the line 777 from peda.py:

self.execute("set disassembly-flavor intel") # get rid of this line

I have commented out this line in my code and haven't encountered any problem whatsoever.

from peda.

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.