Product
Socket Now Supports uv.lock Files
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
@alexaltea/capstone-js
Advanced tools
Port of the Capstone disassembler framework for JavaScript. Powered by Emscripten.
Notes: Capstone is a lightweight multi-architecture disassembly framework originally developed by Nguyen Anh Quynh and released under BSD license. More information about contributors and license terms can be found in the files CREDITS.TXT
and LICENSE.TXT
of the capstone submodule in this repository.
To add Capstone.js to your web application, include it with:
<script src="capstone.min.js"></script>
or install it with the Bower command:
bower install capstonejs
// Input: Machine code bytes and offset where they are located
var buffer = [0x55, 0x31, 0xD2, 0x89, 0xE5, 0x8B, 0x45, 0x08];
var offset = 0x10000;
// Initialize the decoder
var d = new cs.Capstone(cs.ARCH_X86, cs.MODE_32);
// Output: Array of cs.Instruction objects
var instructions = d.disasm(buffer, offset);
// Display results;
instructions.forEach(function (instr) {
console.log("0x%s:\t%s\t%s",
instr.address.toString(16),
instr.mnemonic,
instr.op_str
);
});
// Delete decoder
d.close();
To build the Capstone.js library, clone the master branch of this repository, and do the following:
Initialize the original Capstone submodule: git submodule update --init
.
Install the latest Python 2.x (64-bit), CMake and the Emscripten SDK. Follow the respective instructions and make sure all environment variables are configured correctly. Under Windows MinGW (specifically mingw32-make) is required.
Install the development dependencies with: npm install
.
Finally, build the source with: grunt build
.
Note: To use WebAssembly, change WASM=0
to WASM=1
in build.py
.
It will automatically load the .wasm
binary, but you should wait for it to load:
cs.MCapstone.then(() => {
// ... initialize and use Capstone here ....
});
FAQs
Capstone disassembler framework port for JavaScript
The npm package @alexaltea/capstone-js receives a total of 2 weekly downloads. As such, @alexaltea/capstone-js popularity was classified as not popular.
We found that @alexaltea/capstone-js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.