Commit graph

2118 commits

Author SHA1 Message Date
Rockrid3r
12ddaa8a27 removed empty lines & comments 2024-03-16 08:56:50 +00:00
Rockrid3r
f64b2f3d26 removed unnecessary offset setup 2024-03-16 08:56:50 +00:00
Rockrid3r
ae0afa109c fix path_walker & add unit tests for offset_by_path 2024-03-16 08:56:50 +00:00
Giovanni
461a2fed87
Remove rz_pvector_index_ptr (#4351)
Unlike rz_vector_index_ptr, which is very important, there do not seem
to be any valid usages of rz_pvector_index_ptr in rizin, cutter or
rz-ghidra that could not be replaced by rz_pvector_at.
In case there will be a use-case for it in the future, it can also be
done by rz_pvector_data(...) + i.
2024-03-10 18:40:26 +01:00
Giovanni
c17881ba2f
Initialize RzAnalysisOp properly. (#4350) 2024-03-10 18:26:10 +08:00
Giovanni
ef0ed21d9f
Convert basic block into RzPVector (#4349)
Co-authored-by: HN026 <plancksconstant01@gmail.com>
2024-03-10 15:59:15 +08:00
Giovanni
c7ddd77546
Remove rz_list_get_top/bottom & rz_list_get_head/tail_data (#4348) 2024-03-09 18:24:23 +08:00
billow
30eef53291 dwarf: refactor
- Remove dwarf's dependency on RzBuffer

- Delete `cdwarf.c` and move dwarfdump (`id`) related functions to their respective modules

- Improved output of dwarfdump (`id`)

- add more DW_AT*

- fix escape

- fix debuglink

- remove cache in RzBinDwarfStr

- replace `rz_bin_dwarf_rnglists_parse_at` with `rz_bin_dwarf_rnglists_get`

- remove rz_bin_dwarf_loclists_parse_at

- fix logging

- cache all escaped strings
2024-03-09 09:41:13 +08:00
billow
cae54ff8d9 uleb128: fix sign extend in read_i{32,64}_leb128 2024-03-09 09:41:13 +08:00
Huzaifa
2c85412a50
Rz-find -E "filename" to execute command on match (#4200) 2024-03-08 13:49:04 +08:00
wargio
5f3af7deee Fix build with capstone v4 and v5 and disable hacks for v6 2024-03-08 12:33:07 +08:00
Giovanni
64f8a5ae57
Move parse into arch. (#4342) 2024-03-07 23:50:22 +08:00
wargio
d47ceedbd3 Merge rz_asm and rz_analysis into one library but keep deprecated apis.
The tms320c64x has been merged into tms320.
2024-03-07 18:38:49 +08:00
Anton Kochkov
660146d520 type/format: fix union format generation 2024-03-03 20:42:21 +08:00
Peiwei Hu
33c8299eef
Refine the heuristic rule for encoding detection (#4319) 2024-03-03 08:10:49 +08:00
Khairul Azhar Kasmiran
299454138b
$: Add rzshell façade (#4314) 2024-03-02 17:11:02 +08:00
Peiwei Hu
0fff253fd9
Fold XREFs line more than 3 when in the graph mode (#4308) 2024-02-29 14:28:26 +08:00
Peiwei Hu
5d053f0448
Refactor the <entries> in RzBinPlugin from list to pvector (#4118) 2024-02-25 19:42:25 +08:00
Khairul Azhar Kasmiran
b61b951232
$: Fix $alias=$<backtick>cmd<backtick> (#4293) 2024-02-24 13:55:14 +08:00
Giovanni
78d4043afb
Fix arm64 analysis to fix regression on ARM64 switch tables. (#4284)
* Bump capstone next
* Fix arm64 analysis to fix regression on ARM64 switch tables.
* Fix tests
2024-02-24 00:00:12 +08:00
Florian Märkl
2a9f765582
Weaken f80 assertions in test_float for non-x86 (#4280)
OpenBSD/sparc64 uses 128-bit floats as long double by default while our
tests seeminly assumed either 64-bit or 80-bit, both of which produce
different results than 128 here. Since 80-bit is x86-specific, we check
only the bits we know will be identical between other architectures.
2024-02-21 15:02:05 +01:00
Anton Kochkov
551cf21ac7
type/format: fix output in pf commands (#4272) 2024-02-20 21:37:14 +08:00
pelijah
cf62a870ab
Fix several memleaks in regex.c (#4274) 2024-02-20 11:29:59 +08:00
billow
f89e875d8f
v850: add local variables detection (#4271)
* v850: fix local variable detect
* v850: add local variable test
* v850: fix stack inc
2024-02-20 00:08:03 +08:00
wargio
bc6946bc4d Add long string test 2024-02-19 19:39:00 +08:00
wargio
ef5d22e13d Fix string search related tests 2024-02-19 19:39:00 +08:00
Rot127
31f6c53d4c Attempt to fix test regex. 2024-02-18 21:29:03 +08:00
Rot127
0363f71654 Fix JUMP flag is overwitten with MOV flag.
Fix test for mov to pc
2024-02-18 21:29:03 +08:00
Dhruv Maroo
de4a1297a1
Add RzIL for floating-point x86 instructions (#3865)
* Create `il_fp_ops.inc`, for floating-point instructions' IL ops

* Add IL implementation for `FABS`

 * Also add `x86_il_{get,set}_st_reg` helper functions

* Add IL implementation for `FNINIT` and `FLDCW`

* Add IL implementations for `FNSTCW` and `FNSTSW`

* Add IL implementation for `FNCLEX`

* Add ST push and pop functions

* Fix clang formatting

* Add fucntions for updating FPSW TOP pointer

* Add `FLD` instruction lifitng, FPSW flag support, FP operand support

* Remove `x86_bool_to_bv` and use the standard `BOOL_TO_BV`

* Add implementation for `FST{P}`, and rounding mode support

* Add `FLD` variants for constants

* Fix formatting and build

* Add IL lifting for `FXCH`

* Add width checks to avoid redundant rounding

* Implement IL lifting for `FILD`, `FIST{P}`

    * Add helper functions to inter-convert floating point values and
      integers using the rounding mode in the control word

* FPU stack regs are 80-bit, not 64-bit

* Add RzIL lifting for `FBLD`

* Add RzIL implementation for `FBSTP`

    * An invalid-arithmetic-operand (#IA) exception may occurr if the
      value being converted to the BCD integer cannot fit in an 18-bit
      BCD integer. For the IL's purpose, we just jump to the "int" label
      (stands for interrupt) using `GOTO`.

* Remove all the `EMPTY()` ops after `GOTO()` ops

    * On second thought, using `EMPTY()` ops after `GOTO()` ops is not
      the best idea to indicate end of analysis. Maybe the hooks can
      signal that analysis needs to be restarted.
    * Also, clean up the comments of a bunch of unimplemented ops

* Moved some code around

* Rename "rmode" local variable to "_rmode"

* Add some TODOs for deffered work

* Fix failing asm tests

    * Caused due to the removal of the [empty] opcode

* Implement IL lifting for `FADD` (and some other minor refactoring)

    * Implement the IL lifting for `FADD`: This is not entirely correct
      as of now, because we don't handle setting C1 based on rounding
      up/down, but I think it should be fine for now. Need to tackle
      setting the control word bits later
    * Start using `RzFloatFormat` to describe the float's width instead
      of using an unsigned integer. Provide and expose conversion
      functions between the two

* Use a global to denote when RMode needs to be init, implement FIADD

    * Other minor refactor which fixes the CI (hopefully)

* Implement `FMUL` and `FIMUL`

    * Extract the common code into a C macro

* Implement RzIL for `FSUB` and `FISUB`

    * Also add `x86_il_fsub_with_rmode` helper

* Implement RzIL for `FSUBR` and `FISUBR`

    * Reuse the implementation of `x86_il_fsub_with_rmode` and just pass
      the arguments in the opposite order

* Add RzIL implementation for `FDIV`, `FIDIV`, `FDIVR`, `FIDIVR`

* Add pop versions of floating point arithmetic instuctions

    * Add a new macro `X86_ARITHMETIC_POP_IL` macro for the same
    * Fix a typo
    * Add a note for using `X86_INS_PFADD` for FADDP instruction on
      Capstone version newer than 4

* Add RzIL implementations for `FCOM`, `FCOMP` and `FCOMPP`

* Add RzIL lifting for `FUCOM` and `FCOMI` families of instructions

* Implement RzIL lifting for `FCHS` and `FTST`

* Add RzIL implementation for `FRNDINT` and `FSQRT`

* Add RzIL implementation for `FNOP` and `FISTTP`

* Remove global variable `use_rmode` and use pass around a context instead

    * Define a new `X86ILContext` struct to pass around information
      whether we need to intitialize the rouding mode or not
    * Remove the global variable which was previously responsible for
      doing so

* Add RzIL for `FICOM` and `FICOMP`, add register bindings and fix bugs

* Make `rz-test` more robust against IL outputs with newlines in them

* Add RzIL tests in db/asm for x86 FPU instructions

* Fix the bug when using `FADDP` with Capstone version > 4

* Fix remaining db tests

* Remove tests for `FSTSW` or `FSTCW` instructions

    * We already test `WAIT` (in `db/asm/x86_32`) and `FSTSW` (or
      `FSTCW`) (in `db/asm/x86_64`)
    * Remove the newline replacement code in `rz-test` as well, since we
      wouldn't need that functionality anymore

* Add asm tests for math constant push instructions

* Add `RZ_IPI` annotation for all the functions exposed through the header

* Add `RZ_OWN`, `RZ_BORROW` and `RZ_NONNULL` annotations

* Add Doxygen doc for `ctx` argument

* Add description for the `EXEC_WITH_RMODE` macro

* Move the non-null check for `ctx` inside the valid branch

    * When we pop the FPU stack we pass in a `NULL` context since no
      resizing would be needed, which causes a failure if the non-null
      check for the `ctx` is outside the branch
    * Fixes failing tests in `db/asm`

* Minor bug fixes + make the annotations less strict than they need to be

* Minor bug fixes

    * Incorrect implementation for `RET` and `CALL`
    * Swapped arguments for shift right

* Fix asm tests for `JMP` and `RET` instructions

* Fix indexing error for `FXCH`

* Review changes

    * Move all unimplemented instructions to the end
    * Remove support for Capstone version less than 4
2024-02-18 08:48:34 +08:00
Heersin
5c79c42a56
Disassembler arch for RX microcontroller (MCU) family (#4198)
* Basic framework of rx implemented
* Add match and parse flow
* Add part of description for RxV1 instruction set
* Add datasheet for rxv1
* Implement stringify op for rx
* Add missing TST instruction in datasheet
* Test to div instruction and fix bugs
* Test known rxv1 instruction set
* Fix bugs in rx disasm plugin and add SPDX
* Add rz_analysis for renesas rx
* Fix rz_analysis bug for renesas rx
* Add rz_asm test and fix bug in datasheet
* Add analysis test and fix bugs for renesas rx
2024-02-17 22:29:16 +08:00
Anton Kochkov
f98ab29273
Convert p2 and p8 commands to rzshell (#4250) 2024-02-17 21:59:20 +08:00
Dhruv Maroo
01c0159f6e Fix the test for ARM and Windows 2024-02-17 15:46:11 +08:00
Dhruv Maroo
87f889efa7 Fix conversion of 80-bit floats
* Add a new unit test for the same
2024-02-17 15:46:11 +08:00
Dhruv Maroo
70fb3be17f 80-bit float initialization works now
* Added a test in `test_float.c` for it
    * It is kind of unfortunate to deal with the idiosyncrasy of 80-bit
      float this way. There are cleaner ways, but they would require
      more refactor, and are probably not worth it since we wouldn't be
      modifying the float code that often.
2024-02-17 15:46:11 +08:00
Rot127
008f4edaf3 Add pacibsp as valid function prologue. 2024-02-17 15:04:47 +08:00
Anton Kochkov
b178dac5dd Add test for issue #329 2024-02-17 11:05:16 +08:00
billow
8026d94b56
rzil: add analysis and evaluation integration test (#4241)
* Try to refactor rz_core_analysis_bytes_il
* Add the RzIterator
* Refactor rz_core_analysis_op_bytes with RzIterator
* Refactor rz_core_analysis_bytes with RzIterator
* Add test_analysis_il
* Fix AnalysisBytesContext_next
* Fix heap-buffer-overflow and UBSan
* Fix use-after-free
2024-02-16 21:10:44 +08:00
Anton Kochkov
753e43fbf1
core/flags: add complex unicode name test (#4245) 2024-02-16 16:58:03 +08:00
Rot127
6fcc9f6c6a Fix tests with newly replaced symbol names.
With cd57f517fc30e49ea5ebb5c99db276c1f41c62f9 more numbers are detected
and symbol names can be replaced.
2024-02-16 16:57:31 +08:00
Rot127
18a4d71492 Add rz_regex_get_group_idx_by_name() 2024-02-16 16:57:31 +08:00
Rot127
643718d499 Fix hexagon analysis tests 2024-02-16 16:57:31 +08:00
Rot127
22827fd7ee Add rz_regex_find(). 2024-02-16 16:57:31 +08:00
Anton Kochkov
e9000ec45b core/bin: convert cmd call to API 2024-02-16 13:44:28 +08:00
Anton Kochkov
ceefb5e114
Convert pf commands to rzshell (#3467) 2024-02-16 10:30:59 +08:00
Rot127
7558233da1
Prevent creation of node duplicates. (#4233)
Because list-based graph implementation cannot differentiate nodes by their data,
node duplicates are added, if we don't take care of it.
2024-02-15 15:50:22 +08:00
Giovanni
39e4e74c4e
Add ppc32, mips, sh, sparc, loongarch, s390, riscv DWARF register mapping. (#4232) 2024-02-15 15:33:56 +08:00
Rot127
7ab605a142
Add (i)CFG node type annotations + bug fix (#4221)
* Read bytes at curr_op->fail/jump into buffer before decoding them.
* Add meta information of iCFG and CFG nodes to dot graph labels.
* Add subtype annotations to CFG and iCFG nodes.
* Test reading of buffer before node to RzAnalysisOp.jump/fail is added.
* Fix CFG tests by adding node type annotations.
* Add iCFG graph with 'alloc' annotations.
* Wrap ascii annotation symbols in brackets.
* Add doxygen to rz_str_append(f)
2024-02-14 23:40:00 +08:00
Giovanni
766886d706
Improve golang support by recovering go packages. (#4228) 2024-02-14 18:27:58 +08:00
Rot127
9b4a93512d
Fix some token patterns for hexagon mnemonics. (#4220) 2024-02-13 17:56:33 +08:00
billow
dce6ac8b6b
DWARF: loading DWARF in .dSYM (#4219) 2024-02-13 14:36:13 +08:00
Anton Kochkov
3da3184284
core/disasm: remove static variables (#4214) 2024-02-12 23:34:24 +08:00
Anton Kochkov
13c7e1116c
Better error messages when creating new function (#4085) 2024-02-12 14:51:51 +08:00
Anton Kochkov
25fd417a28
Add user pointer to RzListComparator (#4204) 2024-02-11 13:28:33 +08:00
Anton Kochkov
8e4faa3906
Remove scr.rainbow option (#4199)
* Remove scr.rainbow option
* Update librz/util/float/float.c
2024-02-10 12:02:50 +08:00
Rot127
fcf4f7182f
Add different types of RzGraphNodeInfos. (#4189)
* Add different types of GraphNodeInfos.

This adds support for multiple graph node infos.
It removes the assumption that information of
a graph node must be some strings and an offset.

* Increase buffer for printing graph node body

* Don't hardcode maximum label size

* Add graph node info for icfg

* Add node type info to CFG.

* Access address members properly for iCFG and CFG nodes

* Update test. Function names are no longer saved.

* Fix reachable double free of label

* Split graph node type from its sub-type to make it less confusing.

* Add integration tests for iCFG nodes.

* Fix, add mising buffer read

* Recognize more calls

* Add test for iCFG generation and its node details.
2024-02-09 22:23:36 +08:00
billow
77d758da7d
v850: Add some undocumented instructions (#4187)
* v850: fix `decode_formatIX` and `lift_bit`
* v850: fix `ldbu` decode
* v850: fix JR JARL format V target
* v850: fix LDBU format VII target
* v850: add float instructions
* v850: fix `fmt_list` and add `v850_decode_formatUnk_float`
2024-02-08 23:10:31 +08:00
billow
c025dcee40
DWARF: Fix ANSI Escape Sequence Injection vulns via DWARF (#4190)
* DWARF: Fix ANSI Escape Sequence Injection vulns via DWARF
* DWARF: Reduce one memory copy in rz_bin_dwarf_attr_string
* DWARF: move Doxygen of `rz_bin_dwarf_attr_string` from the header to the implementation
2024-02-07 20:09:55 +08:00
Huzaifa
e82033d92c
Convert from rz_str_new to rz_str_dup (#4178) 2024-02-07 00:07:53 +08:00
Rot127
5afc51f0e2
Replace current regex engine with PCRE2 (#4185)
* Replace OpenBSD regex library with PCRE2.

PCRE2 has way better performance than the OpenBSD
library (something around 20 times faster).

The following flags are enabled for every pattern:

- PCRE2_UTF
- PCRE2_MATCH_INVALID_UTF
- PCRE2_NO_UTF_CHECK

All the others are optional.

Changes made:

- Adds PCRE2 as subproject.
- Changes the API away from POSIX to PCRE2.
- Edits many regex patterns because:
 - ' ' is skipped in patterns, if the EXTENDED flag is set for matching. '\s' must be set now.
 - '.' doesn't match newlines by default.
- Changes the API so matches and their groups are bundled into PVectors.
- Moves the regex component to rz_util.

* Fix cross build - add copy of PCRE2 dependecy

Meson currently doesn't support subprojects to be native and non-native at the same time.
See: https://github.com/mesonbuild/meson/issues/10947
Unfortunately, sdb depends on rz_util which in turn depends on PCRE2.
Excluding PCRE2 from the native build makes linking of rz_util not possible anymore.
Adding it, will make Meson complain that the dependencies cannot be mixed.

Hence, we compile a copy of PCRE2 for the native build if required.
2024-02-05 12:51:16 +08:00
Khairul Azhar Kasmiran
df6b6a9f17
In group help, indicate detailed help is provided (#4184) 2024-02-03 22:55:24 +08:00
billow
6eeb9e4f83
V850: Improve RH850 support, add RzIL uplifting (#4103)
V850: Add RzIL support

V850: fix fallthrough

V850: Add docs

V850: fix v850 prelude

V850: add `loop`

V850: add docs to register profile

V850: add `syscall`

V850: add `sx[bh]` `zx[bh]`

V850: add `snooze` `sync?` `switch`

V850: add `sbf` `sch[01][lr]`

V850: fix `rotl`

V850: add `rie` `rotl`

V850: add `pushsp` `popsp`

V850: add `mac` `macu`

V850: add `ldl.w` `stc.w`

V850: add `hsh` `hsw`

V850: add `feret` `eiret`

V850: add `fetrap`

V850: add `cll` `ctret` `cmov`

V850: add caxi

V850: add callt

V850: add bsw

V850: add bsh

V850: fix bins

V850: add bins

V850: fix add and add adf

V850: format

V850: fix stack-buffer-overflow

V850: add emulateme test

V850: fix dispose and prepare

V850: fix all

V850: fix mulh and cmp satadd add shl shr sar

V850: mov

V850: fix sld.*

V850: fix runtime error left shift

V850: fix test

V850: fix jarl and refactor

V850: fix ld st

V850: fix inst.format

V850: fix rzil ld.*

V850: fix rzil dispose and prepare

V850: fix rzil and register profile

V850: fix disas memleak

V850: fix ld

V850: fix jump target
2024-02-03 06:28:12 +08:00
billow
481777220f
Analysis: sort function by address while printing (#4179)
* analysis: sort function by addr when print (afl, aflm, afl=)
2024-02-02 23:50:34 +08:00
Giovanni
b4e73e3d89
COFF: add flags values to section data. (#4177) 2024-02-02 07:12:00 +08:00
Giovanni
99f81883ab
Add support to MEM_NO_READ in PE & COFF (#4173) 2024-02-01 22:03:57 +08:00
Anton Kochkov
dbb3aa41f9
Add support for more AArch64 ELF relocs (#1699)
* Add support for more AArch64 ELF relocs

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

* Update prev and add more relocs

---------

Co-authored-by: Giovanni <561184+wargio@users.noreply.github.com>
Co-authored-by: Pavel I <pelijah@users.noreply.github.com>
2024-01-31 20:46:04 +08:00
Anton Kochkov
6c016fc6e7
Disable ARM hacks for Capstone 6 (#4159) 2024-01-27 21:30:26 +08:00
Rot127
315c0c5bdf
[Hexagon] Add support for Hexagon imports. (#4031)
* Add support for Hexagon imports. Co-Authored-By: trufae

* Add test for R_HEX_JMP_SLOT reloc.

* Add warning about unhandled reloc types
2024-01-26 21:13:45 +08:00
billow
d29e7ef529
v850: Add RzAsm and RzAnalysis support for rh850 (#4151) 2024-01-25 21:53:07 +08:00
Anton Kochkov
e2581bc8da
Remove sdb_fmt() calls in RzBin (#4133) 2024-01-21 23:06:17 +08:00
billow
88f6c787cb
Add cache for source line (#4129)
* Fix DWARF source line file path

* Add cache for source line

* Fix cache for source line

* Optimization

* revert formatting
2024-01-20 15:48:19 +08:00
Aditya
b82eadc2e4
Add simple POST-command and changed upload path (remote) (#4106) 2024-01-17 15:17:36 +08:00
billow
df93e2c003
tricore fixes coverity (#4116) 2024-01-17 15:16:39 +08:00
Peiwei Hu
90c2e5b9fb
v850 support for getting main offset (#2380) 2024-01-16 08:25:34 +08:00
billow
fc6e9019f2
Fix tricore RzIL ADDSC.A (#4112) 2024-01-16 07:07:39 +08:00
Rot127
9ea0b64372
Enable CFG generation. (#4037)
* Add CFG generation function.
* Document rz_analysis_op()
* Set type annotation to NONNULL
* Add command to generate CFG.
* Add note about not following calls.
* Add tests and simplify check.
2024-01-15 07:51:35 +08:00
Rot127
9073cc2464 Add support for mtocrf and mfocrf if CS v6 is present. 2024-01-14 22:23:59 +08:00
billow
02634787e9
v810: RzIL support (#4096)
* RzIL v810 support
* Fix v810 asm tests
* Fix analysis/v810
* v810: move ESIL formation into a separate function
* bin/elf: autodetect v810 architecture
2024-01-14 10:45:48 +08:00
billow
ce88bbed49
RzIL TriCore Support (#3478)
* RzIL TriCore Support
2024-01-13 13:59:55 +08:00
Peiwei Hu
3a2148e1cd
Refactor sections in RzBinPlugin from list to pvector (#4089) 2024-01-11 12:19:22 +08:00
billow
a592ea1e8c
Remove static and global variables in TriCore RzAsm and RzAnalysis plugin (#4092) 2024-01-10 23:44:12 +08:00
Anton Kochkov
d9c70f6c56
Fix unsigned numbers in i commands JSON output (#4091) 2024-01-10 21:32:21 +08:00
Heersin
48007b4ae0
Adding missing operation in bitvector lib and core theory (#4078)
* Add extra bitvector operations defined in core theory basic extra part

* Add extra bitvector operations test

* Fix bv64 init const overflow in windows x64 test

* Add test case for bv_pred and bv_succ near 0
2024-01-08 23:10:14 +08:00
Dhruv Maroo
9094decf4f
Add emulateme test for x86 (#4084)
* Also fix the TODO in arm32 and arm64 emulateme test
2024-01-08 18:05:30 +08:00
Anton Kochkov
1f4befd24e Remove global RzLine instance 2024-01-07 22:40:25 +08:00
Peiwei Hu
32491012ee
Refactor the maps in RzBinPlugin from list to pvector (#4081) 2024-01-07 12:42:54 +08:00
wargio
f7589feb05 introduce user pointer in comparator to remove globals in table.c 2024-01-06 23:30:07 +08:00
wargio
b98ba64908 Remove hidden static in rz_analysis_cc_max_arg 2024-01-06 23:30:07 +08:00
Peiwei Hu
886dfa5c17
Transition from list to pvector for symbols in RzBinPlugin (#4077) 2024-01-06 19:54:19 +08:00
Rot127
c1c35199a4
Return empty ESIL for new instructions which have immediates where previously regs were assumed. (#4075) 2024-01-06 00:27:57 +08:00
Rot127
77302c80b7
Fix #4070 (#4071) 2024-01-05 21:39:06 +08:00
Peiwei Hu
b43fe31877
Transition of strings in RzBinPlugin (from RzList to RzPVector) (#4052) 2024-01-04 22:23:31 +08:00
Dhruv Maroo
97d336738c
Add a new helper to convert a long double to an 80-bit RzIL float (#4062)
* Add a new helper to convert a `long double` to an 80-bit RzIL float

    * New function: `rz_il_op_new_float_from_f80`
    * New opbuilder: `F80`

* Add test for `rz_il_op_new_float_from_f80`

    * Also add a float format check in `rz_il_sort_pure_eq`
    * Add a few `includes` so that some types are visible
2024-01-03 18:52:58 +05:30
Peiwei Hu
8fba56bdb7
Use internal API instead of command (#4053) 2024-01-03 19:16:06 +08:00
Anton Kochkov
0440ab4372
bin/elf: autodetect RL78 architecture (#4056) 2023-12-30 19:42:05 +08:00
Giovanni
ccbfe57b68
Allow to cancel and to print progress of the current diffing job (#4051) 2023-12-29 14:25:38 +08:00
byteninjaa0
8c275bfa8b
Make it clear the "details" of command are available (#3890) 2023-12-26 07:41:23 +08:00
Peiwei Hu
3b7f2730f2
Remove the deprecated API rz_core_handle_backwards_disasm (#4041)
* Remove the deprecated API rz_core_handle_backwards_disasm
* Also, mitigate the dependency on core->block
2023-12-26 06:45:07 +08:00
Peiwei Hu
286d9bd874
Transition of virtual_files in RzBinPlugin (from list to pvector) (#4042) 2023-12-22 01:06:18 +08:00
Rot127
7304284eb8
Set correct family type for system hints. (#4040)
Pointer authentication instructions like 'pacibsp' are encoded as alias for 'hint'.
Due to this they got assigned the 'nop' type and got neglected as valid function preamble.
2023-12-21 07:57:33 +08:00
Peiwei Hu
4f7e0e177f
Remove the dependency of core->block in pi/pI (#4023) 2023-12-20 19:46:44 +08:00