{"id":13798212,"url":"https://github.com/linuxboot/fiano","last_synced_at":"2025-05-15T16:07:14.455Z","repository":{"id":29740235,"uuid":"122654287","full_name":"linuxboot/fiano","owner":"linuxboot","description":"Go-based tools for modifying UEFI firmware","archived":false,"fork":false,"pushed_at":"2025-01-21T19:19:17.000Z","size":7430,"stargazers_count":321,"open_issues_count":59,"forks_count":54,"subscribers_count":29,"default_branch":"main","last_synced_at":"2025-05-12T16:59:20.747Z","etag":null,"topics":["firmware","go","hacktoberfest","uefi","uefi-utils"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linuxboot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2018-02-23T17:50:49.000Z","updated_at":"2025-04-30T19:08:34.000Z","dependencies_parsed_at":"2024-01-15T11:11:14.781Z","dependency_job_id":"defffad7-92d1-4a0b-9523-69e244f75793","html_url":"https://github.com/linuxboot/fiano","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuxboot%2Ffiano","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuxboot%2Ffiano/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuxboot%2Ffiano/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuxboot%2Ffiano/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linuxboot","download_url":"https://codeload.github.com/linuxboot/fiano/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254374475,"owners_count":22060611,"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":["firmware","go","hacktoberfest","uefi","uefi-utils"],"created_at":"2024-08-04T00:00:40.498Z","updated_at":"2025-05-15T16:07:09.439Z","avatar_url":"https://github.com/linuxboot.png","language":"Go","readme":"# fiano\n\nGo-based tools for modifying UEFI firmware.\n\n[![CircleCI](https://circleci.com/gh/linuxboot/fiano.svg?style=shield)](https://circleci.com/gh/linuxboot/fiano)\n[![Go Report\nCard](https://goreportcard.com/badge/github.com/linuxboot/fiano)](https://goreportcard.com/report/github.com/linuxboot/fiano)\n[![GoDoc](https://godoc.org/github.com/linuxboot/fiano?status.svg)](https://godoc.org/github.com/linuxboot/fiano)\n[![CodeCov](https://codecov.io/gh/linuxboot/fiano/branch/master/graph/badge.svg)](https://codecov.io/gh/linuxboot/fiano/)\n[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://github.com/linuxboot/fiano/blob/master/LICENSE)\n\n![Fiano](./fiano-logo.svg)\n\n# Contributing\n\nFor information about contributing, including how we sign off commits, please see\nCONTRIBUTING.md\n\n## UTK: Generic UEFI tool kit meant to handle rom images\n\nExample usage:\n\n```\n# For a comprehensive list of commands\nutk -h\n\n# Display the image in a compact table form:\nutk winterfell.rom table\n\n# Summarize everything in JSON:\nutk winterfell.rom json\n\n# List information about a single file in JSON (using regex):\nutk winterfell.rom find Shell\n\n# Dump an EFI file to an ffs\nutk winterfell.rom dump DxeCore dxecore.ffs\n\n# Insert an EFI file into an FV near another Dxe\nutk winterfell.rom insert_before Shell dxecore.ffs save inserted.rom\nutk winterfell.rom insert_after Shell dxecore.ffs save inserted.rom\n\n# Insert an EFI file into an FV at the front or the end\n# \"Shell\" is just a means of specifying the FV that contains Shell\nutk winterfell.rom insert_front Shell dxecore.ffs save inserted.rom\nutk winterfell.rom insert_end Shell dxecore.ffs save inserted.rom\n\n# Remove a file and pad the firmware volume to maintain offsets for the following files\nutk winterfell.rom remove_pad Shell save removed.rom\n\n# Remove two files by their GUID without padding and replace shell with Linux:\nutk winterfell.rom \\\n  remove 12345678-9abc-def0-1234-567890abcdef \\\n  remove 23830293-3029-3823-0922-328328330939 \\\n  replace_pe32 Shell linux.efi \\\n  save winterfell2.rom\n\n# Extract everything into a directory:\nutk winterfell.rom extract winterfell/\n\n# Re-assemble the directory into an image:\nutk winterfell/ save winterfell2.rom\n```\n\n### DXE Cleaner\n\nDelete unnecessary DXEs from your firmware. Free up space, speed up boot times\nand decrease the attack surface area! See the demo:\n\n[![asciicast](https://asciinema.org/a/233950.svg)](https://asciinema.org/a/233950)\n\n## FMAP: Parses flash maps.\n\nExample usage:\n\n  + `fmap checksum [md5|sha1|sha256] FILE`\n  + `fmap extract i FILE`\n  + `fmap jget JSONFILE FILE`\n  + `fmap jput JSONFILE FILE`\n  + `fmap summary FILE`\n  + `fmap usage FILE`\n  + `fmap verify FILE`\n\n## Installation\n\n    # Golang version 1.13 is required:\n    go version\n\n    # For UTK:\n    go install github.com/linuxboot/fiano/cmds/utk@latest\n\n    # For fmap:\n    go install github.com/linuxboot/fiano/cmds/fmap@latest\n\nThe executables are installed in `$HOME/go/bin`.\n\n## Updating Dependencies\n\n    # Fiano utilizes Go modules.\n    Use the following to download the dependencies:\n    ```\n    go mod download\n    go mod verify\n    ```\n\n    If you desire to update a existing dependency to a newer version:\n    ```\n    go get path/to/dependency/module@tag\n    ```\n    Execute this in any directory of fiano repository\n","funding_links":[],"categories":["Tools :hammer:"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuxboot%2Ffiano","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinuxboot%2Ffiano","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuxboot%2Ffiano/lists"}