{"id":29211964,"url":"https://github.com/radareorg/r4ghidra","last_synced_at":"2025-07-02T22:06:26.900Z","repository":{"id":54301014,"uuid":"174108824","full_name":"radareorg/r4ghidra","owner":"radareorg","description":"Ghidra plugin to communicate with radare2","archived":false,"fork":false,"pushed_at":"2025-07-01T17:03:42.000Z","size":518,"stargazers_count":51,"open_issues_count":3,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-07-01T18:21:54.485Z","etag":null,"topics":["decompiler","ghidra","integration","plugin","radare2"],"latest_commit_sha":null,"homepage":"https://rada.re","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radareorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":"radareorg","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-03-06T08:58:32.000Z","updated_at":"2025-07-01T17:03:46.000Z","dependencies_parsed_at":"2022-08-13T11:20:57.165Z","dependency_job_id":"8463fb15-a174-48a3-9d7c-ead7f0d408e8","html_url":"https://github.com/radareorg/r4ghidra","commit_stats":null,"previous_names":["radareorg/r4ghidra"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/radareorg/r4ghidra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radareorg%2Fr4ghidra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radareorg%2Fr4ghidra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radareorg%2Fr4ghidra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radareorg%2Fr4ghidra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radareorg","download_url":"https://codeload.github.com/radareorg/r4ghidra/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radareorg%2Fr4ghidra/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263025579,"owners_count":23401803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["decompiler","ghidra","integration","plugin","radare2"],"created_at":"2025-07-02T22:06:26.337Z","updated_at":"2025-07-02T22:06:26.881Z","avatar_url":"https://github.com/radareorg.png","language":"Java","funding_links":["https://opencollective.com/radareorg"],"categories":[],"sub_categories":[],"readme":"# r4ghidra\n\n[![Build Extension](https://github.com/radareorg/ghidra-r2web/actions/workflows/gradle.yml/badge.svg)](https://github.com/radareorg/ghidra-r2web/actions/workflows/gradle.yml)\n\nThis repository contains integration scripts to interop Ghidra and radare2.\n\nIt's just an Ghidra plugin that starts an http server to let r2 talk to it.\n\n## Features\n\n* Decompile current function\n* Load the decompiler output as comments\n* List functions found by Ghidra ('afl')\n* List symbols 'is' from Ghidra bin parser\n* Import comments from Ghidra into r2\n* Read/Write ghidra's session remote memory contents\n\n## Usage\n\n* Install Ghidra using r2pm or downloading it from the web\n\n```bash\n$ r2pm -i ghidra\n```\n\n* Symlink the R4GhidraScript.java into the ghidra plugins directory\n\n```bash\n$ make install\n````\n\n* Start ghidra and doubleclick the script to get the http server\n\n```bash\n$ r2pm -r ghidraRun\n```\n\n* Attach r2 to the ghidra session\n\n```bash\n$ r2 r2web://localhost:8002/cmd\n```\n\n* Run commands into the ghidra server from r2 or the shell\n\n\t* :pdd\n\t* !curl http://localhost:8002/cmd/p8%2080\n\n## Sample session\n\n```bash\n$ r2 r2web://localhost:9191/cmd\n[0x00000000]\u003e :?\nUsage: [ghidra-r2web-command .. args]\n?             - show this help message\n?V            - show Ghidra Version information\n?p [vaddr]    - get physical address for given virtual address\nf [name]      - set flag to the current offset inside ghidra (label)\ni             - show program information (arch/bits/hash..)\n/ [string]    - search for given string (which may contain \\x hex)\ns ([addr])    - check or set current seek address\nb ([bsize])   - get or set blocksize\nCC [comment]  - add or replace comment in current offset\nCs            - define a string in the current address\nCd            - define a dword in the current address\naa            - analyze all the program\naf            - analyze function in current address\nafi           - get current function information\nafl           - list all functions analyzed by Ghidra\npx            - print Hexdump\npdd           - print decompilation of current function\npdd*          - decompile current function as comments for r2\nq             - quit the ghidra-r2web script\n[0x00000000]\u003e \\?V\n9.0.4\n[0x00000000]\u003e\n```\n\n--pancake\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradareorg%2Fr4ghidra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradareorg%2Fr4ghidra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradareorg%2Fr4ghidra/lists"}