Unicorn CPU emulator framework
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.
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、网站不提供资料下载,如需下载请到原作者页面进行下载。