{"id":13745695,"url":"https://github.com/rizinorg/jsdec","last_synced_at":"2025-04-29T18:30:53.429Z","repository":{"id":45368314,"uuid":"309098078","full_name":"rizinorg/jsdec","owner":"rizinorg","description":"Simple decompiler for Rizin","archived":false,"fork":false,"pushed_at":"2025-04-25T05:25:26.000Z","size":5089,"stargazers_count":57,"open_issues_count":10,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-27T05:34:24.370Z","etag":null,"topics":["decompiler","disassembler","hacktoberfest","reverse-engineering","rizin"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rizinorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSES/BSD-3-Clause.txt","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,"zenodo":null},"funding":{"github":"rizinorg"}},"created_at":"2020-11-01T13:08:13.000Z","updated_at":"2025-04-25T05:25:11.000Z","dependencies_parsed_at":"2023-12-19T04:23:00.673Z","dependency_job_id":"9eb2f338-c6f2-497f-88c9-6c1ee932a62c","html_url":"https://github.com/rizinorg/jsdec","commit_stats":{"total_commits":573,"total_committers":20,"mean_commits":28.65,"dds":"0.23036649214659688","last_synced_commit":"0f966e3c2c649cafa21c4466b783330c2b21baea"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizinorg%2Fjsdec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizinorg%2Fjsdec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizinorg%2Fjsdec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rizinorg%2Fjsdec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rizinorg","download_url":"https://codeload.github.com/rizinorg/jsdec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251202377,"owners_count":21551842,"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":["decompiler","disassembler","hacktoberfest","reverse-engineering","rizin"],"created_at":"2024-08-03T06:00:34.748Z","updated_at":"2025-04-29T18:30:53.420Z","avatar_url":"https://github.com/rizinorg.png","language":"JavaScript","funding_links":["https://github.com/sponsors/rizinorg"],"categories":["Projects","JavaScript"],"sub_categories":[],"readme":"[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n\n![jsdec](https://raw.githubusercontent.com/rizinorg/jsdec/master/.github/logo.png)\n\nConverts asm to pseudo-C code.\n\n# Software Requirements\n\nRequires [rizin](https://github.com/rizinorg/rizin).\n\n# Install in home folder (or in other paths)\n\nIf you want to install in the HOME folder or in other non standard paths, just\nset the `prefix` to a different value\n - Run ``meson setup build --prefix=~/.local``\n - Run `ninja -C build install`\n\n# Install system wide\n\nFollow the following steps to install jsdec\n - clone this repository\n - Run `meson setup build --prefix=/usr` to create the build folder\n - Run `ninja -C build install` to build the shared library and to install it \n\n# Usage\n\n* Open your file with rizin\n* Analyze the function you want to disassemble (`af`)\n* Run the plugin via `pdd`\n\n# Arguments\n\n```\n[0x00000000]\u003e pdd?\nUsage: pdd[?]   # Core plugin for jsdec\n| pdd  # decompile current function\n| pddt # lists the supported architectures\n| pdda # decompile current function with side assembly\n| pddA # decompile current function with annotation output\n| pddb # decompile current function but show only scopes\n| pddc # decompiled code is returned to rizin as 'file:line code' (via CL)\n| pddf # decompile all functions\n| pddi # generate issue data\n| pddj # decompile current function as json\n| pddo # decompile current function side by side with offsets\n```\n\n# Evaluable vars\n\nYou can use these in your `.rizinrc` file.\n\n```\njsdec.asm           | if true, shows pseudo next to the assembly.\njsdec.blocks        | if true, shows only scopes blocks.\njsdec.casts         | if false, hides all casts in the pseudo code.\njsdec.debug         | do not catch exceptions in jsdec.\njsdec.paddr         | if true, all xrefs uses physical addresses compare.\njsdec.slow          | if true load all the data before to avoid multirequests to rizin.\njsdec.xrefs         | if true, shows all xrefs in the pseudo code.\ne scr.html          | outputs html data instead of text.\ne scr.color         | enables syntax colors.\n```\n\n# Report an Issue\n\n* Open your file with rizin\n* Analyze the function you want to disassemble (`af`)\n* Give the data to the plugin via `pddi` or `pdd --issue`\n* Insert the JSON returned by the previous command into the issue (you can also upload the output)\n\n# Supported Arch\n\n    6502 (experimental)\n    8051\n    ARM 16/32/64 bit\n    AVR\n    dalvik\n    m68k\n    MIPS\n    PowerPC 32/64 bit (VLE included)\n    RISC-V\n    Sparc\n    SuperH (experimental)\n    v850\n    WebAssembly (experimental)\n    x86/x64\n\n# Developing on jsdec\n\n[Read DEVELOPERS.md](https://github.com/rizinorg/jsdec/blob/master/DEVELOPERS.md)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frizinorg%2Fjsdec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frizinorg%2Fjsdec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frizinorg%2Fjsdec/lists"}