- 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
* Close files before trying to delete them
* Add `-N` to not load the rizinrc in `read from stdin` test to avoid overwriting the color setting
* Make sure `.tmp` exists for `idpx` test
* RzBin/ELF: avoid the creation of useless flags at 0
Use UT64_MAX as an error value for addresses like symbols, imports,
sections, etc., and do not create flags for those because they are not
meaningful. This is useful for imports that do not have an address in
the virtual/file space and for non-alloc sections (e.g. .comment).
There may be multiple maps containing the current seek. This indicates
only the highest-priority one, which is also the one whose data is
visible at the seek address.
* removal of `omo` command
* use of `oml`, `oml.` and `oml=` to list maps instead of `om`
* removal of RIZIN output from `oml`
* removal of `omn.` and just assume `omn` uses core->offset
* Remove o-*h because it was the same as o--
* Remove o-! because not used
* Remove unread test case because it was not doing anything (o-fd did
not work)
* Start to create some RzBinObject specific API
Adding some unit tests
Fix for new relocs storage system
Fix test_bin unit test for oob-write
* Add `iA` command to newshell
Add `ie`/`iee` commands
Add support for `is`/`iE` commands
Add support for `ii` command
Add support for `il` command
Add support for `iM` command
Add support for `ir` command
Add support for `iS`/`iSS` commands
Add support for `iz` command
Add support for `i` command
Add support for `ic` command
Add support for `iC` command
Add support for `ih` and `iHH` commands
Add support for `iI` command
Add support for `iL` command
Fix descriptions of commands already converted
Add support for `idp` commands
Add support for `iD` command
Add support for `im` commands
Add support for `iR` command
Add support for `it` command
Add support for `iV` commands
Add support for `iw` command
Add support for `ix` commands
Add support for `iZ` command
Add support for `ik` command
Add support for `is.` command
Add support for `iS.` command
Reduce arguments in print_arch
Few Doxygen and ownership annotations
Add support for `iS=` command
Add support for `izz` and `izzz` commands
Add support for `ib` command
Add support for `ic*` command
Put section flags as the last field of the table
* Proper language detection.
* Rewritten blang.c
* implemented `icc/icm/icf <class name>`
* ignore blocks when printing langs
Remove num from `iA` output
* Fixed flags on java and added class column
Add support for `ia` commands
Fix `iCj` command
* RzBin: add rz_bin_object_sections_mapping_list API
* Fix rz-bin for new API
Remove unused va var in rz-bin.c
Fix `iA`/`-A` output
* implemented classdump_cpp
* Support namespaces
Use `icc`, `icl` does not exist anymore
Update output of broken tests for `icc`
Add `rz_return_*()` asserts in new `*_print()` functions
* Provide rz_core_bin_print API
* Select which parts to print also based on the mode
* Return bool from all `rz_core_bin_*_print()` API
* Use RzBinFile in new `rz_core_bin_*_print()` API
* Restore `dbg_dmi` test
* Remove oldshell handlers for `i` commands
* Remove `ieq` call in rizin, not needed
* Allow NULL `bf` in `rz_cmd_info_handler()`
* Re-add support for RZ_BIN_PREFIX for symbols/sections/segments/imports/relocs
* Move `ib` command to `obR`
* Show 'N/A' in `i` command when info are not available
* Assert on bf->o, just to be sure
* Make error messages clearer in `idp` commands
Co-authored-by: wargio <wargio@libero.it>
Co-authored-by: Giovanni <561184+wargio@users.noreply.github.com>
* switched to a new branch cause the old one was messy
* add test for srec reading
* finished SRecord PR
* 32 bit records require S7 terminator
* added srec with arm elf
Co-authored-by: wargio <wargio@libero.it>
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>
* Rename `sj`/`s*` and move them under `sH`. Remove `s=`
* Rename `s-*` to `sH-`
* Use `sd` for "seek delta", which moves relative to the current offset
* Enforce <cmd> <arg> syntax. So no more `s+16` but `s +16`. Command
`sHr` is for redo history, `sHu` for undo history. If one wants to move
relative to the current address, they need to do `sd +10`/`sd -10`.
* Remove `ss` commands in favour of `cmd.seek.silent`. This was anyway
used mainly for scripts, so no need to replicate all `s` commands
under `ss`.
Change a bit rz_core_seek API to avoid dupped entries in seek history.
* Disable `asm.bytes` by default
* Fix tests by adding `e asm.bytes=true` (1/n)
* Fix tests by adding (2/n)
* Fix tests by adding `e asm.bytes=true` (3/n)
* Fix tests by adding `asm.bytes=true` (4/n)
* Fix test by adding `asm.bytes=true` (5/n)
* Fix mostly all broken tests
* Attemp to fix the rzpipe test
* Attempt to fix the tests in `db/cmd/cmd_pipe`
* Fix tests again
* Fix cmd_pipe test
* Add a test where `asm.bytes` is false
Co-authored-by: Anton Kochkov <anton.kochkov@gmail.com>