5.5.0 - 希
Codename: Nozomi 希
Commits: 381
Contributors: 25
Associated Releases:
- r2dec https://github.com/wargio/r2dec-js/releases/tag/5.5.0
- r2ghidra https://github.com/radareorg/r2ghidra/releases/tag/5.5.0
- r2frida https://github.com/radareorg/r2ghidra/releases/tag/5.5.0
Breaking changes in api, esil, abi and commands. Plugins will need to be recompiled as usual.
Special thanks to giantbranch from NSFocus Tianji Lab for reporting several crash reproducers
- New IOBanks APis and commands replacing skyline and making io faster (2-10x) @condret
- Faster analysis, type matching, binary parsing (2-4x) @trufae
- [] and =[] esil operations has been removed (size is mandatory) @condret
- Lots of important bugs fixed in bin parsers and disassemblers @Lazula
- Add support for the latest iOS15 dyld4 Atlas-style cache formats @mrmacete
- Autorename signature matching collisions and faster search @swoops
- Add assembler for riscv and disassemblers for PDP11, Alpha64 and armv7.v35 @trufae
- Improved integration with r2frida remote filesystems @as0ler
- Cleaning debugger for windows (32 and 64) and macOS makes it more reliable and stable @trufae
- Add seven segment printing (?ea for ascii-art text titles) @trufae
- Improved xrefs visualization with new axfm and axtm commands @trufae
- Add
avg
command to manage global variables @trufae - The sixref plugin is now easier to use to find xrefs on arm64 code @hot3eed
- Improved multibin (select all bins or one) and multidex support in apk:// @trufae
- Better build scripts for Windows (add asan and w32 profiles) @trufae
- Added armv7.v35 and improves esil emulation with the arm64.v35 @aemmitt-ns
- Add more help messages and set scr.prompt.tabhelp true by default @trufae
- AES key wrap algorithm support in rahash2 @sylvainpelissier
- Fix var serialization issues in debugger reloading (ood) and projects saving (Ps) @RHL120
- Add Amiga and MSX rom/bin parser plugin and test @romerojoseant @trufae
- Visual slides (r2s) allow interactive content to be used within r2 @trufae
- Print and convert ternary values back and forth @trufae
Continue reading ...
Authors
0mhu Abdelrahman Eid Antoni Viciano Dennis Goodlett Fernando Domínguez Francesco Tamagni Jose Antonio Romero Lazula Murphy RHL120 Sergi Àlvarez i Capilla SkUaTeR Sylvain Pelissier aemmitt-ns condret devnull850 dogtopus hot3eed junchao-loongson meme murphy pancake pancake rhl120 thymol0
analysis
- Check if ax[ft] argument is valid before showing xrefs to 0
- Implement axtm, axfm and add helps for axf? and axt?
- Improve debug message when misleading a function name
- Add serialization API for vars
- Improve
sixref
plugin UX - Copy the z80.archinfo into the gb plugin
- Honor (min|max)-opsz and buffer bounds in aar
- Hide the 'no calling conventions' warning and add =R0 for x86
- Improve the reg profile for python
- Fix crash when using the pyc disassembler without pyc bin
- avr requires aeim before aaaa to not assert
- New 'avg' command and RAnal.global to manage global variables
- Remove unused enum
- Fix tests for RAnalVar function relocation
- Fix variable relocation on ood (#19219)
- Fix 1 bb function analysis with a2f
- Fix null deref when using anal.a2f
- Improve
sixref
plugin UX
asm
- Add the first multiarch assembler plugin: vasm
- Initial implementation of the RISCV assembler
- Minor refactors in disasm.c, primarily r_core_print_disasm()
bin
- Use r_str_ndup in another bound check in dwarf
- Fix crash when elf symbol initialization fails
- Always init Mach-O options with defaults
- Add Support For dyld4 Atlas-style Shared Library Caches
- Handle allbins in im, iM, iT, iC, iV, iz
- Implement multidex and proper multibin in apkall://
- Handle allbins for iz, ic, iI, ie and iM
- Implement 'ob *' to select all bins and honor in is,ii,ir,il
- Add MSX rom/bin parser plugin and test
- Fix some null checks around the open_many apis
- Implement 'is,' for table query for symbols
- Handle the ARM32 COFF case
- Improve swift demangler and add bin.demangle.trylib config
- Initial implementation of the HUNK file parser
- Detect canary on statically linked RT and stripped PEs
build
- Generate bin/d the same way as other sdb paths with meson
- Fix wasi builds and update wapm package in the new dist/wapm
- Respect v35 repos for offline builds
- Dont user latest meson because its broken :D
- Initial work towards supporting mingw32/64 again
- Rename MD5 symbols to prevent OpenSSL collision
cons
- Fix buffer overflow in RConsPixel API affecting the braile renderer
- Improve default theme
- Add scr.prompt.tabhelp enabled by default
- Move more context fields out of the globals
- Move the console flushing decision to the console context
core
- Deprecate the file.openmany config variable
crash
- Fix null deref in
r2 -c 'oc 3' -
- Fix #19178 - UAF in aaft when anal.detectwrites is enabled
- Wrong bounds initializing dwarf dies (tests_64901)
- Fix oobread in z80 disassembler (tests_65081)
- Fix oobread crash in the ELF parser (tests_64931)
- Fix oobread crash in DWARF's parse_die (tests_64926)
- Save and check the reg arena size when peekpoking (Fix tests_64923)
- Fix oobread crash in DWARF parser (tests_64922)
- Fix oobread crash in dwarf parser with non-null terminated strings
- Fix oobread crash in DWARF parser (tests_64924)
- Fix oobread crash in the analysis loop with corrupted ELFs (tests_64928)
- Fix uaf crash in aaft (tests_64927)
- Fix UAF in aaft (tests_64923)
- Fix oobread in VAX disassembler (tests_64920)
- Fix oobread crash in RAnal.hexagon (tests_64900)
crypto
- Remove global usage in AES encryption
- Add AES Key Wrap Algorithm
debug
- Make the macOS debugger more stable
- Handle PPID on macOS debugger
diff
- Add ci commands to compare two rbinobject data
disasm
- Add disasm+decompiler side by side api for the codemeta api
- Use hints to follow dwords
- Add armv7 to the arm.v35 plugin
- Fix pdi~invalid bug, at least when bbsize > 32
- Add support for the ALPHA disassembler
- Add PDP-11 disassembler support from binutils
esil
- Improvements on the arm64.v35/cs plugins
- Kill esil [], []= and related operations
- Fix r2wars regression with REP cycle detection
- Use sdb_itoa instead of snprintf for emulation
fs
- Always use b64 encoded filepaths on the fs.io calls
help
- Add help for the
an
command
io
- Add r_io_map_add_bottom
- Fix mapslit in r_io_map_add
- Remove r_io_map_new from public API
- Free maps on r_io_maps_fini
- apk:// is the new apkall:// (add AndroidManifest.xml)
- Use io banks by default
- Speedup repetitive access to the same submap in io banks
- Speedup r_io_map_get (O(2n) => O(2))
- Add iobank support to r_io_read_at_mapped
- Use new rbtree API in io_bank.c
- Fix io bank cmp cb functions
- Refix r_io_submap_set_to (typo)
- Enable io bank support in r_io_map_resize
- Kill r_io_map_location
- Enable io bank support in r_io_nread_at
- Implement r_io_bank_{read_from/write_to}_submap_at
- Enable io bank support in r_io_v{read/write}_at
- Enable io bank support in r_io_map_depriorize
- Implement new r_io_desc_get_byuri() API
- Enable io-bank support in r_io_map_get_paddr
- Enable io-banks for r_io_map_del_for_fd
- Fix return value in io_default close entry
- Fix resource leak and logic bug in r_io_reopen
- Check for access bytes in r_io_bank_{read/write}_at
- Enable io-banks support in r_io_map_remap
- Enable io-bank support in r_io_map_new
- Kill r_io_map_add_batch
- Remove unnecessary return val from r_io_map_del
- Enable io-bank support in r_io_map_del
- Rename r_io_map_next_available to r_io_map_locate and add use_banks support
- Kill r_io_map_next_address
- Improve r_io_bank_locate for replacing r_io_map_get_next_available
- Add alignment support to r_io_bank_locate
- Enable io banks in search; Kill search.in = io.sky.*
- Add 2 comments for clarification
- Improve "om"-command, show '*'-marker for current map
- Implement map depriorization in io banks
-
- Add r_io_bank_map_add_bottom and r_io_bank_map_depriorize
-
- Fix potential bug in r_io_bank_update_map_boundaries and add some comment for clarification
- Some cleanup and code deduplication
- Fix oob write in r_io_bank_{read/write}_at
- Fix omb-command map ids
- Initial io.banks management commands
- Rename r_io_bank_update_map_location to r_io_bank_update_map_boundaries and make it useable for map resize (siol eternal)
- Some code cleanup (siol eternal)
- Use incremental timestamp on map creation instead of real ones (siol eternal)
- Implement r_io_bank_update_map_location (siol eternal)
- Use r_list_iter_get_prev (siol eternal)
- Implement r_io_bank_delete_map and fix some bugs (siol eternal)
- Add r_io_bank_drain (siol eternal)
- Implement r_io_submap_set{from/to} (siol_eternal) #18476
- Implement r_io_bank_write_at (siol_eternal)
- Implement r_io_bank_read_at (siol eternal)
- Constify bankid and mapid in io-bank api (siol eternal)
- Imnplement r_io_bank_map_priorize (siol eternal)
- Speedup r_io_bank_map_add_top (siol eternal)
- Add missing NULL-check (siol eternal)
- Fix potential segfault (siol eternal)
- Adjust codingstyle in libr/io/io_map.c (siol eternal)
- Implement r_io_bank_locate (siol eternal)
- Implement r_io_bank_map_add_top and r_io_bank_get (siol eternal)
- Add lowercase seven-segmented-ascii-art alphabet for ?ea
- Implement ?ef = echo framed text command
- Add pve command to print values on any endianness
projects
- Fix a problem serializing vartypes causing analysis info lost
- Add .rvc_ignore
- Add an rvc clone command
refactor
- free/fini methods should return void
- Cleanup and boolify some more debug apis
- Boolify RIO.close()
- Minor refactors in disasm.c, primarily r_core_print_disasm()
rvc
shell
- Don't check for decompilers in $PATH
- Honor console width in ls and fix lsj,lsq,lse
- Add 'dir' command as an alias for 'ls'
- Permit ending '%' in the env keys for % and @%
- Handle 'git' command (from system PATH)
- Better subcommand error messages for @@, @@@ and @@@@
- Add @@@r to iterate over relocs
signatures
- Add help message for zac
- Fix bugs in types validator
- Fix validation of next sigs
- Fix leak in sig serialization
- Simplify deserialization of byte
- Add more information to var
- Simplify types storage in r_sign
- Refactor r_sign
- Add return type to zj
- Auto-rename name collisions in
tests
- Enable R2_DEBUG_ASSERT=1 in r2r
- Assume tests without FILE= just open
-
- Show instruction and bytes when failing asm tests
types
- Optimize 'aaft' command, still far from fully optimized
- Remove ctype.c 2yo deadcode
- Add more types and skip some parse errors in
to
util
- New API to get fist hex bytes in str
- Fix signed overflow in r_buf_fread_at
- Fix UAF in new rbtree api and improve a varname
- Port https://github.com/leiless/jw_rbtree to r_util (#19252)
- Implement skip RTable filter
- Implement ternary support for numeric input
- Handle base64: prefix in the wtf command
visual
- Dont loose scroll position when selecting new panels
- Handle the .r2s extension for visual slides
- Implement RCore.visual_slides()
- Fix defining meta backwards in disasm
- Use RUtil.Str.ss in disasm when scr.demo is set
- Fix #18384 - Visual arg/var management not working sometimes
- Fix Vvv output for stackpointer based vars
- Implement ?ea and ~?ea to use the seven segment ascii art text rendering