{"id":20298307,"url":"https://github.com/for-acgn/go-keystone","last_synced_at":"2026-05-13T02:04:36.272Z","repository":{"id":261065728,"uuid":"882553468","full_name":"For-ACGN/go-keystone","owner":"For-ACGN","description":"WASM based bindings for the Keystone assembler","archived":false,"fork":false,"pushed_at":"2026-03-09T12:28:18.000Z","size":2270,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-09T17:17:33.187Z","etag":null,"topics":["assembler","keystone"],"latest_commit_sha":null,"homepage":"","language":"Go","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/For-ACGN.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-03T04:54:37.000Z","updated_at":"2026-03-09T12:28:21.000Z","dependencies_parsed_at":"2025-01-14T10:15:35.531Z","dependency_job_id":"44e85e1f-9fb9-4cb9-8390-d896993cce8b","html_url":"https://github.com/For-ACGN/go-keystone","commit_stats":null,"previous_names":["for-acgn/go-keystone"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/For-ACGN/go-keystone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/For-ACGN%2Fgo-keystone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/For-ACGN%2Fgo-keystone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/For-ACGN%2Fgo-keystone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/For-ACGN%2Fgo-keystone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/For-ACGN","download_url":"https://codeload.github.com/For-ACGN/go-keystone/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/For-ACGN%2Fgo-keystone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32964445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T23:30:32.555Z","status":"online","status_checked_at":"2026-05-13T02:00:07.132Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["assembler","keystone"],"created_at":"2024-11-14T16:09:07.190Z","updated_at":"2026-05-13T02:04:36.242Z","avatar_url":"https://github.com/For-ACGN.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-keystone\nWASM based bindings for the [Keystone](https://github.com/For-ACGN/keystone) assembler.\n## Features\nSince Keystone is compiled into a wasm module and a pure go-implemented wasm runtime [wazero](https://github.com/tetratelabs/wazero) is used, calling the C program is implemented while retaining cross-compilation.\n## Usage\n```bash\nkeystone -arch x86 -mode 32 -src hello.asm -out hello.bin\n```\n## Development\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"os\"\n\n    \"github.com/For-ACGN/go-keystone\"\n)\n\nfunc main() {\n    engine, err := keystone.NewEngine(keystone.ARCH_X86, keystone.MODE_64)\n    checkError(err)\n    defer func() { _ = engine.Close() }()\n\n    err = engine.Option(keystone.OPT_SYNTAX, keystone.OPT_SYNTAX_INTEL)\n    checkError(err)\n\n    src := \".code64\\n\"\n    src += \"xor rax, rax\\n\"\n    src += \"ret\\n\"\n    inst, err := engine.Assemble(src, 0)\n    checkError(err)\n\n    // [0x48, 0x31, 0xC0, 0xC3]\n    fmt.Println(inst)\n}\n\nfunc checkError(err error) {\n    if err != nil {\n        fmt.Println(err)\n        os.Exit(1)\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffor-acgn%2Fgo-keystone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffor-acgn%2Fgo-keystone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffor-acgn%2Fgo-keystone/lists"}