{"id":24156735,"url":"https://github.com/joanbono/gottern","last_synced_at":"2026-03-04T18:31:51.238Z","repository":{"id":80708765,"uuid":"172254380","full_name":"joanbono/Gottern","owner":"joanbono","description":"Golang port for Metasploit's pattern_create and pattern_offset","archived":false,"fork":false,"pushed_at":"2021-03-07T12:24:18.000Z","size":1832,"stargazers_count":13,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-20T01:44:42.658Z","etag":null,"topics":["buffer-overflow","exploit-development","go","golang","metasploit","oscp","oscp-tools","pattern-create","pattern-offset"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joanbono.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["joanbono"]}},"created_at":"2019-02-23T19:23:24.000Z","updated_at":"2025-06-10T04:41:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"ab484d09-0c8b-4606-9195-cc93a3f40e64","html_url":"https://github.com/joanbono/Gottern","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/joanbono/Gottern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joanbono%2FGottern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joanbono%2FGottern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joanbono%2FGottern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joanbono%2FGottern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joanbono","download_url":"https://codeload.github.com/joanbono/Gottern/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joanbono%2FGottern/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30089333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T18:31:08.343Z","status":"ssl_error","status_checked_at":"2026-03-04T18:31:07.708Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["buffer-overflow","exploit-development","go","golang","metasploit","oscp","oscp-tools","pattern-create","pattern-offset"],"created_at":"2025-01-12T13:46:04.630Z","updated_at":"2026-03-04T18:31:51.214Z","avatar_url":"https://github.com/joanbono.png","language":"Go","funding_links":["https://github.com/sponsors/joanbono"],"categories":[],"sub_categories":[],"readme":"![](img/Gottern_banner.png)\n\n[![GitHub Issues](https://img.shields.io/github/issues/joanbono/gottern.svg)](https://github.com/joanbono/gottern/issues)\n[![GitHub tag](https://img.shields.io/github/tag/joanbono/gottern.svg)](https://github.com/joanbono/gottern/tags)\n[![Go Version](https://img.shields.io/badge/go-1.13.7-blue.svg?logo=go)](https://golang.org/dl/)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n[![Go Report Card](https://goreportcard.com/badge/github.com/joanbono/gottern)](https://goreportcard.com/report/github.com/joanbono/gottern)\n\n\nGolang port for Metasploit's `pattern_create` and `pattern_offset`.  \nBased on [`haxpattern`](https://github.com/DharmaOfCode/haxpattern)\n\n## Usage\n\n```bash\n$ gottern help \nPattern Offset Seeker and Pattern Creator\n\nUsage:\n  Gottern [command]\n\nAvailable Commands:\n  create      Create the pattern\n  help        Help about any command\n  offset      Search for an offset\n  version     Prints current Gottern version\n\nFlags:\n  -h, --help   help for Gottern\n\nUse \"Gottern [command] --help\" for more information about a command.\n```\n \n### Create a pattern \n\n Create a pattern using the `create` flag with the size (`-l`) of the pattern to be created.\n \n ```bash\n $ gottern create -h\nCreate the pattern\n\nUsage:\n  Gottern create [flags]\n\nFlags:\n  -h, --help         help for create\n  -l, --length int   Lenght of the string to be created\n\n$ gottern create -l 200\nAa0Aa1Aa2Aa3Aa4A[...]g1Ag2Ag3Ag4Ag5Ag\n```\n\n### Look for an offset\n\nSearch an offset using the `offset` flag with the query to perform (`-q`) of the pattern to be created. Use `-b` for big endian search.\n\n```bash\n$ gottern offset -h\nSearch for an offset\n\nUsage:\n  Gottern offset [flags]\n\nFlags:\n  -b, --bigendian      Search for Big Endian Offset\n  -h, --help           help for offset\n  -q, --query string   Query the following pattern. Minimum 4 bytes.\n```\n\nExamples:\n\n```bash\n# ASCII \n$ gottern offset -q 6Aj7\n[*] 290\n# Plain HEX\n$ gottern offset -q 0x36416a37\n[*] 290\n# Little Endian HEX\n$ gottern offset -q 376a4136\n[*] 290\n# Big Endian HEX\n$ gottern offset -q 36416a37 -b\n[*] 290\n```\n\n***\n\n## Benchmarks\n\nSome benchmarks using [`hyperfine`](https://github.com/sharkdp/hyperfine).\n\n### Create a Pattern\n\n![](img/benchmark_create.png) \n\n### Find an offset\n\n![](img/benchmark_offset.png) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoanbono%2Fgottern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoanbono%2Fgottern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoanbono%2Fgottern/lists"}