No description
Find a file
Heersin 803aa3951e
ARMv7 NEON and VFP for rzil (#3528)
* Export float basic op to op_builder header

* Basic vmov with note and question

* Add vmov for immediate

* Add vmov for NEON and VFP

* Add vmsr, vmrs. shared instruction of vfp and neon done

* Add vector logical operations for arm32 il

* Add vmvn for arm32 il

* Solve op builder for rzil float

* Add vector compare instructions (vceq/vcge/vcle/vcgt/vclt, and abs version)

* Rename vcmp to vec_cmp to avoid conflict with VCMP instruction

* Add vtst of NEON instruction set

* Fix FEQ

* Discard unecessary changes

* Add vldn for multiple n-elements

* Add vldn for single-lane and all-lane

* Add vstn

* Add vcvt for float-integer and float-float

* Check codeql warning

* Add vdup

* Fix according to reviewer

* Add vext

* Add vzip

* Fix reg_bits shadowing

* Add vuzp

* Init some eff as EMPTY for loop-seq

* Add vswap

* Add vadd and vsub

* Add vmul for float point in vfp

* Fix test_validate_forder

* Fix reg binding by add missing reg(fpscr)

* Fix memory broken caused by misuse of REG_VAL and others

* Add vldr and vstr

* Fix some bug in rzil float

* Fix a format typo bug in rzfloat

* Add rzil emulateme test for vfp

* Fix fpscr in db arm32 related tests

* Add extra argument info in vfp test

* Remove duplicated macro of float
2023-07-09 00:43:18 +08:00
.builds Use meson setup <dir> instead of meson <dir> 2023-04-26 20:01:47 +08:00
.github Ensure the concurrency job group is unique (#3538) 2023-05-30 17:55:08 +08:00
.reuse Remove legacy unit tests (#3088) 2023-01-23 17:46:21 +08:00
.woodpecker Remove reduntant license entries and READMEs (#2875) 2022-08-08 08:04:26 +08:00
binrz Remove unused rz-bb binary, probably left from r2 times (#3596) 2023-06-21 20:48:21 +08:00
dist Drop libuv dependency 2022-08-06 13:20:52 +02:00
doc Remove leftovers from radare2 codebase (#3423) 2023-03-14 11:02:12 +08:00
librz ARMv7 NEON and VFP for rzil (#3528) 2023-07-09 00:43:18 +08:00
LICENSES Move SDB into RzUtil 2022-07-19 08:45:20 +02:00
subprojects Update libdemangle to 2c90eaa (#3614) 2023-06-29 13:53:22 +08:00
sys Removed rzbochs 2022-12-04 16:53:58 +01:00
test ARMv7 NEON and VFP for rzil (#3528) 2023-07-09 00:43:18 +08:00
.appveyor.yml Use meson setup <dir> instead of meson <dir> 2023-04-26 20:01:47 +08:00
.clang-format Changes in .clang-format 2023-01-25 22:02:26 +08:00
.dockerignore Drop libuv dependency 2022-08-06 13:20:52 +02:00
.gitattributes Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
.gitignore Support blake3 hash algo (#3030) 2022-09-17 18:38:21 +02:00
.lgtm.yml
.prettierignore Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
.pylintrc For now, let's just ignore C0209 pylint error (#1735) 2021-09-23 13:20:44 +02:00
.travis.yml Fix endianness for win pagedump and winkd (#3204) 2022-12-09 11:41:28 +01:00
BUILDING.md Add note regarding meson.build files and full rebuild (#2795) 2022-07-09 22:57:05 +08:00
CODE_OF_CONDUCT.md
codecov.yml Disable Codecov PR Commenting (#2117) 2021-12-19 13:42:41 +01:00
CODEOWNERS Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
CONTRIBUTING.md Remove old bash-based rz-pm (#3360) 2023-02-07 18:26:38 +08:00
COPYING
COPYING.LESSER
DEVELOPERS.md Small typo in DEVELOPERS.md (#3353) 2023-02-06 12:36:23 +08:00
Dockerfile Use ninja-build from apt in docker (#3056) 2022-09-30 17:03:53 +02:00
Doxyfile Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
meson.build Fix multiple memory leaks 2023-06-05 22:41:20 +08:00
meson_options.txt build: Introduce EXTRA_PREFIX for loading plugins/resources from another path 2023-05-19 16:42:35 +02:00
README.md doc: Remove install file and link web page (#3116) 2022-10-28 12:12:23 +02:00
SECURITY.md
snapcraft.yaml Bump version to v0.6.0 (#3369) 2023-02-16 09:30:58 +08:00
travis-extract-var.sh
travis-script Use meson setup <dir> instead of meson <dir> 2023-04-26 20:01:47 +08:00

Rizin logo

Rizin

Rizin is a fork of the radare2 reverse engineering framework with a focus on usability, working features and code cleanliness.

Rizin is portable and it can be used to analyze binaries, disassemble code, debug programs, as a forensics tool, as a scriptable command-line hexadecimal editor able to open disk files, and much more!

To learn more on Rizin you may want to read the official Rizin book.

How to install

Look at install instructions on our web page.

How to build

Use meson to compile and install Rizin. Please make sure to get an updated meson (e.g. get it with pip install meson if your system does not provide one that is at least version 0.55.0).

Clone this repository:

$ git clone https://github.com/rizinorg/rizin

Then compile and install with:

$ meson build
$ ninja -C build
$ sudo ninja -C build install

Now you can use rizin:

$ rizin
 -- Thank you for using rizin. Have a nice night!
[0x00000000]>

To uninstall rizin, execute sudo ninja -C build uninstall.

Please have a look at BUILDING.md for more information about building Rizin.

Contributing

We very much welcome any kind of contributions, from typos, to documentation, to refactoring, up to completely new features you may think of. Before contributing, we would like you to read the file CONTRIBUTING.md, so that we can all be on the same page.

Tests

Look at test/README.md.

Supported features

Supported Operating Systems

Windows 7 and higher, Apple macOS/iOS/iPadOS, GNU/Linux, [Dragonfly|Net|Free|Open]BSD, Android, QNX, Solaris/Illumos, Haiku, GNU/Darwin, GNU/Hurd.

Supported Architectures

i386, x86-64, ARM/ARM64, RISC-V, PowerPC, MIPS, AVR, SPARC, System Z (S390), SuperH, m68k, m680x, XAP, XCore, CR16, HPPA, ARC, Blackfin, Z80, H8/300, V810, V850, CRIS, XAP, PIC, LM32, 8051, 6502, i4004, i8080, Propeller, Tricore, CHIP-8, LH5801, T8200, GameBoy, SNES, SPC700, MSP430, Xtensa, NIOS II, TMS320 (c54x, c55x, c55+, c66), Hexagon, DCPU16, LANAI, MCORE, mcs96, RSP, C-SKY(MCore), VAX, AMD Am29000.

There is also support for the following bytecode formats:

Dalvik, EBC, Java, Lua, Python, WebAssembly, Brainfuck, Malbolge

Supported File Formats

ELF, Mach-O, Fatmach-O, PE, PE+, MZ, COFF, OMF, NE, LE, TE, XBE, BIOS/UEFI, Dyldcache, DEX, ART, CGC, ELF, Java class, Android boot image, Plan9 executable, ZIMG, MBN/SBL bootloader, ELF coredump, MDMP (Windows minidump), DMP (Windows pagedump), WASM (WebAssembly binary), Commodore VICE emulator, QNX, Game Boy (Advance), Nintendo DS ROMs and Nintendo 3DS FIRMs.

Scripting

We provide a way to interact with Rizin from Python, Haskell, OCaml, Ruby, Rust, and Go languages through rzpipe. Other languages although not currently supported could be easily added.

Community

Our website and blog: https://www.rizin.re/

Join our Mattermost community to discuss Rizin, its development, and general topics related to the project.

We also provide the following partial bridges to other messaging platforms: