[HN Gopher] Show HN: Ghidra MCP Server - 110 tools for AI-assist...
___________________________________________________________________
Show HN: Ghidra MCP Server - 110 tools for AI-assisted reverse
engineering
Author : xerzes
Score : 261 points
Date : 2026-02-04 06:51 UTC (16 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| xerzes wrote:
| Hi HN,
|
| I built this because reverse engineering software across multiple
| versions is painful. You spend hours annotating functions in
| version 1.07, then version 1.08 drops and every address has
| shifted -- all your work invisible.
|
| The core idea is a normalized function hashing system. It hashes
| functions by their logical structure -- mnemonics, operand
| categories, control flow -- not raw bytes or absolute addresses.
| When a binary is recompiled or rebased, the same function
| produces the same hash. All your documentation (names, types,
| comments) transfers automatically.
|
| Beyond that, it's a full MCP bridge with 110 tools for Ghidra:
| decompilation, disassembly, cross-referencing, annotation, batch
| analysis, and headless/Docker deployment. It integrates with
| Claude, Claude Code, or any MCP-compliant client.
|
| For context, the most popular Ghidra MCP server (LaurieWired's,
| 7K+ stars) has about 15 tools. This started as a fork of that
| project but grew into 28,600 lines of substantially different
| code.
|
| Architecture: Java Ghidra Plugin (22K LOC) -
| embeds HTTP server inside Ghidra Python MCP Bridge (6.5K
| LOC) - 110 tools with batch optimization Any MCP client -
| Claude, scripts, CI pipelines
|
| I validated the hashing against Diablo II -- dozens of patch
| versions, each rebuilding DLLs at different base addresses. The
| hash registry holds 154K+ entries, and I can propagate 1,300+
| function annotations from one version to the next automatically.
|
| The headless mode runs in Docker (docker compose up) for batch
| processing and CI integration -- no GUI required.
|
| v2.0.0 adds localhost-only binding (security), configurable
| timeouts, label deletion tools, and .env-based configuration.
|
| Happy to discuss the hashing approach, MCP protocol design
| decisions, or how this fits into modern RE workflows.
| nunobrito wrote:
| Thank you for sharing, will soon try out. Does it support
| decompilation of android binaries?
| babas wrote:
| How does this compare to ReVa?
| https://github.com/cyberkaida/reverse-engineering-assistant
|
| I think your installation instructions are incomplete. I
| followed the instructions and installed via file -> install in
| the project view. Restarted. But GhidraMCP is not visible in
| Tools after opening a binary.
| skerit wrote:
| I've been using ReVa for a long time (even upstreamed some
| changes to it) and it works great.
| Retr0id wrote:
| What does your function-hashing system offer over ghidra's
| built in FunctionID, or the bindiff plugin[0]?
|
| [0] https://github.com/google/bindiff
| chc4 wrote:
| Or better yet, the built-in Version Tracker, which is
| designed for porting markup to newer versions of binaries
| with several different heuristic tools for correlating
| functions that are the same due to e.g. the same data or
| function xrefs, and not purely off of identical function
| hashes...
|
| Going off of _only_ FunctionID will either have a lot of
| false positives or false negatives, depending on if you
| compute them masking out operands or not. If you mask out
| operands, then it says that "*param_1 = 4" and "*param_1 =
| 123" are the same hash. If you don't mask out operands, then
| it says that nearly all functions are different because your
| call displacements have shifted due to different code layout.
| That's why the built-in Version Tracker tool uses hashes for
| only one of the heuristics, and has other correlation
| heuristics to apply as well in addition.
| sintax wrote:
| or Binary Ninja's WARP :
| https://docs.binary.ninja/guide/warp.html //
| https://github.com/vector35/warp
| gcormier wrote:
| Was hoping to kick the tires but seem to be spinning my wheels
| trying to get Ghidra to see the plugin. Is GH Discussions your
| preferred means of communications?
| bobbycrocodilo wrote:
| How does it compare to other Ghidra MCP servers?
|
| - pyghidra-mcp - ReVa - GhidrAssistMCP - GhydraMCP - etc...
| xnorswap wrote:
| Have you had any issues with models "refusing" to do reverse
| engineering work?
| MadnessASAP wrote:
| From my experience, OpenAI Codex loves reverse engineering
| work. In one case it did a very thorough job of disassembling a
| 8051 MCUs firmware and how it spoke to its attached LCD
| controller.
|
| Another (semi-related) project, given the manufacturers of
| above MCUs proprietary flashing SDK, it found the programmers
| firmware, extracted the decryption key from the updating
| utility, decrypted the firmware and accompanying flashing
| software and is currently tracing the necessary signals to use
| an Arduino as a programmer.
|
| So not only is it willing, it's actually quite good at it. My
| thinking is that reverse engineering is a lot of pattern
| recognition and not a lot of "original thinking". I.e. the
| agent doesn't need to come up with anything new, just recognise
| what already exists.
| ziml77 wrote:
| I've had no issues with Claude refusing the few times I've done
| it. But I also remember I phrased things in a sort of way to
| make sure it didn't sound shady.
|
| I suspect if I asked it to crack DRM or help me make a cheat
| for an online game, it would probably have refused. Or maybe it
| wouldn't have cared, I was just not interested in testing that
| and risking ending up banned from using Claude.
| jakozaur wrote:
| Funny coincidence, I'm working on a benchmark showcasing AI
| capabilities in binary analysis.
|
| Actually, AI has huge potential for superhuman capabilities in
| reverse engineering. This is an extremely tedious job with low
| productivity. Currently reserved, primarily when there is no
| other option (e.g., malware analysis). AI can make binary
| analysis go mainstream for proactive audits to secure against
| supply-chain attacks.
| DonHopkins wrote:
| Great point! Not just binary analysis, plus even self-analysis!
| (See skill-snitch analyze and snitch on itself below!)
|
| MOOLLM's Anthropic skill scanning and monitoring "skill-snitch"
| skill has superhuman capabilities in reviewing and reverse
| engineering and monitoring the behavior of untrusted Anthropic
| and MOOLLM skills, and is also great for debugging and
| optimizing skills.
|
| It composes with the "cursor-mirror" skill, which gives you
| full reflective access to all of Cursor's internal chat state,
| behavior, tool calls, parameters, prompts, thinking, file reads
| and writes, etc.
|
| That's but one example of how skills can compose, call each
| other, delegate from one to another, even recurse, iterate, and
| apply many (HUNDREDS) of skills in one llm completion call.
|
| https://news.ycombinator.com/item?id=46878126
|
| Leela MOOLLM Demo Transcript:
| https://github.com/SimHacker/moollm/blob/main/designs/LEELA-...
|
| I call this "speed of light" as opposed to "carrier pigeon". In
| my experiments I ran 33 game turns with 10 characters playing
| Fluxx -- dialogue, game mechanics, emotional reactions -- in a
| single context window and completion call. Try that with MCP
| and you're making hundreds of round-trips, each suffering from
| token quantization, noise, and cost. Skills can compose and
| iterate at the speed of light without any
| detokenization/tokenization cost and distortion, while MCP
| forces serialization and waiting for carrier pigeons.
|
| speed-of-light skill:
| https://github.com/SimHacker/moollm/tree/main/skills/speed-o...
|
| Skills also compose. MOOLLM's cursor-mirror skill introspects
| Cursor's internals via a sister Python script that reads
| cursor's chat history and sqlite databases -- tool calls,
| context assembly, thinking blocks, chat history. Everything,
| for all time, even after Cursor's chat has summarized and
| forgotten: it's still all there and searchable!
|
| cursor-mirror skill:
| https://github.com/SimHacker/moollm/tree/main/skills/cursor-...
|
| MOOLLM's skill-snitch skill composes with cursor-mirror for
| security monitoring of untrusted skills, also performance
| testing and optimization of trusted ones. Like Little Snitch
| watches your network, skill-snitch watches skill behavior --
| comparing declared tools and documentation against observed
| runtime behavior.
|
| skill-snitch skill:
| https://github.com/SimHacker/moollm/tree/main/skills/skill-s...
|
| You can even use skill-snitch like a virus scanner to review
| and monitor untrusted skills. I have more than 100 skills and
| had skill-snitch review each one including itself -- you can
| find them in the skill-snitch-report.md file of each skill in
| MOOLLM. Here is skill-snitch analyzing and reporting on itself,
| for example:
|
| skill-snitch's skill-snitch-report.md:
| https://github.com/SimHacker/moollm/blob/main/skills/skill-s...
|
| MOOLLM's thoughtful-commitment skill also composes with cursor-
| mirror to trace the reasoning behind git commits.
|
| thoughtful-commit skill:
| https://github.com/SimHacker/moollm/tree/main/skills/thought...
|
| MCP is still valuable for connecting to external systems. But
| for reasoning, simulation, and skills calling skills? In-
| context beats tool-call round-trips by orders of magnitude.
|
| More: Speed of Light -vs- Carrier Pigeon (an allegory for
| Skills -vs- MCP):
|
| https://github.com/SimHacker/moollm/blob/main/designs/SPEED-...
| TheGoddessInari wrote:
| Haven't dived deep into it yet, but dabbled in similar areas
| last year (trying to get various bits to reliably "run" in-
| context).
|
| My immediate thought was to want to apply it to the problem
| I've been having lately: could it be adapted to soothe the
| nightmare of bloated llm code environments where the model
| functionally forgets how to code/follow project guidelines &
| just wants to complete everything with insecure tutorial
| style pattern matching?
| rustyhancock wrote:
| Thank you for sharing this, it's a a huge amount of work and I
| now know how I'll be spending this weekend!
| wombat23 wrote:
| Super interesting.
|
| Last week-end I was exploring the current possibilities of
| automated Ghidra analysis with Codex. My first attempt derailed
| quickly, but after giving it the pyghidra documentation, it
| reliably wrote Python scripts that would alter data types etc.
| exactly how I wanted, but based on fixed rules.
|
| My next goal would be to incorporate LLM decisions into the
| process, e.g. let the LLM come up with a guess at a meaningful
| function name to make it easier to read, stuff like that. I made
| a skill for this functionality and let Codex plough through in
| agentic mode. I stopped it after a while as I was not sure what
| it was doing, and I didn't have more time to work on it since. I
| would need to do some sanity checks on the ones it has already
| renamed.
|
| Would be curious what workflows others have already devised? Is
| MCP the way to go?
|
| Is there a place where people discuss these things?
| longtermop wrote:
| Very cool project! The MCP surface area here (110 tools) is a
| great example of why tool-output validation is becoming critical.
|
| When an AI agent interacts with binary analysis tools, there are
| two injection vectors worth considering:
|
| 1. *Tool output injection* -- Malicious binaries could embed
| prompt injection in strings/comments that get passed back to the
| LLM via MCP responses
|
| 2. *Indirect prompt injection via analyzed code* -- Attackers
| could craft binaries where the decompiled output contains
| payloads designed to manipulate the agent
|
| For anyone building MCP servers that process untrusted content
| (like binaries, web pages, or user-generated data), filtering the
| tool output before it reaches the model is a real gap in most
| setups.
|
| (Working on this problem at Aeris PromptShield -- happy to share
| attack patterns we've seen if useful)
| JasonADrury wrote:
| I thought MCP interfaces with high amounts of tools perform much
| worse than MCP interfaces with fewer tools, this doesn't seem
| like a great design.
|
| This also seems to just be vibecoded garbage.
| lwroo wrote:
| True. Though vibecoded skill-based tools would perform much
| more efficiently than this.
| tonylucas wrote:
| Haven't looked at the app itself but the MCP tool problem is
| mainly solved now using lazy loading, it's far from perfect but
| the immediate context window overload problem is gone (in
| clients that support it anyway).
|
| Now just onto the fact that most MCP tools are just
| transforming API calls and their functionality and return data
| structures suck for LLM's....
| stared wrote:
| Interesting to see Ghidra here!
|
| A friend from work just used it (with Claude) to hack River Ride
| game (https://quesma.com/blog/ghidra-mcp-unlimited-lives/).
|
| Inspired by the, I have it a try as well. While I have no prior
| experience with reverse engineering, I ported an old game from
| PowerPC to Apple Silicon.
|
| First, including a few MCPs with Claude Code (including
| LaurieWired/GhidraMCP you forked from, and
| https://github.com/jtang613/GhidrAssistMCP). Yet, the agent
| fabricated as lot of code, instead for translating it from
| source.
|
| I ended up using headless mode directly in Cursor + GPT 5.2
| Codex. The results were the best.
|
| Once I get some time, will share a write-up.
| s-macke wrote:
| I've also been playing around with reverse engineering, and I'm
| very impressed. It turns out that Codex with GPT-5.2 is better
| at reverse engineering than Claude.
|
| For example, Codex can completely reverse-engineer this
| 1,300-line example [0] of a so-called C64-SID file within 30
| minutes, without any human interaction.
|
| I am working on a multi-agent system that can completely
| reverse-engineer C64 games. Old MS-DOS games are still too
| massive to analyze for my budget limit.
|
| [0]
| https://gist.github.com/s-macke/595982d46d6699b69e1f0e051e7b...
| skerit wrote:
| Oh, interesting. I started using the ReVa/Ghidra MCP server
| together with Claude since day 1 (Well, since Claude Sonnet
| 4.0 was released) and I saw Claude get better at it with
| every update. I've gotten pretty far in reverse engineering a
| game from the early 2000s (though I still have to do a lot of
| things manually, but this then also taught me A TON about
| Ghidra)
|
| I'm very interested in trying out Codex now.
| summarity wrote:
| Ive been using it (the original 15 tool version) for months now.
| It's amazing. Any app's inner workings are suddenly transparent.
| I can track down bugs. Get a deeper understanding of any tool,
| and even write plug-ins or preload shims that mod any app. It's
| like I finally actually _own_ the software I bought years ago.
|
| For objective C heavy code, I also use Hopper Disassembler (which
| now has a built in MCP server).
|
| Some related academic work (full recompilation with LLMs and
| Ghidra): https://dl.acm.org/doi/10.1145/3728958
| junon wrote:
| Talking about RE'ing applications and equating that to OSS is
| not a good look when you work at GitHub...
| derrida wrote:
| I have no idea about any of that but like I wasn't thinking
| of github until you mentioned it and this comment I upvoted
| because was informative and relevant to the discussion and I
| don't know about R.E but curious to try and this kind of
| activity just seems like the sort of things people who are
| interested in software, learning and aware of security do...
| like to find bugs or malware or something... FOSS or not -
| actually "especially if not FOSS" you'd kinda like people to
| scan their binaries at <big tech corp> and have that
| knowledge indigenous wouldn't you? while thinking of code
| security etc, anyway
|
| Is this a bad look for Derrida.org?
|
| Anyway, "not my business"
| summarity wrote:
| That's why I put it in quotes. In no way am I equating
| anything. Making the inner workings visible is what I was
| referring to.
| randomtoast wrote:
| Now we just need to choose a game and run Claude Code with Ghidra
| MCP in a loop until the game is completely decompiled.
| tarasyarema wrote:
| Simple question: why not a cli instead? As seems that lately LLM
| and agentic tools seems to be better at using clis rather than
| bloated MCPs?
| NicuCalcea wrote:
| I think they're only better for CLI tools that are in the
| training data. If it's a new tool, you'd need to dump the full
| documentation in the context either way.
| occz wrote:
| This can be solved well enough by having the model invoke
| `--help`
| stingraycharles wrote:
| This is what I was thinking, or fewer, more versatile tools.
| Having the description of 110 tools in your context window at
| all times is just noise.
| esafak wrote:
| Because it was started before the revelation MCP was a context
| hog. https://github.com/LaurieWired/GhidraMCP
| somnium_sn wrote:
| Tools like Claude Code have improved here. They won't load all
| tools but instead rely on tool search. Context bloat of MCP
| servers was a thing if badly written clients but it's certainly
| getting better
| aetherspawn wrote:
| I have this weird thing with Ghidra where I can't get it to
| disassemble .s37 or .hex flash files for PPC (e200z4). The bytes
| show OK and I'm pretty sure I'm selecting the right language. Any
| insight on things to try would be appreciated.
|
| IDA work(ed) fine but I misplaced my license somewhere.
| Triangle9349 wrote:
| I was just looking for an active fork of LaurieWired/GhidraMCP. I
| am currently using GhidrAssistMCP.
|
| First impressions of the fork: everything has deviated too much
| from the original. look a bit sloppy in places. Everything seems
| overly complicated in areas where it could have been simpler.
|
| There is an error in the release: Ghidra - File - Configure -
| Miscellaneous - Enable GhidraMCP. Developer not Miscellaneous.
|
| I can't test it in antigravity there tools limit per mcp: Error:
| adding this instance with 110 enabled tools would exceed max
| limit of 100.
| DonHopkins wrote:
| How could this be more efficiently and elegantly refactored as an
| Anthropic or MOOLLM skill set that was composable and repeatable
| (skills calling other skills, and iterating over MANY fast skill
| calls, in ONE llm completion call, as opposed many slow MCP calls
| ping-ponging back and forth, waiting for network delay +
| tokenization/detokenization cost, quantization and distortion
| each round)?
|
| What parts of Ghidra (like cross referencing, translating,
| interpreting text and code) can be "uplifted" and inlined into
| skills that run inside the LLM completion call on a large context
| window without doing token IO and glacially slow and frequently
| repeated remote procedure calls to external MCP servers?
|
| https://news.ycombinator.com/item?id=46878126
|
| >There's a fundamental architectural difference being missed
| here: MCP operates BETWEEN LLM complete calls, while skills
| operate DURING them. Every MCP tool call requires a full round-
| trip -- generation stops, wait for external tool, start a new
| complete call with the result. N tool calls = N round-trips.
| Skills work differently. Once loaded into context, the LLM can
| iterate, recurse, compose, and run multiple agents all within a
| single generation. No stopping. No serialization.
|
| >Skills can be MASSIVELY more efficient and powerful than MCP, if
| designed and used right. [...]
|
| Leela MOOLLM Demo Transcript:
| https://github.com/SimHacker/moollm/blob/main/designs/LEELA-...
|
| >I call this "speed of light" as opposed to "carrier pigeon". In
| my experiments I ran 33 game turns with 10 characters playing
| Fluxx -- dialogue, game mechanics, emotional reactions -- in a
| single context window and completion call. Try that with MCP and
| you're making hundreds of round-trips, each suffering from token
| quantization, noise, and cost. Skills can compose and iterate at
| the speed of light without any detokenization/tokenization cost
| and distortion, while MCP forces serialization and waiting for
| carrier pigeons.
|
| speed-of-light skill:
| https://github.com/SimHacker/moollm/tree/main/skills/speed-o...
|
| More: Speed of Light -vs- Carrier Pigeon (an allegory for Skills
| -vs- MCP):
|
| https://github.com/SimHacker/moollm/blob/main/designs/SPEED-...
| mrlnstk wrote:
| Interesting project. In one of our reverse engineering projects
| we used Gemini to interpret the decompiled C code. Worked really
| well. Hope to publish it next month.
| kfk wrote:
| how do you handle intent orchestration? I see you have workflows,
| but imagine this is used in combination with other MCP servers,
| how do you make sure the prompt is sent to the right MCP server
| and that the right tool or chain of tools gets executed?
| rcarmo wrote:
| 110 is a bit... much. Not complaining about the achievement, just
| pointing out that most models will be swamped with that much
| tooling available, so I hope they can be toggled on/off as groups
| (I can do that individually in VS Code, but sometimes you need to
| do that on the server side as well)
| abhisek wrote:
| 110 tools. That's probably a reason why Anthropic is probably
| switching to sandboxed code execution over MCPs.
|
| It's just easier to write code and do something specific for a
| task than load so many tool metadata.
|
| I did not go past IDA. But I remember idc and IDA python. I
| wonder if it's a better approach to expose a single tool to
| execute scripts to query what the agent needs.
| grosswait wrote:
| I am not a reverse engineer. In fact, I only consider myself an
| intermediate coder(more of a scripter tbh), but I have decades of
| (fairly deep) technical experienced as a generalist. With Claude
| code and another Ghidra MCP I was able to reverse engineer a
| ransomware encryptor and decryptor (had both) to create a much
| more reliable version of the decryptor. Saved terabytes of data.
| Felt like a super power!
| carl_dr wrote:
| I used a different Ghidra MCP server (LaurieWired's) to, umm,
| liberate some software recently. I can't express how fun
| straightforward it was to analyze the binary and generate a
| keygen.
|
| I learnt a ton in the progress. I highly recommend others do the
| same, it's a really fun way of spending an evening.
|
| I will certainly be giving this MCP server a go.
| reactordev wrote:
| I have some old software I wrote that calls home to a server
| that no longer exists to do a cert check that would never pass
| in order to install it. I tried writing my own Ghidra tool,
| skill, agent, MCP and still can't seem to figure it out. I'm
| positive it's a "human skill" issue but man... ironic that this
| pops up the week after I gave up trying.
| greenavocado wrote:
| This branch is 110 commits ahead of LaurieWired/GhidraMCP:main.
| underlines wrote:
| Tool stuffing degrades LLM tool use quality. 100+ tools is crazy.
| We probably need a tool that does relevant tool retreaval and
| reranking lol
| VortexLain wrote:
| I haven't looked at the MCP server, but generally, reverse
| engineering with AI is quite underrated. I've had success
| extracting encryption keys from an android app that uses
| encryption to vendor-lock users by forcing them to use that
| specific app to open files that should otherwise be in an open
| format.
|
| By the way, this app had embedded the key into the shader, and it
| was required to actually run this shader on android device to
| obtain the key.
| MaxLeiter wrote:
| My friend and I were able to give claude a (no longer updated)
| unity arcade game. It decompiled it and created a one-to-one
| typescript port so it can run in the browser and now we're
| adding multiplayer support (for personal use, don't worry HN -
| we won't be distributing it). I'm very excited for what AI can
| do for legacy software.
| Alifatisk wrote:
| I agree, I tried RE using multiple tools connected to MCP and a
| agent, it was tasked to recreate what the source code might
| have looked like from a binary and what possible
| vulnerabilities there could be. It did a incredible job when I
| compared it to the actual source.
| baby_souffle wrote:
| > By the way, this app had embedded the key into the shader,
| and it was required to actually run this shader on android
| device to obtain the key.
|
| Oh that's clever. I don't suppose you can share more about how
| this was done?
| butz wrote:
| I don't see hardware requirements anywhere. Does this run on a
| simple CPU, or is a decent GPU required?
| bbayles wrote:
| LLMs are very good at understanding decompiled code. I don't
| think people have updated on the fact that almost everything is
| effectively open source now!
| treesknees wrote:
| Being able to read some iteration of potential source code
| doesn't make it open source. Licensing, copyright, build
| chains, rights to modify and redistribute, etc are all factors.
| poly2it wrote:
| I saw this earlier, but opted for LaurieWired's MCP because it
| had a nice README and seemed to be the most common. How does this
| one compare? Are there any benchmark or functionality
| comparisons?
|
| https://github.com/LaurieWired/GhidraMCP
| clint wrote:
| i wonder how this compares to the work I've been doing @ 2389
| with the binary-re skill:
| https://github.com/2389-research/claude-plugins/tree/main/bi...
|
| Specifically the dynamic analysis skills could get a really big
| boost with this MCP server, I also wonder if this MCP server
| could be rephrased into a pure skill and not come with all the
| context baggage.
| raphaelmolly8 wrote:
| The cross-binary documentation transfer via normalized function
| hashing is really compelling for anyone tracking software that
| updates frequently. I've dealt with similar pain points analyzing
| game clients that push patches weekly -- manually re-annotating
| shifted addresses is brutal.
|
| Curious about the hash collision rate in practice. The README
| mentions 154K+ entries from Diablo II patches. With that sample
| size, have you encountered meaningful false positives where
| structurally similar but semantically different functions
| matched? The Version Tracker comparison in the comments is fair
| -- seems like combining this hash approach with additional
| heuristics (xref patterns, call graph structure) could reduce
| both false positives and negatives.
|
| The headless Docker mode is a nice touch for CI integration.
| Being able to batch-analyze binaries and auto-propagate
| annotations without spinning up a GUI opens up some interesting
| automated diffing workflows.
| joecarpenter wrote:
| Reverse engineering with LLMs is very underrated for some reason.
|
| I'm working on a hobby project - reverse-engineering a 30 year
| old game. Passing a single function disassembly + Ghidra
| decompiler output + external symbol definitions RAG-style to an
| agent with a good system prompt does wonders even with
| inexpensive models such as Gemini 3 Flash.
|
| Then chain decompilation agent outputs to a coding agent, and
| produced code can be semi-automatically integrated into the
| codebase. Rinse and repeat.
|
| Decompiled code is wrong sometimes, but for cleaned up
| disassembly with external symbols annotated and correct function
| signatures - decompiled output looks more or less like it was
| written by a human and not mechanically decompiled.
| popinman322 wrote:
| I've found that Gemini models often produce pseudocode that
| seems good at first glance but is typically wrong or
| incomplete, especially for larger or more complex functions. It
| might produce pseudocode for 70% of the function, then silently
| drop the last 30%. Or it might elide the inside of switch
| blocks or if statements, only including a comment explaining
| what should happen.
|
| Alternatively, Claude Opus generally output actual code that
| included more of the original functionality. Even Qwen3-30B-A3B
| performs better than Gemini, in my experience.
|
| It's honestly really frustrating. The huge context size
| available with Gemini makes the model family seem like a boon
| for this task; PCode is very verbose, impinging on the headroom
| needed for the model's response.
| joecarpenter wrote:
| In my case I'm decompiling into C and it does a pretty good
| job at translation. There were situations where it missed an
| important implementation detail. For example, there is an RLE
| decompressor and Gemini generated plausible, but slightly
| incorrect code. Gemini 3 Pro was not able to find the bug and
| produced code that was similar to Gemini 3 Flash.
|
| The bug was one-shotted by GPT 5.2.
| hkpatel3 wrote:
| I have never tried to decompile using an LLM but I have heard
| that it can recognize the binary patterns and do it. Has anyone
| tried to decompile a major software and been successful?
| chfritz wrote:
| Reverse engineering is illegal in many cases. Aren't you afraid
| you might be automating the process for your users to get into
| (legal) trouble? Will your tool warn the user if they are about
| to violate laws?
| startupsfail wrote:
| Claude is already known for its attempts to send emails to FBI
| ;)
___________________________________________________________________
(page generated 2026-02-04 23:00 UTC)