Releases: radareorg/radare2
5.7.8 - codename "boredom"
Release Notes
Version: 5.7.8
Previous: 5.7.6
Commits: 307
Contributors: 17
Highlights
More details
Authors
Axel Iota Ben L Denis Ovsienko Dennis Goodlett Dennis Goodlett Francesco Tamagni Nikhil Saxena Paul B Mahol Richard Patel Seunghwan Chun Sylvain Pelissier adwait1-g condret erfur pancake pancake rax64
Changes
anal
- Define =SN for the sparc register profile and improve warning message
- Include bb instruction addresses in an array for
abj
- Fix more tests to run outside x86-64
- Implement
aflx
andaflx*
commands to re-analyze function callers - Implement
aflm.
andaflm?
to print the makefile-style function call summary - Fix bug in esil_cfg
- Implement r_anal_esil_dfg_reg_is_const
- Fix quotes in pickle assembly
- Improve
aab
results by using section size - Refactor esil new in cmd_anal
- Refactor
ar
set command to static func - Fix '/gg' output
- Fix duplicate aarch64 syscalls
- Fix leak in 'aex' command.
- Fix compilation warning
- Silence compilation warning in show_reg_args()
- Fix leak in r_core_esil_step()
- Check list allocation return value
- Fix leak of RAnalBlock in false return code path
- Check that vector length is not 0
- Fix leak of list when using asj command
- Fix leaks caused by not calling r_anal_op_fini()
- Add pickle descriptions
analysis
- Define =SN for the sparc register profile and improve warning message
- Include bb instruction addresses in an array for
abj
- Implement
aflx
andaflx*
commands to re-analyze function callers - Fix duplicate aarch64 syscalls
arch
- Support assembler plugin resolution by aproximated name
- Rename asm.arm_cs to asm.arm
- Merge asm.sparc_gnu into anal.sparc_gnu
- Lowercase all pickle instructions
- Upgrade to the latest capstone-next for ppc purposes
asm
- Fix integer overflow in match_c_lui()
bin
- Fix boundary check in mach0 fixups reconstruction
- Fix two oobreads in coresymbolication and dyldcache
- Update coresymbolication cache parser
- Add table's :help and ignore commas in
i
subcommand parsing - Fix incorrect relocs=false in macho
- Fix regressions affecting dyldcache parsing
- Fix #20624 - Implement ic, command to query klass information
- Fix oba $$ in frida://0 global
- Add support for REL file format plugin
- Support powerpc coffs
- Handle RABIN2_MACHO_SKIPFIXUPS env var in the macho parser
- Add wasm globals to symbols
- Fix leak in bin_sections
build
- if != ifdef on msvc
- Add lint for C++ include support
ci
- Fix #20655 - Zip the blob for windows
config
- Fix prj.alwasyprompt description text
cons
- Fix a couple of coverities in canvas and dietline
- Fix 'num' display with gentoo theme on 256 term
- Add to all themes 'ecd' at start
- Remove duplicate entry for basic theme
- Fix background color for dark theme
- Simplify ansi color mapping
- Fix several bugs when interacting in VE mode
- Fix leak in nextpal()
- Fix leaks in VE mode
- Fix leak of memory returned by r_str_ansi_crop()
core
- Fix leaks when calling r_flag_all_list()
- Fix leak in error path of r_core_anal_search_xrefs()
- Fix leak of pointer left behind
crash
- Fix stack exhaustion bug in the c++ gnu demangler
- Fix oobread in protobuf parser
- Fix oobread in
r_str_is_printable_limited
- Fix UB bug in
afi
command causing random segfaults - Harden swift demangler
- Harden msvc demangler
- Fill null deref check in the x509 parser
- Fix two more bugs in pdb found by libfuzzer
- Some safe fixes in rbin
- More r_run_parseline fixes
- Fix #9782 - r_run_parseline OOB read
- Fix oob write in dyldcache
- Fix null deref on non-capstone builds
crypto
- Add SM4 block cipher
debug
- Add new 'drp*' 'arp*' commands to flag the reg arena
- Fix build for 32bit iOS debugger
- Fix process detach in the xnu debugger
- Fix arm64 register access in xnu debugger
- Initial blind support for io.self for serenity
diff
- Implement radiff2 -B to specify base address
- Emit json when radiff2 is run with -Cj
disasm
- Fix #20202 - pd-55 showing invalid instructions
esil
- Fix tests and emulation for x86_cs BSR and BSF instructions
- Add warning for esil op $$ deprecation
- Tag dfg nodes that are vars with constant values properly in esil_dfg.c
fs
- Implement mdd, mdq and ms's ls -l
- Add initial fs.zip plugin, listing only for now
fuzz
- Fix another crash in the protobuf parser
- Fix too much time spent loading corrupted dyldcaches
- Fix negative allocation in the dex parser
- Fix infinite loop in dyldcache parser
- Fix large allocation bug in wasm parser
- Fuzz pdb
- Fuzz protobuf
- Fuzz pkcs7, punycode, x509
- libFuzzer demangler target
- libFuzzer bin target
- add libFuzzer integration, r_run_parseline test
globals
- Remove two global variables in the anal.ppc.cs plugin
- Remove global in cons.rgb
- Remove globals in bin.sms
- Remove globals in flirt and apply some extra cleanups
graph
- Implement new toyish visualization command
agt
- Implement
aggb
command, like agfb but for agn/age - Add cmd.bbgraph to use a different command to render the basic blocks
- Remove hack fixing a bug that is now gone for agn
io
- Initial implementation of the reg:// io plugin
- Fix #20616 - Fix analysis when using io.cache
- Implement wcu command to undo cached writes
- Initial implementation of the xattr io plugin
- Fix leaks on error path in r_io_zip_open_many()
lint
- Enable linting for trailing tabs
panels
- Fix #20651 - Decompiler panel was disapearing after clicking
- Implement pxu{1,2,4,8} like pxd but unsigned
- Fix w6e and w6d, Add w6x, p6[e|d][s|z] + tests
- Fix #20540 - pc should use an unsigned char buffer
- Implement p8x and p8* similar to y*
refactor
- Add linting to spot misuses of r_strbuf_appendf and fix them all
- Minor optimization of generated esil expressions
- Remove some unused macros in anal_riscv_cs
- Remove occurences of $$ in riscv esil
- Remove occurences of $$ in mips_gnu esil
- Remove occurences of $$ in bf and mips_cs esil
- Move the asm.m68k.gnu into the anal
- move asm.arm_windebg to anal.arm_wd
- Remove occurences of $$ in v810/v850 esil
- Minor optimization of generated esil in anal_arm_cs.c
- Minor optimization of esil generation in anal_arm_cs.c
- Avoid =[*] in arm_cs esil
- Remove occurences of $$ in arm_cs esil
- Move lanai from asm to anal
- Move the hppa plugin from asm to anal
- Use more R_LOG in cmd.open
- Merge asm.arm.gnu into anal.arm.gnu
- Move asm.ppc.cs into anal.ppc.cs
- Merge asm_arm_cs disassembler into anal_arm_cs
search
- Add help message for /at?
- /at accepts a comma separated list of optypes
- Enable emulation in /as, it's fast enough and results are better
- Test and benchmark --with-sysmagic in the CI
shell
- Add
open
command as a wrapper for the system launcher - Fix #20387 - woa 1 confusing error message
- Honor autocompletion in the
of
command - Use RCoreHelp for j? and uc? to fix a lint
- Add |E |D |J pipe aliases for base64 command execution and encoding
- Support interpreting executable binaries with r2 -i or '.'
- Don't print eol chars for now to fix an r2pipe issue
- Make command repeat behave as expected with the foreach operator
- Improve the yank command and help
- Honor : table modifiers in om,
- omt->om, and make omr print map size with no args
- Implement s** for proper seek history parseable output
- Implement
ics
command to list address of class methods - Protect
ms
shell with scr.interactive - Fix null deref crash in RTable and improve C,
- Implement 'e,' for table format, old e, is now e:
- Use RCore.help instead of eprintf in more commands under aa
- Implement y- command and some other indentation fixes
- Use : instead of =! in all the io plugin help messages
- Fix autocompletion for :. for r2frida
tests
- Fix total amount count of tests in r2r output
- Add test index progress in default output
- Support REQUIRE in r2r tests
- Add a few tests for cBPF conditional jumps.
tools
- Remove all global variables in rahash2
- Implement native r2pm pkg registry, buffer r2pm -s
- Enable r2pm-native when calling it from r2
- Use R_LOG in libr.main and fix RLogLevelMatch
- Allow rasm2 -f to open files with r_io files
- Fix ragg2 -C for pe64
- Fix memory leak on error path of rabin_do_operation()
- Fix leaks of allocated memory for duplicate plugins
- Check return value of r_list_new()
- Improve pid directive in rarun2, better info reporting
types
- Fix #16492 - Handle
-
suffix inte
andts
, add tests
util
- Tests for the "standard" splist() implementation
- Minor bugfix in strbuf.c
- Add some more asn1 oids from apple
- Check for RGraph in r_graph_free()
- Fix several issues in r_syscmd_join()
- Fix leak of char* in r_table_visual_list()
- Fix leak in some yanking cases
- Fix possible leak of list after each loop iteration
- Move eprintf...
5.7.6
Release Notes
Version: 5.7.6
Previous: 5.7.4
Commits: 167
Contributors: 19
Highlights
More details
Authors
Adwaith V Gautham Alessandro Carminati Axel Iota ChoobieDesu Denis Ovsienko Dennis Goodlett Ilya Trukhanov Lazula Maurizio Papini Paul B Mahol RHL120 Richard Patel Sergi Àlvarez i Capilla Seunghwan Chun condret mrmacete pancake pancake pluswave
Changes
anal
- Add mnemonic API to pickle arch
- Add last opcodes to pickle assembler
- Add python pickle machine (pypm) dissassembler
- In cBPF jt and jf are unsigned, fix the code
- Handle arm64's BTI instruction as a nop
-
- Revert "ARM disassembler: don't compute [pc, reg] memory location
- ARM disassembler: don't compute [pc, reg] memory location
- Updated syscalls for aarch64 to linux 5.19.0-rc1
- Update syscall table for linux-x64 from kernel 5.19-rc1
- Fix leak in wasm opcode disassembly
-
- Fix leak in wasm opcode disassembly
analysis
- Handle arm64's BTI instruction as a nop
-
- Revert "ARM disassembler: don't compute [pc, reg] memory location
- ARM disassembler: don't compute [pc, reg] memory location
analysis"
-
- Revert "ARM disassembler: don't compute [pc, reg] memory location
arch
- Fix riscv left shift bugs and implement archinfo
- Revert "Update capstone which improves the PPC support
- Update capstone which improves the PPC support
- Add pickle assembler
arch"
- Revert "Update capstone which improves the PPC support
asm
- Fix for riscv
bin
- Fix returning imports table
- Fix use-after-free in the macho swizzler
- Add RABIN2_MACHO_NOFUNCSTARTS option for testing purposes
- Expose dbgInfo.LineNum on macho files
- Fix macho swizzle bug by cloning the plugin struct
- Early check to avoid null deref on files with missing buffer
- Workaround for the fatbin slice selection regression
- Refactor wasm custom name parsing
build
- GIT_TAP=$R2_VERSION if no .git is found
- Initial work towards onifying r_util
ci
- Build r2 with muon+samu
- Publish m1 packages automatically on release time
- Add line count history helper scripts
cons
- Speed up rendering by caching context pointer
- Fix picking colors for 256 colors terminals
- Fix display issues with pss visual mode
core
- Add cmd.undo and handles it for
w
andCC
commands
crash
- Fix double free when shrinking vectors
- Fix oobread in iOS arm64 kernel parsing
- Fix FPE crash in p2 visual mode
- Fix buffer overrun in pd reported by durandal_1707
- Fix crash when calling strcmp on NULL
- Fix heap oobread in the macho parser
- Fix asan heap oobread in the tms320 disassembler
disasm
- Dont show asm.describe on strings
doc
- Increase maximum recommended line length
esil
- Fix x86 - ROL RCL ROR RCR with memory locations
fs
- Fix last covs and support
mount
inms
- Refactor the RFS.Shell and add the
getall
command - Add fs.cwd to define default path in
ms
globals
- Remove time_t now global variable for magic
io
- Update the embedded libzip under shlr/zip
- Tiny optimization in RBuffer -0.01s speedup
lint
- Fix a new linting to remove the double error message in RLOG calls
magic
- Add RSA/DSA key magic
panels
- Add
Assembler
entry in Tools/
- Fix color changing for same block and prc=f
- Fix p=F output
- Allow to change entropy bars width with '[]' keys
- Fix p=e output
projects
- Fix two more projects tests with the new onnu
r2pm
- Fix r2pm.sh path resolution issue
refactor
- Refactor a few eprintf to R_LOG_ERROR
- Merge asm.riscv into anal.riscv
- Remove unused daylight logic in magic/mdump
- Remove optyp global variable for magic
- Ignore asm->immdisp
- Merge arc from asm into anal and build it with meson
- Merge v850.np into v850
- Use arch/bits info from anal if asm is not available in r_core_bin_update_arch_bits
- Merge asm_x86_cs into anal_x86_cs
- Merge asm.mips(cs,gnu) into anal.mips
- Merge asm.tms320 into anal.tms320
search
- Fix /rx
- mbr magic is not good for deltified matches
- Remove noisy mail.news magic file
- Fix /as on arm64-linux and add missing tests to cover it
- Improve little and big endian LZMA header magic matching
shell
- Add the infamous command
tac
- Implement ~$!! as a tac replacement and clarify the ~$! use
- Handle the s# command as in 's #'
- Partial #19887 - Refactor c[248], add and test c[248]*
tests
- Fix ARC tests and improve r2r.asm output
tools
- Fix #20439 - rafind2 -V search for values like in /v
- Fix #16209 - ragg2 on macOS
- Use of RNum.calc in rax2 to honor error code
- Honor opasm in rasm2 -LL output
util
- Be more strict when parsing numbers
- The RThread.start(true) had racy deadlocks, re-enable the bg http server
- Use R_LIKELY and r_return in the skiplist api
- Optimized implementation of rand for skiplist
view
- Fix r_cons_printf call in calculator
- Add FPU/XMM/YMM panel displays
visual
- Fix recently introduced stack buffer overflow
- Make PageUp/Down keys less laggy
- Allow seek to previous result item when it is at 0 offset
5.7.4
Release Notes
Version: 5.7.4
Previous: 5.7.2
Commits: 79
Contributors: 11
Highlights
More details
Authors
Alex Bender Baldanos Dennis Goodlett Richard Patel Richard Patel Sergi Àlvarez i Capilla condret gitcolt pancake pancake tbodt
Changes
anal
- Honor syntax cfg in cs anal plugins
- SPARC ignores cfg.bigendian because all instruction fetches are BE
- Add big endian support for arm prelude search
arch
- Re-enable the bpf.mr assembler
asm
- Remove all instances of "ptr " in x86 cs assembly output
- Move the lm32 plugin into the anal
bin
- Fix o-- issue on macho-arm64
- Don't hash files when loading, that's too heavy! 1.2s -> 0.8s
- Fix wasm function offset lookup
- Split wasm imports by types
ci
- Ignore odr-violations by default when running asanified r2r
cleanup
- Lint for x""
cons
- Add r_sys_signable() and use it from r_cons_thready
core
- Fix loading xtr bins without arch dedicated asm plugin loaded
doc
- Correct help msg fro ph command
fs
- Fix mountpoint listing in the
rfs
shell
io
- Add omu command to create a unique map
- Miniscule optimization of io vread and mapping operations
lint
- Add R_MUSTUSE hint
- Add a linting to avoid R_LOG calls ending with a dot
- Use r_str_startswith() in libr/io/p instead of strncmp
- Fix (null) printing on
pi
command
projects
- Fix #20405 - Multiple fixes and improvements in projects
refactor
- More eprintf -> RLOG here and there
- Merge asm.java into anal.java
- Move asm.sh disassembler into the anal.sh
- Add another source linting to avoid newlines in RCore.cmd()
- Minor simplification of meson build files
- Merge asm_rsp into anal_rsp
- Merge asm_propeller into anal_propeller
- Merge asm_m680x_cs into anal_m680x_cs
- Merge asm gb into anal
- Merge the asm.mcs96 plugin into anal
- Merge asm.cris into anal.cris
- Use more R_LOG instead of eprintfs and add more linting checks
- Add sys/lint.sh and run it in the CI
- Merge asm.8051 into anal.8051
- Merge asm.sparc into anal.sparc
- Merge asm.alpha into anal.alpha
shell
- Fix #16395 - Add open file command to the ms shell
tests
- Remove the -r and -m flags from r2r
tools
- Down with capitalism - lowercase all capitalized strings in r*2 -h
- Add RABIN2_VERBOSE env var to set bin.verbose=true in rabin2
- rabin2 -qqqqqq doesnt swap between simple and simplest now
web
- Few http webserver improvements
5.7.2
Release Notes
Twitter thread: https://twitter.com/radareorg/status/1539561234453987328?s=21&t=RMA5QEUIJoG6tdVvPCc-Cg
Version: 5.7.2
Previous: 5.7.0
Commits: 192
Contributors: 26
Highlights
More details
Authors
Aleksey Kislitsa Apkunpacker Ben Demick Denis Ovsienko Dennis Goodlett Dennis Goodlett GiulioL GiulioLyons HighW4y2H3ll Lazula RHL120 Richard Patel Richard Patel Sergi Àlvarez i Capilla aemmitt aemmitt-ns colt condret lazymio meme pancake pancake pipothebit rax2 rax64 ypsvlq
Changes
anal
- Add op->cycles for M68K move
- Set data alignment of m68k CPUs
- Use r10 as SP and as an sp alias on arm64
- Fix archinfo for BPF
- Add icg str argument for filtering classes to graph
- Add z vector registers for ARM64 in the register profile
- Add R_REG_TYPE_VEC
- Remove dead code
- Add esil support for VMOVDQU in anal_x86_cs.c
- Fix ARM ujmp op type with rjmp & mjmp
- Fix #20215 - Handle op->direction in XOR x86 instructions
- Reduce LOC of i4004 assembler (only use gperf for 1 byte instructions)
- Move i4004 asm to anal
analysis
- Set data alignment of m68k CPUs
- Use r10 as SP and as an sp alias on arm64
- Fix archinfo for BPF
- Add icg str argument for filtering classes to graph
- Fix ARM ujmp op type with rjmp & mjmp
arch
- Fix reg profile, add archinfo and opinfo for bpf.cs
- Initial import of the asm.bpf plugin from extras
- Add initial anal.bpf.cs plugin + disasm tests
asm
- Support tbz,tbnz,rev16,rev32 instructions in the arm64 assembler
- Support cset and sxt(b,h,w) instructions in the arm64 assembler
- Support mnemonic list for all Capstone-based plugins
- Support ccmn and csel instructions in the arm64 assembler
- Support more arm64 instructions
bin
- Fix #17174 - Add the flagname and real symbol name details in the output of icj
- Better handling of invalid/corrupted wasm files
- Use RPVector for wasm imports
- Use RPVector for wasm data section
- Refactor wasm start section parsing
- Move RBinWasmObj-code to RPVector
- Wasm use rpvector on elements
- WASM use RBinWasmObj in vector parsing
- Update wasm tests for exports
- Fix wasm iE duplicates
- Rename wasm subection index member to sec_i
- Change wasm subsections into RPVectors
-
- Use RPVector for wasm tables entries
-
- Use RPVector for wasm memmories entries
-
- Use RPVector for wasm global entries
- Refactor wasm and add function section parsing
-
- Remove unsed buf_read_new from wasm parser
-
- Refactor wasm vector sub-section parsing
-
- Add wasm function sub-section parsering
- Fix ELF default arch of x86
- Avoid false positives when loading s390 modules
- Refactor wasm function types
- Wasm allow partial custom name parsing
- Wasm iE improvment
build
- Windows builds include debug information by default
- Add macos-m1 GHCI builds
- Update v35arm64 to fix build on riscv
- Massage MAKE_JOBS for sys/debian.sh too
- Remove the r2p symlink on Make purge
cons
- Fix/clarify the use of cons.vtmode/line.vtmode/vmode
- Reduce stack in RLine.histLoad() and early return on windows to fix a crash
core
- Fix fortune file detection
- Make the gnu disassemblers thread safe
crash
- Fix oobread in RTable exposed via an ELF reproducer
- Fix #20336 - wasm bin parser
- Fix oobread in wv
- Fix #20248 - DoubleFree in RCons.pop() triggered via RCore.cmdStr()
- Fix infinite loop in gdbserver
=g
- Fix several bugs in the RStack API
disasm
- Fix negative on unsigned value in v850.pseudo
- Update to the latest capstone to fix a bug for BPF
- Fix #17961 - missing flags in asm.reloff=1 + scr.color=0
doc
- Rename doc/crosscompile to doc/cross-compile.md
- Add ABI stability explanation
esil
- Fix SHRD instruction ESIL
- Add ESIL to the anal.bpf.cs plugin
io
- Fix bug in io_ihex
- Optimize io.open() by skipping plugin iteration if no uri found
- Add stdin:// uri handler in the io.malloc plugin
parse
- Make existing types available to r_parse_c_string
- Fix #20310 - Handle help suffix on more pd subcommands
- Convert pf d specifier to hex dword
r2pipe
- Fix: pthread_create: Resource temporarily unavailable
r2pm
- Handle R2PM_UNINSTALL on Windows
- Fix environment message for the package manager
- Improvements in the native r2pm, being able to install samu and muon
refactor
- Merge asm.avr into anal.avr
- Merge asm.xap into anal.xap
- Merge asm.i8080 into anal.i8080 and add a test
- Merge asm.xcore_cs into anal.xcore_cs
- Merge asm.amd29k into anal.amd29k
- Merge asm.h8300 into anal.h8300
- Merge asm.lh5801 into anal.lh5801
- Merge asm.cr16 into anal.cr16
- Merge asm.v850 into anal.v850 and add a test
- Merge asm.malbolge into anal.malbolge
- Merge asm.v810 into anal.v810
- Merge asm.pdp11 into anal.pdp11
- Merge asm.6502 into anal.6502
- Remove more R_TH_LOCAL in TCC
- Remove excess zeroing in anal_bpf.c
- Merge asm.riscv.cs into anal.risc.cs
- Move asm.pyc to anal.pyc
- Merge asm.nios2 into anal.nios2
search
- Honor cfg.bigendian in /v subcommands
shell
- Fixes for the R2_FORTUENS system and home paths
- Fix history file path construction
- Fix error message in e- when resetting in debugger
- Remove newline in date and pt. output
- Expose R2_HISTORY in r2 -hh and r2 -H to locate history file
tests
- Add Capstone aoml cases
- Generate r2r.json for profiling the testsuite
- Sort lines in
r2r -h
- Use absolute path for r2r -o
tools
- Fix disalignment glitch in rasm2 -L and rasm2 -LL
util
- Compile-time optimization for r_str_startswith()
visual
- Fix arrows in visual prompt on windows cmd
V:
windows
- Autoset vtmode=1 or 2 depending on shell or visual
- Detect cmd.exe as vtmode=2
- vmode fixes visual shift issue in cmd.exe
- Support building windbg plugin under mingw
5.7.0
Release Notes
Version: 5.7.0
Previous: 5.6.8
Commits: 355
Contributors: 26
Highlights
More details
Authors
Aleksey Kislitsa Alex Bender Anton Kochkov Antoni Viciano Dennis Goodlett Dennis Goodlett Elaine Gibson GustavoLCR Jose Antonio Romero Lazula Mario Haustein Mathieu Dolmen Ole André Vadla Ravnås RHL120 Sergi Àlvarez i Capilla Sylvain Pelissier Wadim Mueller condret freddy gogo2464 kakamaika pancake pancake rax2 rhl120 ypsvlq
Changes
anal
- Initial support for op.family on the v850.np plugin
- Add missing =BP for v850
- Fix crash when doing aac in frida://0 which calls 's $S'
- aav output is now cleaner and less verbose
- Implement native r0 relative references in v850
- Fix oobread bugs in the v850.np plugin
- Add missing status registers on v850.np
- Fix missing calling convention when using asm.arch=*.XXX
- Optimize thumb code analysis (4x faster)
- Fix leak in r_anal_get_gperf_cc
- Honor anal.timeout and better ^C handling in
aaaa
- Add missing op types to r_anal_optype_to_string
- Remove RAnalPlugin.jmpmid and use ANAL_ARCHINFO_ALIGN instead
- Add r_anal_is_aligned
- Move VAX disassembler to anal
- Fix invalid basic blocks on switch/jmptbl on arm64
- Use @@@f instead of @@f in aaa - fix deadlock in iaito
- Update to the latest v35arm64
- Use RArchConfig in RReg, Add RReg.hasbits() apis
- Improve boundary oobread checks for anal.8051
- Honor anal.calls in
aap
- Kill anal.endsize
- Introduce RAnalPlugin.jmpmid and replace some is_x86
- Fix infinite loop when anal.vars on huge empty basic blocks
- Fix a couple of infinite loops in
aav
- Do the whitespace thing that pancake wanted me to do
- Add missing Motorola cpu models for m68k.gnu and m68k.cs
- Honor asm.syntax=att in v850.np and handle more op.type
- Better s390 instruction details
- Remove asm.bf, and move its .opasm to the anal.bf
- Add the RAnal.mnemonics() callback in RAnalBind for the arm.v35
- Remove the asm.arm.v35 and move (and fix) the mnemonics cb
- asm.cpu listing fixes for anal plugins
- Remove duplicated register definitions for AVR
- Move asm.xtensa into anal. fix dupplicated symbols linkage bug
- Fix null derefs in anal.avr plugin and improve defaults
- Fix #19990 - Fix
aoml
for non-x86 targets and add tests - Fix #7094 - Add direction information in xrefs
- Add =SN and =R0 to 8051
- Add RAnal.use in RAnalBind to use it from RAsm
analysis
- Implement native r0 relative references in v850
- Optimize thumb code analysis (4x faster)
- Fix #19990 - Fix
aoml
for non-x86 targets and add tests - Fix #7094 - Add direction information in xrefs
- Add =SN and =R0 to 8051
- Add RAnal.use in RAnalBind to use it from RAsm
api/abi
- Rename REgg.Cfile to REgg.cfile
- Rename corebind fields to coreb, for consistency with analb, iob
- Use RArchConfig in RPrint
- Expose
RAnal.opDirection.toString
as a public method - Make CRBTree.foreach() C++ friendly
- RStr.isTrue/isFalse accept NULL argument now
- Use RLog in RCons
- Introduce r_arch.h. Use RArchConfig in RAnal and improve RRef api
arch
- Support '$' in regprofile offset column
- Move tricore from asm to anal
asm
- Move the asm.ppc.gnu into the anal
- Remove the v850.gnu plugin
- Move the asm.pic into anal.pic
- Support cls, clz for 32 and 64 bit registers in the arm64 assembler
- Move asm.snes into anal.snes
- Fix assembling with the arm.v35 plugin
- Move 8051 test into db/tools/rasm2 and fix null deref in asm
- Support 'msub, madd, mneg, ngc, sbc, asr, ror, cls, clz, rev, rbit, rbit16, rbit32, umulh' in the arm64 assembler
- Initial implementation of shared RAsmConfig
- A little better asm directive parsing
- 8051: handle any mov case for reassembling
assembler
- Support assemble for mul, udiv, sdiv, lsl, lsr, mvn, tst arm64 instructions
- Fix endian issue in binary input for rasm2 and add tests
- Support assemble for
add
,and
,eor
arm64 instructions
bin
- Better handling of Wasm Names
- Fix large loading times in macho parser for binsz=-1
- Fix off-by-one bound check in wasm format
- Simplify functions in wasm format
- Fix leak in wasm custom names
- Better formating wasm custom name
- Fix parsing LE and COFF on big endian host
- Fix pyc parsing on big endian machines
- Fix leak in wasm sections
- Add bin.maxsymlen to make this symbol name length limit configurable
- Do not accept symbol names in mach0s larger than 2KB
- Fix wasm section parsing
- Remove global from elf parser
- Fix another race condition in the macho parser
- Remove another static global in the sections cache of objc
- Move the local-global cache into the macho object
- Fix allocation peak in macho property parser
- Expose CLR metadata in
ih
output instead of messy eprintfs - Add bin.xtr.xalz plugin using the new
loadbuf
field - Remove the bin.xalz plugin as its meant to be io or bin.xtr
- Fix null derefs on partially initialized xtr bin plugins
- Fix main detection in x64 elf, after updating condret's machine
- Use the new RBinInfo.charset in bin.s390
- Add headers, sections, symbols and entrypoints to the bin.s390 plugin
- Initial import of the bin.s390 plugin
- Permit RBin plugins to expose a default charset
- Select 'arm' fatmacho slice on -a arm.v35
- Fix #6647 - check map bounds in the pebble bin loader
- RBinFile size must be ut64, not signed int to open > 2GB files
build
- Use meson's gittap command on make
- Fix #13196 - Honor SHARED in configure-plugins
- windows_heap is included in cmd_debug
- Fix meson build with use_sys_openssl
- Leftover for --disable-threads causing runtime problems
- Use longer names in enum to avoid conflicts with the SerenityOS toolchain
- Deshadow some variables, in progress for the full -Wshadow cleanup
- Make capstone include directories consistent
- Add xtensa for the meson (requested for Windows)
- Honor capstone commit in ci
- Fix for --without-pull not working in install.sh
cons
- Add scr.maxpage to remove the CONS_MAX_USER constant
- Fix r_cons_get_cur_line() on windows
- Add
ec bgprompt
for a colorful shell and visual prompts - Fix glitch in scr.html when scr.color=1
core
- Introduce R_LIKELY macros and update sdb
- Fix RCons recursive buffer fill causing iaito memory usage problems
- Initial import of the RThreadChannel API with the ::x command
- Deprecate anal.cpu, just use asm.cpu
- Improve RLog API and usage, document R2_LOG_ vars in r2 -hh
crash
- Fix integer overflow in string search causing oobread
- Fix crash in vtable analysis on UB
- Fix 4 byte oobread in msp430 disassembler
- Fix null deref in macho parser
- Fix oobread in java parser
- Fix oobread crash in java parser
- Revert "Prefer memleak over usaf in io.bank's rbtree bug
- Revert "Properly fix the UAF in r_io_bank_map_add_top
- Fix oobread and null deref in symbols file parser
- Revert "Prefer memleak over usaf in io.bank's rbtree bug
- Revert "Properly fix the UAF in r_io_bank_map_add_top
debug
- Cleanup dbg.trace config vars and better error messages
- Software breakpoints fail on m1, lets just enable hwbp by default
- Add
d:
to run the cmd callback of the debug plugins - Fix #19966 - Reset seek in r_debug_execute() to real PC
disasm
- Fix disp[ep] regression for v850.np
- Handle comments from analop.ptr, not only for call ops
- Add a parse plugin for tweaking references to r0
- asm.sub.names requires a flagname of strlen > 4
- Honor asm.syntax=att in asm.arch=s390
doc
- Add ubuntu22, kali, haiku and voidlinux as repology badges
- Update
ae??
esil keywords help message - Update README and add doc/devdebug.md
emu
- Fix st.b and stsr esil for v850
- In the V8xx families the R0 is a WTG register
- Make ESIL TODO messages go thru R_LOG_DEBUG instead
emulation
- Fix st.b and stsr esil for v850
- In the V8xx families the R0 is a WTG register
esil
- Fix invalid shifts on esil emulation
- Initial implementation of the v850 prepare/dispose
- Deprecate ESIL's $r and S2D keywords
- Tiny fixes for the v850.np esil
fs
- Implement
my
command and fix help messages for m subcommands
hash
- Fix argument ... with mismatched bound [-Warray-parameter=] warnings
io
- Fix potential bug in r_io_nread_at
- Fix the io.rbuf plugin (broken since 2017)
- Add the io.xalz plugin
- Honor io.cache in
r_io_is_valid_offset()
- Fix some TODOs in libr/io/io_bank.c
- Revert "Fix use-after-free in iobank rbtree usage
- Fix map boundary adjustment in r_io_map_add and r_io_map_add_bottom
io"
- Revert "Fix use-after-free in iobank rbtree usage
json
- Initial support for JSON help messages
- pdrj: ...
5.6.8 - codename: remora
Release Notes
Version: 5.6.8
Previous: 5.6.6
Commits: 137
Contributors: 15
Highlights
More details
Authors
Apkunpacker Dennis Goodlett Fernando Domínguez Francesco Tamagni Lazula RHL120 SeanH Sergi Àlvarez i Capilla condret junchao-loongson max-lv mdolmen n01e0 pancake pancake
Changes
analysis
- Fix comma separated args in r_anal_function_format_sig
- Skip more types of call instructions on linear emulation
- Add missing 'direction' field in the output of aoj
- ar command using ->anal, otherwise for non-debug builds that fails
- Allow abt to handle addresses in the middle of basic blocks
- Handle addresses in the middle of basic blocks in abf
- Implement 'abf' command to list incoming bbs
- Run 'aap' before 'aae' on arm64 binaries in 'aaa'
bin
- Hide some dyldcache parsing error messages and improve string filtering
- Fix infinite loop in strings and better use of is_breaked()
- Handle ^C when loading dyldcache binaries
- Show friendly warning when loading without R_DYLDCACHE_FILTER
- Fix two more oobread bugs in the dyldcache plugin
- Fix oobread crash in the rebasing method of dyldcache
- Fix negative allocation attempt in izz that will surely fail
- Fix mach0 class 64bit address sorting bug
- Show 'missing X info' error in rabin2 -H
- Warn the user when no header fields are found
- Fix rebasing Mach-O DYLD_CHAINED_PTR_64
- Add support for parsing swift metadata from macho binaries
- Assume all machos are made by clang
- Honor baddr=0 in RBin, as it's done for RIO
- Fix oobread in symbols header parsing
build
- Add missing loongarch for the meson
- Add support for Visual Studio 2022 (community+enterprise)
ci
- Disable offline builds
- Ignore asan memory leaks when running the tests
- Run the tests for non-debugger builds
crash
- Fix null deref in code meta commands
- Fix oobread bug in NE parser
- Fix null deref in ne parser
- Fix #19940 - infinite loop in x/i on invalid instructions
- Fix oobread and unaligned casts in the NE entrypoint logic
- Fix random segfault happening with wrong null preconditions in iobank
- Fix UAF in
aaef
- Fix oobread in NE parser
- Fix null deref in the ne parser
- Fix oobread in dyldcache
- Fix another oobread in the NE parser
- Fix another oobread segfault in the NE bin parser
- Fix oobread segfaults in the NE bin parser
- Fix oobread in the macho parser
- Fix 1 byte oobread in the cris analysis plugin
crypto
- Fix undefined behaviour bugs in serpent crypto algorithm
debugger
- Apple Silicon can hwstep
disasm
- Fix #19876 - Smarter local variable and argument sorting
- Show args before vars in afv summary also in
pd
egg
- Initial WIP implementation of the ESIL backend for ragg2
emulation
- Fix
aeim
on --without-debugger builds
esil
- Fix 'aeb' emulating the right instructions
- Fix PPC ESIL of addis instruction
- Honor esil.maxsteps in more commands and stop earlier when no =PC
- Add esil.maxsteps to avoid infinite emulation loops
json
- Fix
aeabj
output which returned different information thanaeab
- Instruct drrj to not emit ansi escapes to not damage
- Fix pief printing N bytes instead of N instructions
- Add psa command to print any kind of string
- Support relative pointer resolution in
pxr
- Implement pfP for relative pointer format memory formatting
- Add pfW for signed short format
projects
- Add an error return to r_core_project_cat
r2pm
- Increase commit log from 3 to 10 in
search
- Initial implementation of the aavr command
security
- Add sandbox checks for the debugger io plugins
shell
- Fix infinite loop in -1 command
- Improve
wz
help and error handling - Run r2pm from core internally
- Fixes for the Trim.args() for ?e
- Handle ^C in fg and improve ^C in pd
- Lowercase all the help messages for consistency (2)
- Honor escaping semicolons in macro definitions
- Lowercase all the help messages for consistency
- Use standard help api for
aeim
too - Add the
cmp
command to compare two (alias) files - Implement 'curl' command
- Implement @c: temporal seek operator
- Add r_core_return_code() and use it
- Fix glob matching in several cases
- Use strstr instead of rstr.glob for now in @@
- Fix seek history for the 's..' partial seeks
signatures
- Update byte signature flag name
- Fix autoloading of
tools
- Add rahash2 -J for simplified single object name=hash output
- Allow rahash2 -a to be passed multiple times
types
- Fix #16335 -
tp
not handling blocksize properly
util
- Add tests for the code tokenizer and fix <<= assignments
visual
- Visual color theme editor available from panels
zign
- Fix bug in z/, that creates misplaced functions
5.6.6
Release Notes
Version: 5.6.6
Previous: 5.6.4
Commits: 130
Contributors: 10
Highlights
More details
Authors
Dennis Goodlett Dennis Goodlett Jules Maselbas Lazula Pau Rodriguez-Estivill Sergi Àlvarez i Capilla aandersonl aemmitt-ns pancake pancake
Changes
anal
- Remove the hexagon from anal
- Save sp,bp,src,dst in heap outside the loop
- Add afiq for quiet functino info and refactor the anal/abi.inc
- Add help for 'pie?', add pieq and add ninstr in afi[j]
- Sanitize function names for prototypes
- Unify asm.z80 into anal.z80
- Restrict local vars and args in a 8KB range, otherwise skip
- Adds afva in all fcns flags (if any)
- Skip afva on functions with signature registered
- Do not perform var/arg analysis on Java/Dalvik
- Add missing eiz/riz registers for x86 and x64
- Add mermaid output to all ag commands
- Add an* and fix many other conceptually broken logics in an
analysis
- Remove the hexagon from anal
- Add afiq for quiet functino info and refactor the anal/abi.inc
- Add help for 'pie?', add pieq and add ninstr in afi[j]
- Sanitize function names for prototypes
- Unify asm.z80 into anal.z80
- Restrict local vars and args in a 8KB range, otherwise skip
- Adds afva in all fcns flags (if any)
- Skip afva on functions with signature registered
- Add missing eiz/riz registers for x86 and x64
- Add an* and fix many other conceptually broken logics in an
asm
- Fix #19489 - Implement assembler for jrcxz
bin
- Add help for the CL command
- Cache file_exists when iterating over the source files
- Complete DWARF4 register mappings
build
- Only build library archives when -Dblob is provided
- Fix some static meson blob dependency leftovers
- Fix sys/release-notes when HEAD a tagged
- Make -Dblob=true statically link all r2 libraries
ci
- Publish r2blob-w64 on release and fix artifact name
crash
- Fix heap OOB read in macho.iterate_chained_fixups
- Fix UAF in aaaa on arm/thumb switching
- Fix buffer overflow in asm.nbytes, add hard limit to 64
- aaef on arm/thumb switches causes uaf
- Break large loops when method name resolution fails
debug
- Improve help message for
dd?
and autocomplete - Add 'dd+' to open files in the child process as read-write
- Fix unitialized buffer read bug enumerating process files
- Add ddf command
- Fix
dd
command and update tests accordingly - Skip wired-to-ground registers in dr=
- Fix drj in debug mode
disasm
- Fix #19838 - Show pins in the disassembly as comments
- Improve the way asm.nbytes plays with asm.flags.inbytes
- Fix issue in asm.tabs.once causing iaito to trim instructions
doc
- Update the Windows build instructions
esil
- Add ESIL for x86 SSE float instructions
- Implement 'aeb' using APIs instead of commands
- Add aaepa command to set all unknown imports as ret0
- Fix aecs and add test emulating hello world without libc
- Add aaep and extend aep to support pin specific commands
- Implement ESIL for the Stlxr arm64 instructions
fix
- Fix undefined behaviour in RVector, RPVector, RInterval and container_of
- Initial import of the code tokenizer
refactor
- Lots of cleanups to reduce the regressions in TCC
- Dont use != NULL as its implicit in C, even for bool casts
shell
- Improve help message for psz, aek, aae, aep, aer and aex commands
tools
- Use R_SYS_BITS by default in rasm2
visual
- Fix back scrolling in the decompiler pane in panels
- Improve panels prompt drawing the bottom box line one line above
- Add scr.notch to blank N lines on top of the screen
- Improve panels interactions with decompiler frame
- Record seek history when cliking around in panels
- Fix blank decompiler issue when clicking randomly in panels
windows
- Add w64-static builds in the CI
- Add 'configure.bat static' argument to build r2blob.static.exe
- Fix meson -Dblob=true builds for static
- Fix r2blob for windows
5.6.4 - codename "do bisa vijnu"
Release Notes
Version: HEAD
Previous: 5.6.2
Commits: 67
Contributors: 11
Highlights
More details
Authors -------
Dennis Goodlett Dennis Goodlett Lazula Pau Rodriguez-Estivill Sergi Àlvarez i Capilla aemmitt aemmitt-ns archcloudlabs pancake pancake pkubaj
Changes
anal
- Handle jump tables in agfm
- Add agfma to get assembly in mermaid graphs
- Add agfm command to print cfg graphs using mermaid syntax
analysis
- Add agfm command to print cfg graphs using mermaid syntax
bin
- Find strings on maddr'd binaries with izz
- Fix wide32 string detection that caused to miss other ascii strings
- Fix large loading times in macho parser
- Fix slow loading times for small ELF sample
build
- Fix #19726 - fix meson definition order issue when using syslz4
- Add rasm2 and rax2 wasi/wapm packages
- Build fixes for wasi/wapm/wasm and update sdb
charset
- Add initial support for katakana
crash
- Fix timeout analyzing a small class reported by clusterfuzz
- Fix DoS in PE/QNX/DYLDCACHE/PSX parsers
- Fix DoS in kernelcache bin parser
- Fix oobread in macho core symbolication
- Fix null deref in bin.symbols
- Fix DoS in the minidump parser
- Fix DoS on macho parser spotted by scan coverity
- Fix heap buffer overflow in dyldcache parser
debug
- Add support for powerpc, powerpc64, powerpc64le and riscv64 on FreeBSD
disasm
- Honor ArchInfo.opalign in pia
- Fix #19610 - Honor minopsz in pia
esil
- Add some sign extend to some v850 st/sst insns
- Fix #19729 - Make pswj consistent with psw output
- Fix #19739 - Fix oobread in pv* and fix bug in pvj
shell
- Add
aot
command to show instruction types (like /atl)
visual
- Restore and revert blocksize in V:
- Fix #19737 - Handle ESC and space in the ascii hex column
5.6.2
Release Notes
Version: 5.6.2 (from 5.6.0)
Commits: 63 (from 13 contributors)
Highlights
- Fixed 12 critical vulnerabilities (Thanks NowSecure, Google, Synopsys and HuntrDev! for reporting)
- Support new file fileformat used by Xamarin to pack .NET libraries (XALZ)
- ihex:// (intel hexadecimal object files) are working again (it was broken for a while)
- lz4 deflating is now supported at API and commandline levels
- FreeBSD is now part of the CI, improved stability and fixed all related warnings
- The new w+ (wx+) commands write and seek to the end of the written chunk
- Panels fixed a couple of glitches and improved usability with decompilers
Authors
Anderson Angel Diaz Anton Kochkov Bernhard M. Wiedemann Dennis Goodlett Florian M Nerijus Bendziunas PauRE Sergi Àlvarez i Capilla nemarci pancake pancake wargio
Changelog
api
- New
r_inflate_lz4
API to reuse LZ4 across all libs - Support building with system-provided lz4 library
asm
- Support assembling the cmn, teq and tst arm32 instructions
- Fix oobread bugs in cr16 disassembler
- Fix pop [rsp] emulation for x86 ���������������
bin/io
- Add ELF reloc patching for R_386_32 and R_386_PC32
- Handle SH, MIPS and ARM in COFF binaries
- Initial support for XALZ binaries from Xamarin
- Fix ihex:// io parser as it was not working
ci
- Partial #19687: Add release github actions workflow
- Publish FreeBSD artifacts and purge the srcdir
cons
- Fix 'disable mouse' ansi code
- Minor rgb.parse optimization and remove the use of sscanf in pal.c
- Fix visibility issue in the bluy theme
crash
- Properly fix the UAF in r_io_bank_map_add_top
- Early break when parsing corrupted DEXs to avoid DoS
- Fix oobread in pxj
- Prefer memleak over usaf in io.bank's rbtree bug
- Fix DoS in MACHO parser spotted by clusterfuzz
- Improve boundary checks to fix oobread segfaults
- Fix DoS when loading a fuzzed DEX file
- Fix UAF in pyc parser
- Fix negative index in anal.arm64.cs
- Fix bins/*/rep8 - UAF crash in pyc parser
- Fix oobread segfault in java arith8.class
- Fix java oobread in id_000000,sig_06,sync_m1,src_000048
panels
- Fix panel focus glitch
- Fix overlapping titles on small frames
- Close menu when a different decompiler is selected
shell
- New 'w+' command, to write a string and seek at the end
- Fix parsing of 'ra?' and 'r0x' subcommands
- Add prgl command to decompress current block using lz4
- Fix Negative Offset in Hexdump Json Output
5.6.0 - codename Miteigi
Release Notes
Version: 5.6.0
Previous: 5.5.4
Commits: 254
Contributors: 16
Highlights
- ABI breaks - RAnal api is the new home for the RAsm plugins, reduce installation size
- Add an initial and working native reimplementation of r2pm in plain C (no posix shell required)
- Windows support will come later, needs more testing and user feedback.
- Initial release with support for threads (one RCore per-thread is supported for now)
- Remove or make TLS globals, add atomic support, fix mutexes and threads
- r2r testsuite now runs with the thread sanitizer enabled builds
- Remove all uses of
sdb_fmt
in exchange of the thread safetyr_strf
- More tests for ESIL and improve quality on x86, arm64, riscv, v850 and more!
- Improved usability and fixed some buggy interactions in panels, better help messages and improved color themes.
- Support latest capstone, and prefer system wide installation for better offline builds
- Add project loading in sandbox mode and add
dirty
bit to avoid saving things when nothing changed. - New commands: pdu, r-/r+, fc, aafs, pcc, /aF, isqq.
iS,
,axl
,/e
,pFB
,ws#
for more pascal string types support - Binary PLIST printing (pFB) which combines great with (pFA - for android binary xml)
- Orders of magnitude faster analysis with
aafs
andsixref
- Honor flag colors in hexdump and instruction tokenization in disasm
- Fix 3 CVEs since 5.5.4, lots of memory leaks and all the coverity critical issues
- Improve code quality by using new tools and stdint basic types
- Support arm32 debugging on native arm64 linux hosts
- Extend scripting support to quickjs and wren programming languages
- Add
time
measurement directive torarun2
- Add Rabin Karp faster search algorithm (/e) and fix some bugs in the search loops
- Add new arch plugins: loongarch, evm.cs, v850.np and chip8
More details
Authors -------
Adrian Laskowski Apkunpacker Claudemirovsky Dennis Goodlett Francesco Tamagni Lazula RHL120 Roman Valls Guimera Sylvain Pelissier aemmitt-ns gogo2464 junchao-loongson lasek0 meme pancake pancake
Changes
abi
- Move asm/wasm into anal, and add new opasm() callback
anal
- Simpler var counting API
- Add support for x86-32 callpop artifacts
- Add ablc, ab-, Fix and optimize in af- and aafs
-
- Add ablc, ab-, Fix and optimize in af- and aafs
- Fix 'afls' and add tests
- Fix heap overread in loongarch when len < 4
- Add axl command for consistency with afl for 'axlc'
- Fix reference order and use the API in sixref (2x faster)
- Initial implementation of the 'aafs' command
- Add support for the new loongarch architecture
- Improve the v850.np analysis, fix all call refs
analysis
- Simpler var counting API
- Add support for x86-32 callpop artifacts
- Add ablc, ab-, Fix and optimize in af- and aafs
-
- Add ablc, ab-, Fix and optimize in af- and aafs
- Fix 'afls' and add tests
- Add axl command for consistency with afl for 'axlc'
- Fix reference order and use the API in sixref (2x faster)
- Initial implementation of the 'aafs' command
- Add support for the new loongarch architecture
- Improve the v850.np analysis, fix all call refs
api
- Add r_core_help_match() to get help for a specific command
arch
- Initial import of the evm.cs plugin
asm
- Handle instruction operands in wasm.asm
- Refactor, improve and move chip8 support out of libr/asm
bin
- Parse relocs from Mach-O chained binds if no opcodes
- Add support for rebasing ARM64E_USERLAND24 chained format
- Fix isqq. command
- Fix #19541 - Fix null deref and stack exhaustion bugs in the kernelcache
- Implement iS, command (table query format for section listing)
build
- Fix #18621 - Specify ABI version to be X.Y instead of X.Y.Z
- Add 16GB pagefile for the windows ci
- Simplify meson logic and use ole's PR to fix Windows
- Add CI job to verify builds with system-wide capstone
- Use system capstone if available in sys/install.sh
- Fix ios-sdk compilation
- Bring back the 32bit builds for Cydia
- Use api9 for android-arm builds to bring back Kitkat support
charset
- Add iso8859_1
cleanup
- Remove globals from tcc code
cons
- Use static RThreadLock in cons
- Dont SIGINT in RCons when used in a thready way
- Improve the 'fc' command to unset and get color flags easily
- Add scr.theme and Lt commands as alias for 'eco'
- Improve the basic theme
- Fix all the known issues in the ayu theme
- Honor jmp/call argument colors by type
core
- Fix #19628 - wx+ as an alias for wxs
- Mark all globals (or most of them) as TLS variables
- Make RCons thread-friendly
- Fix race conditions in RCoreTasks
- Rewrite r_list_uniq with a faster algorithm
crash
- Fix null deref in xnu.kernelcache
- Optimize and fix heap overflow in asm.tabs using RStrBuf
debug
- Expose the 32bit arm reg profile on 64bit hosts
disasm
- Workaround to handle seg:off on x86_16 due to a capstone bug
- Fix #15473 - Align meta dwords in the middle of instructions
- Improve reg detection in asm highlighting + add test
- Fix reg/flag detection in disasm colorization
- Initial import of the v850.np plugin
- Handle anal.cpu=? and fallback for asm.cpu when no asm plugin
- Add asm.bytes.opcolor configuration option
doc
- Add 'first session' example in the README
esil
- Disable ESIL macros and add reproducer test
- Add helper function for pending macro handling
- Improve EVM analysis and update tests
- Macrofication of the '+=' and '-=' esil operations
- Add support for list12 logic in the v850.np distillation
- Fix esil for bnd jmp x86 instrs and cmn arm instrs
- Implement ESIL on more instructions for v850.np
- Handle ESIL in more v850.np instructions
help
- Fix helps for aan? aaf? and aes?
- Fix help for the 'aaa' subcommands
io
- Fix use-after-free in iobank rbtree usage
panels
- Autoset cache flag on whitelisted panels on create
- Fix #19410 - Fix cursor mode regression
parse
- Use static RThreadLock in TCC
ports
- Add basic support for loongarch
- Add 'pFB' command to use the new BPLIST parser
- Add scr.color.ophex to colorize 'px' with opcode type
- Honor flag colors in 'px' hexdump
- Fix pxa@e:hex.compact=true and add tests
- Improve the way color flags are handled
- Improve pcc output and add a test
- Add 'pcc' command to print block as C char*string
- Fix pdsf?, forbid V? and remove newlines in pxA?
projects
- A better way to check if a project has been saved
- Add prj.sandbox to enable experimental sandboxed project loading
r2pm
- Initial implementation of r2pm.c
refactor
- Use stdint like if there was no yesterday
- Remove asm.hexagon, anal one is enough
- Remove asm.ebc and merge disasm into the anal
search
- Implement /aF and /aFd to search for instructions in functions
- Add Rabin Karp algorythm to
- Add r_search_maps to
- Search adjacent maps together
- Move /e to new search API
- Fix bug in regex searching
- Add longest field to RSearch
- Add r_search_upate_read API
security
- Implement fine grained sandbox control
shell
- Implement rarun2 time=true attribute
tests
- Initial implementation of the dummy benchmark
tools
- Fix R2PM_DEPS handling in r2pm -ci
util
- Fix: Mark r_print_format globals as TLS
- Add atomic primitives for Windows
- Add safe static lock initialization
- Improvements and fixes for the threading APIs
- Introduce r_strf and stop using sdb_fmt
visual
- Fix #19409 - Close menu after creating a new panel from it
- Handle vE as in VE - edit color theme
- Fix fast jump with ahc on register calls
windows
- Use I64x instead of llx format strings for mingw builds too
write
- Add ws1, ws2 and ws4 commands for variable size pascal strings