Unicorn CPU emulator framework

Unicorn.js

Port of the Unicorn CPU emulator framework for JavaScript. Powered by Emscripten.

Notes: Unicorn is a lightweight multi-architecture CPU emulator framework originally developed by Nguyen Anh Quynh, Dang Hoang Vu et al. and released under GPLv2 license. More information about contributors and license terms can be found in the files AUTHORS.TXT, CREDITS.TXT and COPYING inside the unicorn submodule of this repository.

Installation

To add Unicorn.js to your web application, include it with:

<script src="unicorn.min.js"></script>

or install it with the Bower command:

bower install unicornjs Usage

var addr = 0x10000; var code = [ 0x37, 0x00, 0xA0, 0xE3, // mov r0, #0x37 0x03, 0x10, 0x42, 0xE0, // sub r1, r2, r3 ]; // Initialize engine var e = new uc.Unicorn(uc.ARCH_ARM, uc.MODE_ARM); // Write registers and memory e.reg_write_i32(uc.ARM_REG_R2, 0x456); e.reg_write_i32(uc.ARM_REG_R3, 0x123); e.mem_map(addr, 4*1024, uc.PROT_ALL); e.mem_write(addr, code) // Start emulator var begin = addr; var until = addr + code.length; e.emu_start(begin, until, 0, 0); // Read registers var r0 = e.reg_read_i32(uc.ARM_REG_R0); // 0x37 var r1 = e.reg_read_i32(uc.ARM_REG_R1); // 0x333 Building

To build the Unicorn.js library, clone the master branch of this repository on a Linux machine, and do the following:

Initialize the original Unicorn submodule: git submodule update --init.

Install latest Emscripten SDK 2.0.21+. Follow the respective instructions and make sure all environment variables are configured correctly.

Install the latest Python 3.8+. Make sure both python3 and python are callable. You can either setup alias or apt install python-is-python3

Install the development dependencies with: npm install --also=dev.

Install grunt with: npm install -g grunt

Finally, build the source with: grunt build.

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。