{"id":19730626,"url":"https://github.com/begriffs/doublekill","last_synced_at":"2026-06-09T13:30:59.579Z","repository":{"id":141767995,"uuid":"164279811","full_name":"begriffs/doublekill","owner":"begriffs","description":"Weird experiments with signals","archived":false,"fork":false,"pushed_at":"2019-01-06T07:34:50.000Z","size":6,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T03:27:34.847Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","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/begriffs.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":"2019-01-06T05:56:33.000Z","updated_at":"2019-02-09T15:50:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"1d2c802d-7bd1-47ab-8a01-747309d5c3eb","html_url":"https://github.com/begriffs/doublekill","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/begriffs/doublekill","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/begriffs%2Fdoublekill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/begriffs%2Fdoublekill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/begriffs%2Fdoublekill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/begriffs%2Fdoublekill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/begriffs","download_url":"https://codeload.github.com/begriffs/doublekill/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/begriffs%2Fdoublekill/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34110009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"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":[],"created_at":"2024-11-12T00:17:01.787Z","updated_at":"2026-06-09T13:30:59.561Z","avatar_url":"https://github.com/begriffs.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Weird experiments\n\n#### Dkill\n\nAssault a process with repeated SIGINTs as fast as possible. This can determine\nif those processes reinstate their signal handler promptly enough or if they\nallow it to lapse into the default handler. Some systems (like OpenBSD) do not\nrequire handlers to reinstate themselves and block a storm of signals while a\nhandler is processing, so you won't be able to mess programs up.\n\nUsage: ./dkill -p \\\u003cpid\\\u003e -x \\\u003ctimes\\\u003e\n\n#### Catcher\n\nA nice target for Dkill. It sleeps in the handler to open up a window of\nattack.\n\n#### Segrand\n\nGenerate a random number from a segfault. It overwrites memory until a segfault\nhappens, outputting the ptrdiff\\_t offset each time. The segfault stops the\ncounter, and you can retrieve the final value as a random number.\n\nHow to get ten random numbers:\n\n```sh\nyes | head -n 10 | xargs -L 1 sh -c './segrand | tail -1'\n```\n\n(Works on OpenBSD, but on MacOS the number is deterministic)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbegriffs%2Fdoublekill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbegriffs%2Fdoublekill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbegriffs%2Fdoublekill/lists"}