{"id":13797392,"url":"https://github.com/thebabush/dumb-obfuscator","last_synced_at":"2026-01-16T12:41:07.384Z","repository":{"id":78936439,"uuid":"141733315","full_name":"thebabush/dumb-obfuscator","owner":"thebabush","description":"Tutorial on how to write the dumbest obfuscator I could think of.","archived":false,"fork":false,"pushed_at":"2020-07-21T08:48:58.000Z","size":19,"stargazers_count":169,"open_issues_count":0,"forks_count":29,"subscribers_count":8,"default_branch":"clang-9","last_synced_at":"2024-11-18T11:41:28.512Z","etag":null,"topics":["clang","encryption","llvm","llvm-pass","llvm-tutorial","obfuscation","security","tutorial"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thebabush.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}},"created_at":"2018-07-20T16:15:07.000Z","updated_at":"2024-11-08T14:50:11.000Z","dependencies_parsed_at":"2023-07-10T08:46:24.602Z","dependency_job_id":null,"html_url":"https://github.com/thebabush/dumb-obfuscator","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebabush%2Fdumb-obfuscator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebabush%2Fdumb-obfuscator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebabush%2Fdumb-obfuscator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebabush%2Fdumb-obfuscator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thebabush","download_url":"https://codeload.github.com/thebabush/dumb-obfuscator/tar.gz/refs/heads/clang-9","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253859844,"owners_count":21975181,"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":["clang","encryption","llvm","llvm-pass","llvm-tutorial","obfuscation","security","tutorial"],"created_at":"2024-08-03T23:01:29.642Z","updated_at":"2026-01-16T12:41:07.373Z","avatar_url":"https://github.com/thebabush.png","language":"C++","funding_links":[],"categories":["\u003ca id=\"9f9fed5b730bc5bfceaaf77da3aa719e\"\u003e\u003c/a\u003e笔记\u0026\u0026文章\u0026\u0026教程"],"sub_categories":[],"readme":"# Dumb Obfuscator\n\nThe answer to \"why shouldn't people put RSA computations everywhere in their programs?\".\n\nIf you want to read the step-by-step tutorial you can read the\n[post on my blog](https://thebabush.github.io/dumbo-llvm-based-dumb-obfuscator.html).\n\n[![screenshot](https://thebabush.github.io/images/20190223_final_ida.png)](https://thebabush.github.io/dumbo-llvm-based-dumb-obfuscator.html)\n\n## Setup ##\n\nYou should really read my blog post if you want this to work out of the box.\nBasically though, you just need to add LLVM's official apt repositories to your\nUbuntu machine and install `clang-9`.\n\nAnyway, you can pretty much change LLVM version by changing every reference to\n`clang-9` to whatever clang you want to use.\nYou need to change `llvm-config-9` references too.\n\n## Building the Pass ##\n\nRun `./build.sh`.\n\nThis will basically create `./build/` and run cmake on it.\n\n## Testing the Pass ##\n\nRun `./test.sh`.\n\nThis will compile `./test/test.c` into human-readable LLVM IR, run the pass on\nit, show the final IR and run the obfuscated program.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebabush%2Fdumb-obfuscator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthebabush%2Fdumb-obfuscator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebabush%2Fdumb-obfuscator/lists"}