Giter Site home page Giter Site logo

gotools's People

Contributors

felberj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gotools's Issues

Doesn't work with Ghidra 9.1

Hi! This extension seems extremely useful but I cannot install it

Step

Start Ghidra, File > Install Extensions, check the box next to gotools

cannot be completed because extension is in red
image

Is it possible to make it compatible with 9.1 version?

Errors creating symbol names on import of binary

Error creating symbol: type.struct {} - Symbol name contains invalid characters: type.struct {}
Error creating symbol: go.(*struct { sync.Mutex; reflect.m sync.Map }).Unlock - Symbol name contains invalid characters: go.(*struct { sync.Mutex; reflect.m sync.Map }).Unlock

gotools needs to be updated for compatibility with the debugger in the newest version of Ghidra

Describe the bug
The newest version of Ghidra, 10.0.1, operates with a debugger. Ghidra fails to update registers upon state change with the current version of gotools.

Go version: go1.16.6
Target os: Linux
Ghidra version: 10.0.1

To Reproduce
Steps to reproduce the behavior:

  1. Unzip ghidra_9.1.2_PUBLIC_20200521_gotools.zip
  2. Update version number to 10.0.1 in extension.properties
  3. Re-zip
  4. Move zip file to $GHIDRA_DIR/Extensions/Ghidra
  5. Open Ghidra and install extension
  6. Load a Go binary into debugger
  7. Debug locally in GDB in VM
  8. Set breakpoint anywhere
  9. Click Resume
  10. The error "Trouble updating registers on state change" appears in Debug Console

Minimal source to reproduce

//none

Expected behavior
When I run the Go binary, I expect the register values to populate in the Registers tab, accessible when I click "Display Decompiler". Instead, no register updates, and each remain set to 0.

Additional context
N/A

Support for other popular platforms

Would it be possible to support Go binaries for other common GOOS / GOARCH combinations?

  • darwin/amd64
  • darwin/arm64
  • linux/386
  • linux/amd64
  • linux/arm
  • linux/arm64
  • windows/386
  • windows/amd64
  • windows/arm

I'd be happy to help add support for other Go binaries.

How complete is the current linux amd64 implementation for this project?

No assignment of return value

Describe the bug

Ghidra does not use the the return value of a function

Go version: 1.12
Target os: Linux
Ghidra version: 9.0.4

To Reproduce

  1. Load binary (testdata functions.go)
  2. Analyze binary
  3. see that main.main does not assign the return values

Minimal source to reproduce

(testdata functions.go)

Additional context

NationalSecurityAgency/ghidra#692

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.