Releases: radareorg/radare2
4.3.0 - Codename llentia
Release Notes
Version: 4.3.0
From: 4.2.1
To: 4.3.0
Commits: 214
Contributors: 33
Authors
- Adam Van Scyoc [email protected]
- Anton Kochkov [email protected]
- Clark [email protected]
- David Carlier [email protected]
- Drew McGowen [email protected]
- Florian Märkl [email protected]
- Francesco Tamagni [email protected]
- Itay Cohen [email protected]
- Khairul Azhar Kasmiran [email protected]
- Khairul Kasmiran [email protected]
- Khairulmizam Samsudin [email protected]
- Manuel Prinz [email protected]
- Marco Grassi [email protected]
- Maxim Ivanov [email protected]
- Michael Rodler [email protected]
- Paul I [email protected]
- Riccardo Schirone [email protected]
- Roman Valls Guimera [email protected]
- Sylvain Pelissier [email protected]
- Vane11ope [email protected]
- XYlearn [email protected]
- Zi Fan [email protected]
- abcSup [email protected]
- bannsec [email protected]
- fooxax [email protected]
- haystack-ia [email protected]
- karliss [email protected]
- kuqadk3 [email protected]
- pancake [email protected]
- yossizap [email protected]
- Óscar Carrasco [email protected]
Changes
anal
- Rename the Function Flag on afn (#16078)
- Fix 'af' missing lines bug when analyzing in frida://0
- Implement function names with dots in signatures
- Remove more members from RAnalBlock
- Remove prev, jumpbb and failbb from RAnalBlock
- Refactor Anal Hints (#15876)
- Skip empty esil expressions in 'aeab' to fix partial results issue
- Add 'aba' command as an alias for aeab
- Fix aeab and add V (values) in aea outputs
- Implement aeab command
asm
- Fix #13908 - x86 aoj for instruction with hidden operand
- Add 'wao jinf' for Dalvik
- Determine Gameboy hardware registers in disassembly (#15909)
bin
- Add new BIND_OPCODE_THREADED constant for MACHO binaries (arm64e)
- Add Windows Crash Dump format support (#16087)
- Minor Fixes and Tests for NSO/NRO (#16053)
- Fix
iShash outputs (#16044) - Add Authentihash support for PE (#15987)
- Fix ELF symbols for names just before the end of strtab
- Parse dyldcache local symbols
- Fix some out of bound accesses in LE (#15943)
- Fix #14325 - Honor segments in DEX files (#15920)
- Many FLIRT handling fixes
build
- Fix debugger build on Linux/s390x
- 'sign' as an alias for ios-sign and macos-sign
- Build debian package in CI
cons
- Fix again the EOL bgcolor issue (and improve scr.html) (#16120)
- Implement ecHj to list highlight rules in json format
- Fix r_table_tostring for string with ansi escape code (#16069)
- Fix #16063 - bgcolor not reset on newlines
- Fix ecH- deleting ecHi and deleting meta highlight items
- Fix #15359 - Enable key.f# keys to be used in the shell
- Improve the gentoo theme
core
- tree-sitter: support iter commands (#16111)
- Initial implementation of the 'rb' command to rebase all the things
- Use state struct and start handling cmd_substition_arg in tree-sitter (#15966)
debug
- Use RTable API in r_core_debug_rr (#16066)
- Fix show register value in column (#16010)
- Add 'dbH' to set hardware breakpoints (#15933)
disasm
- Improve ecH (ecH-* dels them all, ecH- doesnt segfault, ecH list)
esil
- If esil.addr.stack is mapped find an available one
- When esil.stack.addr is -1 set it to the next unallocated address
- Code cleanup for r_core_esil_step() (#16017)
graph
- Add graph.aeab to show esil stats instead of disasm
json
panels
- Fix a bug on clicking in panels (on Mac and Linux)
projects
- Preserve "functions" flagspace when saving projects (#16057)
refactor
- Revert "Avoidify the RUtil.strTrim() APIs, rename trimHeadTail() and add asserts in RConfig
- Avoidify the RUtil.strTrim() APIs, rename trimHeadTail() and add asserts in RConfig
- Fix consecutive call to r_table_sort (#16049)
- Kill all globals in rabin2.c
- Remove globals from main.r2
- Remove globals from rax2
refactor"
- Revert "Avoidify the RUtil.strTrim() APIs, rename trimHeadTail() and add asserts in RConfig
test
- Add tests for RList (set, get, reverse, clone, append, prepend) and remove legacy
- Add initial sparc regression tests
- Handle ^C in r2r.v and support threads in fuzz tests
- r2r.v: Assume BROKEN=1 if not 0 or "" (#15936)
- Add Unit Tests to Meson (#15926)
types
- Fix tccj, tccl, tcc* output errors and add tests (#15931)
util
- Avoidify the strTrim() APIs + cleanup/refactor
- Memory leak fix proposal in syscmd_join
visual
- Fix #15963 - Handle / in Vx (visual xrefs)
To Review
- Fix #15211 - null deref in calling convention analysis
- Fix crash in elf parser found in the mtk-su binary with asan
- Add support for number_command and recursive help
- cmd_ignbithints should be set everywhere for consistency
- Save rnum->value before doing a cmd substitution
- Update radare2-shell-parser to fix null deref in html_disable_command
- Fix last coverity issues (#16114)
- Make r_strbuf_fini() safer (#16115)
- Add test for loading typedefs with to (#16101)
- Add test for long ESIL bug (#16102)
- [ppc] Only free op->esil if ESIL not requested (#16102)
- Fix #16093 - support syscall redefinition in REgg (#16106)
- Upgrade to node-r2r-0.4.0 (#16098)
- Add test for yara in extras (#16090)
- Fix #14647 - Add output of sections to segments mapping for ELFs (#16045)
- Add output of sections to segments mapping for ELFs
- Create RReg test unit (#16081)
- Fix some anal cmd handlers (#16085)
- Do not use the elvis operator for bool expressions (#16073)
- Upgrade node-r2r to 0.3.1 to fix the <<EOF -i issue (#16072)
- Fix null-deref on afv[rbs]-* without function (#16071)
- Use RString and minor cleanup (#16070)
- r2r.v path/to/cmdtest works now
- Convert NAME='name' to NAME=name in tests (#16067)
- Fix r_cons_rgb_parse() harder (#16061)
- Also fix init of some ret args in r_meta_print()
- Boolify try_walkthrough_jmptbl
- Add R_ANAL_RET_NOP constant
- Add test case
- Replace O(n2) ELF symbol matching with hashmaps (#16052)
- Replace O(n2) ELF symbol matching with hashmaps
- Swap loop order to ensure that all phdr_symbols are marked.
- Use name, size and offset as hashmap keys.
- Add [?] to fd help entry (#16058)
- Allow function names containing dots in tcc
- Add some very basic tests for NSO/NRO
- Remove broken readLE* functions from NSO/NRO
- This reverts commit 38b61c7.
- Run 'r2r fuzz' from anywhere
- Remove stray pancake activity ;) (#16054)
- Fix a segfault in libmagic when error string > 4096 (#16050)
- Fix address representation minbound maxbound in
afij(#16051) - Force sorting of rows in the event of consecutive sort
- Remove global Gdec and use r_list_reverse for decreasing sort
- Add test for r_table_tostring and r_table_sort
- Upgrade capstone v4 and next branches
- Simplify travis oneliner
- Fix r_table_sort segfault when column type is NULL (#16047)
- Rename argument to 'dec' (decreasing) to reflect existing output
- Add test
- Refactor bin_sections function
- Add filter_hash_string function
- Fix segfault in Authenticode hash check (#16042) (#16043)
- I noticed that
r2will crash when loading a PE file with - Authenticode digest algorithm other than SHA-1 or MD5. I traced
- it down to the
PE_(bin_pe_compute_authentihash)function returning NULLif it encounters an unsupported digest function. This results- in
NULLbeing passed tostrcmpwhich causes the segfault. - Solution was to add a check for
PE_(bin_pe_compute_authentihash) - returning
NULLand to setbin->is_authhash_validtoNULL. - The real solution is to add support for more algorithms but this will
- stop crashes for now.
- Greenify AppVeyor on master by using different tag name (#16041)
- Greenify AppVeyor on master by using different tag name
- Co-authored-by: Itay Cohen [email protected]
- Fix read stack-based buffer overflow when using str with pk_js (#16040)
- In some cases I noticed
stris not correctly terminated, so when it is - later used in
pk_js, that function reads a very long string, outside - of the memory bounds of the original buffer.
- Add support for @* commands in new r2-shell-parser (#16038)
- Use TSSymbol instead of comparing type strings
- This patch uses ts_node_symbol instead of ts_node_type to check whether
- a node is of a given type. Since TSSymbol is just an integer, the check
- will be much faster. Also, it allows to store commands handler in an
- hashtable, instead of having if-cascade.
- Make sure r_config_hold works even when keys do not exist or are freed
- Add support for all _tmp_commands
- Make sure to always reuse the same TSLanguage
- Update both tree-sitter and radare2-shell-parser
- This way we use TSLanguage version 11, which fixes some problems with
- TSSymbols.
- Compute is_last_cmd on each single command and fix logging
- is_last_cmd should be set on a per-command basis, so if you analyze
- things like
pd 3; .; .; .;the.refers topd 3. - This also fixes logging, so when an invalid command is parsed, it is
- still available in the history.
- Add comment about directly using r2-shell-parser in r_core_cmd_lines
- r_core_cmd_lines tries to parse the input and split it in lines, but at
- least in theory, we don't need it as the new parser can already handle
- full scripts.
- Allow other tasks to run between commands even in the new ...
4.2.1
Arctic World Archive
On February 2, 2020, GitHub will capture a snapshot of every active public repository, to be preserved in the GitHub Arctic Code Vault. This data will be stored on 3,500-foot film reels, provided and encoded by Piql, a Norwegian company that specializes in very-long-term data storage. The film technology relies on silver halides on polyester. This medium has a lifespan of 500 years as measured by the ISO; simulated aging tests indicate Piql’s film will last twice as long.
Release Notes
Version: 4.2.0
From: 4.1.1
To: 4.2.0
Commits: 175
Contributors: 23
Authors
- Anton Kochkov [email protected]
- David CARLIER [email protected]
- David Carlier [email protected]
- EggUncle [email protected]
- Florian Märkl [email protected]
- Guillaume Valadon [email protected]
- GustavoLCR [email protected]
- Itay Cohen [email protected]
- Jeong Jihoon [email protected]
- Khairul Kasmiran [email protected]
- Kārlis Seņko [email protected]
- Riccardo Schirone [email protected]
- Sylvain Pelissier [email protected]
- Theodore Dubois [email protected]
- Vane11ope [email protected]
- d4em0n [email protected]
- dodococo [email protected]
- dok [email protected]
- itayc0hen [email protected]
- pancake [email protected]
- vane11ope [email protected]
- yossizap [email protected]
- Óscar Carrasco [email protected]
Changes
anal
- Fix #15091 - Make 0 fcnsize warning more meaningful and verbose-only (#15866)
- Fix jumptable size #13812 (#15822)
- Fix afs not working without rettype
- Fix a null deref in fcn_recurse
- Remove Custom Analysis for Java (#15817)
- Refactor RAnal Basic Blocks and Functions (#15169)
- Change RAnalBlock.size to ut64
- Make type matching independent of bb list order
- Improve the op.type text representation when unhandled modifiers are used
- Remove dupped basic block analysis in core (#15714)
asm
- 'push rip' is not a valid instruction
bin
- Improve realname support for symbols (#15702)
- Add test for #15727 (smd strings) (#15777)
- r_str_unescape: Support all izz esc seqs (#15770)
- Force read permissions on all load maps in ELF
- Initial implementation of LX/LE file plugin
cons
- Implement ar, and dr, commands to list registers in table format
- Fix #14424 - Handle ~ operator in the
msshell - Implement r_strbuf_slice and use it in panels to solve a glitch
core
- Add ?V0 ?V1 ?V2 - for semver support
- Upgrade to acr-1.8.1 to get semver support
- Add pkgname in RLibStruct for r2pm on outdated plugins
debug
- Added reverse step and continue support to gdbr
- Moved drC to drpC for profile comments and added drC for reg comments
- Added register specific comment parsing to register profiles
- Fix crash caused by rebasing a file without sections
- Set cfg.debug to true before running oodf in doof
- Fix multithreaded breakpoint behavior in linux
- Attach to new linux threads on creation
- Fix debugger build on linux-s390x
- Always unset bps after continue and step hard
- Add detailed location info to dpt using pc instead of path
- Add packed sizes to gdb vector registers and improve mapping of target description to r2 regs
- Fix drt not printing non 64bit/32bit registers and flags
- Refactor breakpoint validation (#15754)
-
- Refactor breakpoint validation
- Revert "Validate bp addr on rebase and restore instead of preventing creation
- Validate bp addr on rebase and restore instead of preventing creation
- Fix hardware bp restoring and fix hwbp repeating errors
- Add location in file to linux dpt output
- Fix var rebasing by saving regname info
- Refactoring ptrace register write for BSD
- Implement bsd_thread_list for FreeBSD
- Fix reopening of windows debug after detaching not working
- Fix windows breakpoint rebasing
- Prevent the restoration of disabled breakpoints
diff
- Add explicit fingerprint_size to RAnalFunction
- Add ccdd command to diff decompiler output of two functions
- Add ccdd command to diff using decompiler (experimental)
disasm
- Remove realname from strings (#15841)
- Show flag realname when finding a function and realname is enabled
- Hide flag comments when realname is shown (#15801)
- asm.symbol: Improve code/test a bit more (#15798)
- asm.symbol: Fix flag name when disasm from non-flag addr with no anal
esil
io
json
- Use PJ api in the output of isj and show realname
- Fix issues in iCj, drlj and arlj
- Fix izzzj json output
- Fix gen json dwarf with pj api (#15755)
- Fix is.j iEj and iaj json validation issue in r2 -- (#15724)
panels
- More fix for resizing issue (#15844)
- Performance improvements for the cursor mode
- Code clean-up and a little performance improvement for decompiler cache
- All the available decompilers outputs will be properly shown with this
- Make the decompiler cache work properly
- Add H key for cursor mode which works like the one in vim
- Implemented pmj (#15864)
r_debug
- Debug, BSD systems refactoring
search
signatures
- Apply types on matching zignature data
table
- Add f, command to list flags in table format
test
- Fix V testsuite build with latest V from git (#15867)
- Convert cmd_pd* tests from <<KEYWORD to <<EOF (#15823)
- Support extras tests in r2r.v (#15821)
- r2r.v, -j 0: Allocate 1 job per test (#15807)
- Improve unit test execution using the new V suite and makefiles
- Many improvements in the V testsuite (#15722)
tests
- r2r.v, -j 0: Allocate 1 job per test (#15807)
util
- Fix r_list_set_n() to allow empty element (#15820)
visual
- Limit panel tabs to 9 to avoid keybinding and click issues
windows
- Fix reading on invalid process memory
To Review
- Release 4.2.0 - Arctic World Archive
- Fix resizing issue (#15863)
- Fix pkgname version check for real now (#15862)
- Enable V testsuite on GitHub CI (#15796)
- Enable V testsuite on GitHub CI
- Check version for pkgname correctly (#15860)
- dot can be null
- Using R2_VERSION_MAJOR/MINOR is wrong because they will be continuously updated and we want to check for exactly 4.2.0
- The version check logic itself was wrong
- Fix afb test (#15861)
- Fix #15833 - Only print pkgname if the plugin is for r2 >= 4.2
- Update/improve jmptbl size tests
- Use specific commit of V to avoid build issues
- A bit more picky fix
- Add test for afs without type
- Fix #15767 - Temporarily disable colors in drrj
- Fix warnings
- Update radare2-shell-parser
- Use void because we don't do anything with the return value
- Coverity fixes
- Remove the wrong test
- More tests fixes
- Resizing works not perfectly yet but close
- Fix #15604: Convert all tests from <<KEYWORD to <<EOF
- Fix wrong tests (#15834)
- Add test for env variables boolification
- Introduce SETBPREF to handle "boolish" vars like asm.cmt.off
- Do not try to convert to true/false, as it breaks integer vars
- See discussion at #15681 .
- Unfortunately the change cannot be done for non-int vars only, because
- right now vars are not statically typed, so a var that is initially
- CN_INT can then become CN_STR if you set a string.
- Changing vars to assign them a static type when they are created would
- require a much bigger change and discussion.
- A bit of refactoring in r_config.h
- Move all version defines into r_version.h and handle it from meson too
-
- R2_VERSION_MAJOR
-
- R2_VERSION_MINOR
-
- R2_VERSION_PATCH
-
- R2_VERSION_NUMBER
- Mach-O io: mem leak fix proposal. (#15829)
- C89 Fixup for r_sign_fcn_types function (#15824)
- Fix error:
forloop initial declarations are only allowed in C99 mode - Implement new zignature types format
- Adapt zignature types deserialization to new format
- Integrate fcn types when zignatures match
- Use node->i_value in the log.level/log.traplevel callbacks
- Basic Blocks are now global instead of owned by a single function.
- Fix dbg_bps tests that always succeeded (#15763)
- Approved-by: Riccardo Schirone [email protected]
- This feature only works with server implementations that have ReverseStep
- and ReverseContinue enabled, such as rr. The official gdbserver doesn't support it.
- Remove opt->sz checks and operations in r_bin_open_buf
- opt->sz is not used anyway in r_bin_open_buf, so there's no need to
- check its value or compute it.
- Fix last coverities related to cbin
- Add test for a8 command
- Some more coverity fixes (#15802)
- Implement pcV command to print byte array in Vlang
- Fix a small bug by removing some useless codes (#15795)
- Initial implementation of libname for flags in imports
- Initial support for PE and real flag
- Read libname for PE exports
- implement pj for imports
- Remove imp. prefix from symbol names
- Fix r_core_bin_impaddr()
- Fix some mdmp import stuff
- Print libname in ii
- Fix some imp. checks and reloc meta
- Fix r_bin_filter_sym() for imports
- Use realname for noreturn check
- Fix asm.flags.real for direct calls
- Fix realname for direct calls with fcn
- Fix resolving names from ordinal
- Co-author...
4.1.1 - reantull
Release 4.1.1 - Codename 'reantull'
4.1.0 - codename 'antull'
Release Notes
Version: 4.1.0
From: 4.0.0
To: 4.1.0
Commits: 252
Contributors: 40
Authors
- Alex Kornitzer [email protected]
- Anton Kochkov [email protected]
- Anton Kochkov [email protected]
- Armin Weihbold [email protected]
- David CARLIER [email protected]
- Eli [email protected]
- F3real [email protected]
- Florian Märkl [email protected]
- Francesco Tamagni [email protected]
- Giovanni [email protected]
- GustavoLCR [email protected]
- Henry Eklind [email protected]
- Jared [email protected]
- Johannes [email protected]
- Kamil Lorenc [email protected]
- Khairul Azhar Kasmiran [email protected]
- Khairul Kasmiran [email protected]
- Kārlis Seņko [email protected]
- MNayer [email protected]
- MartinJM [email protected]
- Paul I [email protected]
- Qian [email protected]
- Riccardo Schirone [email protected]
- Sergi Àlvarez i Capilla [email protected]
- SjRNMzU [email protected]
- Sylvain Pelissier [email protected]
- TheGoddessInari [email protected]
- Vane11ope [email protected]
- condret [email protected]
- dav1901 [email protected]
- dok [email protected]
- erfur [email protected]
- fcasal [email protected]
- ilian [email protected]
- karliss [email protected]
- pancake [email protected]
- xarkes [email protected]
- yossizap [email protected]
- yossizap [email protected]
- Óscar Carrasco [email protected]
Changes
anal
- Improve SP based variable analysis
- Some more helpful messages for anal.verbose
- Fix first r_anal_op call after asm.bits change
- Improve SP based var analysis
- Fix ms cc wrong argument analysis
- Fix r_type_del() for typedefs (Fix #15337)
- Add base64: for afn
- Move the fcn preludes into RAnal and add anal.jmp.tailcall (-1,0,N)
- Fix typo in ios-syscalls.txt (#15436)
- Initial implementation of afvf - show bp-relative stackvars
- Insert arguments into types SDB on function analysis
arch
- Add support for or1k (OpenRISC) disasm+analysis (#15515)
asm
- Fix ignored asm.bits settings because of RBin overrides
- Fix for #15459 - Also set the first operant to the right value on a mov from pointer with offset
- Add ARM strd support (#15388)
bin
- Add 64-bit iOS SEP xtr plugin
- Add PIE flag check in kernelcache detection
- bin.str.enc: Accept UTF hyphen aliases (#15492)
- Support UTF32-BE decoding (#15472)
- Recognize Unicode BOMs (#15469)
- Use pj in the izj and izzj commands
- Fix #15445 - Add support for Mach-O external relocs
- Add support for C64 PRG fileformat
- pd: Don't abort string printing on initial null if bin.str.enc != guess (#15446)
- Fix #14279 - Ignore entrypoint on non-executable ELFs
- Analyse HIOS and LOOS symbol types by default. (#15411)
build
- Fix #15485 - Improve argument parsing in sys/{install,build} (#15486)
- FIx 32bit windows
- Rename "asan" to "sanitize" (#15412)
- Fix build for 32bit Linux systems
- Fix build of the onefied shared lib
command
- Very simple tree sitter integration (#15414)
config
- Pass R2_CONFIG file to ! commands and serialize methods
cons
- Fix #14197 - Don't highlight control chars on hud filter (#15552)
- Include last line when greping using foo~n.. (#15524)
core
- Fix some Race Conditions with the thready task scheduler (#15667)
- Make Task Scheduling Explicit (#15511)
- asm.cmt.off: Accept 0 & 1 as aliases for false & true respectively (#15500)
- Use sigaction instead of signal
- CPU affinity API introduction
- Honor cfg.editor in 'vi' instead of always using 'vi'
- Implement $foo:=,+=,-= and $foo to alias some flags commands
- Support 'f foo+=4' and 'f foo-=4' syntax for flags
debug
- Improve debug rebasing and fix partial windows rebase
- Refactor debug native's wait function
- Fix native debug not working with files that were opened as RW
-
- Add ppid to win32 debug and 'dp''s display/json
-
- Add process selection to w32 debug
- Fixed a crash caused by reopening gdb
- Fixed not killing child processes and added detach
- Fixed gdbr warnings and a dpt crash after debug was over
- Added an event to signal the end of the debug session
- Fix 'oo' rebasing when leaving debug and add 'doc' to exit
- Silence drr warning on UT64_MAX registers
- Fixed an issue with detached child breakpoint inheretence
- Added oodf\doof to enable rebasing for remote debug
- Rebase Breakpoints for PIEs
- Added
dpprocesses info support to gdbr - Add breaking to
oodin linux to avoid execvp freezing - Allow debug plugins to modify pid/tid on select
- Fix linux_set_options error
- Add process selection to linux native debug
- Setting parent pid on pid list on BSD
- Show all processes for pid 0 using dp
- Improve linux native debug
dpoutput - Fix getting DRX breakpoint size
- Fixed overflow that broke remote debugger reopening
- Impl. list modules for WinDbg
- Fix WinDbg IO in page boundaries
- Fixed windbg concurrency and added missing locks
- Fixed windbg pipe timeout behavior on linux
- Added rebuild rules for windbg
- Fixed windbg continue on windows 7 64bit
- Allow breaking for WinDbg
- Update hardcoded gdbr registers for 16/32bit x86 (#15488)
- Added parsing support to all gdb registers
- Fix gdbr's reg_write and reg_next_diff for reverse stepping
- Reduced gdbr's tcp connect timeout and added a break
- Fix gdbr not closing sockets after connect failed
- Add break to gdbr's read_packet and move isbreaked to libgdbr
- Fix gdbr_write_registers and refactor gdbr_write_reg
- Replaced lock_check with tryenter in gdbr_read_registers
- Add breaking to gdbr connect to avoid waiting on invalid connections (#15442)
- Add experimental ymm regs support for linux-x64 and extend drm command
- Add Windows 8 and 8.1 WinDbg profiles
- Fix attaching to a pid on Windows (#15406)
- Fixed w32dbg breaking issues (#15386)
- Add support for printing xmm* as packed floats and doubles (#15378)
disasm
- Fix hidden hint.lea for hint.pos==0
- Improve switch-statements in disassembly
- Add refs, xrefs and esil columns to pdt
- Add asm.cmt.esil to show ESIL as comment
doc
gdbclient
- gdbclient reduces risk of use after free down the road
io
- Uses the setitimer api instead for the alarm in self://
- Automatically set the debug plugin when opening debug uris (#15403)
json
- Add current process field to dpj
network
- Fix r_socket_connect not using the given timeout in unix
- Fix #14661 - Support parsing binary protobuf data (#15423)
- Add utf-8 support in r_print_rangebar (#15389)
r_debug
- Refactor signal handling for FreeBSD
search
- Introduce the r_magic_load_buffer() api and boolify a bit
- Update RSA key search to find larger keys (#15494)
- Search for AES 128, 192 and 256-bit keys (#15426)
signatures
- Add auto zignspace generation for the zg command (#15402)
test
- Implement asm, fuzz and json test runner in r2r.v
util
- Add RIntervalTree data structure
- Added r_th_lock_tryenter API (#15454)
- Use HtPP for RStrConstPool (#15424)
visual
- Improve the interaction with decompilers in panels
- Reduce the blocksize on some hexvisual modes
windows
- Add command to identify window under cursor
- Fix #15456 - Fix reopening in write mode
- Fix hang when running dc in a task
To Review
- Release 4.1.0 - Codename 'antull'
- Fix lock ordering of RCoreTaskScheduler.lock vs. RCoreTask.dispatch_lock
- Remove RThreadLock.refs
- Fix a race in tasks
- Make SP based variable analysis aware of changes to SP
- Use delta inside stack to identify the variable used instead of offset to SP
- Keep track of offsets to SP used to access the variable
- Fix argument printing order for reg args
- Add test
- Revert pe coverity fixes to fix ihj
- The format is reused for printing and internal type representation,
- breaking the JSON by making the value field in ihj empty since "llx"
- isn't a valid type
- Fix ESIL UB
- Mark fixed tests as such
- Fix some FX Tests
- Separate windows, linux and *bsd/apple since they have vastly different
- logic and the ifdef jungle implementation was too confusing
- sys/meson.py: Use == 'vs2017' instead
- The FD was kept open and ptrace was prevented from opening it with the
- error "Could not execvp: Text file busy". Fixes issue #15650.
- Solving r_debug_handle_signals build warning issue.
- Fix #15653: Silence MSVC XP deprecation warning
- Use eprintf instead
- Fix typo
- Make it possible to use sysmagic again (#15658)
- Compile tree-sitter with std=c99 flag (#15654)
- SystemZ analysis logic error
- Fix some MSVC warnings
- Add ppid to dp and fix dp= for windows (#15649)
- Previously,
dp=wouldn't fully switch to the given process since it - was treated like
dptthread switching, leaving the debugger in - an undefined state.
- Function r_anal_cc_arg should just return NULL when nothing is available (#15646)
- Function r_anal_cc_arg should just return NULL when nothing is available
- Callers should be able to handle NULLs
- Fix memory leaks in unit tests
- Some coverity fixes (#15643)
- The plugin would try to work with an old version of desc that was already
- freed by r_io_clo...
v4.0 : Codename Kràmpack - vifino edition
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 [email protected]
- Armin Weihbold [email protected]
- Brandon Lin [email protected]
- Cyrill Leutwiler [email protected]
- David CARLIER [email protected]
- Dennis Goodlett [email protected]
- Florian Märkl [email protected]
- Francesco Tamagni [email protected]
- Fritz Reese [email protected]
- Giovanni [email protected]
- Gordon M [email protected]
- GustavoLCR [email protected]
- Joseph Griego [email protected]
- Khairul Kasmiran [email protected]
- Maijin [email protected]
- Paul I [email protected]
- Paweł Łukasik [email protected]
- Qian [email protected]
- Quim [email protected]
- Remco Verhoef [email protected]
- Riccardo Schirone [email protected]
- Roman Valls Guimera [email protected]
- Samuel Hopstock [email protected]
- Sanyam Agrawal [email protected]
- Stefan [email protected]
- Stefan Ilic [email protected]
- Thomas Bailleux [email protected]
- blenk92 [email protected]
- condret [email protected]
- dav1901 [email protected]
- dodococo [email protected]
- dok [email protected]
- fcasal [email protected]
- hmht [email protected]
- layderv [email protected]
- lzutao [email protected]
- neuracr [email protected]
- pancake [email protected]
- the-remmer [email protected]
- xarkes [email protected]
- yossizap [email protected]
- Óscar Carrasco [email protected]
3.9.0 - Carxofes
In r2land we are happy to celebrate that the artichoke seasson is back with a new release \o/
Binaries: http://radare.mikelloc.com/release/3.9.0
Release Notes
Version: 3.9.0
PreviousVersion: 3.8.0
Commits: 102
Contributors: 31
TimeSinceLastRelease: 2 weeks
Authors
- Кirils Sоlovjоvs [email protected]
- Anisse Astier [email protected]
- Anton Kochkov [email protected]
- Chris Moore [email protected]
- David CARLIER [email protected]
- Eduardo Novella [email protected]
- Florian Märkl [email protected]
- GustavoLCR [email protected]
- Igroeg Okiob [email protected]
- Khairul Azhar Kasmiran [email protected]
- Khairul Kasmiran [email protected]
- Kārlis Seņko [email protected]
- Lev Aronsky [email protected]
- Lowly Worm [email protected]
- Maijin [email protected]
- Maxime Meignan [email protected]
- Meador Inge [email protected]
- Paul I [email protected]
- Reviakin Evgeny [email protected]
- Roman Valls Guimera [email protected]
- Sergey Alirzaev [email protected]
- Vane11ope [email protected]
- Yanick Fratantonio [email protected]
- dodococo [email protected]
- jvoisin [email protected]
- karliss [email protected]
- kmartin36 [email protected]
- lkempf [email protected]
- pancake [email protected]
- v45k0 [email protected]
- Óscar Carrasco [email protected]
Changes
anal
- Implement anal.norevisit using SetU instead of Sdb
- Fix #15013 - jump/cjmp analop for m680x
- Fix the infinite aac issue, reduce false positives, speedup a bit (#15015)
- Fix mov.l/jsr ESIL for SuperH4 (#15039)
- Fix nopskip (its not fixed at all. just random typing here and there) (#15024)
- Add anal.nonull to avoid analyzing functions if starting by zeros
- Fixed i4004 arch to be according to spec (#15062)
- Fix zero register set issue (r2wars)
- Implement types field for zignatures
cons
- Fix #14611: Vi-mode indication by prompt color
- Add a way to print an aliased without a trailing new line (#15031)
- Fix clicking on frame borders to resize
- Remove code for no-anal asm.bb.line (#14977)
core
- Make -m do an implicit -s
- Fix #14990 - multiple quoted command parsing issue
- Fix multiple quote cmd issue
- Fix #14019 - Move ta to aht, move other commands around, refactor indentation
- Fix #10851 - Solve slurp messages on http/sandbox/pipe
- Don't run ldconfig when installing into /usr (#15049)
debug
- Fix gdb reg write byte order (#15009)
- Improving slighty the process status check on Darwin
- On Darwin, expose process path
- ASLR check setting fix on FreeBSD
emu
- Hackaround to get esil stepping on delayed execution
- Fix arm32 stmia post-increment (#14983) (r2wars)
io
r2-3.8.0 - Taupe
Release Notes
Version: 3.8.0
From: 3.7.1
To: 3.8.0
Commits: 188
Contributors: 30
Authors
- 00rsiere [email protected]
- Adrian Studer [email protected]
- Alex Gaines [email protected]
- Alexandre ZANNI [email protected]
- Anton Kochkov [email protected]
- Anton Kochkov [email protected]
- Ayman Khamouma (ak42) [email protected]
- Brenton Morris [email protected]
- Carles Pey [email protected]
- Chirag Jariwala [email protected]
- David CARLIER [email protected]
- Florian Märkl [email protected]
- Giovanni [email protected]
- GustavoLCR [email protected]
- Khairul Azhar Kasmiran [email protected]
- Maijin [email protected]
- Maijin [email protected]
- Paul I [email protected]
- Reviakin Evgeny [email protected]
- Roman Valls Guimera [email protected]
- Rot127 [email protected]
- Srimanta Barua [email protected]
- Sylvain Pelissier [email protected]
- Vane11ope [email protected]
- bagginslin [email protected]
- dodococo [email protected]
- elouet [email protected]
- fandauchytil [email protected]
- pancake [email protected]
- tantei3 [email protected]
Changes
analysis
- Improve the aab (blaze) analysis by honoring data meta
- Speedup and reduce false positives in aae by honoring code/string/format
- Do not analyze functions in strings/data by honoring the meta
- Fix infinite (or expensive) loop when fcnsize=0
- Honor anal.strings in aav
- Define argument and ret pseudo registers in the SuperH4's reg profile (#14920)
- Introduce anal.in=code (2x faster aar in some big binaries)
- Introduce afisaj and fix table contents for afisao and such
- Implement afis[aof] - to show instruction type, family and mnemonic tables
- Fix as command to resolve syscall by name, number and SN reg
- Fixing ESIL for ARM architecture pre-indexed addressing mode with LDRB (issue #14850) (#14901)
- Add more info in aflt and add afltj
- Initial implementation of aflt (using the new RTable API)
- Hide the shift overflow warnings under esil.verbose
- Fix ownership issues related to cc
- Add calling conventions for ARM32 and Thumb
- Unify the use of R_ANAL_CC_MAXARG
- Propagate noreturn information (#14793)
bin
- Fix code injection issues i* commands (rabin2 -r)
- Fix #14930 - handle LC_DATA_IN_CODE in macho
- Fix strings on ELF bins for SH-4 with the Renesas SDK
- Support deep JSON format for binary headers in iHj
- Fix Cf with named formats when .iH* is used
- Fix #14898 - Show warning when -B used on unknown binaries
build
- Shrink the Cydia package from 512mb to only 64
core
- Add single quote as alias for =! and \
- Support 0X as an alias for 0x in numbers
debug
- Fix crash in gdb client (#14897)
- Notify user on hardware breakpoint hit
diff
- AGraph integration with radiff2
disasm
- Fix #14716 - Honor local flags in RParse
- Implement asm.hint.emu and improve Vr reftype selection
- Do not try to resolve strings pointed by adrp instructions on arm64
- Honor asm.instr in pdi
- Hide brackets for LEA even if operand is section flag
- Add support for the amd29k architecture
- pix and pdx are now aliases for pad
doc
- Remove help for hud in
??
graph
io
- Fix a couple of bugs in wo* and implment wo8
- Add support for io-plugin initialization via null system command =! (#14915)
- Simplification of the io_self plugin for macOS/iOS
- Consider endiannes when performing block write operations
panel
- Few memory leaks fixes
- Fix #14891 - Seek in panels after coming back from console
- Fix #14883 - use[] to realign comments in disasm
- O in visual is supported in panels with the "i" key
- Added some asm settings and classified it
panels
- Fix #14891 - Seek in panels after coming back from console
- Fix #14883 - use[] to realign comments in disasm
- O in visual is supported in panels with the "i" key
- Added some asm settings and classified it
- Implement pv* to completely fix #14165
- Fix #14165 - Implement pVj and fix pvj with argument
- Fix #14936 - Add po[..] set of commands
- Implement 'cols' RTable.query to filter by column names
- Use block character for p= and p== graphs (#14941)
r2pipe
- Initial support for r2pipe.html
rop
- Add ROP chain execution support in ragg2
search
- Let search.align override arch.align if set, improves aav in SH
- Bring back /ai and fix regression for SUB.val
- Skip gadgets starting with a nop in /R
- Fix #14755 - read-only raw search
- Fix #14202 - Add support to '\d', '\w', etc. in regex
util
- Initial implementation of the RTable API with filter, sorting and query APIs
visual
- Fixes #14914: Mouse wheel for hud (#14940)
- Improve mouse in visual (hud instead of goto and ignore cursor toggle
windows
- Fix #14816 - Properly get lib path
Other Changes
- add nf flag in ESIL generated for ARM thumb (#14954)
- Fix regression in wo2/4/8
- Fix divbyzero and garbage variable found by clang-analyzer
- Fix memleak in r_strbuf_prepend
- Fix logic in 2-byte endian swap used by "wo2" (#14951)
- Display operand of EBC push/pop instructions (#14949)
- ARM: fix order of registers in push/pop with reglist
- fixing esil =[*] (poke multiple regs/values)
- Fix out-of-loop issue in aae
- macOs/Notes 6.8s -> 6.4s
- macOS/r_core 4.3s -> 3.8s
- Still wip. only works as a hint when using -e bin.verbose=true
- Improve r_core_anal_hasrefs_to_depth (#14863)
- Fix Win32 build patch from @sanguinawer (#14945)
- Fix uninitialized variable issue related to the mouse state
- Fix regressions
- Fix #14380 - Fix demangling symbols containing the '?' char with iD
- Fix #14889 - Implement ! and c keys in visual help
- Improve vq and v!!! workflows
- Break early in Cf format name failure
- Fix #14939: Replace assertions about missing RReg profile registers with warnings (#14943)
- fix help message of ? (#14944)
- Fix #14935 - Kill harmless warning
- Fix assert in aea for r2wars
- Show backtrace when assert happens
- Fix crash in aea* when code is ffff
- Fix #14771 - Modified pdx/pix to disassemble hexpairs (blocksize-independent) (#14892)
- Add frame pointer to AVR register profile (#14938)
- Enable mouse only if it was prev enabled and based on scr.wheel (#14925)
- Fixes #14911: Use theme colors for p= and p== (#14934)
- Add fortune
- 1 != 0
- Massage two more assertions
- Fix early assert for IO
- Disable Travis IRC notifications
- Too much noise at IRC.
- Blindfix more null derefs in reg.value
- Fix another null arena deref
- Assertify io.fd api
- Fix aea for instructions referencing PC
- Boolify the reg api a bit more
- Fix null deref in reg arena
- Blindfix for empty reg arenas
- Add Predicate for Task Dispatch
- Fix assertion when emulating invalid instructions and revert pcalign4 for sh
- Update help message for Vd
- Fix #14928 - vr to be in sync with Vr
- Fix assert regression before it triggers
- Minor cleanup and visitor cache proposal test for RAnal.fcn()
- Fix #14821 - crash in td
- r_str_split_list() rewritten to support nth limit
- r2 -qq -c 'aac;aflt size/gt/200,addr/cols/name/nbbs,nbbs/sort/inc' /bin/ls
- Fix off-by-one in RCore.lines.initCache();
- Set asm.hint.emu=false by default
- Fix build
- Add r2con2019 svg logo
- $ r2 -i doc/r2pipe.html /bin/ls
- Syncing with r2hexagon (#14918)
- the reference of emulation are displayed one instruction after. which is bad
- Fix build
- Fix Windows build (#14916)
- afisa uses rtable, as well as afist@@@f
- Useful for r2frida to automatically run .=!i*
- This makes reading iOS apps much simpler by removing lot of false positive strings
- Fixes #14900: Disable color for dot mode (#14908)
- Better directory structure for the panels config file (#14903)
- Fixes #14896: Enable and disable mouse based on requirement in visual/panels (#14909)
- v!! = V!! - use ! to toggle between visual and panels
- Fix hexdump height issue in panels
- Reset mouse settings after leaving the hud
- Fixes #14900: xdot type commands functional now (#14902)
- Fixes #14900: xdot type commands functional now
- Remove recursive handle_stop_reason call
- Revert "Fixed the bug that I had fixed before (#14788)"
- This reverts commit 9e27142.
- This change was breaking panels in Mac
- Fix MSVC build
- Add afltj and some more fixes and improvements related to RTable
- Accepts a query as argument
- Fix a segfault in RStrBuf.prepend
- Add lsls and ldrh thumb asm.describes
- Add missing include install for meson
- Improve disasm char hints
- Fix some warnings from gcc
- Make cmd_depth task-local (#14888)
- Add neg pseudo instruction to arm assembler (#14890)
- Freed some vars (#14885)
- Fixes #14845: Use unicode settings in radiff2 (#14884)
- Fixes #14845: Use unicode settings in radiff2
- Fixed indent
- Tame vayour
- Fixes #14534: Ignore non-printable and non json chars (#14876)
- Fix #14878 - Fix unaligned field access
- Add afos command and minor cleanup for afo
- Fix null derefs in afv subcommands when no function is found
- Fix afvn outside of Function (#14882)
- Fixes #14856: Changing visual seek behaviour in Vv (#14877)
- Fix #12438 - Fixes for PDB (#14874)
- Fix use after free when autoloading pdb
- Use heap on td command
- Fix #12438 - Fix wrong 2 byte read for char value
- ...
r2-3.7.0 - Codename TopHat
Version: 3.7.0
Previous: 3.6.0
Commits: 320
Contributors: 42
Authors
- Alexander Yukhanov [email protected]
- Anton Kochkov [email protected]
- Ayman Khamouma (ak42) [email protected]
- Cyrill Leutwiler [email protected]
- David CARLIER [email protected]
- Deepak Chethan [email protected]
- Florian Märkl [email protected]
- Francesco Tamagni [email protected]
- Guillaume Valadon [email protected]
- GustavoLCR [email protected]
- Ian Huang [email protected]
- Khairul Azhar Kasmiran [email protected]
- Lily Chung [email protected]
- Martin Brunner [email protected]
- Max [email protected]
- Michael Scherer [email protected]
- Paul I [email protected]
- Riccardo Schirone [email protected]
- Vanellope [email protected]
- blenk92 [email protected]
- dav1901 [email protected]
- deepakchethan [email protected]
- dodococo [email protected]
- eShuttleworth [email protected]
- karliss [email protected]
- lzutao [email protected]
- mai128n [email protected]
- pancake [email protected]
- ps [email protected]
- ps1337 [email protected]
- rfc2119 [email protected]
- ricardoapl [email protected]
- sanguinawer [email protected]
- vane11ope [email protected]
- xarkes [email protected]
- ycarmon [email protected]
- Óscar Carrasco [email protected]
Changes
anal
- Fix #13766 - Sum the meta_data_code as covered code
- Add more function definitions for posix and macOS binaries
- Add argument to 'afll' to select column to sort by
- Print MSVC RTTI Warnings only on anal.verbose=1
- Add afj command to analyze jmptbl from the shell
- Honor RAnalBlock->switch_op in afb. and afbi
- Improve ARM64 PAC instructions support
- Fix #14530 - Implementation of i.~{} aka RCoreItem
- Added val op hints to let the user define jmptbl sizes
- Fix #14501 - Jumptables are made of signed values
- Reduce xrefs sorting for aflj perf
- Initial implementation of anal.trycatch blocks
asm
- Implement PAC instructions in the ARM64 assembler
bin
- Add icqj command
- Fixes for msvc demangling (#14695)
- Add jni.h in bin/d for pfo
- Update Mach-O hardcoded format definitions
- Improve Mach-O header fields
- Improve RConsBind and use it from RBin via iz^C
- Use libswiftCore library if available to demangle Swift5 symbols
- Fix oba on frida://
- Add more e_machine values for ELF
- Fix support for Swift5 demangling via bin.demanglecmd
- Fix ordinal name on Linux for NE (invalid sdb path location)
- Fix function detection on coff file
- Add icqq to print unknow classnames
- Add icc support for Java/Dalvik
- Improve ObjC classes boundary checks and slightly improve demangling
- Parse macho's LC_ENCRYPTION_INFO command in rabin2 -H
- Fix undefined behaviour bugs in malformed macho bins
- Handle “stub and resolver” exports and fix export trie for dyldcache
- Handle the export flags to avoid de-syncing
- Support ObjC categories on mangled classes
- Avoid loops in Mach-O export trie walking
- Parse Mach-O exports trie structure
- Fix #14499: Detect ascii substrings
- Show Class visibility information in icj for DEX
- Fix symbols in wasm and add custom sections
- Parse Rich header in PE
- Initial implementation of the bin.libs imports linking
- List multidex as dependency libs
- Initial working implementation of bin.libs
- The words of GOT
- Fix new exe header detection for MZ
- Optimize DEX subsystem detection
- Fix #14441 - Invalid codesize in some DEX files
- PoC: Initial implementation of direct bin symbols (20% speedup in loading times
- Remove the check_bytes and more bin-buf refactoring
- Add __const to potential VTable Sections
- Add r2 iw and rabin2 -w to enumerate try/catch blocks
- Parse the try/catch info of methods in DEX files
build
- Fix android-static
- Delete prefix/ and fix static builds (missing libmpc.a)
- Fixes for the android compilations
- Add $onlydebug in sys/ios-cydia.sh
- Towards emscripten build fix (update sdb)
- Enable ASSERTS on all travis builds, to avoid confusion
- mesonbuild: Backport to python 3.5
cons
- Make click and drag work on Windows
- Fix #12921 - Impl. r_cons_arrow_to_hjkl for Windows
- Fix scrolling directions in the hud
- Implement RCons.echo() and use it from r2.cmd("echo64")
- Fix grep in tasks
- Fix #11396: Integrate dietline with the hud
- Fix for RCons.html when no color is used
- Add example file for the pri command
- Add pri command to print raw images in RGB (using stiv code)
- Introduce ?e= and ?ed to print progressbar and 3D donut
- WIP: Initial support for rotozooming strings via ~<zoom
- Initial implementation of the human friendly json indent {:
- Fix #9269 - Initial Implementation of vi mode
- Enable click mouse input on Windows
- Add mouse click support to VTE terminals. Hopefully fix others too
- Click toggles cursor, make panels click mode more consistent
- Add RCons.get_click(), initial integration in visual and panels
- Initial support of mouse wheel+click
- Improve the ayu theme
- Clear also attributes on screen clear under scr.ansicon=0
core
- Handle ^C in repeated commands
- Implemented head and tail commands
- Alphabetically sort more help messages and fix /ac/aa help msg
- Fix i subcmd help grep
- Initial implementation of calling the r*2 commands natively from inside r2
- Expand on FreeBSD>=10 sandbox handling
- Add -qq to force quit. Avoid the -qcq confusion
debug
- Windows native debugger refactoring
- More fixes to WinDbg (#14675)
- Step over rep and repne prefixed instructions with dsui
- Fix breakpoints handling for FreeBSD
- Fix single-step in the iOS-arm64 native debugger
- Fix xnu_thread_get_drx for iOS/arm64
- Honor SWI for step-over
decompiler
- Add support for the native r2ghidra plugin detection in cmd.pdc
disasm
- Don't show function name comment in Visual mode
- Fix #14655 - Improve asm.pseudo for Dalvik
- Demangle xrefs if asm.demangle=true and use '@' for xref locs
- Fix #14622 - Skip reflines on non-executable offsets
- Respace demangled c++ names
- Do not asm.describe metaa .dwords
- Find relocs at instr. location first, then the dest
- Kill MOV/LEA comments
- Implement global imports (aii) and improve disasm-print-instruction code
- Implement 'function imports' concept (afii command)
- Add some SuperH opcode descriptions
fs
- Improve R_FS via IO
graph
- VV<> draw refs/xrefs graphs for visual navigation
- Implement icg to create class graphs
- Honor utf8 in diagonal graph lines
- Fix #14553 - Use HtUP to store canvas attributes instead of a sorted array (#14556)
- Add graph.body and graph.bubble config vars, move sin/cos into r_util
- Initial implementation of RConsCanvas.circle and bubble graphs
io
- Fix timeout issue in http.get
- Better use of perm/mode names in R_IO
mount
- Autocompletion for mount commands
mouse
- Improve mouse support in visual prompt
panels
- Drag and resize the panels with the mouse
- Add aflm and handle : as separator in click
- Handle click on toggle cache, frame title and screen borders
- Add tiny graph in panels and simplify the code a bit
- Show all the decompilers output at once
- W + hjkl just works like Ctrl w + hjkl
- Seek by clicking the offsets on Function Panel
- Right click is supported to open " widget
- Wheel is supported
- Mouse supports the menus which have spaces in their names
- Mouse kind of works on the menu, still lot to work on
- W + h/l moves the current panel to the direction like vim does with Ctrl W + h/l
- Introduce scr.demo to add effects in panels enter/exit
- Fix word highlighting with mouse in panels
- Cache the pdc outcome for each function
- Handle mouse click on panel tabs and select frames
- The 'g' key seek to highlighted address in current panel
- Highlight words onclick in panels
- Fix #14468 - Add pdsf panel for the " widget
- Initial support for saving the layouts with the names feature
- Unsync the base offset of each tab
parse
- Add r_parse_ctype
- Fix aho being ignored by asm.tabs
r2pipe
- Enlarge RLang.cmd() to 8KB length commands
- Improve decompiler integration 'pdc?' -> '!*%s -h" ..
- Interpret .c files as #! via -i
search
- Skip PAC instructions in rop searching
- Skip ROP gadgets starting with RET
- Fix #14585 and #14584 - /c->/a* /C->/c /B->/mb /M->/mm - better help msg and autocompletion
types
- add tlj and tllj
- Fix #11404 - Implement "afsr" to change function return type
visual
- Visual Help colorized
- Improve the visual browse classes mode (vbc)
- Initial mouse support for visual tabs
- vda is an alias for vA
wasm
- Few memory leak fixes
- Copy the symbol id instead of reference
write
- Implement wao for dalvik
To Review
- Release 3.7.0 - TopHat
- Use RFlag.list() instead of .get() avoid false positives (#14735)
- Fixx oobread in flag.c (#14728)
- check for null
- Fix #14732 - Fix out-of-bounds read
- Better gameboy theme
- Fix #14696 - Fix p= in utf8 mode recent regression
- Fix edge detection for click and drag
- Fix a bug where a drag event could be initiated outside an edge
- Fix not being able to select the menu any...
3.6.0 - EGO
http://radare.mikelloc.com/release/3.6.0
Release Notes
Version: 3.6.0
From: 3.5.1
To: 3.6.0
Commits: 365
Contributors: 30
Authors
- Наташа [email protected]
- Alex Gaines [email protected]
- Anton Kochkov [email protected]
- David Carlier [email protected]
- Dorian Wouters [email protected]
- Florian Märkl [email protected]
- Francesco Tamagni [email protected]
- Giovanni Dante Grazioli [email protected]
- Grant Douglas [email protected]
- GustavoLCR [email protected]
- Itay Cohen [email protected]
- Khairul Kasmiran [email protected]
- Lowly Worm [email protected]
- Maijin [email protected]
- MapleLeaf-X [email protected]
- Martin Brunner [email protected]
- MatejKastak [email protected]
- Paul I [email protected]
- Purdea Andrei [email protected]
- Riccardo Schirone [email protected]
- Srimanta Barua [email protected]
- Vanellope [email protected]
- Yevgeny Pats [email protected]
- bart1e [email protected]
- condret [email protected]
- dodococo [email protected]
- erfur [email protected]
- pancake [email protected]
- ricardoapl [email protected]
- vane11ope [email protected]
Changes
anal
- Fix syscall resolutions for s110 operating system
- wzr/zr/xzr register on arm64 is wired to ground
- Fix naming of entrypoint symbols in files with class information (DEX/C++)
- Fix #13668 - Implement
a*as an alias forafl*;ah*;ax* - Fix and improve ESIL for arm64
- Fix #10567 - Implement
afl.command - Fix
afl*not saving function bits - Add experimental `axm command
- Implement refs for iget/iput Dalvik instructions
- Implement esil for OR and MUL dalvik instructions
RAnalOp.Type.CAST.toString()and implicit refptr init- Improve
afperformance affected by `aflc - Honor R_ANAL_OP_MASK_ESIL in
anal.dalvik - Improvements in dalvik analysis
- Add Stackframe Anal Hint
- Add opcode mask field in
aoandaoj - Add opcode description in
ao - Show pseudo in
aoandaoj - Improve anal and parse plugins for Thumb
- Implement ESIL for stxb and stxh THUMB instructions
- Fix issue when analyzing the last DEX method
asm
- Handle LEA operand rip in x86.nz
bin
- Fix code section size in dex files
- Handle mod_init/mod_fini as word sections in mach-o
- Handle the interpos section as words in the disasm
- Fix ObjC detection in macho binaries
- Get rid of the ELF-specific C++ detection
- Add
-Oa/l/ for macho to add libraries - Honor more segments vs sections, for jmptbl, fatmacho, zeropage
- Fix
iS/iSSin macho and kernelcache - For #14268: Implement ob= listing bin map coverage
- A couple of fixes for base address support
- Add missing ARM64v8 and ARM64e defines for the mach0 parser
- Kill RBinFile.objs RList
- Implement RBinFile.at and make it work with e bin.at
- Fix some RBin file format crashes
- Speedup loading fuzzed ELF files with huge nrel field
- Faster macho loading by reusing symbol parsing for getMain()
- Remove symbol table size hard limit in macho
- Fix regressions in dyldcache and xnu_kernelcache plugins
- Completely eliminate the bytes apis in RBin
- Fix #14147 - Honor
-qqfor classes and imports - Initial extermination of the *_bytes methods in RBin
- Fix #12600 - Implement
.ic**command to import bin.class info as anal.class - Handle DEX files with no entrypoint properly
- Properly handle ELFs with no entrypoint defined
- Little ELF segment labelling change UNKNOWN -> NONE
build
- Continuous Fuzzing Integration with Fuzzit
- Add sys/build-shlib.sh and fix static builds
config
- Improve the list of supported decompilers in
e cmd.pdc=?
cons
- Little va_list leaking
- Fix #14046 - Don't use ansi with
aaanotifications if no ansicon - Add bold to
eco brightitems that were originally bold in default palette - Fix #14254 - Add
eco bright(r2 default palette but with bright colors for all) - Add bright colors to the colors table
- Fix #14101 - Fix non-ansicon UTF printing
- Fix THE glitch affecting panels box colors
- Default to
scr.color=COLOR_MODE_16for Alacritty on Windows - Dfferent color for up and down in disasm reflines
- Implement
resetcommand to reset the terminal settings - Enable color prompt on Windows
- Fix Color_GRAY/BGGRAY
- palloc return checks
core
- Fix #14335 - Add
sort,joinanduniq - Simplify RConfig.eval and improve e with e, for csv
- Add r_sys_exit to proper quit
- Honor hashbang and PATH when interpretting extension-less scripts
- Honor ^C in
@@@Fand@@@s - Implement
$Ovariable pointing at cursor - Implement
|.(alias for.)
debug
- Improvements to windows heap parsing
- Set
cmd.gprompt=.dr*whencfg.debug=true - Initial implementation GetSingleBlock for Windows heap
- Initial implementation of heap parsing for Windows (#14218)
debugger
- Improvements to windows heap parsing
disasm
- Avoid printing nulls on invalid code or missing bin info for Dalvik
- Add
asm.movleaconfiguration option - Improve comments alignment in the disassembly
- Fix arm64 parse for BL instructions
- fix, improve and add some sh pseudo
- Support
asm.hint.pos=-1for leftish key hints - Initial cleanup in RParse, delete mreplace plugin
- Toggle
asm.dwarfinV#andpds - Add support for base64 in
CLcommand - Faster
dtd(trace disassembling) using API instead of RCore.cmd - Fix #14258: Issue with upgoing refline at XREFS
- Fix
CLcommand and make asm.dwarf work without source files - Fix
asm.varsubin a hacky way to fix the disasm output - Fix project's
asm.cpubehaviour - Priorize strings in case multiple metas match
- Set the RBinSection.format as dwords for the constpool in DEX
- Initial import of the RISCV capstone plugins for asm and anal
esil
- Skip {urc}{jmp,call,ret} in
aesou - Fix issues with negative
esil.timeoutvalues - Fixes related to ARM64 ESIL emulation
- Make
$r{}work without the debugger - Add
cmd.esil.stepoutto run r2 commands (before and after emulation) - Fix recursivity issue when calling
aesincmd.esil.step - Fix
cmd.esil.stephandling of return value
graph
- Implement
fgcommand to create a graph of flags (WIP) - Implement
graph.ntitlesto toggle graph title nodes
hash
- Initial implementation of pasasword generators under
/Cc - Fixes for fletcher8
- Add support for fletcher8, 16, 32 and 64 hash algorithms
heap
- Implement GetSingleSegmentBlock for LFH and VS Windows heap
json
- Use asserts in pj api to catch this issue earlier
meta
- Fix
CC-,CC-*andCCf- commands to work as expected
network
- Handle R2_CURL env var in RSocket.httpGet
panels
- Add more configs for disassembly are supported in the menu
- Emulate menu is added
- Settings menu is added, and decompiler is configurable in there
- Something like Ctrl w + T in vim implemented
- Almighty menu has got debug items too if it is in debug mode
- Search->Cursor->Xref/Ref enabled
- Cursor works better in many panels
izz~andiz~available from both the menu and " modal- Force cache the result of Decompiler and Graph panels plus better auto updating, and refactoring
- Cut out the widget as a struct and name it Modal
- Enable deleting an item from the list in " widget
- New item can be created and inserted to the '"' widget.
- Centered the '"' widget plus v and h commands are added to it.
- Added l command to the console which works like Ctrl l and Refactoring
- dwm style default layout
- Implement Console frame in visual panels
- Enable creating a panel from the list of all kind of the panels and replace the current panel with it
- Autocompletion is supported for Breakpoints and so is cursor to seek to and del them
- Cursor is available in strings panel
- Cursor is supported in Symbols panel
performance
- More code cleanup in RBin, speedup method resolution
- Honor
hex.sectioninprcandpxa - Implement
pVcommand - likepvbut for bytes instead of values - Fix
pv [arg]behaviour - Added support for
pdandpxwithout space - Honor
hex.sectioninpxWandpxQ - Honor
hex.sectioninpxb - Improve
pxrfor null words and relocs and usehex.sectioninpxs+pxr - Fix #14250 -
ps[puzwW+]j - Fix #14263 - Add
hex.sectionoption for the hexdump - Add Objective-C and Rust (
pco,pcr) - Add Kotlin, Java and Swift
pcsub-commands
r2pm
- Honor the 2nd arg of R2PM_TGZ with ZIP files
refactor
- Change the signature of r_str_trim to avoid confusions
- Deprecate the RBinObject.id field
- Rewrite the RBuffer API to make it safer and adjust the codebase
refactoring
- Deprecate the RBinObject.id field
remote
- Improve the
r2web://IO plugin and fix a couple of bugs in there - Speedup
r2web:// - Make -C http work like the tcp and rap remotes, expose the shell via ==
- Honor rap.loop in rap server and add examples in
=? - Fix issues with the tcp server
.:and=+tcp, use index instead of fd - Fix some UAF in rap server, handle HTTP over rap and tcp properly
search

