{"id":20961440,"url":"https://github.com/mooncat-greenpy/kingaidra","last_synced_at":"2025-04-11T19:57:44.490Z","repository":{"id":261096716,"uuid":"882829605","full_name":"mooncat-greenpy/KinGAidra","owner":"mooncat-greenpy","description":"An AI-powered extension for Ghidra that enhances analysis.","archived":false,"fork":false,"pushed_at":"2025-02-17T13:52:03.000Z","size":9613,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T15:53:59.465Z","etag":null,"topics":["ai","chatgpt","ghidra","ghidra-extension","ghidra-plugin","llm","local-llm","openai","reverse-engineering"],"latest_commit_sha":null,"homepage":"","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/mooncat-greenpy.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}},"created_at":"2024-11-03T21:30:34.000Z","updated_at":"2025-02-19T16:31:19.000Z","dependencies_parsed_at":"2024-11-04T17:43:43.078Z","dependency_job_id":"9fa010c1-904f-4003-8b19-ea525b407b8a","html_url":"https://github.com/mooncat-greenpy/KinGAidra","commit_stats":null,"previous_names":["mooncat-greenpy/kingaidra"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mooncat-greenpy%2FKinGAidra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mooncat-greenpy%2FKinGAidra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mooncat-greenpy%2FKinGAidra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mooncat-greenpy%2FKinGAidra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mooncat-greenpy","download_url":"https://codeload.github.com/mooncat-greenpy/KinGAidra/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248473112,"owners_count":21109628,"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":["ai","chatgpt","ghidra","ghidra-extension","ghidra-plugin","llm","local-llm","openai","reverse-engineering"],"created_at":"2024-11-19T02:13:37.408Z","updated_at":"2025-04-11T19:57:44.483Z","avatar_url":"https://github.com/mooncat-greenpy.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KinGAidra Plugin\n\nKinGAidra is a Ghidra extension designed to enhance reverse engineering workflows by integrating AI capabilities. It helps analysts understand binaries more efficiently.\n\n## Features\n- [**AI Chat for Assembly and Decompilation**](#Chat): Interact with AI to discuss and analyze binaries.\n- [**AI-Assisted Refactoring**](#Refactoring): Automatically refactor decompiled code using AI-generated suggestions.\n- [**AI-Assisted Commenting**](#Commenting): Automatically add comments to decompiled code using AI-generated suggestions.\n- [**Key Function Identification**](#KeyFunc): Utilize AI to identify important functions in a binary for analysis.\n- [**Chat History**](#History): Save chat logs for future reference or analysis.\n- [**Customizable Models**](#Configuration): Employ various AI models to meet your specific needs.\n\n\n### Chat\n\nThe Chat feature in KinGAidra allows users to interact with an AI to discuss and analyze binaries.\n\n- Inputs enclosed in `\u003ccode\u003e` or `\u003ccode:address\u003e` tags will be converted into decompiled code.\n- Inputs enclosed in `\u003casm\u003e` or `\u003casm:address\u003e` tags will be converted into assembly code.\n- Inputs enclosed in `\u003cstrings\u003e` tags will be converted into a list of strings.\n\n**Chat Example**\n\n![Chat Example](./img/test_chat.png)\n\n**Explain Decompiled Code**\n\n![Explain Decompiled Code](./img/explain.png)\n\n**Decompile Assembly**\n\n![Decompile Assembly](./img/decom_asm.png)\n\n### Refactoring\n\nThe Refactoring feature in KinGAidra enables users to automatically refactor decompiled code using AI-generated suggestions.\n\n![Refactoring Example](./img/refactor.png)\n\n### Commenting\n\nThe Commenting feature in KinGAidra allows users to automatically add comments to decompiled code using AI-generated suggestions. This feature helps in understanding the code better by providing meaningful comments that explain the functionality of the code.\n\n![Commenting Example](./img/comment.png)\n\n### KeyFunc\n\nThe KeyFunc feature in KinGAidra assists users in identifying and prioritizing key functions within a binary for analysis. This feature leverages AI to highlight functions of interest, allowing analysts to focus on critical parts of the code.\n\n![KeyFunc Example](./img/keyfunc.png)\n\n### History\n\nThe History feature in KinGAidra allows users to save chat logs for future reference or analysis. This can be particularly useful for tracking the progress of reverse engineering tasks, sharing insights with team members, or revisiting previous conversations to extract valuable information.\n\n![History Example](./img/log.png)\n\n## Installation\n\nTo install KinGAidra, follow these steps:\n\n1. **Download the latest release**: Visit the [KinGAidra releases page](https://github.com/mooncat-greenpy/KinGAidra/releases) and download the latest release zip file.\n2. **Launch Ghidra**: Open Ghidra on your system.\n3. **Install the extension**:\n   - Navigate to `File -\u003e Install Extensions`\n   - Click on `Add extension`\n   - Select the downloaded zip file\n4. **Enable KinGAidra**: Check the checkbox next to `KinGAidra` to enable the extension.\n5. **Restart Ghidra**: Restart Ghidra to apply the changes.\n\n\n## Configuration\n\nBefore using KinGAidra, configure the script with your LLM API details:\n\n1. **Open Script Manager**: In Ghidra, navigate to `Window -\u003e Script Manager`.\n2. **Edit the script**: Locate the `kingaidra_chat.py` script in the list and open it for editing.\n3. **Set LLM API details**: Configure the following variables in the script with the correct values for your LLM API:\n   - `URL`\n   - `MODEL`\n   - `API_KEY`\n\nYou can use the OpenAI API or similar APIs as the LLM API. For example, services like Groq or local LLMs are also supported. To change the language of the LLM response, modify the `POST_MSG` variable.\n\n![Configuration Script](./img/conf_script.png)\n\nYou can add scripts to KinGAidra through the settings screen shown in the image below. Additionally, you can select which features will utilize the added scripts.\n\n![Configuration Models](./img/conf_models.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooncat-greenpy%2Fkingaidra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmooncat-greenpy%2Fkingaidra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooncat-greenpy%2Fkingaidra/lists"}