{"id":18250271,"url":"https://github.com/tboox/dexbox","last_synced_at":"2025-04-04T16:31:10.387Z","repository":{"id":83684279,"uuid":"268703787","full_name":"tboox/dexbox","owner":"tboox","description":"A lightweight dex file parsing library","archived":false,"fork":false,"pushed_at":"2020-06-11T14:49:57.000Z","size":89,"stargazers_count":82,"open_issues_count":0,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-20T15:12:04.932Z","etag":null,"topics":["android","dalvik","dex","java","parser","tbox","xmake"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tboox.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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-06-02T04:50:45.000Z","updated_at":"2025-01-30T22:15:23.000Z","dependencies_parsed_at":"2023-07-11T17:17:21.324Z","dependency_job_id":null,"html_url":"https://github.com/tboox/dexbox","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/tboox%2Fdexbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tboox%2Fdexbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tboox%2Fdexbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tboox%2Fdexbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tboox","download_url":"https://codeload.github.com/tboox/dexbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247209319,"owners_count":20901750,"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":["android","dalvik","dex","java","parser","tbox","xmake"],"created_at":"2024-11-05T09:44:09.191Z","updated_at":"2025-04-04T16:31:10.381Z","avatar_url":"https://github.com/tboox.png","language":"C","funding_links":["https://opencollective.com/xmake"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eDexbox\u003c/h1\u003e\n\n  \u003cdiv\u003e\n    \u003ca href=\"https://github.com/tboox/dexbox/actions?query=workflow%3Abuild\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/workflow/status/tboox/dexbox/build/master.svg?style=flat-square\" alt=\"github-ci\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/tboox/dexbox/releases\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/release/tboox/dexbox.svg?style=flat-square\" alt=\"Github All Releases\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/tboox/dexbox/blob/master/LICENSE.md\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/license/tboox/dexbox.svg?colorB=f48041\u0026style=flat-square\" alt=\"license\" /\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n  \u003cdiv\u003e\n    \u003ca href=\"https://www.reddit.com/r/tboox/\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/chat-on%20reddit-ff3f34.svg?style=flat-square\" alt=\"Reddit\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://gitter.im/tboox/tboox?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\"\u003e\n      \u003cimg src=\"https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square\u0026colorB=96c312\" alt=\"Gitter\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://t.me/tbooxorg\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square\" alt=\"Telegram\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://jq.qq.com/?_wv=1027\u0026k=5hpwWFv\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square\" alt=\"QQ\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://xmake.io/#/sponsor\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/donate-us-orange.svg?style=flat-square\" alt=\"Donate\" /\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n\n  \u003cp\u003eA lightweight dex file parsing library\u003c/p\u003e\n\u003c/div\u003e\n\n## Introduction ([中文](/README_zh.md))\n\nDexbox is a lightweight dex file parsing library.\n\n## Prerequisites\n\nXMake installed on the system. Available [here](https://github.com/xmake-io/xmake).\n\n## Build\n\n```console\n$ xmake\n```\n\n## Run tests\n\n```console\n$ xmake run dexdump tests/tests.dex\n.file _cast.java\n.class _cast\n.super Object\n    .method public void \u003cinit\u003e()\n        .register 1\n        .argument 1\n        .catches 0\n        .prologue\n        0x000b0c: 7010 4e00 0000                         |0000: invoke-direct {v0}, Object.\u003cinit\u003e()void\n        0x000b12: 0e00                                   |0003: return-void\n\n    .method public int main(java.lang.String[])\n        .register 7\n        .argument 1\n        .catches 0\n        .prologue\n        0x000b24: 6200 0500                              |0000: sget-object v0, System.out:PrintStream\n        0x000b28: 1a01 a800                              |0002: const-string v1, \"test: ===============================================================\"\n        0x000b2c: 6e20 4800 1000                         |0004: invoke-virtual {v0, v1}, PrintStream.println(String)void\n        0x000b32: 6200 0500                              |0007: sget-object v0, System.out:PrintStream\n        0x000b36: 1a01 a900                              |0009: const-string v1, \"test: cast: ..\"\n        0x000b3a: 6e20 4800 1000                         |000b: invoke-virtual {v0, v1}, PrintStream.println(String)void\n        0x000b40: 6200 0500                              |000e: sget-object v0, System.out:PrintStream\n        0x000b44: 1a01 0000                              |0010: const-string v1, \"\"\n        0x000b48: 6e20 4800 1000                         |0012: invoke-virtual {v0, v1}, PrintStream.println(String)void\n        0x000b4e: 12f0                                   |0015: const/4 v0, #-1 // #ff\n        0x000b50: 8102                                   |0016: int-to-long v2, v0\n        0x000b52: 6201 0500                              |0017: sget-object v1, System.out:PrintStream\n        0x000b56: 2204 2400                              |0019: new-instance v4, StringBuilder\n        0x000b5a: 7010 5100 0400                         |001b: invoke-direct {v4}, StringBuilder.\u003cinit\u003e()void\n        0x000b60: 1a05 9d00                              |001e: const-string v5, \"num = \"\n        0x000b64: 6e20 5600 5400                         |0020: invoke-virtual {v4, v5}, StringBuilder.append(String)StringBuilder\n        0x000b6a: 0c04                                   |0023: move-result-object v4\n        0x000b6c: 6e30 5500 2403                         |0024: invoke-virtual {v4, v2, v3}, StringBuilder.append(long)StringBuilder\n        0x000b72: 0c02                                   |0027: move-result-object v2\n        0x000b74: 6e10 5700 0200                         |0028: invoke-virtual {v2}, StringBuilder.toString()String\n        0x000b7a: 0c02                                   |002b: move-result-object v2\n        0x000b7c: 6e20 4800 2100                         |002c: invoke-virtual {v1, v2}, PrintStream.println(String)void\n        0x000b82: 8f01                                   |002f: int-to-short v1, v0\n        0x000b84: 6202 0500                              |0030: sget-object v2, System.out:PrintStream\n        0x000b88: 2203 2400                              |0032: new-instance v3, StringBuilder\n        0x000b8c: 7010 5100 0300                         |0034: invoke-direct {v3}, StringBuilder.\u003cinit\u003e()void\n        0x000b92: 1a04 9d00                              |0037: const-string v4, \"num = \"\n        0x000b96: 6e20 5600 4300                         |0039: invoke-virtual {v3, v4}, StringBuilder.append(String)StringBuilder\n        0x000b9c: 0c03                                   |003c: move-result-object v3\n        0x000b9e: 6e20 5400 1300                         |003d: invoke-virtual {v3, v1}, StringBuilder.append(int)StringBuilder\n        0x000ba4: 0c01                                   |0040: move-result-object v1\n        0x000ba6: 6e10 5700 0100                         |0041: invoke-virtual {v1}, StringBuilder.toString()String\n        0x000bac: 0c01                                   |0044: move-result-object v1\n        0x000bae: 6e20 4800 1200                         |0045: invoke-virtual {v2, v1}, PrintStream.println(String)void\n        0x000bb4: 8e01                                   |0048: int-to-char v1, v0\n        0x000bb6: 6202 0500                              |0049: sget-object v2, System.out:PrintStream\n        0x000bba: 2203 2400                              |004b: new-instance v3, StringBuilder\n        0x000bbe: 7010 5100 0300                         |004d: invoke-direct {v3}, StringBuilder.\u003cinit\u003e()void\n        0x000bc4: 1a04 9d00                              |0050: const-string v4, \"num = \"\n        0x000bc8: 6e20 5600 4300                         |0052: invoke-virtual {v3, v4}, StringBuilder.append(String)StringBuilder\n        0x000bce: 0c03                                   |0055: move-result-object v3\n        0x000bd0: 6e20 5400 1300                         |0056: invoke-virtual {v3, v1}, StringBuilder.append(int)StringBuilder\n        0x000bd6: 0c01                                   |0059: move-result-object v1\n        0x000bd8: 6e10 5700 0100                         |005a: invoke-virtual {v1}, StringBuilder.toString()String\n        0x000bde: 0c01                                   |005d: move-result-object v1\n        0x000be0: 6e20 4800 1200                         |005e: invoke-virtual {v2, v1}, PrintStream.println(String)void\n        0x000be6: 8d00                                   |0061: int-to-byte v0, v0\n        0x000be8: 6201 0500                              |0062: sget-object v1, System.out:PrintStream\n        0x000bec: 2202 2400                              |0064: new-instance v2, StringBuilder\n        0x000bf0: 7010 5100 0200                         |0066: invoke-direct {v2}, StringBuilder.\u003cinit\u003e()void\n        0x000bf6: 1a03 9d00                              |0069: const-string v3, \"num = \"\n        0x000bfa: 6e20 5600 3200                         |006b: invoke-virtual {v2, v3}, StringBuilder.append(String)StringBuilder\n        0x000c00: 0c02                                   |006e: move-result-object v2\n        0x000c02: 6e20 5400 0200                         |006f: invoke-virtual {v2, v0}, StringBuilder.append(int)StringBuilder\n        0x000c08: 0c00                                   |0072: move-result-object v0\n        0x000c0a: 6e10 5700 0000                         |0073: invoke-virtual {v0}, StringBuilder.toString()String\n        0x000c10: 0c00                                   |0076: move-result-object v0\n        0x000c12: 6e20 4800 0100                         |0077: invoke-virtual {v1, v0}, PrintStream.println(String)void\n        0x000c18: 1600 ffff                              |007a: const-wide/16 v0, #-1 // #ffff\n        0x000c1c: 6202 0500                              |007c: sget-object v2, System.out:PrintStream\n        0x000c20: 2203 2400                              |007e: new-instance v3, StringBuilder\n        0x000c24: 7010 5100 0300                         |0080: invoke-direct {v3}, StringBuilder.\u003cinit\u003e()void\n        0x000c2a: 1a04 9d00                              |0083: const-string v4, \"num = \"\n        0x000c2e: 6e20 5600 4300                         |0085: invoke-virtual {v3, v4}, StringBuilder.append(String)StringBuilder\n        0x000c34: 0c03                                   |0088: move-result-object v3\n        0x000c36: 8400                                   |0089: long-to-int v0, v0\n        0x000c38: 6e20 5400 0300                         |008a: invoke-virtual {v3, v0}, StringBuilder.append(int)StringBuilder\n        0x000c3e: 0c00                                   |008d: move-result-object v0\n        0x000c40: 6e10 5700 0000                         |008e: invoke-virtual {v0}, StringBuilder.toString()String\n        0x000c46: 0c00                                   |0091: move-result-object v0\n        0x000c48: 6e20 4800 0200                         |0092: invoke-virtual {v2, v0}, PrintStream.println(String)void\n        0x000c4e: 6200 0500                              |0095: sget-object v0, System.out:PrintStream\n        0x000c52: 1a01 0000                              |0097: const-string v1, \"\"\n        0x000c56: 6e20 4800 1000                         |0099: invoke-virtual {v0, v1}, PrintStream.println(String)void\n        0x000c5c: 6200 0500                              |009c: sget-object v0, System.out:PrintStream\n        0x000c60: 1a01 aa00                              |009e: const-string v1, \"test: cast: ok\"\n        0x000c64: 6e20 4800 1000                         |00a0: invoke-virtual {v0, v1}, PrintStream.println(String)void\n        0x000c6a: 1200                                   |00a3: const/4 v0, #0 // #0\n        0x000c6c: 0f00                                   |00a4: return v0\n```\n\n## Contacts\n\n* Email：[waruqi@gmail.com](mailto:waruqi@gmail.com)\n* Homepage：[tboox.org](https://tboox.org)\n* Community：[/r/tboox on reddit](https://www.reddit.com/r/tboox/)\n* ChatRoom：[Char on telegram](https://t.me/tbooxorg), [Chat on gitter](https://gitter.im/tboox/tboox?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n* QQ Group: 343118190(full), 662147501\n* Wechat Public: tboox-os\n\n## Backers\n\nThank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/xmake#backer)]\n\n\u003ca href=\"https://opencollective.com/xmake#backers\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/backers.svg?width=890\"\u003e\u003c/a\u003e\n\n## Sponsors\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/xmake#sponsor)]\n\n\u003ca href=\"https://opencollective.com/xmake/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/xmake/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/xmake/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/xmake/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/xmake/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/xmake/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/xmake/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/xmake/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/xmake/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/xmake/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/xmake/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftboox%2Fdexbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftboox%2Fdexbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftboox%2Fdexbox/lists"}