Commit graph

2653 commits

Author SHA1 Message Date
Khairul Azhar Kasmiran
176f603bcf
Add macro 'late quote substitution' test (#5493) 2025-11-01 15:49:33 +08:00
Peiwei Hu
ebb3551232
Fix tests for the ROP search (#5492) 2025-10-30 11:45:29 +08:00
Peiwei Hu
db1c07ec8f
Allow to search ROP gadgets given the details (stack change) (#5487) 2025-10-29 22:14:58 +08:00
Khairul Azhar Kasmiran
319a74833b
Combine multiple sed invocations into 1 (#5483) 2025-10-28 06:22:12 +08:00
Khairul Azhar Kasmiran
c99758c15b
Expand 1 fl@F:maps and 1 dm* test invocation (#5481) 2025-10-27 18:04:22 +08:00
Khairul Azhar Kasmiran
4e667bea2f
Expand 1 dm test invocation (#5479) 2025-10-25 19:53:04 +08:00
Khairul Azhar Kasmiran
51d45c5144 Revert "Update some dm output to the Ubuntu 24.04 (20251014) image (#5471)"
This reverts commit db6540717b.
2025-10-24 18:19:12 +08:00
Khairul Azhar Kasmiran
30255a9d3e Don't have alt count in dbg.maps.count.after.map test 2025-10-24 18:19:12 +08:00
Khairul Azhar Kasmiran
6c0dcdc01e Revert "Make debug tests work with Ubuntu 22.04 (#5473)"
This reverts commit 4bbf4408f9.
2025-10-24 18:19:12 +08:00
Ayush
996fe87fb4
Add ecl command to list colors with descriptions (#5469)
* Add ecl command using YAML details feature

Implement new ecl command to list color palette keys with descriptions
using Rizin's YAML command generation system.

- Add ecl command definition in cmd_eval.yaml with details section
- Add handler function to iterate and print color names with descriptions
- Add test case for ecl command
- Use ^anchor in grep to avoid substring matching issues

Fixes #5462

* Fix padding in ecl command output

Adjust padding calculation from max_len+1 to max_len+2 to match
expected spacing in test output.

* Removed colon from ecl command output for cleaner format

* Add color visualization to ecl command output

Implement colored blocks (##) in ecl command output, similar to the ec command.
This provides visual representation of each color alongside its description.
2025-10-22 00:17:51 +08:00
Khairul Azhar Kasmiran
4bbf4408f9
Make debug tests work with Ubuntu 22.04 (#5473) 2025-10-21 17:59:53 +08:00
Khairul Azhar Kasmiran
caf54f5945
Add 4 minutes to the go1.16 arm32 test (#5472) 2025-10-18 13:16:36 +00:00
Khairul Azhar Kasmiran
db6540717b
Update some dm output to the Ubuntu 24.04 (20251014) image (#5471) 2025-10-18 12:08:50 +00:00
Khairul Azhar Kasmiran
700948fa5a
help, scr.utf8.curvy=true: Add 1 space after curve (#5467) 2025-10-18 07:42:13 +08:00
billow
3e6b2f7fd0
h8300: enhance compatibility for h8300h/h8300l (#5444)
* refactor h8300 register handling and improve operand definitions

h8500: add h8500h/l support

* Fix operand references in H8300 assembly instructions and update operand width handling

* Add support for H8300 instruction formats with 32-bit immediate values

* Refactor H8300 instruction decoding and operand handling for improved clarity and maintainability

* Refactor H8300 instruction decoding to enhance CPU type handling and improve code clarity

* Add H8300L specific instruction decoding for MOVFPE and MOVTPE

* Refactor stack pointer handling for H8300 instruction set to support CPU type differentiation

* Add H8300H specific register profile to enhance CPU differentiation

* Refactor H8300 instruction handling to improve CPU type differentiation and clarity

* Enhance H8300 instruction handling for CPU type differentiation in post-increment and pre-decrement operations

* h8300: add explicit `inline` mark
2025-10-17 16:28:21 +00:00
Premade
4a435fa1b9
fix: fC command showing comment of wrong flag (#5456) 2025-10-14 10:39:59 +08:00
Khairul Azhar Kasmiran
6cba0f4a63
Remove brackets from args in rz-test -h (#5454) 2025-10-13 11:02:47 +08:00
billow
7a77b8f7bd
linter: update clang-format installation to version 20 (#5451)
* fix: format with clang-format-20
* fix: fix clang-format linter with rewrite '^#define.*/\*.*\\$'
* fix: update clang-format to version 20 in workflows and documentation
* fix: add SPDX license information to .git-blame-ignore-revs
2025-10-12 08:02:03 +08:00
Khairul Azhar Kasmiran
58ab58962f
Touch up rz-run -h (#5450) 2025-10-11 12:25:32 +08:00
NOT XVilka
32921799cc
test: remove external HTTP test (#5449)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-10-11 10:25:59 +08:00
Khairul Azhar Kasmiran
397f03b2a8
Touch up rz-sign -h (#5443) 2025-10-09 21:34:53 +08:00
Khairul Azhar Kasmiran
7223d182ef
Remove brackets from args in rz-gg -h (#5441) 2025-10-08 10:03:44 +08:00
Rot127
d79ff51157
librz/bin: define string search parameters in plugins (#5406)
* Clarify docs of raw_alignment

* Set Go and Rust string encoding for binary string search.

* Add detailed doxygen about string search in bin plugins.

* Add the number string code points as detail to string search hits.

* Add helper to check if string encoding needs scanning.

* Add helper to generate a string wildcard pattern.

The pattern is supposed to match any human readable string.
Before the string search refactor there was no explicit definition
what characters mark the end of a string and which ones don't.

This pattern should match strings of the old interpretation.

* Enable the RzBin plugin to search strings with direct matching instead of scanning.

This significantly speeds up the string search when a binary is opened.
The prerequisite is that the plugin specifies the string encoding.

* Enforce UTF-8 for initial string search.

* Add custom string search for PE files.

* Clean up and document rz_utf8_encode

* Don't demote explicit UTF-8 encoding to ASCII.

* Increase min JIT stack size due to not reproducable search results.

* Simplify wildcard regex pattern.
2025-10-08 10:02:32 +08:00
Khairul Azhar Kasmiran
04714648bb
Remove arg for -X in rz-gg -h (#5440) 2025-10-07 21:43:06 +08:00
Khairul Azhar Kasmiran
1edfc2f7c1
Remove brackets from args in rz-find -h (#5439) 2025-10-06 21:17:27 +08:00
Dhruv Maroo
1d836d7fc6
Type parser can now handle parenthesized declarations correctly (#5436)
* Type parser can now handle parenthesized declarations correctly

    * Also make the type pretty-printer print nested callables
      correctly and also take into account arrays in nested callables

* Add test for nested callable type parsing and printing

* Fix breaking test

* Add a unit test for the new type parsing/printing logic

* Fix the pretty printing by using the correct order for wrapping types

* Fix how the function pointer types look in pdb integration tests

* Format according to clang-format

* Change the logic for adding parens for the innermost wrapping type

* Fix broken integration tests

* Add type annotations for RzPVector; Initialize variable to fix build
2025-10-06 19:47:12 +08:00
Khairul Azhar Kasmiran
65752add5e
Remove brackets from args in rz-diff -h (#5438) 2025-10-05 22:13:35 +08:00
Rot127
92eff78276
librz/util: UTF-16/32 to UTF-8 conversion (#5431)
* Replace rz_str_utf16_to_utf8 with one matching the other string convert functions.
* Add rz_str_utf32_to_utf8
2025-10-05 19:16:53 +08:00
Khairul Azhar Kasmiran
1c5b3e6616
Add unit test for #5425 (#5437) 2025-10-05 19:00:45 +08:00
Khairul Azhar Kasmiran
7cd1f29c6c
Use internal tail for dbg_dmh test (#5435) 2025-10-05 14:40:03 +08:00
Khairul Azhar Kasmiran
deeaa15c90
Remove brackets from non-optional args in rz-bin -h (#5430) 2025-10-04 21:52:28 +08:00
Khairul Azhar Kasmiran
c65f79fff5
Remove -X from rz-bin -h (#5429) 2025-10-04 16:58:52 +08:00
billow
68da5f7db2
Add Renesas H8/500 plugin (#5340)
* add h8/500 plugin stub

* refactor h8500 instruction parsing and disassembly logic

* fix: remove debug print statement from h8500 EA parsing
fix: correct plugin name from h8300 to h8500
add: new test case for h8500 disassembly

* refactor: improve operand parsing and disassembly logic for h8500

* refactor: update operand representation in h8500 EA parsing

* refactor: enhance operand definitions and add test cases for h8500 instructions

* fix: add h8500 disassembly plugin to command lists

* refactor: enhance H8500 instruction and operand structures for better parsing

* refactor: update H8500 instruction set with size suffixes and enhance operand handling

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor: update H8500 operand handling and address mode definitions for consistency

* refactor: update H8500 addressing flags and operand handling for consistency

* refactor: update H8500 immediate operand syntax to use '#' prefix for consistency

* refactor: update H8500 addressing modes and mnemonics for consistency

* refactor: add new H8500 instructions BNOT, BSET, BSR, and BTST with operand handling

* refactor: update H8500 opcode definitions and add new CLR and CMP instructions

* refactor: add DADD instruction to H8500 opcode definitions and update related tests

* fix: correct memory copy size in h8500_instruction_parse function

* refactor: add DIVXU, EXTS, and EXTU instructions to H8500 opcode definitions and update tests

* refactor: add JMP instruction to H8500 opcode definitions and update tests

* refactor: add JSR instruction to H8500 opcode definitions and update tests

* refactor: add LDC, LDM, and LINK instructions to H8500 opcode definitions and update tests

* Update librz/arch/isa/h8500/h8500.c

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor: update H8500 addressing mode and operand flags to use ut64 type

* refactor: update H8500 addressing modes and add MOV instruction test cases

* feat: add MOVFPE, MOVTPE, and MULXU instructions to H8500 opcode and assembly

* feat: add NEG, NOT, and NOP instructions to H8500 opcode and assembly

* feat: enhance H8500 opcode with new instructions and EA flags

* fix: change enum to typedef enum for addressing mode definition

* pjmp

* pjsr | prts

* rot*

* rt*

* scb

* sh*

* sleep | stc | stm

* sub*

* swap

* tas | trapa | trap/vs | tst

* fin disas

* fix header

* add h8500_reg_name function to retrieve register names

* implement H8500 instruction analysis and operand value extraction

* refactor H8500 addressing modes and operand definitions for clarity

* fix msvc 2017 build

* fmt

* fix: update description for H8500 disassembler plugin

* fix: cmd test

* fix: coff h8500 support

* add author and cpus

* fix: test cmd

* feat: add instruction operand string retrieval and new instruction test

* fix: change operand length type from size_t to int in h8500 instruction parsing functions

* feat: add dsub instruction and update operand syntax in h8500 assembly files

* feat: update h8500 opcode descriptions and add new branch instructions

* Fix coff permissions when rz_coff_perms_from_section_flags returns 0

* Fix missing op->size

* refactor: update addressing mode macros and improve operand handling in h8500

* Refactor assembly syntax for H8500 instructions

- Added spaces for better readability in the assembly instruction definitions.
- Updated the formatting of operand lists to include spaces around commas.
- Ensured consistency in the formatting of immediate values and register references.
- Adjusted the assembly test cases to reflect the new formatting style.

* fix: correct permissions for .drectve sections in COFF format

* feat: add initial test cases for h8500 registers and analysis

* fix: add comment to clarify H8300 machine definition in COFF specs

* fix: correct typo in expected output for h8500 analysis

* fix: update data type and constants for H8500 pattern checks

* fix: apply suggestion

* fix: update H8500 instruction encoding and address modes

* fix: add cmp.b and cmp.w instructions for H8500

* fix: refactor H8500 analysis for improved address mode handling

* fix: enhance H8500 analysis for improved operand handling and stack operations

* fix: improve operand handling in H8500 analysis for better instruction processing

* fix: update PJSR instruction format for H8500 and enhance CMP instruction handling

* fix: enhance H8500 function analysis with additional metadata for varfunc and leaffunc

* fix: add documentation and clarify PC-relative mode handling in H8500 instruction parsing

* fix: correct PJMP instruction format to include address dereferencing

* Update librz/arch/isa/h8500/h8500.c

Co-authored-by: Giovanni <561184+wargio@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>
Co-authored-by: Giovanni <561184+wargio@users.noreply.github.com>
2025-10-03 13:10:55 +00:00
Khairul Azhar Kasmiran
a60c32b46e
Colorify rz-ax -h (#5413)
* Colorify `rz-ax -h`
* Hardcode `rz-find` binary name
2025-09-27 16:24:11 +08:00
Tushar Jain
5cbab45fd8
Devirtualize message dispatch in ObjectiveC (#5328) 2025-09-27 15:37:02 +08:00
Rot127
e7c0714b9a
Remove bin.debase64 option. (#5405) 2025-09-23 00:59:12 +08:00
Khairul Azhar Kasmiran
c61e10c61a
Test <program> -h (#5402) 2025-09-22 20:36:47 +08:00
NOT XVilka
e70a55b65f
core: remove pg and visual ROP (#5398)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-09-21 22:37:16 +08:00
Khairul Azhar Kasmiran
c9deaf5338
Add 4 minutes to the go1.16 arm32 test (#5399) 2025-09-20 21:09:42 +08:00
Khairul Azhar Kasmiran
1cb28dc1e7
help, scr.utf8=true: Add 1 space after left bar (#5397) 2025-09-19 20:06:18 +08:00
Rot127
41bbed1883
Fix and extend string search integration tests (#5393)
* Remove unused declaration.

* Fix integration test to have a real scan example.

This also fixes a bug that the last NUL/invalid byte in a string
was not included in the UTF-8 bytes -> memory offset map.
2025-09-18 22:54:23 +08:00
Rot127
2d7b178c84
String search performance improvement (#5383)
* Add speed up search for unaligned buffers and string encodings.

The new search mode adjusts the buffer's data (swap endianness, fix alignment)
so the buffer can be searched with PCRE2 without scanning.

It also enables RzRegexMulti opbjects to have their own JIT stack.
This makes them usable in a thread safe manner.

* Fix regex compilation on big endian systems

* Update the scanning check (UTF needs no scanning anymore).
2025-09-18 00:42:03 +08:00
Khairul Azhar Kasmiran
805600d184
Honor -a, -b & -k on stdin binary (#5388) 2025-09-17 20:21:37 +08:00
Rot127
9705b44f6e
Enable string search collection to search for multiple encodings. (#5378)
* Enable string search collection to search for multiple encodings.

This moves the encoding and alignment properties out of the collection
object into the RzDetectedStr object.
It essentially removes duplicates of this info.

Because of this move, rz_search_collection_string_add() will now
check for invalid collection configurations.

* Rename type -> encoding
2025-09-17 10:54:31 +08:00
Rot127
fdc9ecbacc
Add several memory helpers (required for speed up of string search). (#5372)
* Add function to memcpy memory with offset.

* Add count trailing zeros function.

* Add function to determine pointer alignment.

* Add helper to swap sequences of 2 bytes.

* Add helper to swap sequences of 4 bytes.

* Print pointer in warning

* Fix tests

* Use uintptr_t type to prevent undefined behavior.

* Remove alignment requirement and rely on malloc promises.

* Add in place byte swap functions.

* Move the endianness swapping into util/rz_endian

* Use GNU builtin __builtin_ctzll/clzll.

Also fixes the include guards of __builtin_clzll
and handles the undefined case of x == 0 of it.

* Add doxygen
2025-09-17 00:07:44 +08:00
Rot127
a59b090db9
String search integration tests (#5358)
* Add integration test for a simple string search.
* Clean up rz_str_is_false
* Doxygen
* Add rz_buf_type
* Sort search hits not just by address but also by size.
* Add a paranoid regex Hindi test.
* Add an integration test using RzCore and searching for UTF-16LE.
* Revert "Temporarily remove codecov workflow due to https://github.com/codecov/codecov-action/issues/1877 (#5366)"

This reverts commit dc5d50ce58.
2025-09-14 11:44:14 +08:00
Rot127
ce2fde2dbb
Mark search test breaking on s390x as BROKEN for now. (#5370) 2025-09-12 23:46:07 +08:00
Rot127
699c7d2dff
Improve performance of string search. (#5262)
* Make checks against defined Unicode points optional

* Allow to decode UTF-16 without writing the result.

* Remove PCRE2_NO_UTF_CHECK as default, since it can lead to undefined behavior.

* First refactor regex to support utf16 and utf32

* Add UTF-16-BE encoding function

* Add UTF-8 counting helper functions.

- One for counting the number of Unicode code points.
- The other to get the number of bytes required to represent the given UTF-8 string in UTF-16.

* Remove unused code

* Add UTF-8 to UTF-16 conversion function.

* Add type annotations

* Implement utf8 to utf32 string conversion

* Add UTF-16/32 versions of all other necessary regex functions for str search.

* Another regex refactor for utf16/32

* Add UTF16/32 regex matching tests.

* Implement still segfaulting (possibly JIT double usage) regex search.

* Duplicate match_first functions to reduce necessary branch predictions.

* Reduce number of required branches for encoding UTF16/32 to one.

* Duplicate match_all_internal functions to reduce necessary branch predictions.

* Fix too early free

* Only allocate match vector when needed.

* Fix: use code point size of buffer.

* Add missing return

* Normalize pointers to UTF16/32 strings to use proper code point with

* Also replace spaces with in utf16/32

* Add an additional host endian tests for UTF16/32 string encodings.

* Ensure thread savety.

JIT compiled patterns need to be owned by a single thread.
For the search we need to clone it.

JIT matching structures are optionally cloned as well.

* Enforce NO_UTF_CHECK in regex search.

This improves performance and currently is
default because we always match on binary data.

* Fix matching of UTF strings which are not suported by direct buffer matching.

PCRE2 only supports matching against memory which is aligned
to a code point width of the encoding.

These changes prevent taking the fast (direct matching with PCRE2) path
and use the slow string search path if the alignment doesn't match
the UTF string encoding.

To not complicate the change and additional alignment member
is added to each searched string in the search collection.

* Create search hit description on the stack

* Unset complete JIT matching if user provided custom jflags.

* Document what passing NULL to copy function pointers does.

* Replace the retarded idea of tracking offsets with a hashmap with a linear buffer.

This improves performance something like 10x.

* Remove const for the non-JIT builds.

* Remove additional flags for skip checking.

It is not needed because each decoded character is checked for printablity below anyways.

* Enfore no setup of IO mem with 0xff

* Fix: Set JIT complete flag for multi regex patterns

* Fix heap.

* Add note about worsed performance path.

* Fix unit test with string terminated by undefined code point.

* Run clang-format

* Fix order of arguments

* Add warning about string search with encoding=guess to tests.

* Fix string lengths, they no longer count the final invalid code point.

* Fix endian macro on Windows

* Fix NULL dereference

* Fix number tests

* Use endianness check not dependent on stdbit

* Fix type annotations.

* Reintroduce rz_str_len_utf8char

* Fix command description.

* Fix and unify RZ_SYS_ENDIAN macros.

- Don't allow unhandled architectures anymore.
- Check endianness for Sparc and PPC using non GCC/Clang compilers.
- Fix several endianness checks using the value instead of the macros.

* Fix tests

* Apply review comments.
2025-09-11 22:29:20 +08:00
Giovanni
46009de0fa
librz/bin: add corefile support for Linux MIPS 32/64 (#5355) 2025-09-10 23:12:53 +08:00
Rot127
bc30c934fc
Fix tests on AArch64 machine by resetting the flag spaces with obs. (#5353) 2025-09-10 23:09:26 +08:00
Rot127
cb3e09aa4e
Fix SPARC/MC680x0 Mach-O fat binary issues (#5338)
* Add thread_state register layouts for Mac-O Sparc and MC680x0 binaries.

* Prevent hitting assert by passing NULL in some cases.

If name is not a valid arch identifier, it should complain later.

* Switch to m68k name, to match the asm.arch plugin name.

* Don't ignore endianess of fat Mach-O binaries.

And if it isn't ignored check for actual endianess,
not for being a PPC binary.

* Add `obs` command to select the different versions of fat binaries.
* Fix import tests of mach-o
* Properly rest xtr_data->loaded
* Update doxygen and remove RZ_DEPRECATED flag
2025-09-09 11:51:17 +08:00
Rot127
eefb34bcd5
librz/bin: coredump parsing for SPARC (#5321)
* Add PRSTATUS offset and size information for Sparc registers.
* Inform about reason why ELF segment is invalid.
* Restore register content of Sparc core files (Linux/OpenBSD).
* Fix invalid 0 stack pointer pointer being used.
2025-09-09 01:28:51 +08:00
Premade
06061654db
Add: Mark API (#5313)
* Add: Bookmark API

* Fix: missing licenses + project migration

* Fix: migration

* Fix: formatting

* Fix: migrate info in cmd/project test

* Rename: Bookmark to Mark

* Remove: bookmark

* Fix: function type comment

* Fix: code coverage

* Add: tests, docs, ownership type annotations

- Added test/db/cmd/cmd_mark test
- Improved API documentation with \brief, \param, \return and proper grammar
- Added RZ_BORROW / RZ_OWN annotations to relevant API functions

* Fix: missed annotation

* Fix: type annotations + update meson.build

* Fix: License in `cmd_mark.yaml`

* `serialize_mark.c`: add NULL checks
2025-09-01 22:06:01 +00:00
well-mannered-goat
a77afb0a29
Refactor debug native plugin archos-wise and other minor refactors (#5295)
- separate plugin archos wise.
- move all register profiles under reg directory.
- move architecture specific from linux_debug.c and bsd_debug.c to respective files.
- replace eprintf with rz_sys_perror and RZ_LOG_*
- remove debug_native.c and reg.c
- refactor librz/debug/meson.build to compile the native plugins archos wise.

This improves code readability and maintainibility.
2025-09-01 00:00:35 +08:00
Giovanni
af724c9f9a
librz/bin: MIPS - fix ucalls from plt/stubs (#5329)
* When a ucall/rcall is performed from the plt, then is no-return function
* Add test
2025-08-30 23:16:34 +08:00
Giovanni
d933ccc4e5
Remove rz-libswift to avoid embedding C++ projects. (#5320)
* Remove rz-libswift to avoid embedding C++ projects.
* Fix test
2025-08-27 10:38:10 +08:00
Nir Lichtman
255e3a3451
librz/main/rz-ax: fix bug of stdin mode (#5319) 2025-08-26 18:46:17 +08:00
Ahmed Kamal
4fd6b9c2da
Update libmagic to openbsd/src@0e59d0d (#5288)
* Update magic implementation from openbsd to 0e59d0d commit
* Various refactoring of the original code to use RzUtil primitives instead of the custom implementation
* Remove static variables from the original code
* Remove Queue, regex_t and use RzList, RzRegex instead
* Remove unneeded code from the original implementation
* Use RZ_LOG_* macroses instead of the custom logging of the original code
* Use rz_endian primitives where appropriate
* Use os-specific functions where appropriate
* Move magic functions to internal header
2025-08-26 12:06:54 +08:00
Rot127
9c0fe61dac Implement Sparc relocation patching and conversion. 2025-08-25 23:05:58 +08:00
Rot127
65a0df1d39 Uplift Sparc to RzIL.
This uplifts all non-trap related instructions to RzIL.
Notable shortcomings are:
- ASI (address spaces identifiers) are not implemented.
  Every instruction using them defaults to the ASI 0.
  This is because STORE/LOAD don't take RzIL values but constants for
  memory identifiers.
- Similary floating point rounding defaults always to one rounding mode.
  See SPARC_RMODE(). For the same reason as above, the rounding mode
  can't be determined during runtime currently.
- Floating point exception flags (FSR.cexc/FSR.aexc) are not written.
  This also happens because RzIL has currently no mechanism to hook FP
  exceptions from the FP module and execute predefined RzIL code for them.
2025-08-25 23:05:58 +08:00
Rot127
a735e16464 Remove GNU Sparc asm module. 2025-08-25 23:05:58 +08:00
Rot127
2602b1cdfa
Enable RzIL VM to halt on exceptions. (#5305)
* Print warnings if a runtime exception state is reached.

* Enable the RzIL VM to halt on exceptions.

---------

Co-authored-by: NOT XVilka <notxvilka@proton.me>
2025-08-25 12:43:01 +00:00
Ahmed Kamal
f15589d3cf
Add rz_str_ncat (#5307) 2025-08-24 21:10:19 +08:00
Giovanni
9db7089248
Change output of iH to support structured data. (#5263) 2025-08-23 22:23:14 +08:00
Tushar Jain
684277d227
Added class methods identification and inheritance in swift using rz-libswift demangler (#5296) 2025-08-22 13:47:06 +08:00
Rot127
72bf85309b
Bump Capstone to latest next (v6-Alpha5 + two fixes). (#5308)
- Fix LoongArch absolute address usage.
- Sparc: update to use new Auto-Sync module.
- Sparc: Fix unconditional delayed branch instructions with annul bit.
2025-08-22 09:29:04 +08:00
Rot127
8cae918f01 Add a helper function to spread value bits according to mask. 2025-08-20 22:31:02 +08:00
Ahmed Mohamed Ibrahim
38a530dbe3
librz/util: base64, base85, base36, base32, base16 support and refactor (#5216) (#5271)
* Rename librz/util/ubase64.c into librz/util/base64.c for consistency #5216

* Add Doxygen documentation to function in librz/util/base85.c #5216

* Add unit-tests for librz/util/base85.c #5216

* Refactor base85 API and internal functions #5216

base85 was using a FILE as an input and it used to print its result to
STDOUT, which was very bad for having unit-testing or to use it to
extend rz-hash functionality, since the solution I really had was
through using pipes which isn't ideal as much as the refactoring one.

* Extend rz-hash with base85 #5126

* Fix formatting #5216

* Extract base36 decoding function from subprojects/rzwinkd/iob_net.c to librz/util/base36.c #5216

- Also, added Doxygen docs to rz_base36_decode function

* Added rz_base36_encode_dyn #5216

- this function encode a u64 value to it's char[13+1] base36 counterpart
- later, it will be helpful in expanding the funcitionality of rz-hash
- added its Doxygen docs

* Expand rz-hash with base36 encoding/decoding #5216

* Refactor rz_base36_decode to return a suitable error code like -1 #5216

- that should help testing it later for valid and invalid decodings
- keeping the original behaviour as it was in
subprojects/rzwinkd/iob_net.c

* Add unit-tests for base36 encoding & decoding functions #5216

* Fix formatting #5216

* Fix base36.h header file guards #5216

* Add base32 encoding & decoding #5216

added their Doxygen Docs as well

* Add base32 encoding and decoding unti-tests #5216

* Expand rz-hash with base32 encoding/decoding functionality #5216

* Fix formatting #5216

* Fix add base32 to codec_name_bytes #5216

* Fix base32 docs #5216

* Add base16 encoding/decoding functions #5216

- added their Doxygen docs as well.

* Add base16 unit-tests #5216

* Fix test_base85 conversions warnings #5216

* Expand rz-hash with base16 encoding/decoding functionality #5216

* Fix formatting #5216

* Fix doxygen docs #5216

* Restore subprojects/rizin-shell-parser/parser.c to match origin/dev

* Fix the order by baseXX

* Fix base16 - invert the logic in calculate_src_length

* Fix base16 - intialize variables in rz_base16_encode

* Fix base16 - null terminate the output buffer of rz_base16_encode_dyn

* Fix base16 - get rid of unnecessary else in rz_base16_decode

* Fix base16 - use `len & 1` instead of `(len % 2) != 0`

* Fix base32 - invert the logic in calculate_src_length

* Fix base32 - compress two return statments by using `rz_return_val_if_fail(src && dest, 0);`

* Fix base32 - null terminate the output of rz_base32_encode

* Fix base32 - get rid of unnecessary else in rz_base32_decode

add more parentheses to split addition from mult for better clarity

* Fix base32 - intialize variables in rz_base32_encode_dyn

* Fix base36 - intialize `tmp` variable in rz_base36_encode_dyn

* Fix base36 - use RZ_LOG_ERROR instead of eprintf

* Fix base36 - use RZ_NULLABLE for the API interface

* Fix base85 - use RZ_OUT & RZ_NULLABLE for the API interface

* Fix base85 - use RZ_LOG_ERROR instead of eprintf

* Fix base85 - use size_t instead of int for decode_tuple_buf

* Fix base85 - remove unused varaible, `out_len`, in rz_base85_encode_dyn

* Fix base85 - correct decode buffer size calculation

The previous rz_base85_dec_buflen() underestimated the worst‑case output
size (3 bytes per 4 input chars), causing overflows when using ‘z’/’y’
abbreviations. Update it to allocate 4 bytes per input character plus
one for the NUL terminator, eliminating heap-buffer-overflow errors.

* Fix formatting

* Fix base85-test - use `newlines` variable to make sure line breaks were inserted as expected

* Fix base85-test - remove unnecessary includes

* Fix rz-hash test - updated rz-hash -L expected result

* Fix crypto_base36 - use RZ_LOG_ERROR instead of eprintf

* Fix base16 - compress rz_return_val_if_fail statements and move before locals

* Update base16 - use hex.c existing encoding/decoding logic

- base16.c encoding/decoding functions are now wrappers for hex.c
  `rz_hex_bin2str` and `rz_hex_str2bin` functions
- updated related base16 unit testing and documentation
- updated the integraion with rz-hash binary (or crypto_base16)

* Fix formatting

* Add documentation to rz_hex_bin2str

* Fix base85 - add missing `reutrn` docs to rz_base85_encode function

* Fix base85 - use RZ_NONNULL for dest and src function instead of RZ_NULLABLE

* Fix base36 - use RZ_NONNULL for dest and src function instead of RZ_NULLABLE

* Fix base16 - use RZ_NONNULL for dest and src function instead of RZ_NULLABLE

* Fix base32 - use RZ_NONNULL for dest and src function instead of RZ_NULLABLE

* Fix base16 - add missig checks for invalid inputs in rz_base16_encode & rz_base16_encode_dyn

* Fix base32 - add missing checks for bad encoding

* Fix - add missing SPDX

* Fix Formatting

* Add rz_base36_encode & rz_base36_decode_dyn functions to base36 API
2025-08-17 15:26:25 +08:00
Giovanni
3efdc9a318
Add rz-libswift as dependency and disable globally use_swift_demangler (#5298) 2025-08-16 00:03:55 +08:00
Tushar Jain
522711728a
Add vtables to classes for C++ binaries w/o RTTI (#5293) 2025-08-09 11:13:56 +08:00
Rot127
25d500a86b
librz/util/float: fix cast of negative zero to integer. (#5291) 2025-08-06 00:06:43 +08:00
Tushar Jain
191086ccd5
Improve class analysis for C++ (#5191)
* Identify and mark allocated objects
* Devirtualize calls
* Add virtual xrefs
2025-08-05 10:19:48 +08:00
billow
e72cec47ea
librz/arch: add RZIL support for H8/300 and H8/300H (#5119)
* Refactor H8/300 disassembly plugin
* Add support for H8/300H architecture
* Extract ESIL uplifting for H8/300
* Implement RzIL uplifting for H8/300 and H8/300H
* Add `rz_bits_sign_ext{8,16,32,64}`
2025-08-04 12:40:43 +08:00
Cyril F.
fd41e61d30
X86 Fix bad immediate operand value (#5285) 2025-07-29 17:33:33 +08:00
Rot127
22089ed1bb
Fix runtime check for float128 values. (#5283) 2025-07-21 08:28:52 +08:00
Rot127
15e051598f
Enable initialization of negative zero and add float neg tests. (#5282)
* Enable initialization of negative zero and add float neg tests.
* Use argument instead of another function to init negative zero.
* Use platform agnostic negative inifinity value.
2025-07-21 08:28:32 +08:00
Ahmed Kamal
f020764aef
refactor: remove sdb_fmt() and replace it with rz_strf() (#5276)
* Remove `sdb_fmt()` and replace with `rz_strf()`
* Use `strbuf_append()` instead of `out_concat()`
2025-07-18 22:07:23 +08:00
NOT XVilka
59a375f7f8
Remove incomplete RISC-V ESIL uplifting (#5273)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-07-18 02:26:00 +08:00
NOT XVilka
1b60bf4335
search: remove ESIL search (#5258)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-07-11 14:19:08 +00:00
Giovanni
587f0ac4a9
librz/bin: Fix mipsel64 relocation parsing (#5257) 2025-07-10 15:02:43 +08:00
Rot127
0c0f868646
Add ?**, ?**e, ?*** for interactive search of command and settings details (#5062)
* Add ?** as alias for ?*~...

* Zero initialize the help desc copy.

Fixes a bug when detail_cb was called but it was just garbage.

* Implement ?***

* Add tests for interactive command search

* Add string buffer output mode for internal use and use it for setting help.

* Add ?**e for interactive search of config values.
2025-07-08 12:06:39 +00:00
Khairul Azhar Kasmiran
c7fab7e584
Remove dc from archos/netbsd-x64/dbg maps test (#5247) 2025-07-07 00:03:42 +08:00
Giovanni
31537e712d
librz/bin: refactor SNES bin parser (#5246)
* librz/bin: Refactor of SNES plugin
* librz/bin: Fix leak in bin_nin64.c plugin
2025-07-05 21:30:47 +08:00
well-mannered-goat
2ac62f1d5c
Run tests in OpenBSD with doas. (#5234)
* fix netbsd dbg map test
* openbsd: run doas rz-test with with correct environment
2025-07-05 18:44:13 +08:00
Khairul Azhar Kasmiran
072008c393
Update archos/netbsd-x64/dbg maps test (#5244) 2025-07-04 22:45:15 +08:00
Giovanni
4f6bd00197
Refactoring of Nintendo 64 ROM parser (#5236) 2025-07-03 23:30:55 +08:00
Giovanni
b80b9de44d
librz/bin: refactoring of bin_sms.c to cleanup and add description (#5235) 2025-07-03 23:11:45 +08:00
well-mannered-goat
438ab0cfd3
Add Linux ARM64 debug tests (#5232) 2025-07-03 02:31:25 +08:00
Ahmed Kamal
f2d392d1ea
Remove global variables from librz/bin/p/bin_sms.c (#5210) 2025-07-02 17:59:13 +08:00
Khairul Azhar Kasmiran
22ddb3540d
Add log.show.sources test for warnings after output (#5230) 2025-06-30 17:51:25 +08:00
Giovanni
a8bd1dd9f6
Rewrite of RzBin AVR plugin to detect known the vectors and handlers. (#5228) 2025-06-28 19:09:12 +08:00
well-mannered-goat
48c53b0296
Add openBSD debug tests and fix errors (#5226) 2025-06-27 22:10:35 +08:00
Anton Kochkov
58b0b3715b
Add FreeBSD x86_64 debug tests (#3273)
Co-authored-by: well-mannered-goat <takshformal@gmail.com>
Co-authored-by: Rot127 <45763064+Rot127@users.noreply.github.com>
2025-06-24 21:19:31 +08:00
Anton Kochkov
67a1e2b327 util/table: add basic query tests 2025-06-21 01:31:53 +08:00
well-mannered-goat
7117ba75ea
librz/debug: add NetBSD debug tests and fix errors (#5208)
* Fix netbsd-x86_64 register profile
* Fix native_wait in netbsd.c
* Fix netbsd attach to show error
* Add netbsd-x64 debug tests
2025-06-20 00:22:33 +08:00
Ahmed Kamal
93d914bd81
Remove Global/Static variables in path.c to make it thread safe (#5148) 2025-06-13 21:34:33 +08:00
NOT XVilka
643622098c
esil: remove esilcost (#5205)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-06-11 17:10:49 +00:00
Rot127
1f6c6147ec Add the Qualcomm Peripheral Image loader (MDT files, 32bit only).
It loads .mdt firmware layout files, searches for the other parts in the same directory and loads them.
It resolves symbols, sections etc automatically, and maps them according to the layout
to the virtual address space.

- The iH command provides details about each firmware part as well.
- Memory maps and segment names are prefixed with the parts file name to make them distinct.
- If a firmware part is an ELF library it loads, and resolves its functions, segments etc.

Due to the design of the ELF binary plugin (code duplication with macros for 32/64bit versions),
this only supports 32bit firmware images for now.
This can relatively easily be fixed, by duplicating this plugin but including the 64bit ELF headers.
This requires more tests though.
2025-06-11 15:41:03 +00:00
Rot127
3200b9e836 Expose ELF functions as API for other binary plugins.
It exposes commonly used ELF parsing functions in elf_parser.
They don't rely on RzBinFile but take only the ELF object.
This allows access for other RzBin plugins which rely on ELF files.
2025-06-11 15:41:03 +00:00
Rot127
622ce00434
rzil: add missing float formats to float stringify. (#5198) 2025-06-11 22:42:13 +08:00
Premade
b93153b9f4
librz/bin: improve plugin descriptions (#5199)
* Make bin plugins descriptions uniform
* Refactor: swap desc column with author
2025-06-11 22:41:28 +08:00
Giovanni
181c74f4f2
librz/hash: add descriptions to all crypto & hash plugins (#5194) 2025-06-10 23:21:45 +08:00
Premade
bed6ed17ae
Improve rz-bin -L output (#5190)
* Refactor: improve `rz-bin -L` output

Added `author` + `license` cols
Removed `bin/xtr` col

* Refactor: move `license` column + change table output

moved license column before description
table output for bin/xtr now contains `author` + `license` cols

* Add: author field for `librz/bin/p/*`

author selected on oldest SPDX owner
if same time-period then author is chosen based on git history
2025-06-10 12:05:44 +08:00
Giovanni
ca70341f2b
Refactor and improvements on ELF relocations (#5187)
* Move ARM32 reloc patching into a function

* Move ARM64 reloc patching into a function

* Move PPC64 reloc patching into a function

* Add missing NONE relocs for various archs

* Move Intel 80386 reloc patching into a function

* Move amd64 reloc patching into a function

* Move rx reloc patching into a function

* Move alpha reloc patching into a function

* Handle reloc RZ_X86_64_COPY for amd64

* Move intel 80386 reloc convert into a function

* Move amd64 reloc convert into a function

* Move arm reloc convert into a function

* Move riscv reloc convert into a function

* Move aarch64 reloc convert into a function

* Move ppc reloc convert into a function

* Move mips reloc convert into a function

* Move rx reloc convert into a function

* Move alpha reloc convert into a function

* Move hexagon reloc convert into a function

* Fix wrong rename on ELF format

* Handle reloc R_MIPS_HI16 & R_MIPS_LO16

* Minimal handling of micromips relocs

* Add nanomips initial support for reloc convert

* Minimal handling of intel 80386 missing relocs

* Minimal handling of amd64 missing relocs

* Minimal handling of arm missing relocs

* Minimal handling of riscv missing relocs

* Minimal handling of aarch64 missing relocs

* Minimal handling of ppc missing relocs

* Minimal handling of ppc64 relocs

* Split reloc patching & conv from bin_elf.inc

* Split aarch64 from arm32 in elf_imports.c
2025-06-08 17:46:45 +08:00
well-mannered-goat
b25a0d0a55
Add tests for PPC64LE debugger support (#5184) 2025-06-03 11:36:19 +05:30
nemarci
9026d3063f
Tst esil fix (#5183)
* Fix ESIL code for TST

* Test emulation of TST
2025-05-31 15:22:42 +00:00
Seva D.
915d03e307
Add calculation of total information content and information temperature (#5167) 2025-05-30 00:30:24 +08:00
Rot127
51f9509d61
Enable rz-test asm tests to test for multiple instructions in a single test. (#5166)
This allows to test for assembly characteristics which are only valid in a certain context.
Here we also fix a bug in rz-asm, which didn't incremented the address before disassembly.
2025-05-26 14:05:19 +00:00
Peiwei Hu
1d9eac6b6d
Refine the output of iz command and remove ordinal in RzBinString (#5122)
* Refine the output format of iz command

* fixup! Refine the output format of iz command

* fixup! fixup! Refine the output format of iz command
2025-05-23 13:46:30 +00:00
NOT XVilka
ba8c170852
Migrate from Capstone to Zydis (x86 architecture) (#5164)
* Added build files [Capstone to Zydis]

* x86 Analysis [Capstone to Zydis]

* Changed x86 RzIL [Capstone to Zydis]

* Changed asm and arch files [Capstone to Zydis]

* Compilation, build error and test fixes [Capstone to Zydis]

* Test changes [Capstone to Zydis]

* Remaining changes [Capstone to Zydis]

* Added BE support [Capstone to Zydis]

---------

Co-authored-by: tushar3q34 <tushar3q34@gmail.com>
2025-05-23 13:03:46 +00:00
Rot127
275a12a3da
Revert "add ppc64le dbg tests (#5157)" (#5163)
This reverts commit d109dcadb1.
2025-05-23 10:11:16 +08:00
well-mannered-goat
d109dcadb1
add ppc64le dbg tests (#5157) 2025-05-22 19:22:11 +08:00
Giovanni
d236de2a04
Set RzAnalysisOp family in mips (#5160) 2025-05-22 15:09:33 +08:00
Giovanni
144b47d455
Move RzBreakpoint into RzDebug (#5124)
- Move trap/sw breakpoint into RzArch
- Remove RzBreakpointPlugin & RzBreakpointArch
- Add get_sw_breakpoint_at/get_sw_breakpoint_size_at binds
- Remove `dbh-`
- Change `dbh` to just list supported archs for sw breakpoints
- Implement correct PPC traps
- Add missing x86 breakpoint callback
2025-05-13 01:57:37 +08:00
NOT XVilka
2e8f1f74ea
Update capstone to the latest next (#5145)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-05-12 03:52:38 +08:00
Khairul Azhar Kasmiran
c48ab5c667
Make code compilable under checks_level 0 and 3 (#5102)
* Add `rz_goto_if_reached()` to RZ_CHECKS_LEVEL 3
* Fix rz_return(_val)_if_reached() for RZ_CHECKS_LEVEL 0
* Add `rz_goto_if_reached()` to RZ_CHECKS_LEVEL 0
* Set default log level to WARN
2025-05-10 23:29:19 +08:00
Peiwei Hu
6ed3c99816
Show variables with complex storage in afi (#5141) 2025-05-09 01:28:34 +08:00
Giovanni
e979a67565
Remove unused mips asm test (#5139) 2025-05-07 21:45:11 +08:00
NOT XVilka
ca484ffb13
librz/bin: add ELF MIPS relocations (#5138)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-05-07 14:02:31 +08:00
Khairul Azhar Kasmiran
ff31bdbabf
cmd_search_z prompt test: Set search.show_progress=false (#5118) 2025-05-05 17:19:24 +08:00
karliss
2760a7d294
Split very large basic blocks (#5087)
* Split very large basic blocks

Ensure instruction offset fits in uint16.
2025-05-03 21:10:45 +03:00
Giovanni
0a13b5113a
MIPS: correct alignment based on cpu (#5114) 2025-05-03 22:46:29 +08:00
NOT XVilka
9341780df0
fix: pxf command prints function hexdump (#5115)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-05-03 20:49:06 +08:00
Giovanni
b7a9d4e47f
Forbid aav execution if arch is mips 2025-05-03 18:24:27 +08:00
Khairul Azhar Kasmiran
192270d55a
Move cmd_search_z prompt test to not-windows-any (#5106) 2025-05-02 21:09:45 +08:00
Khairul Azhar Kasmiran
51490e3edb
rz_core_warn_after_output: Print warnings after command output (#5094) 2025-04-26 20:35:05 +08:00
NOT XVilka
d1f7775a73
Reject NULL values in rz_platform_profiles_init() (#5090)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-04-22 15:49:02 +08:00
Ahmed Kamal
6bc39cba0f
Add izx command for string xref into data and code (#5056) 2025-04-21 14:43:01 +08:00
NOT XVilka
0f032648f0
Update Rizin C grammar to tree-sitter-0.25.3 (#5088)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-04-16 23:42:11 +08:00
Khairul Azhar Kasmiran
602b1ae187
Show RZ_LOG_WARN warnings by default for all build opt levels (#5084)
* Show RZ_LOG_WARN warnings by default for all build opt levels
* Check for unsupported `checks_level` values
2025-04-13 21:08:17 +08:00
Khairul Azhar Kasmiran
ecc384c869
/z: Warn if |search literal| < search.str.min_length (#5076) 2025-04-09 00:03:13 +08:00
Giovanni
dbe651db33
Normalize the output of L subcommands (#5077) 2025-04-08 16:46:27 +08:00
Giovanni
d04dc5f586
Bump capstone to 21178aea90ec63c0be1e93c104a88fd20399d387 (#5064) 2025-04-07 17:54:32 +08:00
Rot127
ae61f0f2ca
Fix leaks in integration test. (#5072) 2025-04-06 15:40:45 +00:00
Rot127
a17da6c712
Fix: Emitted the license instead of the author. (#5073) 2025-04-06 04:14:14 +08:00
Amritesh Kumar
907489938f
update: lengeds in La cmd help (#5065)
* update: lengeds in La cmd help

* update: add test for cmd La??

* cmd_desc regenerate
2025-04-05 14:25:33 +00:00
Khairul Azhar Kasmiran
3b5c817786
Add search-consistency-test macro to reduce repetition (#5063) 2025-04-03 20:59:14 +08:00
Rot127
b0e8fbbbaa
Add ~ and long register names as tokens. (#5033) 2025-04-03 16:39:17 +08:00
Khairul Azhar Kasmiran
ffba87376d
echo: Allow literal $ printing (#5059) 2025-04-02 19:25:20 +08:00
Premade
3e99cde149
Fix: add meta size in code count (#5054) 2025-04-02 10:54:52 +08:00
Khairul Azhar Kasmiran
c5275fe1b3
Rename (string -> search)-consistency-test.rz (#5055) 2025-04-01 20:29:15 +08:00
Rot127
99efcb6c42
Fix asm tokens leaks because they used Vector and PVector (#5019)
* Fix asm tokens leaking horrendously because they used Vector and PVector.

* Fix some resource leaks related to asm tokens

* Fix some resource leaks of the hexagon module error cases.

* Fix possible NULL ptr dereference

* Fix leak of asm tokens by fun fini on RzAsmOp.

The RzAsmOp passed here could be a previously initialized one.
With allocated asm_tokens. Doing memset just leaks those tokens.

* Simplify the copy_asm_op function

* Always fini RzAsmOp before initializeing it.

* Set asm_toks to NULL after freeing

* Fix leak in asm_bf

* Fix leaks in test_token

* Initialize all RzAsmOps with 0 and free the asm_toks on init.

In practice rz_asm_op_init() is the best place to free the asm_toks reliably.
Simply because this is always called in the old code, before an instruction is disassembled.
Only in fini() is not enough, because there are too many place it is not called, leaking the tokens.

* Fresh mind, new attempt. Fini asmop at all occurrences of rz_asm_disassemble
2025-03-31 10:39:53 +08:00
Khairul Azhar Kasmiran
af39a3433b
Echo cmd in string consistency test macros (#5052) 2025-03-30 18:42:01 +08:00
Khairul Azhar Kasmiran
9b64e0d71e
Refactor out string consistency test macros (#5048) 2025-03-29 10:21:24 +08:00
Giovanni
719637af39
Rewrite of the mips assembler for mips1-mips5 (#5049)
* Rewrite of the mips assembler to support common instructions in mips1, mips2, mips3, mips4, mips5 ISA
* Does not support FPU & SIMD
2025-03-28 21:26:32 +08:00
Giovanni
6c8c2b56bb
Fix some coverity issues. (#5043)
* Fix CID 436263 Resource leak
* Refactor names and fix CID 316211 Res
* Fix CID 434354 Resource leak
* Fix CID 350586 Logically dead code
* Fix CID 317123 Logically dead code
* Refactoring and Fix CID 401538 Logically dead code
* Fix CID 471305 Logically dead code
* Fix CID 316396 Logically dead code
* Fix 316248 Logically dead code
* Fix CID 365932 Logically dead code
* Fix CID 365945 Logically dead code
* Fix CID 464683 Overflowed integer argument
* Fix CID 478061 Resource leak
* Fix CID 477908, 477950 Resource leak
* Fix CID 477882 Resource leak
* Fix CID 478030 Resource leak
* Fix CID 478058 Resource leak
* Fix CID 477829 Resource leak
* Fix CID 477973, 477991 Resource leak
* Fix CID 477970 Resource leak
* Fix CID 366822 Dereference after null check
* Fix CID 478059 Resource leak
* Fix CID 477874, 478012 Resource leak
* Fix CID 478074 Logically dead code
* Fix CID 408926 Dereference after null check
2025-03-27 12:38:42 +08:00
NOT XVilka
30ae60a759
Remove RAP protocol (#5046)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-03-27 00:55:06 +08:00
Khairul Azhar Kasmiran
853629366f
Reduce repetition in search consistency tests with macros and aliases (#5044) 2025-03-26 21:20:07 +08:00
Florian Märkl
9ee663ba30
Fix dyldcache reading tests with optimization (Fix #3459) (#5035)
The pointer contents could be assumed to not change during the test by
the compiler with certain optimization levels, leading to instant
failure.
This became visible on Gentoo/amd64 with all-default meson options.
2025-03-25 08:12:09 +01:00
Khairul Azhar Kasmiran
a601d1f696
Add unit test for rz_list_sorted_uniq (#5032) 2025-03-24 21:56:05 +08:00
Rot127
3147948c85
Removes limit of just printing program entrypoints. (#5027)
entries_initfini_print() with initfini=false is only called by the 'ie' command handler.
'ie' prints entrypoints, so users should also be able to see all entrypoints (of any type)
the binary has. This was also the plan as it looks like, because further down
the entry point type is also emitted. But since initfini=false for 'ie'
only entries of type RZ_BIN_ENTRY_TYPE_PROGRAM were printed.
2025-03-24 02:13:17 +08:00
Giovanni
c9192926c0
Add emulateme test for mips32r6 (#5030) 2025-03-23 22:53:15 +08:00
Rot127
2be6cb7683
Add hexagon relocs for ir. (#5020)
* Add hexagon relocs for ir.
* Remove warnings from test.
2025-03-23 22:52:44 +08:00
Khairul Azhar Kasmiran
1912e6bc18
/z: Remove hit dupes (#5029) 2025-03-23 21:08:49 +08:00
Giovanni
5cb3e458c7
Add RzIL for MIPS32/64 Revision 6.01 (#4920) 2025-03-23 16:13:57 +08:00
karliss
0540841c31
Reduce false postives for xrefs based on register+offset. (#5022) 2025-03-22 18:22:25 +08:00
Khairul Azhar Kasmiran
bbd3a3082a
Invoke dm only once in "dbg.maps.count.after.map" test (#5021) 2025-03-22 12:27:36 +08:00
Khairul Azhar Kasmiran
d7dec467fe
Reduce repetition in "dbg.maps.count.after.map" test with alias (#5017) 2025-03-20 20:55:02 +08:00
well-mannered-goat
319a407f03
Python bytecode 3.12 and 3.13 support (#5003)
* add python support for version 3.12.0
* add test for pyc 312
* add missing analysis
* Added Python 3.13 support
* refactor store_op and add opcodes for 3.13.0a1 to 3.13.2
* update license
2025-03-20 11:47:59 +08:00
Khairul Azhar Kasmiran
cdc740b92f
Reduce repetition in "dmh allocated" test with macro (#5016) 2025-03-19 14:42:22 +00:00
NOT XVilka
e282e551f3
librz/asm: improve plugin descriptions (#5012)
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2025-03-19 03:14:03 +08:00
Giovanni
5b5473e289
Add entropy cmds and detail struct for value extraction (#5007)
* Add `/ce` and `/cef` commands and provide better args for entropy search
* Fix comments and more thread safety
* Extract sm4 master key as detail
* Fix comment
2025-03-18 23:50:12 +08:00
Rot127
1b50a5b954
librz/core: remove old shell completely (#5004)
* Fix UB access of NULL context.

During the tests the global RzCons is accessed. Because it was
never initialized all members were 0.
Leading to undefined behavior and breaking the test with ASAN enabled.

* Use correct yaml example for the command described.

* Remove old shell compatibility code.

* Remove dependency tree of rz_core_cmd_subst() and rz_core_cmd_subst_i().

* Remove rz_core_cmd_pipe_old()

* Remove unused rz_core_hack_help()

* Regenerate grammar after removal of legacy_quoted_stmt.
2025-03-17 22:26:22 +08:00
Rot127
2e9a082145
Fix #4098. (#5005)
The instructions were found correctly since the search refactor.
But the address of the hit was set to the second instruction.
This adds the tests discussed in the issue and sets the address
of the hit to the first instruction.
2025-03-17 16:31:53 +08:00
Rot127
9baa16fc8d Port /h and /s to RzShell and RzSearch.
- Adds the new command /ch for hash searches and the alias /ce for /s.
- Adds search hit details to the entropy hits.
2025-03-16 00:17:08 +08:00
Rot127
6e860a5026 Make error message of failed boundary init more explicit. 2025-03-16 00:17:08 +08:00
Rot127
8ece4551f1
core/cmd: port /g commands to RzShell. (#4999) 2025-03-15 14:57:37 +08:00
karliss
55a4f9e54c
core/cmd: fix for stacking mixed output redirects. (#5000)
That is redirect to file + redirect to buffer which happens when calling rz_core_cmd_str .
2025-03-14 22:59:06 +08:00
Khairul Azhar Kasmiran
d3f7ef2aa9
ci: Upgrade to Ubuntu 24.04 (Noble) (#4989)
* ci: Upgrade to Ubuntu 24.04 (Noble)
* Install clang-format-16 directly from the Noble repo
* Remove redundant gcc 11 ASAN build
* Count `dm` map items more granularly in `dbg_maps` test
* Grep only for exception symbols in `dbg_dmi` test
* Add workaround for `dbg_maps` test
* Mask out different digits in `dbg_dmh` test
* Add workarounds for sprintf false positives
* For now, use `-fno-sanitize=function` with clang asan build
2025-03-14 03:13:15 +08:00
Rot127
5337c27237
shell: port /m and /mb to RzShell and RzSearch (#4992)
* Port /m to RzShell

Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>

* Fix typos and fix grammar.

* Add a comment member to a search hit. For storing longer descriptions.

* Add tests

* Further details what rz_search_opt_set_chunk_size does

* Refactor pm to show long descriptions of magics.

* Check search.to is never smaller than search.from.

* Port /mb to RzShell.

* Fix tests

---------

Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>
2025-03-12 22:23:34 +08:00
Tushar Jain
45596ebf75
fix: aav search instruction alignment decoding (#4985) 2025-03-12 00:34:47 +08:00
Florian Märkl
cffdca5b24 librz/arch: fix jump targets in PIC baseline/midrange disassembly
Rizin maps a single PIC instruction to two bytes, so jump targets need
to be doubled.
2025-03-10 20:50:30 +00:00
Florian Märkl
701c0f30fa librz/arch: improve RzAnalysisOp contents for PIC baseline/midrange
- handler from pic_midrange_esil.inc needs to be always called, because
  it also fills basic info.
- Rizin maps a single PIC instruction to two bytes, so jump targets
  in disassembly need to be adjusted accordingly.
- Many op types incorrectly defaulted to nop, e.g. making analysis skip
  them at function beginnings. Now they are more meaningful.
- jump values in RzAnalysisOp for PIC were using dynamic esil reg
  contents, but when failing to read them, used uninitialized garbage
  memory. Now pclath and wreg are considered as always 0 there with the
  option to add static heuristics later.
2025-03-10 20:50:30 +00:00
Florian Märkl
d47dcc6abe librz/arch: test pic baseline disassembly and fix addwf 2025-03-10 20:50:30 +00:00
well-mannered-goat
05276debbd
librz/arch/pyc: add python 3.11 support (#4976)
* add magic numbers
* update marshal to include new fields
* extract variables and add analysis
* add 3.11 tests and some missing opcodes
* modify JREL
* add 3.13 versions
* check memory leaks, add missing analysis
* update with typedef and define

Co-authored-by: Rot127 <45763064+Rot127@users.noreply.github.com>
2025-03-10 22:14:03 +08:00
Rot127
87d0f5e983 Fix tests on non-x86 platforms. 2025-03-10 02:34:31 +08:00
Rot127
0d254cd1e7 Port /V1,... and /v1,... to RzShell. 2025-03-09 23:55:07 +08:00
Rot127
7b06dbc6a2
librz/util: implement a bounded interval. (#4977) 2025-03-09 15:24:07 +08:00
Rot127
6529ed0468 Port /F to RzShell. 2025-03-08 22:52:54 +08:00
Rot127
b765151015
Port px/ and rename into pxF and alias x to RzShell (#4961)
* Port `px/` to RzShell.

* Escape string before emitting it for psb.

'psb' just emitted the whole string. It ignores the posibility that it might
contain escape sequences which mess up the output.

In the specific case of the fixed test this happened. The invalid string
contained some invalid escape sequences and cut of the output afterwards.

* Rename `px/` to `pxF`
2025-03-07 21:56:34 +08:00
Khairul Azhar Kasmiran
f03d5825d1
search.show_progress: Show search intervals (#4950)
Co-authored-by: Rot127 <45763064+Rot127@users.noreply.github.com>
2025-03-07 18:39:11 +08:00
Anton Kochkov
cb094f8445 shell: remove wrong autocompletion test 2025-03-07 09:45:07 +00:00
Rot127
de747d96ee
Port x (alias of px) to RzShell. (#4969)
* Port x (alias of px) to RzShell.

* Port xc to RzShell.
2025-03-07 09:39:48 +00:00
Giovanni
c4e64df92d
librz/search: support for SM4 expanded key in memory (#4963)
* Rename Sbox to RZ_AES_SBOX
* Refactor SM4 code and add search for SM4 expanded keys.
2025-03-05 00:05:59 +08:00
wargio
c15d8dc329 Implement /cm and remove /cd /ca /cr 2025-03-04 02:45:15 +08:00
Tushar Jain
ea4bb2dfc9
librz/util/num: handling minimum st64 in rz_num_abs (#4952) 2025-03-02 22:44:09 +08:00
Giovanni
58a26a7494
Add WASM instructions i8x16.bitmask and i32x4.abs (#4951) 2025-03-01 19:51:57 +08:00
Giovanni
376c58ad41
librz/bin: refactor wasm and allow string to be longer than 256 bytes. (#4946) 2025-03-01 15:25:47 +08:00
Khairul Azhar Kasmiran
c313912021
Revert #4943's test (#4947) 2025-02-28 21:53:30 +08:00
Khairul Azhar Kasmiran
1705daefa6
search: Clear progress before results (#4943) 2025-02-27 21:14:19 +08:00
Rot127
14d50bb756
Using x86.as assembler fails on non-x86 systems. (#4941) 2025-02-27 10:04:12 +08:00
Rot127
a40c171cdb
Move /a to RzShell (#4931)
* Fix UB. The returned value is shifted by more than 31 bits sometimes.

* Move '/a' to RzShell.
2025-02-26 16:49:51 +00:00
Florian Märkl
93dd35f6db
librz/core: Fix disassembly (e.g. pd) with unmapped gaps (#4932)
Regression from 3b7f2730f2:
rz_io_nread_at stops at unmapped regions, but disassembly being a
user-visible display needs to show gaps as 0xff and mapped regions after
with their contents again instead of just breaking and showing io->Oxff.
The exact meaningd of rz_io_nread_at and rz_io_read_at_mapped have also
been clarified in documentation comments and tests.
2025-02-26 22:59:44 +08:00
Khairul Azhar Kasmiran
c60fe9a8a6
search: Show progress on stderr (#4938) 2025-02-26 19:27:53 +08:00
Florian Märkl
49705400dd
Clean leftover files after kd test (#4933)
The test always left behind output_file and file.sdb artifacts
2025-02-25 10:15:30 +00:00
Florian Märkl
6720849d9a
librz/arch: rename PIC instruction sets (asm.cpu) (#4927)
To conform to official naming from Microchip:
- pic14 -> baseline
- pic16 -> midrange
- pic18 -> highend (with pic18 being an alias)
2025-02-23 15:14:47 +08:00
Rot127
85c1b28fc5 String/Hex-Search 9/9: Fix all tests affected by the string and byte search refactor.
Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>
2025-02-22 04:12:49 +08:00
Rot127
864d970869 String/Hex-Search 8/9: Add vastly improved string search.
Adds the new string search implementation, fixes many bugs and makes performance improvements.

- Adds support to search reliably for all supported encodings (fixes non-ASCII string search).
- Fixes some wrong assumptions what valid code points are (e.g. 0x000000ff is a valid code point in UTF-32/UTF-16 BE).
- Adds several '/z' command options how to perform the string search (literal, regex, extended regex, caseless).
- Checks every decoded code point for validity to improve correctness.
- Improves performance of string decoding by not writing to the heap in all cases.

Part 8/9. Likely won't build in between parts.

Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>
2025-02-22 04:12:49 +08:00
Rot127
f72baa518d String/Hex-Search 7/9: Add byte search.
Adds the byte search implementation of the new search.

The normal byte search works just as before.
But adds way more examples in the help message and more test cases.

Additionally, it adds an regex byte search.

Part 7/9. Likely won't build in between parts.

Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>
2025-02-22 04:12:49 +08:00
Rot127
1ff3cb99f2 String/Hex-Search 4/9: Extend 'ps' command.
- This commit adds the ability to print any supported string encoding
with 'ps' (also EBCDIC).
- Adds alias 'psu' for 'ps utf8'
- It also allows to select unprintable characters as string delimeter.

Part 4/9. Likely won't build in between parts.

Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>
2025-02-22 04:12:49 +08:00
Rot127
ec66cd3582 String/Hex-Search 3/9: Rename search related config values.
This commit changes several settings. The main reason is to have them
contained in one search group, and not spread over the search and string group.

This becomes important with the search refactor, since the search is now also
more contained in a single module and can make use of the more settings.

- Remove str.search.max_uni_blocks - Effectively a metric the user should not know about; adds too much complexity. Also not documented.

- str.search.encoding         -> str.encoding - Valid for all string interpretations.
- str.search.max_threads      -> search.max_threads - This is a general setting for the search now.
- str.search.raw_alignment    -> search.str.raw_alignment - Unify settings (only used for RzBin search.).
- str.search.min_length       -> search.str.min_length - Unify settings.
- str.search.buffer_size      -> search.str.max_length - Unify settings.
- str.search.max_region_size  -> search.str.max_region_size - Unify settings.
- str.search.check_ascii_freq -> search.str.check_ascii_freq - Unify settings.

Part 3/9. Likely won't build in between parts.

Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>
2025-02-22 04:12:49 +08:00
Rot127
29e25fd895 String/Hex-Search 2/9: Improve Unicode support.
This commit adds several improvements, updates and fixes to Unicode related logic.

- Update Unicode tables to version 16.
- Escaped strings now escape valid Unicode code points to /Uhhhhhh and invalid code points to /xhh.
- Generally applies RzStrEscOptions way more consistently. The legacy escape is still used at some places though.
- Fix inconsistencies in Unicode decoders/encoders and checkers. They now either return 0 on an invalid decode or the number of bytes the code point requires.
- Add many unit tests for Unicode related logic.
- Add helpers to check code points.

Part 2/9. Likely won't build in between parts.

Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>
2025-02-22 04:12:49 +08:00
Rot127
6d10861ace String/Hex-Search 1/9: Add hexadecimal number helpers, doxygen and type annotations.
Part 1/9. Likely won't build in between parts.

Co-authored-by: wargio <deroad@kumo.xn--q9jyb4c>
2025-02-22 04:12:49 +08:00
Giovanni
e742a10af7
Fix MIPS IL for addi, move and negu ops (#4916) 2025-02-20 12:37:36 +08:00
Giovanni
61269cd33f
Fix compilation for cs4 and cs5 (#4913) 2025-02-18 20:33:44 +08:00
Giovanni
cd4cd62084
Add RzIL implementation of MIPS32 ops (#4882)
Implements most of the normal MIPS32 isa from MD00086 Rev 5.04
Breakpoints, syscalls, interrupts, TLB, cache, prefetch and traps are NOP

Does not implement MIPS64, FP, COP2 and HW operations.
2025-02-18 18:07:28 +08:00
Giovanni
dbdfd71f88
Fix CVE-2025-1378 Always ensure skip value is less equal to length. (#4912)
* Fix CVE-2025-1378 Always ensure skip value is less equal to length.

* Fixed test
2025-02-17 13:14:55 +00:00
Khairul Azhar Kasmiran
5aef594227
search: Streamline colored hit context generation (#4907) 2025-02-16 14:36:24 +08:00
Giovanni
64eb9a1b44
Allow RzThreadIterator to be stopped. (#4904)
* Allow RzThreadIterator to be stopped.
* Add comment about usage
2025-02-14 03:30:38 +08:00
Rot127
bdd913ab5e
Fix definition of alignment
* Fix definition of alignment.

Alignments for code and data is not defind for 0, bubt nonetheless it
was assigned this value everytwhere. This changes the default value to 1.

* Enforce an alignment of at least 1.

* Fix alignment checks (default is now 1).

* Fix alignment check. 1 was assumed to be valid.

* Fix places where an alignment of 0 is considered still a valid value.

* Fix integration test with invalid alignment

* Remove debug printf

* Remove addrmod member.

It was pressumingly used to indicate aligned addresses in print mode.
But it wasn't documented and the usefulness is dubious.
Since it is easy to spot for users to see if addresses are aligned or not anyways.

* Fix tests after cherry-pick

* Fix rz-find test which consumed the '-X' as number value for '-a'.

* Fix case of arch module not defining value alignments.
2025-02-14 01:27:47 +08:00
Rot127
a9f848a8fa
Fix various memory leaks (#4895) 2025-02-13 02:24:22 +08:00
Giovanni
8ea5650e06
librz/arch: fix various MIPS CPU info and ensure compatibility where possible. (#4888) 2025-02-10 00:46:27 +08:00
Giovanni
6047120f06
librz/analysis: add RZ_ANALYSIS_IL_STEP_UNIMPLEMENTED_IL (#4887) 2025-02-10 00:45:38 +08:00
Rot127
fc6886b8d7
Fix segfault of pv command. (#4883)
A non-numerical argument set repeat to 0 and
lead to an integer overflow further down.
This lead to OOB reading of memory.
2025-02-10 00:43:56 +08:00
Rot127
e8db163d65
librz/util: add bit counting and address alignment calculation helper. (#4886)
* Add bit counting function.
* Add address padding calculating function.
* Add doxygen to rz_bits_count_X()
* Rename rz_bits_count -> rz_bits_count_ones
2025-02-10 00:42:54 +08:00
Khairul Azhar Kasmiran
0e22407b6d
search: Use blue dot for nonprintable chars (#4885) 2025-02-08 19:15:28 +08:00
Khairul Azhar Kasmiran
f2ddbd7f9d
search: Print dot in results for nonprintable chars (#4880) 2025-02-07 19:12:18 +08:00
Khairul Azhar Kasmiran
a5b348c0f5
Fix inconsistency between / and /e (#4876)
* Fix inconsistency between `/` and `/e`
* Change `char *` -> `const char *` in call to `rz_regex_match_all_not_grouped()`

Co-authored-by: Rot127 <45763064+Rot127@users.noreply.github.com>
2025-02-03 23:01:56 +08:00
Khairul Azhar Kasmiran
2d039ee84f
^ grep op: Skip whitespace (#4875) 2025-02-02 13:09:07 +08:00
Khairul Azhar Kasmiran
b38bf4959e
Clarify inclusivity of search.from and search.to (#4873) 2025-02-01 22:00:51 +08:00
Khairul Azhar Kasmiran
1b136ad26c
Fix search range notation in search herald (#4871)
* Fix search range notation in search herald
* Add doxygen to RzInterval
2025-01-31 23:05:22 +08:00
Khairul Azhar Kasmiran
2c1a07d524
/e: Fix matching at block end (#4870) 2025-01-30 19:52:56 +08:00
Khairul Azhar Kasmiran
303b39e07b
/e: Set RZ_REGEX_MULTILINE for ^ and $ (#4868)
* `/e`: Set `RZ_REGEX_MULTILINE` for `^` and `$`
* Add note in `/e` help for `^` and `$`

Co-authored-by: Rot127 <45763064+Rot127@users.noreply.github.com>
2025-01-29 23:32:24 +08:00
Khairul Azhar Kasmiran
290c907bbe
/e: Fix match highlight length (#4865) 2025-01-28 19:53:34 +08:00
Khairul Azhar Kasmiran
ba187a814c
/e: Omit length from herald (#4864) 2025-01-27 22:13:14 +08:00
Khairul Azhar Kasmiran
37517f7a2c
/e: Set NUL (\0) as newline (#4862)
* Add compile context arg to `rz_regex_new()`
* `/e`: Set NUL (`\0`) as newline
2025-01-25 19:07:34 +08:00
well-mannered-goat
3520054120
bin/rz-asm: -m option to list supported CPUs (#4861) 2025-01-25 13:50:53 +08:00
Rot127
3b5c96ad0c
Rename RzRune to RzCodePoint. (#4860)
The previous description was confusing. Because a Rune is not a defined term for Unicode encodings (except of course the ancient runes).
Because the type seems to be always used as "Unicode code point" this rename should bring clarity.
2025-01-24 20:39:04 +08:00
Rot127
3daeed14da
UTF-16 encode/decode fixes (#4858)
* Fix UTF16 decoding.

Surrogate cases were not handled correctly.

* Clean up UTF16 API functions:

- Rename parameters to be more descriptive.
- Add RZ_NONNULL and RZ_OUT.
- Add asserts and remove unnecessary if checks.
- Add doxygen.

* Fix utf16 encode to allow codepoints up to 10ffff.

* Fix: UTF16 decoder decodes 2 bytes if 4 had the wrong surrogate.
2025-01-24 05:35:05 +00:00
Rot127
7e751315af
librz/analysis: add missing check if jump points to a valid block 2025-01-22 11:11:30 +08:00
Khairul Azhar Kasmiran
9f8c9c2921
p-h: Right-align "offset" column (#4854) 2025-01-21 22:11:20 +08:00
well-mannered-goat
540b32a279
Add aLc to list features & cpus of an RzArch plugin (#4847) 2025-01-21 12:29:20 +08:00
Khairul Azhar Kasmiran
7316d1a83e
iS/iSS: Right-align "align" column (#4850) 2025-01-20 21:19:19 +08:00
Khairul Azhar Kasmiran
59118fe309
table: Right-align number columns (#4849)
* table: Right-align number columns
* Fix type of `iS` flag column
* Fix type of `iSS` name column
* Fix `izz libcap` test
2025-01-19 23:00:37 +08:00
Khairul Azhar Kasmiran
b4704bb9d3
@x: Show error on invalid hexpair char (#4848) 2025-01-18 12:52:02 +08:00
Khairul Azhar Kasmiran
aeae32ea56
Fix autocomplete of @@ and @@@ (#4838) 2025-01-15 22:14:39 +08:00
Khairul Azhar Kasmiran
79814e46b6
Fix #4799: Use Meson to set c_std=c99 (#4828)
* Fix #4799: Use Meson to set `c_std=c99`
* Define `_GNU_SOURCE`
* Use alt syntax in float subtraction
2025-01-13 22:22:23 +08:00
Rot127
77e66c0078
Fix #4829 (#4830)
Possible segfault because optional argument was never handled.
2025-01-08 12:38:37 +00:00
Khairul Azhar Kasmiran
1fafca62af
Fix #4816: Apply @ temp operators from left to right (#4826) 2025-01-08 20:14:18 +08:00
Giovanni
ad74df5d50
Ensure symbols always have a name. (#4821) 2025-01-04 19:08:41 +08:00
Giovanni
3f5bf7635c
Remove BROKEN=1 from tests that are not broken. (#4822) 2025-01-04 12:09:10 +08:00
Giovanni
b019d9d4ca
Add initial support to loongarch 32/64 (#4810) 2025-01-01 15:36:23 +08:00
Khairul Azhar Kasmiran
d0f8d4867c
pxi: Add missing : at Last_Offset+1 (#4811) 2024-12-31 19:38:55 +08:00
Khairul Azhar Kasmiran
86cd7b6cea
Add test for pxi (#4807) 2024-12-30 21:23:44 +08:00
Giovanni
6ccf715533
librz/arch/mips: improve the ISA support and analysis (#4621) 2024-12-29 20:00:41 +08:00
Khairul Azhar Kasmiran
df8bdb6025
Add VV (alias of V V) (#4804) 2024-12-29 18:43:07 +08:00
billow
5de89912b5
cmd: sort avgl output by address (#4803) 2024-12-29 01:27:26 +08:00
Giovanni
f623f70c01
Remove mips.gnu (#4802) 2024-12-28 17:29:34 +08:00
Khairul Azhar Kasmiran
8427ea95fe
Add dbtt (table version of dbt) (#4798) 2024-12-28 11:15:23 +08:00
Khairul Azhar Kasmiran
33e153a12c
dbt: Don't print trailing space (#4797) 2024-12-27 20:54:45 +08:00