No description
Find a file
Heersin 2b748567fa
Add fbasic theory to rzil using rz_util/float (#3184)
* Fbasic dev build test

* Add fbasic structure and enums

* Add fbasic op new

* Add fbasic op dup

* Add fbasic op free

* Add partial theory of float

* Add fbasic handlers to pure table default

* Add fbasic stringfy

* Add temporary float functions

* Add rz-float value and evaluation

* Add float json dump functions, todo add mode info in il_opdmp_* functions and compelete il_resolve_pure

* Complete fbasic il in il_export

* Fix detected error in compilation

* Add doxygen for il/definition/float

* Pack float_round function

* Add new version of rounding

* Add cast and convert, todo add 'float_get_sign' and 'float_get_no_bias_exp'

* Add comments and fix new version rounding

* Add util float functions

* Implement theory fbasic : cast, convert and round

* Remove bv_one warning

* Move basic functions into rz_util from definition/float

* Add two basic test cmp and extra format test

* Add test to fsucc, fpred and fneg

* Add round significant test case 1 and fix bug to pass it

* Test round significant and bug fixes

* Add 6 types test cases to round_and_pack function

* Finish round significant and round_pack test with bug fixes and signature changes

* Leave fround as unimplement now

* Pass all test to cast and convert

* Add SPDX header

* Add SPDX header

* Add round to integral float with test and bug fixes

* Add more tests to cast_sint and bug fixes

* Fix mem leak in cast_sfloat

* Replace the deprecated rounding method, fix bugs and pass tests

* Resolve some reviewed issues

* Fix most memleak and bug found

* Remove deprecated round_bv

* Remove unused functions to eliminate warnings

* Fix typo in comments

* Uncommented implmented operations

* Add test cases and bug fixes for fbasic theory in rzil

* Fix ret type of new_bitv_from_* from Bool to BitVector

* Add new float op from f32 and f64
2023-02-15 18:18:40 +08:00
.builds Set up srht builds to trigger through hottub (#3312) 2023-01-21 19:25:33 +01:00
.github Remove old bash-based rz-pm (#3360) 2023-02-07 18:26:38 +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 old bash-based rz-pm (#3360) 2023-02-07 18:26:38 +08:00
dist Drop libuv dependency 2022-08-06 13:20:52 +02:00
doc Remove old bash-based rz-pm (#3360) 2023-02-07 18:26:38 +08:00
librz Add fbasic theory to rzil using rz_util/float (#3184) 2023-02-15 18:18:40 +08:00
LICENSES Move SDB into RzUtil 2022-07-19 08:45:20 +02:00
subprojects Updated libmspack to latest commit (#3349) 2023-02-05 13:23:02 +08:00
sys Removed rzbochs 2022-12-04 16:53:58 +01:00
test Add fbasic theory to rzil using rz_util/float (#3184) 2023-02-15 18:18:40 +08:00
.appveyor.yml Add --print-errorlogs flag meson test for Windows jobs 2022-03-06 16:54:44 +01: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 Use compiler intrinsics for rz_swap_* functions (#3300) 2023-01-22 21:30:21 +08:00
meson_options.txt Remove old bash-based rz-pm (#3360) 2023-02-07 18:26:38 +08:00
README.md doc: Remove install file and link web page (#3116) 2022-10-28 12:12:23 +02:00
SECURITY.md Update Security policy to be more precise about vulns 2021-08-25 13:13:37 +02:00
snapcraft.yaml Remove old bash-based rz-pm (#3360) 2023-02-07 18:26:38 +08:00
travis-extract-var.sh SPDX Copyright text for all files based on history 2021-03-05 19:39:15 +08:00
travis-script Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +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: