r2-5.0
Commits: 510
Contributors: 65
Interface
- Added the Comma API
- Added r_str_wrap() and r_cons_printat() APIs
- Fix adding comments in panels
- Improved help messages
- Removed problematic fortunes
- Add ?et command to change terminal title
- Fix double-click issue in vte terminals
- Formalize the flag names and its filtering APIs
- Fix return code when using q!. Fixes r2pipe.go
- Add experimental asm.flags.real to get strings from bin.str.real
- Removed unmaintained enyo and panels webuis (-2MB)
- Set realname on all bin strings for better asm.flags.real when bin.str.real is set
- Fix ansi colors embedded inside json output formatting
- Improve socket and http server APIs
- Add opn/opr/opp commands to rotate between opened files
- Initial implementation of scr.cursor for keyboard accessibility in visual and panels
- Add asm.hint.call.indirect to make indirect calls follow the target address (#17968)
Performance
- Use sdb_set instead of sdb_querys (aaaa is 7x faster)
- Optimize IO.cache (makes bins with relocs much faster)
Signatures
Debugger
- Sync anal and debug tracing information
- Fix a crash in dts+ command with empty register arenas
- Attach to target pid/tid on remote lldb connect
- Add a warning when a breakpoint is placed in an invalid map
- Add commands to parse mangling pointers glibc heap
Analysis
-
Improve signature matching, threshold, refactor and optimize related code
-
Directly apply Callee Args in Type Matching
-
Takeover variables when splitting functions
-
Always register the derived CC from the reg profile
-
Add bbhash to detect modifications in functions (and reanalize if patched)
-
Implement basic block listing commands (abl*)
-
Implement tcc-* commmand to unload all calling conventions
-
X86
- Add amd64syscall and anal.cc evar
- Fix esil for cmp/sub instructions
- Add amd64syscall calling convention
- Fix ELF R_X86_64_PLT32 relocation entries patching (#17587)
- Fix x86 CMC instruction
-
MIPS
- Improves mips.gnu esil
- Add JALR JR when the address can be computed
- Fix GP calculation when there are multiple entries
- Fix MIPS C-TYPE instruction check
- Set asm.cpu for mips.gnu derived from the ISA defined in the ELF
-
ARM
- arm mte addg/subg decoding
- fix arm it block analysis
- BLR arm64 is type=RCALL (before it was UCALL)
- ARM64 assembler can now assemble AND and BIC instructions (Thanks @mrmacete!)
- Add initial support for arm and arm64 ELF relocs
- Handle RELATIVE (todo) and IRELATIVE relocs in ARM64 ELFs
- COFF: add ARMNT and ARM64 support
- All testsuite run on arm32 and arm64
-
v850
- Improve invalid instruction detection
- Implement the pseudo disassembler plugin
- Fallback to anal=v850 when using asm=v850.gnu
- Add ep, sp, gp lp register aliases for v850
- Added function preludes (aap finds much more functions)
- Fix calling convention argument register usage for v850
- Add all instruction descriptions
- Set v850 disassembler when opening v800 ELF files
-
TMS320
- Implement pseudo disassembler plugin
-
PowerPC
- Initial assembler support
- Improve reg profile to support calling conventions
-
RISC-V
- Add all instruction descriptions
- Add Fix shift instruction analysis
- Fix ESIL for JALR and AUIPC instruction
-
SPC700 plugins moved to extras
ESIL
- Add sign-extension operations
- Implement aof to filter expressions using the dfg api
- Fix unexpected FPU exception in ESIL emulation bug
- Enlarge ESIL VM stack from 32 to 256
BSD
- Support pkgconf (BSD alternative to pkg-config)
- Fix build with tinycc, unfortunely the final binary segfaults
- Fix debugger support in FreeBSD
- Implements r_sys_aslr for NetBSD
- Fixing r_sys_pid_to_path for DragonFlyBSD
- Setting ASLR support for DragonFlyBSD
Windows
- Fix r_core_editor() on Windows (#17887)
- Fix MSVC template demangling symbols
- Expose TEB address as a flag on Windows
- Add network support to WinDbg/KD (KDNET)
Apple
- Support ObjC small method lists
- Support iOS 14.x dyld shared cache
- Add support for new macOS kernelcache
Changes
- Rename
asm.filter
toasm.sub.names
- Rename
asm.var.sub
toasm.sub.var
- Deprecate the
afc=
command. - Removed all globals from main functions
- afc= -> e anal.cc
- Fix big endian DWARF parsing
- labels no longer stored in sdb
- Refactor Variable Constraints out of SDB
- Fix r_anal_block_automerge incorrectly merging blocks
Thanks to
Authors
- Alexis Ehret 08a@riseup.net
- Anisse Astier anisse@astier.eu
- Anton Kochkov xvilka@gmail.com
- Aswin C realc@protonmail.com
- Azox 0x8008135@users.noreply.github.com
- Damien Zammit damien@zamaudio.com
- David CARLIER devnexen@gmail.com
- Dennis Goodlett dennis@hurricanelabs.com
- Emi1305 edelpeon@gmail.com
- FXTi zjxiang1998@gmail.com
- Fabian Freyer fabian.freyer@physik.tu-berlin.de
- Filipe Lans lains@riseup.net
- Florian Maerkl info@florianmaerkl.de
- Florian Mrkl info@florianmaerkl.de
- Francesco Tamagni mrmacete@protonmail.ch
- GustavoLCR gugulcr@gmail.com
- Heersin 56885667+Heersin@users.noreply.github.com
- Hex grant@reconditorium.uk
- HoundThe cgkajm@gmail.com
- Jeroen Domburg Spritetm@users.noreply.github.com
- Jing Xia n2jeam@sina.com
- Keegan S mhsjlw03@gmail.com
- Khairul Azhar Kasmiran kazarmy@gmail.com
- Khairul Kasmiran kazarmy@gmail.com
- K<81>rlis Se<86>ko karlis3p70l1ij@gmail.com
- Lazula 26179473+Lazula@users.noreply.github.com
- Liumeo liumeo@pku.edu.cn
- Lowly Worm cutlassc91@gmail.com
- Ole Andr Vadla Ravns oleavr@gmail.com
- Paul I pelijah@users.noreply.github.com
- Rafid Aslam rafidteam@gmail.com
- Rene Laemmert rlaemmert@gmail.com
- Riccardo Schirone sirmy15@gmail.com
- Roman Hargrave RomanHargrave@users.noreply.github.com
- Sylvain Pelissier sylvain.pelissier@gmail.com
- VVS sydorenko.volodymyr@gmail.com
- Vasilij Schneidermann mail@vasilij.de
- Zi Fan zifan.tan@gmail.com
- abcSup zifan.tan@gmail.com
- aemmitt-ns 51972960+aemmitt-ns@users.noreply.github.com
- alimansfield2016 alimansfield2011@gmail.com
- bazuchan baz@irc.msk.ru
- condret condr3t@protonmail.com
- eagleoflqj liumeo@pku.edu.cn
- gogo gogo246475@gmail.com
- gogo2464 57051187+gogo2464@users.noreply.github.com
- junchao-loongson 68935141+junchao-loongson@users.noreply.github.com
- karliss karlis3p70l1ij@gmail.com
- laydervus 20249311+layderv@users.noreply.github.com
- meowmeowxw 43200867+meowmeowxw@users.noreply.github.com
- mscherer mscherer@users.noreply.github.com
- officialcjunior realc@protonmail.com
- pancake pancake@nopcode.org
- phakeobj 53140177+phakeobj@users.noreply.github.com
- plaets 49844988+plaets@users.noreply.github.com
- ratijas me@ratijas.tk
- tantei3 54449449+tantei3@users.noreply.github.com
- x1nixmzeng x1nixmzeng@gmail.com
- yossizap yossizap@gmail.com