{"id":15069649,"url":"https://github.com/bagaturchess/visualbytecode","last_synced_at":"2026-01-03T07:10:45.995Z","repository":{"id":254813081,"uuid":"299572685","full_name":"bagaturchess/VisualBytecode","owner":"bagaturchess","description":"GUI which visualizes the metadata information encoded into the Java bytecode for a given set of Java classes. Especially designed to search for Java Annotations, for example in your Spring Boot project.","archived":false,"fork":false,"pushed_at":"2020-10-01T09:23:38.000Z","size":1572,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T09:14:33.797Z","etag":null,"topics":["annotation-processing","annotation-processor","annotation-tool","annotations","bytecode","java","javaee","javase","metadata-extraction","spring","spring-boot"],"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/bagaturchess.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-09-29T09:47:08.000Z","updated_at":"2023-02-18T16:38:53.000Z","dependencies_parsed_at":"2024-08-26T10:15:45.903Z","dependency_job_id":"a7e57989-3c77-4377-bde3-db649ad58583","html_url":"https://github.com/bagaturchess/VisualBytecode","commit_stats":null,"previous_names":["bagaturchess/visualbytecode"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bagaturchess%2FVisualBytecode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bagaturchess%2FVisualBytecode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bagaturchess%2FVisualBytecode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bagaturchess%2FVisualBytecode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bagaturchess","download_url":"https://codeload.github.com/bagaturchess/VisualBytecode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243847061,"owners_count":20357317,"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":["annotation-processing","annotation-processor","annotation-tool","annotations","bytecode","java","javaee","javase","metadata-extraction","spring","spring-boot"],"created_at":"2024-09-25T01:43:48.299Z","updated_at":"2026-01-03T07:10:45.967Z","avatar_url":"https://github.com/bagaturchess.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Overview\n\nIn the modern java applications, frameworks, libraries and tools there are a lot of archive files (*.jar, *.zip, etc.) with java classes.\nSo, it is difficult to:\n  -  check if given class file is presented in the archives and where it is presented\n  -  check if given class has given constructor, method or field\n  -  check the metadata annotations assigned to a given class, constructor, field, method or method's argument\n  -  search for metadata annotations to check which classes, class members or methods' arguments are annotated with given annotation\n\nThis project aims to resolve these difficulties by preventing people to search in archives and decompile java bytecode with java decompilers.\nThe project provides visual environment (GUI) where one can import files, directories and archives.\nThan the program parses the bytecode of all classes and visualizes the metadata in a tree on the screen.\n\n![GitHub Logo](/Logo.png)\n\nAlso, there is an advanced feature for exporting the classes' metadata as XML file and optionally to use XSL transformation to extract specific data.\n\nThe part of the project, which parses the java bytecode is still closed source and hence is used as an obfuscated library (bytecode-parser.jar).\nThe rest of the project is open source and you are welcome to contribute.\n\nThe very initial versions of this project were handed over as a diploma work in the university.\nThat is why I have decided to use MIT License for the project.\n\n# Running the program\nThe project structure is an eclipse based project, which can be directly imported into the Eclipse IDE. The main class is com.fmi.bytecode.annotations.gui.graphical.mainframe.AnnotationToolGUI.\n\nYou can download also the standalone version from releases section, which needs only Java installed to run.\n\n# Author\n\nThe author of the project is \u003ca href=\"https://www.linkedin.com/in/topchiyski/\"\u003eKrasimir Topchiyski\u003c/a\u003e.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbagaturchess%2Fvisualbytecode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbagaturchess%2Fvisualbytecode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbagaturchess%2Fvisualbytecode/lists"}