Stay up to date on releases
Create your free account today to subscribe to this repository for notifications about new releases, and build software alongside 40 million developers on GitHub.
Sign up for free See pricing for teams and enterprises
radare
released this
Release Notes
Version: 4.0.0
From: 3.9.0
To: 4.0.0
Commits: 299
Contributors: 48
Changes
anal
- Bring back the MASK_DISASM because not all nanal plugins support it yet ##anal
- Select default var type based on its size (#15352)
- Fix #15325 - Improve af- like its done in Vdu
- Deprecate anal.jmp.eob /refs #13482
- Fix #15117 - honor asm.var.sub in ao/aoj
- Fix #15315 - Honor RAnalOp.disp in
aarandao - Update 8051 plugin (#15321)
- Avoid reloading of cc sdb - huge speedup (#15306)
- Implement ESIL for arm64 UBFX
- Make RAnalFunction.cc come from RAnal String Pool
- Deprecate the use of anal plugins that doesnt handle mask.disasm
- Add jumptable support for main() in bins/elf/analysis/ls-alxchk (#15266)
- Add jumptable support for main() in bins/elf/ls.odd (#15233)
- add afoj and afdj (#15254)
- Fix #15235 - push [mem] not handled in /r
- Add initial reg profile for sysz arch
- Don't propagate noret to fcn if fcn jmps outside itself (#15190)
- Fix #15004: Make meta.min rbtree more robust (#15141)
- Fix memleak in r_core_anal_propagate_noreturn()
- Minor speedup/cleanup/refactor of the RAnal
- Implement ESIL control-flow-graph and further dfg analysis
- Add anal.delay to disable delay slot analysis for testing
- Fix pc-rel movs in sh's esil
- Delay execution debug messages are now available via anal.verbose
- Fix #15073: Disambiguate using fcn addr also in meta.min rbtree (#15077)
api
- Add r_strbuf_copy API (#15186)
asm
- Fix post-indexed memory access for str instructions on ARM (#15298)
- Fix #15302 [rasm2/armass] Correctly propagate errors from thumb_assemble (#15303)
- Add additional [indirect] access syntax for 8051 (#15272)
- Fix #10651 sub sp, sp, 0x1000 not correctly assembled for ARM (#15187)
- Fix #15198 (#15199) arm64 assembler const value
- Add 8051 assembler plugin (#15189)
- Z80's LD opcodes assembly (#15185)
- Fix parsing of floating point instructions in x86_64 assembler (#15174)
- Fix x86 assembler output for some memory loads (#15068)
bin
- On AArch64 there is a new special symbol $x (#15362)
- Fix #15152 - Support old Java attribute format (#15317)
- Simplify r_bin_open_io function (#15307)
- Support > 4GB ELF files
- Add support for RTable.query in i
- Fix #15132: Integrate table to iS,ia,ir,iz,is (RBin info) based commands (#15159)
- Implement support for the RISCV PLT ELF relocs
- Fixes for MSVC demangling (#15210)
- Format the .rela. sections in ELF
- Add NES ROM mirroring map
build
- sys/asan.sh: Use -fsanitize=... instead of -lasan when linking (#15375)
- Link sdb fully into r_util in meson (#15338)
- Fix #15296 - *BSD builds (#15309)
- Fix macOS build with latest XCode
- Add MSVC 2019 for AppVeyor
-
- Try MSVC 2019 for AppVeyor
- Set rpath if non-Windows Meson shared
- Debian package fixes (#15081)
cons
- Fix function key handling in visual/panels
- For utf-8 locale, check LC_ALL, LC_CTYPE and LANG in sequence instead (#15326)
- Also use LANG env var to check for UTF-8 output support (#15257)
- Move UTF-8 setting logic to scr.utf8 config callback on Windows (#15273)
- Implement 'str' operation in RTable queries
core
- Fix #14247 - fn.j/fnj. show all flags in current offset, not just one
- Few compiler watning fixes here and there
- Fix #15114 - Implement r_sys_info() and
uname - Add kitty clippy replacement :3 (#15232)
- Add possibility to specify time zone with rax2 -t (#15180)
- Implement cj command using the PJ api (#15168)
- Add support for the V programming language
- Fix #15134 - Support octal numbers like 0o666
- Implement function-based plugin loading method
- Add omt and help message for RTableQuery + add format column api
- Move Lib already loaded check before dlopen Call (#15075)
- Replace r_str_const* with RStrConstPool (#15300)
- Kill r_sys_get_osinfo () (#15346) ##core
debug
- Use RTable for Windows heap info output (#15368)
- Add support for setting xmm registers on linux (#15365)
- Fixed continue not being associated with the current thread in unix
- Added a way to break while in dbg_wait (continue, step etc)
- Fixed dpk
- Fixed opcodes not being associated with the current thread in gdbr (#15358)
- Fix
drm[bwdq]command, add xmm0h/l and xmm8-15 registers (#15354) - Fix the way linux debugging options are set (#15323)
- r_reg_get_pack/r_reg_set_pack are not able to deal with 128 packbits
- Added support to thread switching in linux and fix r_debug_select
- Fixed ptrace 'Operation not permitted' errors (#15287)
- Fix debugger build for native GNU/Linux on RISC-V
- Fix incomplete drr/drrj formatting when r_core_anal_hasrefs fails (#15277)
- Added "dptj" and "dptj " (#15259)
- Enhance
drmcommand, adddrm xmm0functionality (#15214) - Fix
drfoutput formatting - Implementing debug info per pid on NetBSD
- Using unused map debug field on macOS
- Rebase fcn/bbs, flags , comments, meta, refs when ood
- Fix issues in windows thread switching (#15366) ##debug
diff
- Implement radiff2 -X for hexII diffing
- Fix #14845: Support radare2_rc in radiff2 for graphs (#15078)
disasm
- Better pdi output when Cd is involved
- Implement 'pdt' - print disasm in table, supports queries
- Make asm.fcnsig more compact
- Do not resolve the strings pointed by ADRP on arm64
- Improve (change) sh4 disasm (lowercase regs...)
emu
- anal_x86_cs fix esil expr for neg instruction (#15252)
- Fix #15246 - Honor the 'u' suffix in PPC instructions in ESIL
esil
- Fix #15297 - Update ESIL help message
- Improve registers handling in ESIL dfg
- Simplify ESIL code for ARM str instructions
- Add a parameter to $s and $o (#15171)
io
- Setting the upper address limit for OpenBSD
- Improve omt and implement RTable.filterSum
io_self
- Setting the upper address limit for OpenBSD
json
- Show flagname and realname in json format for fnj and such
- Add current thread field to dptj (#15268)
lang
- Rewrite hashbang command parser, use argc & argv in hashbang (#15188)
panel
- Fix #14857 - Handle 'O' key to rotate asm.pseudo/asm.esil
- Another const pointer to be free fix
- Handle / highlight in panels for zoom and window modes
- Fix const address freeing
- fix #15060 - Add xrefs and xrefs here in visual
- Fix #14559 - Honor scr.fps
panels
- Fix #14857 - Handle 'O' key to rotate asm.pseudo/asm.esil
- Handle / highlight in panels for zoom and window modes
- Fix const address freeing
- fix #15060 - Add xrefs and xrefs here in visual
- Fix #14559 - Honor scr.fps
- Fix #15216 - Implement pcy command to print hexpairs in Yara format
r2pie
- Implement r2pipe_open_dl() to use dlopen/dlsym
rasm2
- Freeing main assembly object
script
- Fix vlang plugin to run scripts and add example
search
- Fix #8575 - Support stdin slurping in rafind2 -
- Add support for hex escaped litterals in regular expressions (#15291)
- Fix RCALL and RJMP in aop and /at
- Refactor Search to use less Global State (#15076)
table
- Add :json,:quiet,strlen,minlen,maxlen,sortlen in table queries
- Integrate table API for p-h (#15083)
util
- Fix rop inline assembly form
visual
- Run .dr* in visual prompt in cfg.debug is set
- Fix for VV going to V (issue 15181) (#15195)
- Fix #14919: truncate long function names in Vv (#14996)
wasm
- Further wasm memory leak fixes
- Memory leak fixes in error code paths
windows
- Print child output in pipe lang plugin
zign
- Integrate types field in zignature operations (#15082)
Thanks to all the contributors
- Anton Kochkov xvilka@gmail.com
- Armin Weihbold koyaan@users.noreply.github.com
- Brandon Lin blin00@gmail.com
- Cyrill Leutwiler bigcyrill@hotmail.com
- David CARLIER devnexen@gmail.com
- Dennis Goodlett dennis+git_swoops@hurricanelabs.com
- Florian Märkl info@florianmaerkl.de
- Francesco Tamagni mrmacete@protonmail.ch
- Fritz Reese fritzoreese@gmail.com
- Giovanni 561184+wargio@users.noreply.github.com
- Gordon M 35108003+gordboy@users.noreply.github.com
- GustavoLCR gugulcr@gmail.com
- Joseph Griego joseph.j.griego@gmail.com
- Khairul Kasmiran kazarmy@gmail.com
- Maijin maijin21@gmail.com
- Paul I pelijah@users.noreply.github.com
- Paweł Łukasik lukasik.pawel+github@gmail.com
- Qian qwu.au0605@gmail.com
- Quim 6136977+quim0@users.noreply.github.com
- Remco Verhoef remco@dutchcoders.io
- Riccardo Schirone sirmy15@gmail.com
- Roman Valls Guimera brainstorm@users.noreply.github.com
- Samuel Hopstock masrepus97@gmail.com
- Sanyam Agrawal 42491578+Sanyam-Agrawal@users.noreply.github.com
- Stefan 8906941+stefansiegfried@users.noreply.github.com
- Stefan Ilic stefan92ff@yandex.com
- Thomas Bailleux zadlg@users.noreply.github.com
- blenk92 30472652+blenk92@users.noreply.github.com
- condret condr3t@protonmail.com
- dav1901 44604348+dav1901@users.noreply.github.com
- dodococo deepakchethan@outlook.com
- dok dokthar@users.noreply.github.com
- fcasal fcasal@users.noreply.github.com
- hmht 55194419+hmht@users.noreply.github.com
- layderv 20249311+layderv@users.noreply.github.com
- lzutao taolzu@gmail.com
- neuracr 26376659+neuracr@users.noreply.github.com
- pancake pancake@nopcode.org
- the-remmer thomasdewaele@gmail.com
- xarkes antide.petit@gmail.com
- yossizap yossizap@gmail.com
- Óscar Carrasco oxcabe@gmail.com