rizin/subprojects
wargio c85b1afa4c Rewrite how bins are loaded into RzBinObject
This commit rewrites completely how RzBinPlugin are used to load info
into the RzBinObject structure.

Main changes are:
- Avoid looping multiple times to set the same data:
  now the data is cycled only once to rebase addresses, demangle strings
  and to make each loaded structure similar to each other.

- rz_bin_demangle is now demangling only strings:
  the old implementation was a hack over a hack to add classes & methods
  into the RzBinObject while demangling a string.
  This allowed methods and classes to be added to RzBinObject when for
  example invoking `is` or other printing commands.
  This was meant to be an "optimization" to avoid looping and doing
  things on-the-fly.

- Now the demangling is done after guessing the language used in the bin.
  This is done to avoid looping to various demanglers hoping that a
  string is going to be correctly demangled.
  After each string is demangled, the string is given to the language
  related function which adds classes, methods and fields into the
  RzBinObject fields.

- Swift handling is a special case, since the demangler can be disabled
  via -Duse_swift_demangler.
  The issue with the swift demangler is that is not correctly demangling
  strings and outputting swift code, but instead is creating something
  that sometimes works, sometimes doesn't.
  Also the old code only added fields and never methods for "reasons",
  and the new code just uses what the old code was doing as is.

- The new code also takes advantage of the language detection, which now
  happens before the demangling of symbols, imports and relocs.
2023-06-01 23:16:09 +08:00
..
mpc Fix gcc12-asan mpc -Wformat-overflow= warnings (#3081) 2022-10-09 18:54:08 +08:00
nettle Replace AES code with Nettle one which is LGPLv3 2021-12-17 09:18:47 +01:00
packagefiles subprojects/libzip: patch zip_win32_file_operations 2023-05-09 09:31:56 +08:00
ptrace-wrap Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
rizin-shell-parser Replace rz_core_cmd0 calls in tui/panels.c and port cmd_help commands to RzShell as cmd_math (#3421) 2023-03-30 18:36:48 +08:00
rzar Fix return types and args 2023-05-09 15:42:21 +08:00
rzgdb Add /*<type>*/ comments everywhere (#2986) 2022-09-11 13:04:53 +08:00
rzheap Fix debugless build on E2K (Elbrus) platforms (#3165) 2022-11-06 21:08:09 +08:00
rzqnx Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
rzspp Remove windows.h include from rz_types.h (#2410) 2022-03-16 13:54:41 +01:00
rzw32dbg_wrap Move remaining things from shlr/ to meson subprojects (#2126) 2021-12-22 09:20:39 +08:00
rzwinkd Improve cmd_help.yaml and fix random number generator (#3452) 2023-04-07 20:22:01 +08:00
xxhash SPDX Copyright text for all files based on history 2021-03-05 19:39:15 +08:00
yxml SPDX Copyright text for all files based on history 2021-03-05 19:39:15 +08:00
blake3.wrap Update blake3 to use cpu extensions (#3108) 2022-10-26 23:27:08 +02:00
capstone-bundled.wrap Update capstone-bundled for -Wunneeded-internal-declaration (#2058) 2021-12-02 15:53:09 +01:00
capstone-next.wrap Update capstone-next (#2370) 2022-02-28 16:27:50 +01:00
capstone-v3.wrap
capstone-v4.wrap
libdemangle.wrap Rewrite how bins are loaded into RzBinObject 2023-06-01 23:16:09 +08:00
liblzma.wrap subprojects/xz: update to 5.4.3 2023-05-09 09:31:56 +08:00
libmspack.wrap Update libmspack to v1.11 (#3468) 2023-04-18 17:23:18 +08:00
libzip.wrap Update libzip to v1.9.2 2022-07-04 19:05:50 +08:00
lz4.wrap Updated libmspack to latest commit (#3349) 2023-02-05 13:23:02 +08:00
sigdb.wrap Add option to install sigdb systemwise and custom user location for additional signatures (#2328) 2022-02-28 14:32:38 +01:00
tree-sitter-c.wrap Update tree-sitter to 0.20 for rzshell and C parsers 2022-03-18 17:29:39 +01:00
tree-sitter.wrap Update tree-sitter to 0.20.7 2023-01-31 19:06:55 +08:00
zlib.wrap Update zlib to 1.2.13 2023-02-02 13:50:52 +08:00