{"id":15055809,"url":"https://github.com/mjvl/uniobfuscator","last_synced_at":"2025-10-23T16:32:11.296Z","repository":{"id":44477576,"uuid":"129827424","full_name":"MJVL/UniObfuscator","owner":"MJVL","description":"Java obfuscator that hides code in comment tags and Unicode garbage by making use of Java's Unicode escapes.","archived":false,"fork":false,"pushed_at":"2022-11-06T00:03:57.000Z","size":3249,"stargazers_count":77,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-10T03:53:28.224Z","etag":null,"topics":["java","java-obfuscator","javafx-application","jfeonix","obfuscation","obfuscator","unicode","unicode-converter","unicode-garbage","utf-8","utility-classes"],"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/MJVL.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}},"created_at":"2018-04-17T01:25:13.000Z","updated_at":"2025-02-09T19:12:29.000Z","dependencies_parsed_at":"2023-01-21T01:50:16.784Z","dependency_job_id":null,"html_url":"https://github.com/MJVL/UniObfuscator","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MJVL%2FUniObfuscator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MJVL%2FUniObfuscator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MJVL%2FUniObfuscator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MJVL%2FUniObfuscator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MJVL","download_url":"https://codeload.github.com/MJVL/UniObfuscator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248154998,"owners_count":21056542,"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":["java","java-obfuscator","javafx-application","jfeonix","obfuscation","obfuscator","unicode","unicode-converter","unicode-garbage","utf-8","utility-classes"],"created_at":"2024-09-24T21:46:29.391Z","updated_at":"2025-10-23T16:32:11.143Z","avatar_url":"https://github.com/MJVL.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UniObfuscator\r\nSimple Java Obfuscator that hides code in comment tags and Unicode garbage by making use of Java's Unicode escapes.\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n    \u003cimg src=\"src/main/resources/images/app-screenshot.png\" alt=\"screenshot of UniObfuscator gui\"\u003e\r\n\u003c/div\u003e\r\n\r\n## Prerequisites\r\n* Java \u003e= 8\r\n* Maven\r\n\r\n## Usage\r\n\r\n### Run\r\n`mvn compile exec:java`\r\n\r\n### Generate Fat Jar\r\n`mvn package`\r\n\r\nThis jar will be generated in `/target`\r\n\r\n## What am I looking at?\r\nAll entered characters are converted into their unicode equivalent. Comment tags and a TODO label can also be added to further obfuscate the code and make it appear as being ignored in your editor. These all give the appearance of giberish while still being functional lines.\r\n\r\n## How does this work?\r\nIn Java, it's acceptable to use unicode escapes in replacement or in conjunction with ordinary characters in code. The fake comment works by displaying the literal starting `/*` and ending `*/` blocks but immediately closing them with the corresponding starting `\\u002f\\u002a` or ending block `\\u002a\\u002f` in unicode, thus closing the comment block. All obfuscated code will appear inside a comment and be flagged as one by your editor, but is actually encapsulated by two closed blocks `/**/`, thus running fine.\r\n\r\nNote that this type of obfuscation should not be performed on class or method headers as this may disrupt your IDE or compilation. Stick to inner code blocks for a smooth experience.\r\n\r\n## Is my code secure now?\r\nBluntly, no. No matter what you do your code will be reverse-engineerable. This tool only performs a simple obfuscation and can be easily converted back into readable characters. This is more of a tool to stop people in a lab from glancing and stealing code than an enterprise-grade solution.\r\n\r\n## Examples\r\nSource Code\r\n```Java\r\nSystem.out.println(\"Hello, world!\");\r\n```\r\nObfuscated Code\r\n```\r\n/*\\u002a\\u002f\\u0053\\u0079\\u0073\\u0074\\u0065\\u006d\\u002e\\u006f\\u0075\\u0074\\u002e\\u0070\\u0072\\u0069\\u006e\\u0074\\u006c\\u006e\\u0028\\u0022\\u0048\\u0065\\u006c\\u006c\\u006f\\u002c\\u0020\\u0077\\u006f\\u0072\\u006c\\u0064\\u0021\\u0022\\u0029\\u003b\\u002f\\u002a*/\r\n```\r\nSource Code\r\n```Java\r\npublic class Main {\r\n\tpublic static void main(String[] args) {\r\n\t\tSystem.out.println(\"Hello World\");\r\n\t\t/* TODO: Fix this. \\u002a\\u002f\\u0053\\u0079\\u0073\\u0074\\u0065\\u006d\\u002e\\u006f\\u0075\\u0074\\u002e\\u0070\\u0072\\u0069\\u006e\\u0074\\u006c\\u006e\\u0028\\u0022\\u0057\\u006f\\u0077\\u002c\\u0020\\u0069\\u0074\\u0027\\u0073\\u0020\\u0061\\u0020\\u0073\\u0065\\u0063\\u0072\\u0065\\u0074\\u0020\\u006d\\u0065\\u0073\\u0073\\u0061\\u0067\\u0065\\u0021\\u0022\\u0029\\u003b\\u002f\\u002a*/\r\n\t}\r\n}\r\n```\r\nOutput\r\n```\r\nHello World                                                                                                                                                                       \r\nWow, it's a secret message!\r\n```\r\nRun this example live [here](https://onlinegdb.com/pmLpy35Mb).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjvl%2Funiobfuscator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmjvl%2Funiobfuscator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjvl%2Funiobfuscator/lists"}