Commit graph

867 commits

Author SHA1 Message Date
wargio
bbdf3d03bd Fix flirt crc calculation, length and matching 2022-10-26 21:46:22 +02:00
Giovanni
5789f6557e
Threaded analysis matching (#3090) 2022-10-24 00:40:42 +02:00
wargio
7685bfe90e remove rz_mem_swaporcopy 2022-10-20 23:12:58 +02:00
Giovanni
e2ee0c3fd6
Rewritten bin_nin3ds.c and add test (#3110) 2022-10-20 19:56:17 +02:00
Giovanni
726614d09e
Fix endiannes issues on RzReg (#3106) 2022-10-19 09:56:12 +08:00
Giovanni
3c3ad48545
Ensure double and float uses the proper method to decode it. (#3105) 2022-10-18 17:02:59 +02:00
Anton Kochkov
9f6e13f364
Remove rz-agent (#3087) 2022-10-12 10:34:46 +02:00
Anton Kochkov
4a037c2f2a
Convert dk commands to the rzshell (#3078) 2022-10-11 18:02:52 +08:00
Giovanni
171612c5e1
Add ssdeep hash (#3084) 2022-10-10 17:03:26 +02:00
Anton Kochkov
87e369b9a7
Convert de commands to the rzshell (#3083) 2022-10-10 22:10:48 +08:00
Anton Kochkov
24503df48b
Convert pF commands to the rzshell (#3071)
* Convert `pF` commands to the rzshell
* Add json output for PKCS7 and x509 and rename test due FS issues

Co-authored-by: wargio <wargio@libero.it>
2022-10-09 19:18:05 +02:00
wargio
e68c2cf882 Ownership and doxygen for rz_protobuf_decode 2022-10-09 08:09:00 +08:00
wargio
dd92bc3d05 Refactoring and rename RASN1 to RzASN1 2022-10-09 08:09:00 +08:00
wargio
563c70057b Rename RPKCS7/RCMS/Spc to RzPKCS7/RzCMS/RzSpc 2022-10-09 08:09:00 +08:00
wargio
6e5fbe4eef Refactoring names and usages of pkcs7 2022-10-09 08:09:00 +08:00
wargio
a63f07b6c1 Rename RX509* to RzX509* 2022-10-09 08:09:00 +08:00
wargio
4e4565d6aa Refactoring names and usages of x509 2022-10-09 08:09:00 +08:00
Giovanni
001b65942f
Refactoring RzList to remove unused methods and bad naming (#3074) 2022-10-08 08:09:42 +08:00
wargio
fbad0b4859 Remove agd and add rz_analysis_similarity/match + refactoring
- Introduce the following new methods:
  * `rz_analysis_similarity_basic_block()`
  * `rz_analysis_similarity_function()`
  * `rz_analysis_similarity_basic_block_2()`
  * `rz_analysis_similarity_function_2()`
  * `rz_analysis_match_basic_blocks()`
  * `rz_analysis_match_functions()`
  * `rz_analysis_match_basic_blocks_2()`
  * `rz_analysis_match_functions_2()`
- Remove `RzAnalysisDiff` and its usages
- Remove `librz/analysis/diff.c` entirely to and adds `librz/analysis/similarity.c`
- Remove a lot of unused structures and simplified the code by a lot
- Fix typo in levenshtein
- Remove `librz/core/gdiff.c` and `gdiff` functions since they were unused or only used in rz-diff
- Remove `difftype` (or "color") from `RzANode` which lead to dead code
- Decrease serialized data in projects.
- Add `RzAnalysisVarKind` and `RzAnalysisVarType` and replaces all the hardcoded values
- Remove command `agd`
- Remove all `rz_core_gdiff` usages from `rz_core.h`
- Refactor `rz_analysis_var_list` and `rz_analysis_var_count` due unused argument (`RzAnalysis` was not used)
- Add new method `rz_analysis_var_count_total` to simplify some usages
- Remove `rz_core_graph_diff`
- Add `typedef RzAnalysisFcnType` on `enum``used for function types
- Remove unused `RZ_ANALYSIS_FCN_VARKIND_LOCAL`
- Remove from `RzAnalysisFunction` the following variables:
  * `fingerprint`
  * `fingerprint_size`
  * `diff`
  * `diff_ops`
  * `diff_thbb`
  * `diff_thfcn`
- Remove from `RzAnalysisBlock` the following variables:
  * `fingerprint`
  * `diff`
- Remove `RZ_ANALYSIS_THRESHOLDBB` and `RZ_ANALYSIS_THRESHOLDFCN`
- Remove the following callbacks from `RzAnalysisPlugin`
  * `RzAnalysisDiffBBCallback`
  * `RzAnalysisDiffFcnCallback`
  * `RzAnalysisDiffEvalCallback`
- Fix fancy table columns/rows when a color string is in a cell
- Bumped project version to 9
2022-10-04 20:02:35 +02:00
Anton Kochkov
d0bd24cf26
Convert dp commands to the rzshell (#3047) 2022-09-27 01:21:25 +08:00
Giovanni
4063f7d2de
Fix android binaries and missing main callbacks (#3044)
* Rename `rassign2` to `rz-sign`
* Refactor code from rz_main
* Rename struct
* Update main.c
2022-09-23 17:30:17 +08:00
Giovanni
6654fa7a58
Allow RzThreadQueue to be initialized with a list (#3039) 2022-09-20 07:05:57 +08:00
Anton Kochkov
f5c029c920
Remove RZ_IPI functions from rz_core.h header (#3040)
* Remove rz_core_print_scrollbar() from RzCore header
* Remove rz_line_hist_offset() from RzCore header
2022-09-19 22:59:14 +02:00
Giovanni
4d510733ba
Remove unused fingerprint callbacks (#3037)
* Remove unused fingerprint_fcn callback
* Remove unused fingerprint_bb callback
2022-09-19 11:04:32 +08:00
Florian Märkl
ac99b169bb
Expose rz_core_prevop_addr* as RZ_API + docs (#3036)
* Expose rz_core_prevop_addr* as RZ_API + docs

This was sort of a regression from
59b38e6efa, where it was switched to
RZ_IPI in the header to be consistent with the source. However we need
RZ_API because it is used at least in Cutter.

* Move rz_core_prevop_addr* to canalysis.c

Since it is api, it is not bound to TUI only, so fits better in generic
core analysis code.
2022-09-18 21:18:38 +02:00
Giovanni
5b1e5e6762
Support blake3 hash algo (#3030) 2022-09-17 18:38:21 +02:00
wargio
8f40517990 Refactor rz_float_new_from_utXX_as_fXX 2022-09-16 21:55:58 +08:00
wargio
8a4e9ce404 Enums and structs needs to be unique to avoid clashes with common names 2022-09-16 21:55:58 +08:00
Heersin
b13202b934
RzUtil: softfloat support based on bitvector (#2784) 2022-09-14 14:38:22 +02:00
Dean
59b38e6efa
Add /*<type>*/ comments everywhere (#2986)
Adds /*<type>*/ comments and a linter check from rz-bindgen to enforce
their existence and consistency

Also includes the following fixes made when adding the annotations:
* removed unused intern_table arguments in pyc_dis.c, pyc_dis.h, asm_pyc.c
* removed unused classes argument from place_nodes in agraph.c
* removed unused recurse and recurse_bb functions in canalysis.c
* removed unused vars field from RzPrint struct
* removed unused RzAnalysisType* structs from rz_analysis.h
* removed unused list field from RzEgg struct
* fixed bug in bp_plugin.c where duplication-checking logic iterates over the wrong list
* removed unused q_regs field from RzDebug struct
* removed unused backtrace field from RzDebugPlugin struct
* removed unused classes_list field from RzBinNXOObj struct
* removed unused methods_list and classes_list fields from RzBinZimgObj struct
2022-09-11 13:04:53 +08:00
Giovanni
e3f72d8e72
Add nim lang support (#3015) 2022-09-10 18:20:05 +02:00
Anton Kochkov
20792311b4 Move rz_core_file_*() API to the cfile.c 2022-09-08 07:41:18 +08:00
Anton Kochkov
0f352c3ab3 Move RzDebug APIs to the cdebug.c 2022-09-08 07:41:18 +08:00
Giovanni
ade374378e
Add free-pascal demangling support (#3011)
* Add free-pascal demangling support
* Fixed tests
2022-09-06 10:39:58 +08:00
Khairul Azhar Kasmiran
9b2e6bb2de
Remove multibyte conversion functions (#3000) 2022-09-02 16:51:32 +02:00
Khairul Azhar Kasmiran
da374939eb
Remove rz_str_mb_to_wc_l() (#2998) 2022-09-01 23:27:17 +08:00
Anton Kochkov
9b9ebc66c4 visual: extract classes from vmenus.c to classes.c 2022-09-01 07:47:19 +08:00
billow
46a1929397
Refactor rz_core_analysis_graph*() functions (#2949)
- fix `ags` and `agl` commands
- add more tests for the `ag` commands
- move graph related code to cgraph.c
- remove APIs `rz_core_print_bb_custom` `rz_core_print_bb_gml`
- exports
    - `rz_graph_drawable_to_json_str`
    - `rz_graph_drawable_to_cmd`
    - `rz_graph_drawable_to_gml`
    - `rz_core_graph`
    - `rz_core_graph_diff`
    - `rz_core_graph_format_from_string`
    - `rz_core_graph_type_from_string`
    - `rz_core_graph_write`
    - `create_agraph_from_graph_at`
- add unit/integration tests for the graph API
2022-08-29 22:48:23 +08:00
Giovanni
c89b12a046
Removed plenty of eprintfs in rz_core (#2950) 2022-08-29 00:32:17 +08:00
Anton Kochkov
106a1049dc
Make all visual functions private (RZ_IPI) (#2985) 2022-08-27 22:13:12 +08:00
Riccardo Schirone
6e3435500c core/cmd: remove rz_cmd_set_data from rz_cmd.h 2022-08-26 07:53:43 +08:00
Riccardo Schirone
9ba89d8116 core/cmd: rewrite rz_cmd_macro API 2022-08-26 07:53:43 +08:00
Riccardo Schirone
544a907443 core/cmd: remove some unnecessary fields for macro handling 2022-08-26 07:53:43 +08:00
Riccardo Schirone
74df176f0f core/cmd: remove brk concept in macros because unused 2022-08-26 07:53:43 +08:00
Riccardo Schirone
02a0b7a1ad core/cmd: just store RzCore reference instead of void *data 2022-08-26 07:53:43 +08:00
wargio
924cb9ea3a fix #2966 #2967 #2974 - oob read in asn1.c 2022-08-24 08:26:37 +08:00
wargio
f674aecd20 fix #2971 - null deref dwarf_process.c 2022-08-24 08:26:37 +08:00
billow
9f4548991d
Expose pda and fix memory leaks (#2943) 2022-08-23 06:56:49 +08:00
billow
4b385978a1
Convert ag to rzshell (#2916)
* `BROKEN=1` for `ag[df]`

Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
2022-08-22 08:16:14 +08:00
GustavoLCR
c97f1dae3e Windows: Fix VT mode support detection
* Test if its possible to set console input mode to enable VT sequences
* Detect `msys` and `cygwin pipes (for mintty, etc)
2022-08-18 20:11:47 +08:00