{"id":17881316,"url":"https://github.com/col-e/cafed00d","last_synced_at":"2025-04-05T05:05:37.387Z","repository":{"id":37854579,"uuid":"281804297","full_name":"Col-E/CAFED00D","owner":"Col-E","description":"Obfuscation resilent Java class reader/writer","archived":false,"fork":false,"pushed_at":"2025-03-02T07:50:51.000Z","size":1713,"stargazers_count":125,"open_issues_count":3,"forks_count":14,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-29T04:09:04.080Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","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/Col-E.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":"2020-07-22T23:31:38.000Z","updated_at":"2025-03-28T18:25:47.000Z","dependencies_parsed_at":"2024-06-16T19:15:55.169Z","dependency_job_id":"c5bd2312-5de1-4921-985e-0d3ef90db01e","html_url":"https://github.com/Col-E/CAFED00D","commit_stats":{"total_commits":236,"total_committers":12,"mean_commits":"19.666666666666668","dds":0.4067796610169492,"last_synced_commit":"6fc5fc0bb6bdd6cebb59553b1733eafab3fe4cbd"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Col-E%2FCAFED00D","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Col-E%2FCAFED00D/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Col-E%2FCAFED00D/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Col-E%2FCAFED00D/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Col-E","download_url":"https://codeload.github.com/Col-E/CAFED00D/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289426,"owners_count":20914464,"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":[],"created_at":"2024-10-28T12:36:35.328Z","updated_at":"2025-04-05T05:05:37.357Z","avatar_url":"https://github.com/Col-E.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CAFEDOOD [![](https://jitpack.io/v/Col-E/CAFED00D.svg)](https://jitpack.io/#Col-E/CAFED00D) ![](https://github.com/Col-E/CAFED00D/actions/workflows/display_test_results.yml/badge.svg)\n\nAnother class library with a focus on obfuscation support.\n\n## Features\n\n* Supports [Oak](https://en.wikipedia.org/wiki/Oak_(programming_language)) classes\n* Drop malformed attributes from classes added by obfuscators\n* Rewrite [internal jvm instructions](https://github.com/openjdk/jdk/blob/769f14db847813f5a3601e9ec21e6cadbd99ee96/src/hotspot/share/interpreter/bytecodes.cpp#L491)\n\n## Usage\n\n### Add dependency\n\nAdd CafeDude dependency _(where `VERSION` is the latest version)_\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003esoftware.coley\u003c/groupId\u003e\n    \u003cartifactId\u003ecafedude-core\u003c/artifactId\u003e\n    \u003cversion\u003eVERSION\u003c/version\u003e\n\u003c/dependency\u003e\n```\n```groovy\nimplementation 'software.coley:cafedude-core:VERSION'\n```\n\n### Reading and writing classes\n\nThe default settings have anti-obfuscation measures enabled.\n```java\n// Reading\nbyte[] code = ...\nClassFileReader cr = new ClassFileReader();\n// cr.setDropForwardVersioned(false) - enabled by default\n// cr.setDropEofAttributes(false) - enabled by default\n// cr.setDropDupeAnnotations(false) - enabled by default\nClassFile cf = cr.read(code);\n// Writing\ncode = new ClassFileWriter().write(cf);\n```\n\n### Stripping malformed attributes and data from classes\n\nAdditional items can be removed via:\n```java\n// Modifies the 'cf' instance\nnew IllegalStrippingTransformer(cf).transform();\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcol-e%2Fcafed00d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcol-e%2Fcafed00d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcol-e%2Fcafed00d/lists"}