{"id":22178156,"url":"https://github.com/newcomb-luke/kdump","last_synced_at":"2025-10-30T19:36:11.837Z","repository":{"id":45627675,"uuid":"305479646","full_name":"newcomb-luke/KDump","owner":"newcomb-luke","description":"KDump is a small utility that disassembles and reads KSM and KO files for use with KerbalOS.","archived":false,"fork":false,"pushed_at":"2023-03-02T15:30:53.000Z","size":306,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-02T00:44:25.815Z","etag":null,"topics":["assembly","disassembly","kasm","kerbal-operating-system","kerbal-space-program","kos","krisc","ksp"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/newcomb-luke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-19T18:35:49.000Z","updated_at":"2023-07-01T18:13:42.000Z","dependencies_parsed_at":"2023-01-21T15:02:41.602Z","dependency_job_id":null,"html_url":"https://github.com/newcomb-luke/KDump","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newcomb-luke%2FKDump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newcomb-luke%2FKDump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newcomb-luke%2FKDump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/newcomb-luke%2FKDump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/newcomb-luke","download_url":"https://codeload.github.com/newcomb-luke/KDump/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227699322,"owners_count":17806354,"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":["assembly","disassembly","kasm","kerbal-operating-system","kerbal-space-program","kos","krisc","ksp"],"created_at":"2024-12-02T08:45:39.196Z","updated_at":"2025-10-30T19:36:11.743Z","avatar_url":"https://github.com/newcomb-luke.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KDump\n\n[\u003cimg src=\"https://img.shields.io/badge/github-newcomb--luke%2FKDump-8da0cb?style=for-the-badge\u0026logo=github\u0026labelColor=555555\" alt=\"github\" height=\"24\"\u003e](https://github.com/newcomb-luke/KDump)\n[\u003cimg src=\"https://img.shields.io/crates/v/kdump?color=fc8d62\u0026logo=rust\u0026style=for-the-badge\" alt=\"github\" height=\"24\"\u003e](https://crates.io/crates/kdump)\n[\u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/newcomb-luke/KDump?style=for-the-badge\" height=\"24\"\u003e]()\n\n[\u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/newcomb-luke/KDump/main.yml?style=for-the-badge\" height=\"24\"\u003e]()\n[\u003cimg alt=\"Libraries.io dependency status for GitHub repo\" src=\"https://img.shields.io/librariesio/github/newcomb-luke/KDump?style=for-the-badge\" height=\"24\"\u003e](https://deps.rs/repo/github/newcomb-luke/KDump)\n[\u003cimg alt=\"Crates.io Downloads\" src=\"https://img.shields.io/crates/d/kdump?style=for-the-badge\" height=\"24\"\u003e]()\n\nKDump is a program that allows anyone with a command line to view the contents of KerboScript Machine Code (KSM) files, and KerbalObject (KO) files to view compiled code for Kerbal Operating System. KO and KSM files are fully supported.\n\nKDump is the kOS equivalent to ELF's **objdump** or **readelf** programs.\n\n![screenshot](https://github.com/newcomb-luke/KDump/blob/main/images/kdump.png)\n\n## Features\n\n* Color terminal output\n* Human readable text\n* Debug line number display alongside disassembly\n\n## Installation\n\nKDump can either be installed via [cargo](https://github.com/rust-lang/cargo) through [crates.io](https://crates.io), or as a standalone binary.\n\n#### Windows\n\n- Download the installer .msi file from Releases on the right\n- Run the installer\n- **kdump** should now be added to your PATH and available from any CMD or Powershell window\n\n#### Arch Linux\n\n* Download the PKGBUILD from Releases on the right\n\n* Copy it to a temporary folder\n\n* Run `makepkg -si` to install the **kdump** and all of its dependencies.\n\n* **kdump** should now be added to your PATH and available from any terminal\n\n#### Standalone Executables\n\n- Download and extract the .zip file from Releases on the right\n- Place the executable in the desired location\n- Run the executable through the terminal, Powershell on Windows or the default terminal on Mac OS or Linux.\n\n#### Cargo\n\nTo install using **cargo**:\n\n```\ncargo install kdump\n```\n\n`kdump` should then be added to your shell's PATH, and can be run from any terminal\n\n## Usage\n\nKDump can be invoked after installation as `kdump`\n\nHelp can be accessed from the program itself by running:\n\n```\nkdump --help\n```\n\nKDump takes one .ko or .ksm file as input:\n\n```\nkdump program.ksm\n```\n\nHowever the default mode is to print nothing. Print options need to be specified.\n\nMost of the time the most useful, even if it takes up the most space is to view the file's full contents. This can be specified by using the **-x** or **--full-contents** flags:\n\n```\nkdump program.ksm --full-contents\n```\n\nIf only disassembly of function sections is the main concern, then use only the **-D** or **--disassemble** flags:\n\n```\nkdump lib.ko -D\n```\n\nWhen debugging compiled KerboScript files, debug information is stored in KSM files, and KDump is able to read and display this information. Line numbers are displayed to the left of disassembly and can be enabled using the **-l** or **--line-numbers** flags:\n\n```\nkdump launch.ksm -Dl\n```\n\nIf a file was generated using the [Kerbal Linker](https://github.com/newcomb-luke/kOS-KLinker) or similar programs, then there may be information about what tools were used to generate KerbalObject and KSM files, and this can be viewed by passing the **-i** or **--info** flags:\n\n```\nkdump script.ksm -i\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewcomb-luke%2Fkdump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnewcomb-luke%2Fkdump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnewcomb-luke%2Fkdump/lists"}