6 ms·
MCP server for Ghidra
- brokensegue 2y agomy experience with just copying and pasting things from ghidra into LLMs and asking it to figure it out wasn't so successful. it'd be cool to have benchmarks for this stuff though.
- Everdred2dx 2y agoI actually have only tried this once but had the opposite experience. Gave it 5 or so related functions from a ps2 game and it correctly inferred they were related to graphics code, properly typing and naming the parameters. I’m sure this sort of thing is extremely hit or miss though
- cedws 2y agoMost likely there was just a mangled symbol somewhere that it recognised from its training data.
- rowanG077 2y agoWhere is that coming from? The chances that some random ps2 games code symbols are in the training data are infinitesimal. It's much more likely that it can understand code and rewrite it. Basically what LLM have been capable of for years now.
- sitkack 2y agoParent is supposing w/o any experience. LLMs can see in hex, bytecode and base64, rot13, etc. I use LLMs to decompile bytecode all the time.
- unit149 2y ago[dead]
- strstr 2y agoHad the same experience. Took the janky decompilation from ghidra, and it was able to name parameters and functions. Even figured out the game based on a single name in a string. Based in my read of the labeled decompilation, it seemed largely correct. And definitely a lot faster than me. Even if I weren’t to rely on it 100% it was definitely a great draft pass over the functions.
- rfoo 2y agoI've been thinking on how to build a benchmark for this stuff for a while, and don't have a good idea other than LLM-as-judge (which quickly gets messy). I guess there's a reason why current neural decompilation attempts are all evaluated on "seemingly meaningless" benchmarks like "can it recompile without syntax error" or "functional equivalence of recompilation" etc.
- vessenes 2y agoHmm, specifically when it comes to reverse engineering, you have the best benchmark ever - you can check the original code, no?
- brokensegue 2y agothat requires LLM as judge
- dataangel 2y agono it doesn't, you just diff against the real source code. probably something more fuzzy/continuous than actual diff, but still
- brokensegue 2y agoProving that two pieces of code are equivalent sounds very hard (incomputable)
- rfoo 2y agoBesides functional equivalence, a significant part of the value in neural decompilation is the symbol (function names, variable names, struct definition including member names) it recovered. So, if the LLM predicted "FindFirstFitContainer" for a function originally called "find_pool", is this correct? Wrong? 26.333% correct?
- bitfieldz 2y ago[dead]
- mdaniel 2y agoHer previous integration with Ghidra and an LLM had a good video, too: https://news.ycombinator.com/item?id=42860849 https://news.ycombinator.com/item?id=42860849 Malimite – iOS and macOS Decompiler - https://news.ycombinator.com/item?id=42829402 https://news.ycombinator.com/item?id=42829402 - Jan, 2025 (37 comments)
- dang 2y agoRelated (but merged hither): GhidraMCP: Now AI can reverse malware [video] - https://news.ycombinator.com/item?id=43475025 https://news.ycombinator.com/item?id=43475025
- qwertox 2y agoWhich tools can currently invoke MCP? I have read only a little about MCP and got to know that Claude's desktop application is capable of using MCP locally. Are there any chat interfaces which allow using MCP remotely? I would like to be able to specify MCP endpoints and the functions they offer in ChatGPT's, Claude's and Gemini's web interfaces so that I can have them call my servers remotely. A bit like "GPTs" and "Gems".
- lauriewired 2y agoI touch on this briefly in the video, beside Claude Desktop, 5ire is a fairly model-agnostic local MCP client, I'm sure there are others. sama also recently mentioned ChatGPT Desktop is getting MCP client functionality "soon". As for remote clients, Cloudflare has some really useful tooling, look at their "AI Playground".
- nekitamo 2y agoI had the same question as you, and some quick Googling led me to this list here: https://github.com/punkpeye/awesome-mcp-clients https://github.com/punkpeye/awesome-mcp-clients
- lordviet 2y agoand the list of servers - https://github.com/punkpeye/awesome-mcp-servers https://github.com/punkpeye/awesome-mcp-servers
- jauntywundrkind 2y agoOpenAI just announced support in their Agents SDK. https://news.ycombinator.com/item?id=43485566 https://news.ycombinator.com/item?id=43485566 https://openai.github.io/openai-agents-python/mcp/ https://openai.github.io/openai-agents-python/mcp/
- salgorithm 2y agoBlock has an open source tool called Goose that invokes MCP. https://block.github.io/goose/ https://block.github.io/goose/
- npace12 2y agoAlso one for radare2: https://github.com/dnakov/radare2-mcp https://github.com/dnakov/radare2-mcp
- sorenjan 2y agoIf you haven't watched her Youtube channel before I recommend checking it out. Besides the technical content I think the editing with retro OS graphics are fun.
- foooorsyth 2y agoIt's really impressive. Technical content, GitHub repos that go along with the videos, set design, retro editing -- much higher quality than a lot of stuff out there from major studios
- securemepro 2y ago[flagged]
- ngneer 2y agoThought experiment. Suppose all binaries could be instantly reverse engineered to perfection. How would that change security?
- xeckr 2y agoEverything is open source is you speak assembly.
- LegionMammal978 2y agoEveryone would just replace all their proprietary programs with dumb clients that communicate with a server. Either that, or they'd go all in on homomorphic encryption.
- ynniv 2y agoOnly formally proven systems will be secure
- gosub100 2y agoSecure enclaves would appear in most computers. Nothing would be run without everything being encrypted.
- celesian 2y agoThis is very cool but it would be nice to have more features on the MCP server, such as arbitrary read and write of programs. For example, I was working on a self-unpacking CTF challenge which XORed instructions. It would be nice to have it be able to read the values at the addresses it xored.
- dprophecyguy 2y agoi love you lauriewired.
- userbinator 2y agoRE is exactly the sort of work that requires precision and careful reasoning, not hallucinatory statistical inference. Seeing how LLMs stumble very heavily on the former makes it clear that AI will not replace us.
- iugtmkbdfil834 2y agoI hate to be that guy, but one does not follow the other. To some, just the initial appearance of 'acceptable'/'good enough' is, well, good enough. Current set of LLMs can absolutely replace us while breaking a lot in the process.
- bitfieldz 2y ago[dead]
- Everdred2dx 2y agoIs anyone working on a "catalog" of MCP servers? Searching on Github is not exactly the best way to discover these.
- meander_water 2y agoI've noticed a lot of websites popping up recently which is basically just a list of MCP servers. Some examples: - https://mcpservers.org/ https://mcpservers.org/ - https://glama.ai/mcp/servers https://glama.ai/mcp/servers - https://www.claudemcp.com/servers https://www.claudemcp.com/servers Not to mention the usual GitHub ones: - https://github.com/punkpeye/awesome-mcp-servers https://github.com/punkpeye/awesome-mcp-servers The hype is real.
- knowaveragejoe 2y agoTo clarify somewhat, while they all index MCP servers out there, some of them also will _host_ the MCP server remotely as well. Glama, mcp.run and just recently Cloudflare have offerings in this realm.
- Klaster_1 2y agoDo these MCP registries expose an MCP server too, so the client can do MCP server auto discovery based on registry?
- dSebastien 2y agoThere are multiple directories already. I listed some in my notes: https://notes.dsebastien.net/30+Areas/33+Permanent+notes/33.02+Content/Model+Context+Protocol+(MCP) https://notes.dsebastien.net/30+Areas/33+Permanent+notes/33....
- cocoflunchy 2y agohttps://www.mcpt.com/ https://www.mcpt.com/
- Xx_crazy420_xX 2y agoFor LLMs to solve code I think they should be AST-native. Code is a tree, not a sequence — yet we feed it to models linearly, with no explicit structure. Todays models lack recurrence or true memory, so they can’t reason over hierarchical structures effectively.
- Nesco 2y agoLLMs are autoregressive models. However, the notion of order in ASTs might be nonexistent, especially for parallel branches of computation/control flow. You could attempt to untangle each branch into N sequences, but this would erase control-flow information. Even when there is an objective ordering of the children of every node, you still have four traversal options: {preorder, postorder} × {BF, DF}. Note: For children lacking an objective ordering, you might apply generic rules to define a traversal order, but you’d end up with as many depth-first traversals as there are possible orders—essentially a crude heuristic. If you want the evaluation order to be dynamic at each step (e.g., using RL), the complexity grows geometrically worse. That’s been my experience tinkering with a custom AST DSL for ARC-AGI.
- dragonwriter 2y ago> LLMs are autoregressive models. Most LLMs are autoregressive models, but exceptions exist, e.g., Mercury [0] is a diffusion LLM. [0] https://www.inceptionlabs.ai/news https://www.inceptionlabs.ai/news
- Nesco 2y agoWell, from my very limited comprehension of diffusion models, they apply to fixed length structure, mostly from a continuous space. Maybe a way to make them work with tree structures could be found - that's no trivial task
- dragonwriter 2y agoAutoregressive LLMs don't usually work on tree structures, they work on capped-length linear token sequences, which are isomorphic to fixed-length sequences. I'm not sure why you think working on tree structures rather than fixed length sequences would be necessary for diffusion language models—which, again, actually exist; aside from Mercury which is proprietary, there is also LLaDA: https://ml-gsai.github.io/LLaDA-demo/ https://ml-gsai.github.io/LLaDA-demo/
- enigma101 2y agoYou just opened pandora's box lady wired
- randomtoast 2y agoI hope that one day we have a tool that can convert any proprietary binary to source code with a single click. It would be so much fun to have an "open source" version of all games. Currently, there are projects like https://github.com/Try/OpenGothic https://github.com/Try/OpenGothic and https://github.com/SFTtech/openage https://github.com/SFTtech/openage, but these require years of community effort.
- airza 2y agoCurrent SOTA models are really bad at RE and i don't really expect this to improve through training on open data. There are just not a lot of high quality examples on the internet, and more importantly the people writing this code are doing their best to make it actively more difficult.
- sebzim4500 2y agoIt is quite easy to produce high quality synthetic data to train reverse engineering. Just take any open source project and ask the model to produce the code (or something equivalent) given the binary.
- ai-christianson 2y agoRight. You could even run it through code obfuscators and such to create more diverse, realistic examples.
- gus_massa 2y agoYou can't open source code that is not yours. They are implementing a clean new version. On the other direction, a company can't pick a GPL project, uncompile the code and release it as proprietary.
- randomtoast 2y ago> They are implementing a clean new version. Much of reverse engineering involves analyzing existing code, and this is not a secret. There are forums where people discuss and share their reverse engineering findings. Without this, creating a nearly 100% compatible clone, such as one that can use the original game files, would be nearly impossible.