The NetBSD Project

CVS log for pkgsrc/devel/radare2/distinfo

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / devel / radare2

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.20 / (download) - annotate - [select for diffs], Mon May 15 19:05:33 2023 UTC (4 months, 1 week ago) by he
Branch: MAIN
CVS Tags: pkgsrc-2023Q2-base, pkgsrc-2023Q2, HEAD
Changes since 1.19: +3 -1 lines
Diff to previous 1.19 (colored)

radare: do the minimum to make this build on NetBSD/macppc.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Jan 28 01:28:42 2023 UTC (7 months, 3 weeks ago) by khorben
Branch: MAIN
CVS Tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1
Changes since 1.18: +11 -11 lines
Diff to previous 1.18 (colored)

radare2: update to 5.8.2

Changes in 5.8.2:

### anal

* Honor the micromips codealign, add missing =SN and cc
* Set indirect code refs from load instructions
* Make r_anal_optype_{to,from}_string use the same optypes array
* Rework of the function merging
* Add Plan 9 calling conventions
* Basic blocks are not modified if not initialized
* Add test for gb srcs/dsts json and valtype
* Fix multiple typos in ios-syscalls.txt

### analysis

* Make r_anal_optype_{to,from}_string use the same optypes array
* Rework of the function merging

### api

* Make r_str_casecmp() null-proof to fix weird crash on windows
* Implement RCore.cmdCallAt() + minor improve internal cmd calls
* Fix RFile.path() when $PATH contains no colon

### arch

* Add esil support for v850 ei and di instructions
* Add esil support for v850 reti instruction
* Add esil support for v850 stsr instruction
* Add esil support for v850 ldsr instruction
* Blindfix for a glitch in the v850 disassembler
* Simplify esil generation of v850 bcond instructions
* Add esil support for v850 setf instruction
* Improve v850 esil support and fix some related bugs
* Fix asm.cpu=? when using arch plugins
* Fix rasm2 -a mips{.gnu} -b16 -e -c micro -d '4fe5'
* Move mcore into the arch
* Support micromips on both gnu and capstone plugins
* Move anal.propeller
* Add micromips cpu for the mips.gnu plugin
* Move nios2 away from anal
* Register RArch plugins to be loaded dynamically

### asm

* Implement .extern directive in rasm2, fix other directives
* Fix ARM assembler for blt, ble, cmn, tst, and teq instructions

### bin

* Fix null deref assert in the TE parser
* Fix unnecessary memory exhaustion in the elf parser
* Fix allocation crash in bin.symbols
* Support elf-micromips auto detection
* DWARF5 line header parsing
* License Plan 9 code as MIT
* Add Plan 9 line number information
* Fix load address of arm64 kernel

### build

* Do not depend on strcasecmp in libzip, build fail on Centos7
* Upgrade v35arm64 to fix non-c99 compilation
* Update to the latest tinycc in the CI
* Remove the need for ios-include.tar.gz
* Use an authorized API call for the abi job to increase the rate limit
* Remove condition on 'linux-static' job
* Integrate ABI diffing into CI scripts
* Add --with-ssl-crypto, rename --with-openssl to --with-ssl
* meson: Install various missing files
* Use fakeroot if available when packaging for debian
* Integrate ABI diffing into CI scripts

### ci

* Upgrade CodeQL actions from v1 to v2
* Update the SPEC file and build RPM packages in the CI
* Update the SPEC file and build RPM packages in the CI

### crash

* Fix infinite loop and null derefs when calling pd from pd in Cr
* Blindfix with a hack and a workaround to fix an UAF in Cr
* Fix an UAF in the visual bit editor
* Fix null deref segfault in Vd1
* Fix UAF in oc
* Fix null deref in io.bank

### debug

* Fix #8992 - Apply command line settings before initializing debug plugin
* Add required A0 register into x86 register profile provided by GDB
* Use proper type for the XMM register inside profile recieved
* Implement dpt. command to print the current selected process

### disasm

* Optimize RAnal.kind() as its called many times with a large buffer from pd
* Bring back and improve the Cr command

### doc

* Reference abidiff's ci usage in doc/abi.md
* Reference doc/abi in DEVELOPERS

### esil

* Fix emulation of the arm64 tst instruction

### fs

* Improve json output for mlj - mountpoint type and delta

### globals

* Remove global in util/lib and just use RLogLevel

### indent

* Balance spacings in braces

### js

* Add experimental r2.cmd0 and r2.call0 for qjs
* Enable stack overflow check when recursive calls
* Improve error messages in the qjs repl
* Rename qjs's dir function to dump
* Support loading/unloading multiple QJS plugins
* Update typescript compiler and move r2plugin into r2
* Fix undefined behaviour in quickjs when casting double to int64
* Fix #21205 - Missing object definition for aoj
* Fix undefined behaviour in double->int cast
* Extra checks and enforce the singleton core plugin
* Improve typescript entrypoint logic detection
* Initial support for javascript core plugins
* Upgrade r2papi-ts from 0.0.4 to 0.0.10
* Support typescript Main namespace and pass --allowJs

### json

* Fix #21205 - Missing object definition for aoj

### lang

* Initial implementation of lang.s assembly scripting
* R_TH_LOCAL two globals in RLang.c
* Reestructure lib dependencies, add lang.asm plugin

### perf

* Massage the bottleneck that was making r2dec super slow
* Some more likely hints in RCore.cmd from valgrind

### print

* Fix pA and pA? (/A was moved into /a)
* Implement pvp and wvp to print and write pointers
* Fix fortune message for #md5 and add ph: variant of "ph "

### qjs

* Add QJS_NOABORT option to avoid aborts

* r2pm

* Improvements for r2pm when getcwd is null
* Add R2PM_NEEDS and auto-install system build deps if possible
* Fix git check before cloning the repo
* Fix R2PM_DEPS first time issue
* Report better errors on first r2pm setup
* Initial experimental support for portable qjs packages

### search

* Implement tire algorithm in

### shell

* Fix assert in ph
* Initial skeleton integration with GNU/Poke
* Fix profiling RCore.cmdCall() via ?t""
* Add help message for the quote command "?
* Implement LAj and LAq commands to list arch plugins
* Implement uname -h, -m, -b, -j ...
* Handle unknown subcommands for t
* pdrj shouldnt be modifying the current seek
* Add -j command as an alias for js:
* Add the ability to run qjs scripts with r2 -je

### slides:xa

* Improve r2slides with title, colors and 2 column mode

### test

* Update libfuzz build instructions
* Add the dwarf fuzzer program
* Add some test for ARM assembler

### tools

* Add R2_DEBUG_NOPAPI env var
* Show error when passing un-even hexpair to rasm2

### visual

* Fix (null) regression in visual bit editor's disasm
* Handle JK in bit editor to move 8 bytes fwd/backward

### vuln

* Fix ANSI Escape Sequence Injection vulns via DWARF

Revision 1.18 / (download) - annotate - [select for diffs], Wed Jan 4 01:48:48 2023 UTC (8 months, 2 weeks ago) by khorben
Branch: MAIN
Changes since 1.17: +7 -1 lines
Diff to previous 1.17 (colored)

radare2: remove requirement on Git to build

This removes the need to clone repositories to build radare2.
Thanks wiz@ for the heads up.

Tested on NetBSD/amd64.

No revision bump as the resulting package should be identical.

Revision 1.17 / (download) - annotate - [select for diffs], Wed Dec 28 04:36:55 2022 UTC (8 months, 3 weeks ago) by khorben
Branch: MAIN
Changes since 1.16: +6 -5 lines
Diff to previous 1.16 (colored)

radare2: update to 5.8.0

Changes:

  abi

  * RAnalOp.srcs,dsts are not pointers

  anal

  * Working apt and add apl to list function preludes
  * Rename axj to axlj, because axj is for jmp refs
  * Introduce anal.tailcall.delta and use flags for better metrics
  * Improve the tailcall detection logic
  * Improve warning that only seems to happen when anal.nopskip is set
  * Always show all the archinfo, even when not provided by the plug
  * Dont show analysis progress on non-interactive shells
  * Add esil.dfg.mapinfo and esil.dfg.maps config vars
  * Some more improvements to esil_dfg
  * Fix size returned from r_anal_op
  * Fix warning in aflj when parsing vargarg signatures
  * Add register computed const pointer support for esil dfg
  * Add memory computed const pointer support for esil dfg
  * Introduce R_ANAL_ESIL_DFG_TAG_{REG,MEM}
  * Use treebuf io plugin as memory access backed for esil_dfg
  * Fix pickle asm rejecting empty strings
  * Do not recurse noreturn inspection when !addr or -1
  * Generalize vector instruction types instead of following intel-specific
  * Add /au to search for unknown destination jmp/call
  * Add anal.noret and refactor anal.noret.refs
  * Fix #20827 - Show srcs/dsts in aoj
  * Fix aae argument parsing regression in and improve help
  * Add support for stack-computed const pointers in esil_dfg
  * Fix anal.a2f in aac
  * Increase default anal.depth from 64 to 128
  * Clarify which commands are used on each aaaa line
  * Fix anal.depth usage when analyzing one basic block
  * Loongarch analysis bug fixes (bl, race condition)
  * Implement aflxv and aflx? commands
  * Run /azq in aaaa
  * Fix long1,long4 pickle opcodes
  * Fix #20798 - Fix bx after add lr,pc,0 in arm32
  * Fix null pointer in aflxj
  * Implement aflxj
  * Add noreturn column in afll
  * Use RPVector in RAnalOp src/dst to support ldm/stm/simd
  * Fix pickle arch thinking 0 is 64 bit
  * Don't show the linearsize in the afl output
  * Add anal.vars.newstack - configurable improved stack-relative var

  analysis

  * Working apt and add apl to list function preludes
  * Rename axj to axlj, because axj is for jmp refs
  * Introduce anal.tailcall.delta and use flags for better metrics
  * Improve the tailcall detection logic
  * Improve warning that only seems to happen when anal.nopskip is set
  * Always show all the archinfo, even when not provided by the plug
  * Dont show analysis progress on non-interactive shells
  * Do not recurse noreturn inspection when !addr or -1
  * Generalize vector instruction types instead of following intel-specific
  * Add /au to search for unknown destination jmp/call
  * Add anal.noret and refactor anal.noret.refs
  * Fix #20827 - Show srcs/dsts in aoj
  * Fix aae argument parsing regression in and improve help
  * Fix anal.a2f in aac
  * Increase default anal.depth from 64 to 128
  * Clarify which commands are used on each aaaa line
  * Loongarch analysis bug fixes (bl, race condition)
  * Implement aflxv and aflx? commands
  * Run /azq in aaaa
  * Add noreturn column in afll
  * Add anal.vars.newstack - configurable improved stack-relative var

  api

  * Make RReg refcounted
  * Implement {ctz|clz}{32|64} RNum
  * Define RPluginMeta and RPluginStatus
  * Add new RCore.cmdCallf() helper function
  * Merge RParse into RAsm
  * Refactor RLang api to use the new design
  * Fix null deref on wrong api usage for RCore.cmdStr
  * Moving more logic between asm, arch, parse and anal
  * RAnalEsil -> REsil api refactor
  * Deprecate reil and sysarch defines
  * More refactorings and api redesigns in r_arch
  * Remove eprintf calls in favor of R_LOG
  * Implement RReg.clone()
  * Deprecate r_str_dup() - related to #20959
  * Rename RVector.len to RVector.length for consistency
  * Remove the unnecessary RThread.CpuAffinity()
  * Add portable NaN and INF defines for different float sizes
  * Deprecate r_cons_eprintf and use R_LOG instead
  * Rename RStr.home() to RFile.home() as part of the Plan
  * Rename r_mem_memzero to r_mem_zero
  * Prefer _tostring() instead of _to_string()
  * Improve r_ref implementation with debugging support
  * R_BIN_NM -> R_BIN_LANG
  * Implement thread-safe refcounting - but disabled by default
  * Deprecate the unused RFList
  * Implement r_str_ntrim() and speedup r_str_trim() with it
  * Initial implementation of RString (30% faster than RStrBuf)
  * Implement r_sys_getenv_asint
  * Add r_cons_is_initialized
  * Boolify r_core_yank_file_all() and fix shadow var bug
  * Add r_file_is_executable and r_file_extension apis
  * Fix UB bug when using r_vector random access
  * Change R_LOG_INFO to R_LOG_TODO where suitable
  * Merge rhash into rcrypto and improve apis
  * Fix memory leak in r_str_list_join()
  * Boolify and rename some methods and fields from RFS
  * Add .author field in all the RLang plugins
  * Add a public api for the yank-unset action
  * Constify the help

  arch

  * Add the arch.preludes() callback and new RSearchKeyword constructor
  * Move anal.v850 to arch
  * Fix counted string bug in pickle
  * Fix negative unsigned cast in the xtensa disassembler
  * Add RAnalOp.weakbytes() and move more analop apis to arch
  * Move anal.xap into the arch
  * Update tests and better arch.patch/modify callback
  * Move anal.{6502,snes} into arch
  * Kill RAsmOp, we can reuse RAnalOp in here
  * Improve pickle disasm on invalid instructions
  * Remove RAsmPlugin struct and add the 'aia' command to show archinfo
  * Move the remaining asm plugins into the arch
  * Minor plugin selection improvements
  * Move asm.nasm into the arch
  * Move asm.vasm into arch.any_vasm
  * Assemble large pickle instructions
  * Fix and move failing tests, reorder lib build
  * Move the arm assembler plugin from asm to arch
  * Temporary add RAnal as dependency for REgg
  * Improve x86.nz assembler parsing and other bugs in rnum
  * Initial implementation of the arch.any.as plugin
  * Better handle of RNum errors for egg and arch.x86.nz
  * Support reg+idx and idx+reg in x86.nz assembler
  * Move the x86.nz plugin
  * Fix asm.acur supporting arch, anal and asm plugins
  * Fix asm.acur supporting arch, anal and asm plugins
  * Move anal_riscv to arch_riscv
  * Fix rasm2 -LLL using the new multi-bits macros
  * Introduce RSysBits and its packing/checking macros
  * Implement archinfo() in RAnal.Plugin.tms320
  * Deprecate the unused RArchPlugin.esil field
  * Use PJ to return the list of mnemonics aoml in arm.v35
  * Move anal.rsp to the new home
  * Move anal.v810 into arch.v810
  * Move pickle from anal to arch and add it to meson
  * Remove anal.malbolge and fix CI r_esil issues
  * Move the 'sh' plugin to the new home
  * Honor plugin name in rate matching for RArch.use
  * Move jdh8 from asm/anal to arch
  * Unify RArchOp into RAnalOp using common include files
  * Fix RArchOp.refptr from bool to int
  * Bump cs5 to support FNOP on m68k
  * Wire-up RArch into RAnalOp
  * Fix arm64 plugin to work well with latest arm64 changes in capstone
  * Use the latest capstone5-next with updated aarch64 support
  * Copy anal_amd29k.c to rarch
  * Change arch plugin definition
  * Add some more arch config vars
  * Introduce arch.endian config var
  * Instantiate RArch in anal
  * Introduce RArchConfig->decoder
  * Add R_LIB_TYPE_ARCH and i4004 arch-plugin
  * First arch plugin (arch.null), implement basic lib api
  * Start moving EVM analysis from extras to core
  * First implementation of r_arch decoder api
  * Introduce the new r_arch library, just the skeleton
  * Add some r_arch api declarations
  * Initial commit on RArch structs

  asm

  * Deprecate more unused fields from RAsmPlugin
  * Fix the parse.z80.pseudo plugin and add a test
  * Remove the unused RAsm.binb
  * Internal cleanup of asm.c, deprecate the disassembly callback
  * Load cpu descriptions for multiarch plugins
  * Fix rasm2 x86.nz for "xchg eax,eax" and add tests

  bin

  * Fix JSON encoding of section addresses
  * Add test for cwd source listing, CLL and list
  * Add warning when loading DWARF5 files (not supported)
  * Add test for the obm with CL, support noncwd paths
  * Use obm when spotting a companion dwarf file on macOS
  * Implement RBinFile.merge() and obm command to use it
  * Initial implementation of the ob-- command to close the last binobj
  * Autoload the dwarf companion file on macOS systems if available
  * Use rabin2 -rO for raw dump operations
  * Use glob expressions to specify section name to dump
  * Fix #14540 - klass->super must be an RList instead of char*
  * Support for Xbox 360 PE32 architecture (PPC BE)
  * Fix wrong detection of main in elf-arm32
  * Fix rabin2 -gj and add tests
  * Add bin.types and disable by default for CI reasons
  * Support loading Plan 9 kernels
  * Use API instead of commands to autoload a pdb
  * Fix #21020 - fix json format for rabin2 -jM when no main is found
  * Expose section type for coff, elf and macho formats
  * Fix #18375 - Only patch arm64 relocs when not initialized
  * Add experimental bin.str.nofp config for less false positives
  * Parse the PT_DYNAMIC elf section for the preinit pointers
  * Fix validation check in xnu
  * Initialize macho header pf definitions
  * Speedup class bin loading with bin.filter=false
  * Implement 'ic.' command
  * Fix initial seek for Rosetta2 aot binaries
  * Silent noisy warning in dwarfprocess
  * Expose klass->super details for objc categories
  * Include fields in the ic output
  * Enable the swift metadata parser by default and import classinfo
  * Add lang field for classes, symbols and methods, expose it via ic
  * Warn about unpatched relocs when no bin.cache is set for macho fixups
  * Add support for 32bit Mach-O fixups
  * Expose the macho reloc fixups and use internal buffer for parsing
  * Fix obf and add tests for it
  * Fix Cd4[ invalid syntax used in macho _const section
  * Expose the id_dylib macho command info into the bin kv
  * Enlarge the c++ demangler stack limit to solve a warning
  * Implement Dwarf.register identifier mapping for v850
  * Infuse asm.cpu from the elf flags for v850 ELFs
  * Remove asm.features, improve RBinInfo with flags and abi details
  * Improve brainfuck detection to reduce false positives
  * Implement dwarf.regName() for arm64
  * Import the free pascal symbol demangler from rizin

  build

  * Double lowerdash defines should be defined only by the compiler
  * Fix and improve static build, faster libr.a with libtool if available
  * Improve libr.a creation with ar -rcT instead of ar -x
  * Speedup tcc builds by not using -g
  * Move esil one level up in libs.mk
  * Update sdb to remove double include paths
  * Fix compilation with -lcrypto
  * Do not use macos-latest (macos-11 is fine for LTS)
  * Update the capstone4 support to 4.0.2
  * Fix zig's @Cinclude of r_th.h
  * Add crosscompiling support with sys/zig.sh
  * Do not install the v35 archives (-50MB) in make install
  * Fix capstone dynamic memory allocation setup issue
  * Support sys/debian.sh crossbuilds
  * Remove unused lc-printscan-long-double wasi flag
  * Check if CWD contain spaces in sys/install.sh
  * Add the acr --enable-threadsafety flag and the same for meson
  * Fix meson infinite loop
  * Disable libuv by default on meson and acr
  * Change build order as long as now bin depends on fs

  ci

  * Test r2 build with all sysdependencies enabled
  * Upgrade al-cheb/configure-pagefile-action to the v1.3
  * Run unit tests in parallel
  * Upgrade github actions/checkout from v2 to v3
  * Upgrade actions/upload-artifact from v2 to v3

  cmd

  * Fix bugs in aeg command parser

  config

  * Deprecate the use of comma in e: as stated in the r2580 prophecy
  * Deprecate graph.web eval config var
  * Remove the file.offset unused config variable

  cons

  * Fix static themes listing
  * Add support for statically compiled themes
  * Fix Ctrl+Arrow dietline shortcut for word cursor
  * Fix console history log path regression

  core

  * Enable cmd.undo by default
  * Rename many bin.str evars into bin.str.
  * Use XDG instead of R2_HOME_CACHEDIR and R2_HOME_HISTORY
  * Initial support for XDG env vars and paths
  * Fix RConfig.setB when the key doesnt exist
  * Deprecate scr.seek configuration variable
  * Initial implementation of R_LOG_TODO

  crash

  * Fix segfault in poa 1
  * Fix integer overflow in fuzzed dwarf rendering in graphs
  * Fix use-after-free after @@@e spotted by meme
  * Fix UAF in aaft when the BB is removed during the loop
  * Fix UAF on quit exposed by r2frida

  crypto

  * Initial abi breaking changes in RCrypto/RHash
  * Fix rahash2 -L listing full hash
  * Initial work on the way RCrypto handles plugins
  * Separate SM4 algorithm from plugin
  * Implement the SIP hash algorithm

  debug

  * Bring back the 'dms' command
  * Fixed incorrect thread arena output
  * IO uses PID to read from child, tid is just for regs
  * Fix r2 -d foo\bar.exe and r2 -d bar.exe on windows
  * Make RDebug.regRead() and regWrite() return bool

  decompiler

  * Improve the outpuf of pdc by trimming the addresses of inline nops and colorize numbers
  * Add colorization support to pdc output

  disasm

  * Implement asm.bytes.align to justify them to the right
  * Fix char auto-comment in cmp instructions
  * Improve pseudodisasm for arm64
  * Improve arm.pseudo when no function information is available
  * Fix mips.pseudo shortpath when function is null
  * Fix x86.pseudo shortpath when function is null
  * Fix NULL function xrefs in pd
  * Implement asm.flags.right option
  * Add dummy parse.evm plugin to fix portability of test
  * Add a dummy bpf pseudo plugin
  * Add RParse.justify() to easily fix commas and spaces
  * Better spacing in arm.pseudo parse plugin

  esil

  * Initial support for threads in esil
  * Fix #21052 - wrong emulation for pop rsp
  * Move anal.esil into the new esil
  * Add aegb command as an alias for 'aeg pieq $Fi'
  * Add aegn command to combine N esil instructions into one dfg
  * Use a function instead for the spaguetti code in all cmp esil opcodes -30LOC

  globals

  * Remove one global variable in RCore.cmdEval()
  * Remove two globals from RCons.cpipe
  * Remove the 3 globals in anal.xtensa
  * Remove 3 globals from anal.tricore
  * Remove the 3 globals from anal.vax
  * Remove 3 globals from anal.nios2
  * Remove 3 globals from anal.arc
  * Remove 3 globals from anal.sparc.gnu
  * Remove 3 globals from anal.sh
  * Remove 3 globals from anal.alpha
  * Remove 3 globals from anal.lanai.gnu
  * Remove 3 more globals from anal.pdp11
  * Remove 3 globals from anal.hppa
  * Remove 3 globals from anal.m68k.gnu
  * Remove the 3 globals in anal.ppc.gnu
  * Remove 3 globals from anal.cris
  * Remove 4 globals from anal.mips.gnu
  * Deglob 4 vars in the arm.gnu disassembler
  * Remove 3 globals in s390.gnu
  * Remove 10 more globals from analysis and capstone
  * Remove 3 globals in ccarg analysis
  * Remove all global variables from RCrypto
  * Move colortable global into the RConsContext
  * Remove global from utf8
  * Remove the last global variable in libmagic
  * Remove in_log_process global
  * Remove global in bin.obj.reloc_patch
  * Remove global variable in esil loop

  graph

  * Initial work in graph.bubble for custom bg color in nodes
  * Honor graph.layout in aegv too, instead of harcoding horizontal one
  * Deprecate aegi and aggi, those were dupes for aegv and aggv
  * Fix null deref in agg and avoid destructive manners of 'V ,'

  help

  * Make the anal.depth warning more useful

  indent

  * Balance spacings in braces

  io

  * Initial implementation of the generic io-stream api
  * Fix UAF in streaming io plugins when used with io.va=1
  * Remove invocation of v layer cache in r_io_desc_read
  * Start rewriting io_cache.c
  * Kill r_io_read_at_mapped
  * Initial import of the serial plugin
  * Kill io->buffer
  * Remove unused fcn declarations
  * omfg runs omm if no map is set
  * New o++ command to create and open a new file
  * Add "reset" system command to treebuf io plugin
  * Minor bugfix in treebuf io plugin
  * Add treebuf io plugin
  * Fix free-before-use on r_io_reopen of a rbuf:// fd/desc
  * Handle reloc maps properly in r_io_map_remap and r_io_map_resize
  * Fix reloc map memleak
  * Add rio reloc maps
  * [5.8.0] Disable the default io.basemap

  json

  * Fix tj ttj tfj outputs
  * Fix invalid json in tj command
  * Fix #20772 - ihj rendering an invalid json because of pfj

  lang

  * Make r2 -j work as a hashbang handler for qjs
  * Enable BigNum in qjs
  * Use r2papi 0.0.4 with base64 and R2Api is now known as R2Papi
  * Add requirejs, simplify compilation and add js_ prefix to all the c files
  * Add typescript support
  * Minor improvements for js: with r2.call() and r2.cmdj
  * Enable Bignum support to the QJS interpreter
  * Import the alpha r2papi 0.0.2 api for qjs
  * Integrate the qjs repl into the js: command
  * Initial import of the interactive QJS repl
  * Import the quickjs rlang plugin
  * Implement py command and add stdin slurp support for js- too
  * Add 'js' and 'js:' commands, as well as improve help for #!?
  * Fix null deref in rlang
  * Add "lua" as an alias for "#!lua"

  leaks

  * Fix leaks in pdc
  * Fix more memory leaks in rbin and ranal for arm64
  * Patch more leaks in the analysis and rbin
  * Some safe memleaks related to analysis and registers refcounting
  * Fix memory leak in dietline

  lint

  * Enable the leading spaces linter rule and fix them all
  * Use more tabs and add a (disabled for now) linter for it

  logs

  * Redirect RLog messages into the Corelog
  * Add base64 support to the T and T* commands

  panels

  * Add ve command to set fg/bg colors for current panel

  print

  * New RPrint.spinBar() API used from scr.demo for now
  * Fix pcc trifids confussion issue
  * New command CLL (aka list) show function source using addrline (dwarf) info
  * Fix #21080 - Add cfg.codevar to change the buffer varname from pc
  * ASN.1 and x509: correct OCTET_STRING and Public key info parsing
  * Add ASN1 Algorithm Identifiers for Edwards curves
  * Fix #20993 - Correct ASN.1 BIT_STRING parsing
  * Implement pcn command to print bytes as space separated numbers
  * Add support for the swatch dot-beat internet time
  * Workaround for "too large buffer" in formats
  * px* is an alias for pc*
  * Implement pFoj command
  * Implement pFaj for asn1 json decoding
  * Initial refactoring/cleanup of ASN1 parser api
  * Add pFxj command to print x509 certificates in JSON format
  * Add pFpj command to print PKCS7 files as JSON
  * Fix issue in 'pdc' that was showing empty orphan nodes
  * Implement new 'pcq' command, like pc, but inline-include-friendly
  * Implement the new pieb command as an alias for pie $Fi
  * Fix read buffer overflow in pxq -272
  * Implement pFbJ command with quiet and verbose json formats
  * Implemen pFbj for json printing of protobuf
  * Set hex.hdroff=true by default
  * Implement pFAj to render android xml in JSON (abi break)
  * Implement TSV output format for RTable

  projects

  * Fix some problems when renaming projects
  * Fix some bugs in projects
  * Quote commit message to avoid git error when saving project
  * @radare Do changes in Px->Pc, Pc->PS* as planned

  r2pipe

  * Check magic header before assuming an interpreted file is executable

  r2pm

  * Fix assert in Str.Trim() when r2 is not installed
  * Add support for tarball and zip packages
  * Honor EDITOR in r2pm -e
  * Remove all the references to the old r2pm.sh
  * Implement R2PM_FAIL and mark it as deprecation for r2-5.9.x
  * Implement r2pm -cp like it was in r2pm.sh
  * Fix clean installations with r2pm -c
  * Expose R2PM_SUDO and list R2PM_PREFIX in -H
  * Handle -HH in r2pm for verbose env listing and remove unused R2PM_GITSKIP
  * Fixes pull/install/uninstall on windows
  * r2pm -Ui can be combined now and fix extras package building
  * Honor R2PM_DBDIR env var
  * Honor -f in r2pm -U to force clean the r2pm db
  * Support XDG on r2pm and expose the PKG_CONFIG_PATH
  * Expose R2_LIBEXT for r2pm packages
  * Update r2pm manpage and add -q and -a flags
  * Show package source with r2pm -d
  * Implement r2pm -H to make more packages build
  * Fixes parsing the GIT URL on some packages
  * Test the new default native r2pm fix flushing and using RLOG
  * Make R2PM_NATIVE the default and provide R2PM_LEGACY

  r2r

  * Fix rvector assert when indexing empty ones

  refactor

  * Move the RParse.cparse into RAnal.cparse
  * Stop aeg from abusing agg
  * Rename R_ANAL_ESIL_DFG_BLOCK_ to R_ANAL_ESIL_DFG_TAG_
  * Rename EsilDFGRegVar to EsilDFGVar and introduce EsilDFGVarType
  * Avoid using RArchConfig->big_endian
  * Add addr_bits to RArchPlugins and make info and decode cbs cfg aware
  * Add archcond api to rarch, some small cleanup in anal
  * Make bitness, endianess and esil-support fields of RArchPlugin again
  * Copy value.c and op.c from anal to arch
  * Copy switch.c from anal to arch
  * Add some more typedefs and enums to r_arch
  * Rename r_arch_set_ to r_arch_config_set_
  * Rename R_ASM_SYNTAX to R_ARCH_SYNTAX
  * Simplify x86_cs BSR and BSF esil
  * Use r_strbuf_replacef in anal_mips_gnu esil generation
  * Use r_strbuf_replacef in anal_mips_cs esil generation

  rvc

  * Initial refactoring of the version control api
  * Move rvc from core to util
  * Fix rvc.commit when non-interactive with a default message

  scan

  * Fix crash in the swift metadata parser spotted by coverity

  search

  * Fix JSON encoding of unsigned search values
  * Fix /au after aeim
  * Fix /w and /wi, add tests, minor code cleanup
  * Add r_anal_optype_index to make /atl and /at use full listings of optypes
  * Support space separated instruction types and family in /at and /af
  * Improve json output for /asj and /atj
  * Fix calling /re twice after ^C
  * /az uses anal.in instead of search.in to improve scan results
  * Make /az faster after aeim, skipping unrelated regions
  * Fix last char bug in swift strings found with /az
  * Add x86-64 support to /az
  * Add flags under the asm.str flag prefix when doing /az
  * Honor bin.minsz in /az is no argument is provided
  * Implement /azq to search for assembly strings and add tests
  * Implement the new /az command to find assembly constructed strings
  * Superseed #20447 - remove some magic globals

  shell

  * Fix ?vi:123 and ?v:123 commands
  * Print whatever is taken from io_system to rcons
  * Fix runtime warning after leaving an rlang session
  * Add "" command to run RCore.cmdCall()
  * Fix #21136 - o <tab> autocompletion not working
  * Show help when using invalid subcommand of afi
  * Implement abo and afbo commands to list opcode offsets in function or bb
  * Implement o-. command, add help for future o-$
  * Expose RCore.cmdCall() and fix b64: command + add tests
  * Show number conversion error messages in ?v command
  * Fixes for the line editor using live save/load with new RFile apis
  * Implement oe command to open a file using cfg.editor
  * Add quiet and table listing for lang plugins
  * Implement Ll, Llq and #!?q commands for better rlang listing
  * Fix r2 /directory behaviour
  * Support $r:REGNAME syntax and document it
  * Implement cmd.usr1 and cmd.usr2 to handle signals on unix
  * Add #!qjs and #!tiny for autocompletion
  * Fix behaviour of -a and -b flags (no arg= show current, append? for help)
  * Rename the drm command to drv for consistency
  * Add -s -i -f r2 commands
  * Implement -a, -b, -c and -e commands in r2
  * Add tabhelp exception for pf.
  * Add r2 -LL to list core plugins
  * Improve help message for f subcommands
  * Take into account static themes when listing
  * Add ot command as an alias for touch
  * Implement the ji: command as an alternative to ~{} without cons filtering
  * Also handle (j) and (*), more syntax-consistent and add a test
  * Implement (j for json output of macro commands
  * Initial implementation of ?ie
  * Add missing help for the '?i?' command
  * Use RCoreHelp for /ca?
  * Fix #20760 - Implement native gron via ~{=}
  * Remove RPrintRowlog and use R_LOG isntead
  * Allow changing number of saved input lines
  * Implement log.source and log.origin
  * Add the new ucu and ucd commands using the new core-undo apis
  * Rename asm.{off} variables to asm.offset

  syntax

  * Move the preincrement and void arg from tests to lint.sh

  threads

  * Initial ref-counted RRegItems, needed for threadsafety
  * Move the readahead logic to a local variable
  * Guard more critical sections in cons and core
  * Analysis now waits in background for the bin parsing to finish
  * Add some RThreadLocks and start to use the critical sections

  thready

  * Dont call RCore.seek() and read a new buffer in disasm

  tools

  * rax2: corrects base64 encoding for null bytes
  * Fix r2 -2
  * Fix broken tests for long number conversion
  * Fix base64 null byte decoding bug in rax2
  * Implement rasm2 -LLL to list arch plugins
  * Add Ls to list assemblers, and LA to list analysis plugins
  * Bring back the r2 -t for parsing bin and analysing in background
  * rarun2 supports multiple preload directives

  util

  * Fix the XML parser
  * shlr/yxml -> libr/util/rxml - fork the abandoned yxml parser and expose it
  * Add RStr.ansiStrip() and RStr.insert()
  * Improve internal RBuffer API checks
  * Add log error when pj depth limit reached
  * Add R_SYS_BITS_12
  * Introduce R_SYS_BITS_4
  * Add :header and :noheader in RTable
  * Fix crash in r_vector_shrink
  * Minor COV fix in r_str_char_count
  * Fix return type of r_str_char_count
  * Add new RStr.replaceAll() api
  * Use R_PRINTF_CHECK for r_strbuf_replacef
  * Add r_strbuf_replace{f}

  vc

  * Initial rvc refactoring and cleanup of the api
  * Move rvc apis into callbacks
  * Make ravc2 accessible via blob and r2 shell

  visual

  * Use RAnalOp instead of RAsmOp in r_core_visual_bit_editor
  * Fix issue with cursor disappearing towards the bottom of the screen
  * Don't draw two cursors when too many bytes are on disasm panels
  * Make j/k movement in panels' cursor mode more consistent with it's visual counterpart
  * Don't skip byte when moving left/right in cursor mode (disassembly panel)
  * Fix pdc glitching in panels
  * Handle arrow keys in VT
  * Handle JK0 keys in VT
  * Honor cmd.vprompt and scr.notch in VT
  * RStr.wrap() supports ansi and use it in VT
  * Implement Tv command and use it from VT
  * Fix the cache and other bugs in panels
  * Override scr.maxpage in panels to avoid undesired prompts

  wasm

  * Upgrade to the latest wasi16 sdk

Revision 1.16 / (download) - annotate - [select for diffs], Sat Dec 24 12:44:15 2022 UTC (8 months, 4 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.15: +2 -1 lines
Diff to previous 1.15 (colored)

radare2: fix build by adding missing rpath

Revision 1.15 / (download) - annotate - [select for diffs], Wed Sep 21 13:49:39 2022 UTC (12 months ago) by ast
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3
Changes since 1.14: +5 -4 lines
Diff to previous 1.14 (colored)

devel/radare2: Update to 5.7.8 (codename "boredom") from 5.1.1 ("lasagna")
and fix build on pkgsrc / NetBSD 9.x.

5.1.1->5.7.8 skips a handful of bug-fixing and refinement releases
that happened between Feb 2021 and Sep 2022. Way too many changes
to list here - see https://github.com/radareorg/radare2/releases

OK-ed by wiz during freeze.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Oct 26 10:19:19 2021 UTC (22 months, 4 weeks ago) by nia
Branch: MAIN
CVS Tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip

Revision 1.13 / (download) - annotate - [select for diffs], Thu Oct 7 13:43:57 2021 UTC (23 months, 2 weeks ago) by nia
Branch: MAIN
Changes since 1.12: +1 -2 lines
Diff to previous 1.12 (colored)

devel: Remove SHA1 hashes for distfiles

Revision 1.12 / (download) - annotate - [select for diffs], Sun Mar 21 13:16:47 2021 UTC (2 years, 6 months ago) by leot
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2, pkgsrc-2021Q1-base, pkgsrc-2021Q1
Changes since 1.11: +5 -8 lines
Diff to previous 1.11 (colored)

radare2: Update to 5.1.1

pkgsrc changes:
 - Remove no longer needed patches: applied upstream
 - Use PRINT_PLIST_AWK so print-PLIST will generate proper PLIST

Changes:
5.1.1
-----
This is a minor bug fix release after 5.1.0 was out. But as usual it
comes with some new features! Contents are mainly bug fixes and
behaviour and abi compat should be fine 5.0.0, this is, all the built
packages for 5.1.x will work.

- New:
   * UDS Search: new `/cu' command search for UDS tables, code taken from
     binbloom
   * Color2g graph nodes
   * Visual Gameboy 2bpp Pixmaps: visual mode can be used to search for 2bpp
     bitmaps usually embedded in Gameboy roms
   * Encoding charsets
   * Reverse Shell: new `=r' command to get access to a shell on a machine under
     NAT or firewall

- Other Improvements
   * Analysis
      * Allow to analyze bigger functions by reducing the stackframe usage and
        using anal.depth better
      * Reclassify some AVR instructions away from SWI
   * Assembler
      * Improve .fill and rasm2 -hh with documented directives
      * Refactor and cleanup the z80 assembler
   * bin
      * Faster mach0 and dyldcache parsers
      * Fix iCj for mach0
   * build
      * Fix a credentials downgrade problem in Install.sh
      * Introduce w32 and w64 in the CI
      * Add Windows ZIP in the CI (#18310)
      * Assign radare2 binr target
      * Support statically linking system OpenSSL
      * Define PYC_ROOT and WASM_ROOT (#18290)
   * shell
      * Add print, println, and placeholder for printf and printfln

Revision 1.11 / (download) - annotate - [select for diffs], Tue Jan 26 14:25:00 2021 UTC (2 years, 7 months ago) by kamil
Branch: MAIN
Changes since 1.10: +8 -9 lines
Diff to previous 1.10 (colored)

radare2: Upgrade to 5.1.0

5.1.0 - codename lasagna

@trufae trufae released this 23 hours ago - 4 commits to master since this release
Release Notes

    Version: 5.1.0 (2021-01-26)
    Previous: 5.0.0 (2020-12-21)
    Commits: 291
    CommitsFromRizin: 35
    TotalContributors: 45

I will try to be more verbose with the release notes this time, it could help everyone to understand better the changes that happen, project directions and new features, as well as be more entertaining, even readable by Siri.

As I'm writing these lines I know I will be missing something, so please, if you think this summary is missing any important details let us know and our apologize in advance!
Updates from r2land
Contributors
Highlights

This release comes with a large list of bug fixes, many of them you may probably not even noticed, but some of them are important for users and packagers, it has been
tested on a large list of platforms, not just in the CI, but also in sparc, mips, powerpc and other funky hardware (Thanks @unixfreaxjp !). We are not forgetting the new Macs, and
this release comes with few fixes for fat binaries, kernel caches and arm64 floating point emulation (kudos to @mrmacete and @aemmitt-ns for them!).

Projects: One of the most awaited feature is now finally available for testing, the git
support has been enabled by default and some options and backward compatibility transitional
code have been removed. Please test this out and let us know if you spot any issue! thanks @trufae for this!

The CI have been rewritten for simplicity and it's now building and publishing Android, iOS, macOS, Linux and Windows artifacts on every commit, ASAN, LGTM and COVERITY are still there, but all jobs run in github actions.

Lots of improvements in the support for JSON have been added by @liumeo also, several memory leaks have been cutted down, which are always welcome.

Support for streaming large files over mg, and added support in r2frida is now available thanks to @as0ler!
r2wars

The r2wars game runs on top of r2, but it needs some tweaks for the esil vm to work,
this version optimizes this by checking configuration options outside hot loops.

    Cache cfg.r2wars value outside the eval loop

Those 'hacks' will be eventually removed when r2wars gets able to emulate syscalls,
traps and low level stepping for context switching at esil-expression level.

    Support sbfm/ubfm in arm64
    Initial support for arm64 asm extendtype
    Add test and update arm.winedbg (#18117)

The arm64 assembler has been extended support more instructions and be more formal and correct.

    Implement i4004 assembler

It's always great to welcome a new supported architecture for assembling code (disassembler for i4004 was already available). Kudos to Liumeo for this nice addition!
bin

    COFF: handle empty sections (#447)

    Dont demangle with libs unless requested

    Add bin.cache evar to use io.cache when bins need to patch relocs

    Fix Mach-O rebase on fat slices

    Add additional ELF header fields to rz-bin output

    Fix PE Delay Imports for multiple delayed DLLs (rizin)

    Lowercase DEX method attributes and move r_num_bit_count()

    Initial implementation of the DEX annotation parser

The DEX annotation metadata is now parsed in the DEX plugin, this means, that parsing is actually a bit slower (it's parsing more information) but provides more context and information of the application classes and methods. Use bin.verbose=true to get that information.

This metadata must be imported into r2 somehow, but this interface hasnt been defined yet, so only plaintext representation is supported at load time. Probably finding a good tree representation for an Sdb instance could work.
radiff2

    Add more checks on the passed files and fail early.
    Honor graph.font in diffing graphs too
    Remove buggy Levenshtein diff algorithm and rename the original code

Some confusing usage and documentation have been updated and the default diffing algorithm is now faster. (Thanks MaskRay for spotting it and Liumeo for massaging it)
ci

The whole CI scripts have been rewritten to run everything in GithubActions, and adjust the test of PRs to 20min, ASAN is only running in master (takes 1h), and every commit is compiled for linux, macos, windows, ios and android. No breaking commits can be merged. And all artifacts are available to download for every single commit and architecture.

As long as the Sanitized build takes 1h to run the testsuite we decided to make it run only in the master branch, if any regression happens there it's easy to fix with the crash logs in GHA.

This is the setup of jobs in the current CI:

    Add android-arm64 target to build release artifacts
    Add TCC ci task which is able to build and run the testuite
    Added cydia builds for arm64
    Add job to test build and install with spaces in builddir and installdir
    Add job to test install, uninstall, symstall for proper purgation and avoid disasters
    Fix the badge in the README
    Add asan ci job to run all fuzzed bins with a sanitized build (takes 1h)
    linux-test builds with acr and takes about 20min to run all tests
    CoverityScan service find vulnerabilities with advanced source code analysis.
    LGTM service spots static source analysis good practices
    Initial attempt to switch to Capstone 5, needs more

RTable

    Dashes in RTable with X format
    Implement RTable:sql and add RTable.name

You may not know about RTable yet, but it's an api and command modifier that will be used more and more over time. In short, RTable provides an API to create tables with columns with types and rows with data and an api and query syntax to operate over those tables in the same way as you would do in an SQL database but using the cryptic syntax of commands we like in r2land.

This release introduces a new output for SQL. This means that any information stored in r2 can be exported in SQL statements and processed in your favourite SQL database. This is an example usage:

$ r2 -AA /bin/ls
> afl,:sql > functions.sql
> !sqlite3
sqlite> .read functions.sql
sqlite> .tables
fcns
sqlite> select count(name) from fcns;
128

RISCV

    Fix #18212 - Detect RISCV gdb servers
    Add riscv in RSysArch and make it an enum, not a bitmask
    Update RISC-V ESIL with sign extention operator (#18109)

Native support for Linux/RISC-V is now available as well as remote debugging via GDB,
the ESIL emulation have been improved a little bit.
disasm

    Fix HUGE bottleneck in the WebAssembly pseudo disassembler and analyzer
    pd, is an alias for pdt (pdt will be removed soon)
    Honor meta size in asm.meta=false and add tests
    Fix #18202 - Large Cd truncates and crashes in pd
    Implement print disasm until optype

ESIL

    Fix x86_cs cmpbs esil
    fix x86-cs rep/repe/repne esil expressions

@condret find out (and fixed) a bug in the way rep instructions were constructed in ESIL in x86.

    Support arm32 esil stmib/ldmib
    Add sign extension assignment operator (#18092)
    Add floating point operations for emulation

Thanks to @aemmitt-ns (Austin Emmitt) for implementing support for floating point arithmetics in ESIL as well as adding support for most FPU instructions for ARM64. That's an important move forward in order to improve the language to handle more instructions and architectures.

A work in progress support for RIOBanks is not yet included in this release.
But hopefully in the next release @condret and @trufae will be manage to finish the new API and commands and integrate them into the ESIL to support memory banks in GameBoy emulation for example (as well as add support later for other archs).

    Add support for RAnal.ESIL plugins

Those new types of plugins are right now just a place holder to call init/fini and do whatever you want from there. But in the next release ESIL plugins will provide the ability to expose some functionalities to the ESIL VM, syscall implementations in userland, libc emulation functions, custom esil operations, hardware devices, etc. Join the Discord, Telegram or IRC channels to raise the topic if you are interested on more details.
fs

    Add support to stream files using mg (#18253)

This feature has been added pair to pair with the r2frida implementation, this
way enables r2 to download all the files and its contents without any file size
limitation from the remote device to your host. All the RFS plugins API has been
changed to if you are using custom RFS plugins you may take care of that.

Support for uploading is not yet implemented, but it is planned in the near future.

Thanks Murphy for that great contrib!
io

    Accept rwx argument in onn command
    Add onn command to fix custom map assignments

Those changes and new command are required for the projects to be able to save and
restore the status of files, binfile and iomaps in proper order and reference.

    Fix and refactor the ar:// plugin

The refactoring of the io.ar plugin spotted a regression in open_many() which is not yet
fixed, brave volunteers are welcome!
Projects

The most requested feature for r2 has been reworked to actually
make it work and improved several use cases that weren't handled
before:

    prj.git is now enabled by default if git is in path

this means that everytime you run Ps after saving the changes
in will prompt you for a commit message. The ability to rollback
to any previous state of the project by just calling git reset
and Po becomes very handy when bad things happen or you just
want to track your progress.

As long as projects are in plain text they are readable in git diff.

Improved support to ease the workflow to support multiple users sharing
the same project via git will be implemented in future releases.

    Handle io.maps and bin.segments in o* to handle custom maps in projects
    Add map name information in o* output
    Honor mapaddr for malloc in o*
    Save the write cache in projects

As long as the user can create custom maps on specific files, the projects
need to determine if there's any binobject associated with a specific
file for processing a map. This puzzle is solved by the o* command which
now prints the right commands to reconstruct the same IO environment starting
from a clean session.

    Reworked P command with RProject and prj.name integration
    dir.projects becomes abspath when set
    Fix projects by removing code and honoring prj.name
    Save the write cache in projects

The P command is now much more stable and all the subcommands work as expected, some tests have been added and project renaming can be done via command or via evar prj.name. The magic behind this evar-project-action is done by using the RConfig.getter APIs that have been there for a while but barely used, the value is updated at get time from the project instance details. This way it's possible to rename a project like this:

> e prj.name
test
> e prj.name=case1

    Tell the user that debugging projects don't work

Projects are working, but they are far from perfect, one of these missing corners is the
debugging support, the main reason for that is the lack of integration of aslr rebasing in projects, this will be eventually implemented, but for now it's better to avoid the user to mess the thing.

In any case, it's always recommended to have your own manually writen scripts to do setup some flags, memory patches or breakpoints, so you are more in control of what you run in a living process.

    Fix calling convention save/restore
    Print call convention once in afi
    Warn once about the missing anal.cc
    Use RConfigNode.getter callback in anal.cc to be in sync with k anal/cc/default.cc

Some improvements in the way calling conventions are handled inside r2 enabled the use of anal.cc like it's done in prj.name, with a 'live' evar. default calling convention is
defined by the architecture but can be redefined by the rbin plugin or the analysis information. In addition the user can also specify a custom CC for each function, all those details are preserved with the anal.cc evar and the tc and afc commands.

    Remove transitional projects code
    Remove file.path and file.lastpath and add RProject
    Remove the prj.simple option
    dir.projects becomes abspath when set
    Use UID instead of PID to identify the user to avoid changing projects everytime

Refactor

    Refactor tcc and afcl commands, improve help and JSON
    25 commits refactoring the code to use the formal PJ api to generate JSON

This includes honoring the settings defined by the user in the cfg.json evars,
this nice feature was introduced by @hexploitable in the previous 5.0 release.

[0x00000000]> e cfg.json.num =?
none
string
hex

Rizin

    Added support for regex in test output and stderr
    Massage RRegex to fix codingstyle and a null deref.
    This resulted in a cleanup and refactoring of RRegex

One of the changes introduced in Rizin is the ability to use regexps to check the output of an r2r test, but after doing some cleanup in the regex code some issues were spotted in the logic, so it's not encouraged to write tests using regexps yet. Unit tests has been added, but it still requires to be fixed.

The bugs are logic bugs, not exploitable, but some match expressions won't work. But at least the feature is in sync.

Other commits taken from RZ grouped by author are:

Paul I

    COFF empty sections
    memleaks in ophandlers
    rtable X dashes

xvilka

    part of the improvements for indentation

wargio

    avr anal warning due unpopulated mnemonic and further refactoring
    fix ao rjmp issue

ret2libc

    Fix misusess of r2 commands inside r2
    Use r_core_flag_get_by_spaces() in getFunctionName()

kazarmi

    Fixed AVR anal plugin warning due unpopulated mnemonic
    Fixing clang flow warnings (#321)
    Fix #rizin302 - Fix function modification detection false
    Remove all dead assignment detect by clang sa (#310)

yossizap

    Fix trace crash
    Add regex support in r2r

Florian

    Fix null deref in rbtree
    Implement delay imports in PE parser

shell

    Implement rax2 -I to convert from/to LONG and IP Address

Sometimes a shellcode or a piece of program is doing some operations with IP addresses and it stores the IP address on a 32 bit register value. rax2 now provides a handy commandline option to ease this conversion. This feature was already available as a hint for the disassembly to convert instruction arguments to ip addresses.

$ rax2 -I 192.168.1.32
0x2001a8c0
$ rax2 -I 0x2001a8c0
192.168.1.32
$

    Implement $i and $I numvars

Those two variables have been added in order to ease writing some scripts that navigate thru
the code moving forward and backward honoring the instruction boundaries of the current analysis information.

So $i is the address of the next instruction and $I of the previous. Things get more interesting when the braces join the game: Using $i{3} gives you the address of 3 instructions forward. and the same goes for $I{3} to go backward.

    Fix #18171 - Support RNum for syscall-name in asl command

The asl command has been modified to use RNum when parsing the argument, so its possible to
API

    Add RFile.new and RFile.move APIs
    RFSPlugin API has changed

Plugin delegates return int instead of RFSFile to avoid leaks and uafs, needed for streaming largs files over mg.

    New RAnal.ESIL plugins

Add esil.dummy in your plugins.cfg if the build fail with missing R_ESIL_PLUGINS error.
Visual

    Fix ecn (and VR) when no custom theme was set in .rc

In human words: rotating color themes is working again!

    Implement history filtering for dietline
    Initial implementation of r_cons_eprintf

This new API is wrapping eprintf() but its also able to buffer the
results and flush them after r_cons_flush().

FUTURE: The need for this API is to improve the r2pipe API and handle
a 3rd communication pipe to handle asyncronous error messages. This is
a long term plan and should be backward compatible, so no r2pipe scripts may break.

    Fix help rendering: avoid printing trailing whitespaces (#18115)
    Improve str.wrap, add cons.line and fix cons.printat glitch
    Fix #17940 - Show ConfigNode options when selected in Ve
    Box borders in graph and panels are now in yellow
    Update www/t from radare2-webui
    Fix cascading solitaire issue in panels menus
    Fix the 'c' cursor behaviour in disasm

Those commits improve the experience in panels, fixing an anoying
bug in the menus, improving the cursor mode. The default color
theme for the frames makes it easier the eye.

The heavy webuis were removed in 5.0, but we are still shipping
t/iled and p/anel ones, it's known that the webui repo needs some
attention
bindings

The bindings have been also updated with some more valadoc documentation
that can be read in here:

https://radare.org/vdoc

This documentation and API can be used for any bindings generated by
valabind, this is: python, nodejs, ruby, go, v, ... the work to stabilize
the apis in this module focused in RConfig, some fixes have been done in
this module.
security

As usual, every release of r2 comes with a large list of security vulnerabilities, bugs and crash fixes. The list below sumarizes the most relevant ones:

    Fix #18274 - Fix crash in r2 *.wasm
    Fix crash in XNU kernel parsing (no cache)
    Fix code injection vuln in .ic* with ObjC classes
    Fix trace crash caused by a mismatch between the register profile and op anal
    AVR: Fixed profile, (null) instruction and anal
    Fix potential null-deref in r_rbtree_cont_foreach()
    Fix crash when wasm file contains symbols with large names
    Handle ^C and fix ASAN crash in aeA command

build

    Disable AVR plugin from all static builds because of the duplicated symbols issue introduced in recent refactoring.
    Add r2.1 when installing with symstall
    Fix debugger build problem in android-x86_64
    Remove --without-r2r configure option
    Create dist/ to hold all the distribution build files

Merged some patches coming from Termux to improve the debugger support on android-x86. The r2r testsuite executable is always built and should be available to all the user installations.

Also, some issues has been fixed in sys/install as well as new CI jobs to verify no regressions happen on install/uninstall/spacesinpaths, etc.
config

    Fix some returns to fix initialization issues in evars
    Remove unused cmd.xterm and use * instead of strcmp for ?
    Support evar filtering in eq and check for bool type in RConfig.toggle
    Expose RConfigNode.options APIs to avoid messing with internals
    Count lines is a prefix operator
    Add a progress bar for when scripts are running
    Honor R2_CFG_NEWSHELL=0 to disable it
    Seek command ignores the tmpseek
    Add missing vars from ?$? in ?$ and sort them alphabetically



5.0.0 - codename: phoenix

@trufae trufae released this on 21 Dec 2020 - 298 commits to master since this release
r2-5.0

Commits: 510
Contributors: 65
Interface

    Added the Comma API
    Added r_str_wrap() and r_cons_printat() APIs
    Fix adding comments in panels
    Improved help messages
    Removed problematic fortunes
    Add ?et command to change terminal title
    Fix double-click issue in vte terminals
    Formalize the flag names and its filtering APIs
    Fix return code when using q!. Fixes r2pipe.go
    Add experimental asm.flags.real to get strings from bin.str.real
    Removed unmaintained enyo and panels webuis (-2MB)
    Set realname on all bin strings for better asm.flags.real when bin.str.real is set
    Fix ansi colors embedded inside json output formatting
    Improve socket and http server APIs
    Add opn/opr/opp commands to rotate between opened files
    Initial implementation of scr.cursor for keyboard accessibility in visual and panels
    Add asm.hint.call.indirect to make indirect calls follow the target address (#17968)

Performance

    Use sdb_set instead of sdb_querys (aaaa is 7x faster)
    Optimize IO.cache (makes bins with relocs much faster)

Signatures
Debugger

    Sync anal and debug tracing information
    Fix a crash in dts+ command with empty register arenas
    Attach to target pid/tid on remote lldb connect
    Add a warning when a breakpoint is placed in an invalid map
    Add commands to parse mangling pointers glibc heap

Analysis

    Improve signature matching, threshold, refactor and optimize related code

    Directly apply Callee Args in Type Matching

    Takeover variables when splitting functions

    Always register the derived CC from the reg profile

    Add bbhash to detect modifications in functions (and reanalize if patched)

    Implement basic block listing commands (abl*)

    Implement tcc-* commmand to unload all calling conventions

    X86
        Add amd64syscall and anal.cc evar
        Fix esil for cmp/sub instructions
        Add amd64syscall calling convention
        Fix ELF R_X86_64_PLT32 relocation entries patching (#17587)
        Fix x86 CMC instruction

    MIPS
        Improves mips.gnu esil
        Add JALR JR when the address can be computed
        Fix GP calculation when there are multiple entries
        Fix MIPS C-TYPE instruction check
        Set asm.cpu for mips.gnu derived from the ISA defined in the ELF

    ARM
        arm mte addg/subg decoding
        fix arm it block analysis
        BLR arm64 is type=RCALL (before it was UCALL)
        ARM64 assembler can now assemble AND and BIC instructions (Thanks @mrmacete!)
        Add initial support for arm and arm64 ELF relocs
        Handle RELATIVE (todo) and IRELATIVE relocs in ARM64 ELFs
        COFF: add ARMNT and ARM64 support
        All testsuite run on arm32 and arm64

    v850
        Improve invalid instruction detection
        Implement the pseudo disassembler plugin
        Fallback to anal=v850 when using asm=v850.gnu
        Add ep, sp, gp lp register aliases for v850
        Added function preludes (aap finds much more functions)
        Fix calling convention argument register usage for v850
        Add all instruction descriptions
        Set v850 disassembler when opening v800 ELF files

    TMS320
        Implement pseudo disassembler plugin

    PowerPC
        Initial assembler support
        Improve reg profile to support calling conventions

    RISC-V
        Add all instruction descriptions
        Add Fix shift instruction analysis
        Fix ESIL for JALR and AUIPC instruction

    SPC700 plugins moved to extras

ESIL

    Add sign-extension operations
    Implement aof to filter expressions using the dfg api
    Fix unexpected FPU exception in ESIL emulation bug
    Enlarge ESIL VM stack from 32 to 256

BSD

    Support pkgconf (BSD alternative to pkg-config)
    Fix build with tinycc, unfortunely the final binary segfaults
    Fix debugger support in FreeBSD
    Implements r_sys_aslr for NetBSD
    Fixing r_sys_pid_to_path for DragonFlyBSD
    Setting ASLR support for DragonFlyBSD

Windows

    Fix r_core_editor() on Windows (#17887)
    Fix MSVC template demangling symbols
    Expose TEB address as a flag on Windows
    Add network support to WinDbg/KD (KDNET)

Apple

    Support ObjC small method lists
    Support iOS 14.x dyld shared cache
    Add support for new macOS kernelcache

Changes

    Rename asm.filter to asm.sub.names
    Rename asm.var.sub to asm.sub.var
    Deprecate the afc= command.
    Removed all globals from main functions
    afc= -> e anal.cc
    Fix big endian DWARF parsing
    labels no longer stored in sdb
    Refactor Variable Constraints out of SDB
    Fix r_anal_block_automerge incorrectly merging blocks



Release 4.5.1

@github-actions github-actions released this on 3 Sep 2020 - 35 commits to 293cf5ae65ba4e28828095dcae212955593ba255 since this release
Release Notes

Version: 4.5.1
Previous: 4.5.0
Commits: 20
Contributors: 9
Highlights

bin

    PE
        Fix null dereference in Pe64_bin_pe_compute_authentihash
    ELF
        Avoid buffer overflow while identifying imports

build

    Fix Cydia/iOS packaging and compilation issues
    Enable LTO in sys/static.sh
    Install ldid2 as well, to sign packages for cydia
    Use meson install instead of manual installation in meson.py

core

    Add Function Name, Constants, Globals and Local Variables to RAnnotatedCode

port

    Backtrace support for haiku

util

    Add r_sys_now_mono() and use in r2r
    Fix NULL dereference in r_pkcs7_parse_spcinfo()



4.5.0 Codename: Organized Chaos

@github-actions github-actions released this on 18 Jul 2020
Release Notes

Version: 4.5.0
Previous: 4.4.0
Commits: 426
Contributors: 58
Highlights

Analysis

    Initial API for base type kinds (enum, struct, union)
    Rename PowerPC to PPC
    Improve RISC-V analysis for compressed instructions
    Add endbr64 as a function prelude for x86-64 binaries
    Improve BP vars/args detection
    Detect register args used only by callee
    Match args name/types from function definition
    Improve itanium RTTI parsing and vtable search
    Refactor Variables out of SDB
    Implement basic concept of signature bestmatch

asm

    Add support for WebAssembly SIMD extension
    Boolify r_asm_is_valid and r_asm_set_syntax API
    x86_64/x86_32: Implement assembler endbr32 and endbr64 instructions
    x86_64: Support mov r64, 0xffffffffffffffff
    x86_64: Fix mov r32, -imm32 encoding
    Move inferior GNU Hexagon plugin to extras

bin

    Apple Symbols file
        Improve Xcode symbols parser
    COFF
        Improve relocation support on COFF file format
    DEX
        Fix several crashes when loading corrupted files
        Performance improvements in DEX parsing
    DWARF
        DWARF 4 and 5 line parsing additions
        Several improvements/fixes in parsing
    ELF
        Use Dynamic segment entries instead of sections to find relocations
        Add support for BA2 ELF
        Add support for relocation entries for AARCH64 and PPC
        Print a warning when the entrypoint cannot be found and it is automatically set somewhere else
        Make glibc heap commands faster by resolving main_arena symbol
        Add support for glibc heap tcache pre/post glibc version 2.30
        Add missing reloc definitions for C-SKY, RISCV and AARCH64
    kernelcache
        Fix rebasing offset
    Mach-O
        Fix symbol names truncation issue when dealing with overly long strings
        Support arbitrary length identifiers
        Fix relocations on ARM Thumb
        Support Mach-O threaded binding for arm64e
        Rebase and strip pointers on Mach-O arm64e
        Fix parsing of objc class data pointer
        Do not automatically set the entrypoint of libraries
    PDB
        Add support for multiple PDB symbol servers
        Add function for reading PDB from buffer
        Fix command injection on PDB download (CVE-2020-15121, advisory GHSA-r552-vp94-9358)
    Pyc
        Move to radare2 core repository and improve/clean it
    PE
        Fix crash when resolving corrupted ordinal exports
        Speedup parsing PE exports

build

    Various fixes for Haiku
    Add support for binr/blob and fix android build in meson
    Add --without-dylink configure flag to disable libdl features
    Add Debian 8 Jessie to GitHub CI
    CentOS tree sitter fix using gnu99 when available
    Fix the static build by dynamically resolving libutil symbols
    Add release Github workflow to create all the release artifacts
    Introduce --without-r2r configure option to disable compilation of r2r

cons

    Add VT sequences input support for Windows

crypto

    Remove hardcoded supported encoders names (e.g. base64, base91, punycode)

debug

    Fixes for windows debugger
        Improve exception logging
        Fix inconsistencies in killing/restarting a process
        Fix detaching without killing debuggee
        Expose exception reason for di

io

    Add new fd:// (handle:// on windows) plugin
    Support self:// plugin for Solaris and Haiku OS
    Fix regression while loading large files (>2GB) on 32bit systems

lang

    Fix C/Cpipe when non standard library paths are used
    Implement RLang.spp for templated scripting
    Move #!v out of core (it's now available via r2pm)
    Fix usage of #!python, #rust, and #cpipe
    Do not include C/cpipe RLangPlugins on windows

magic

    Add Android boot image signature

socket

    Fix socket connect with SSL

util

    Move RAnnotatedCode API from r2ghidra to r_util so it can be reused
    Refactor r_big for gmp and SSL
    Remove unused RConstr API
    Remove unused RRangeTiny API
    Add support for weakref RStrBuf and add r_strbuf_setptr API
    Add r_vector_fini and r_pvector_new_with_len API and add bound checks on all RVector APIs
    Add support for n# in pfc
    Add generic reference counting implementation

rabin2

    Fix go detection in non-elf binaries

radare2

    Config variables
        Renamed variables
            asm.jmpsub -> asm.sub.jmp
            asm.var.submin -> asm.sub.varmin
            asm.tailsub -> asm.sub.tail
            asm.section.sub -> asm.sub.section
            asm.var.subonly -> asm.sub.varonly
            asm.regsub -> asm.sub.reg
            asm.relsub -> asm.sub.rel
            anal.in=raw -> anal.in=range
            asm.bytespace -> asm.bytes.space
            scr.ansicon -> scr.vtmode (only on Windows build)
        New variables/options
            anal.vars.stackname: (true/false) Name variables based on their offset on the stack
            asm.bytes.right: (true/false) Display the bytes at the right of the disassembly
            bin.str.enc=ascii is a new option
    Commands
        Add axv and afvx and afv= commands to visualize var R/W accesses
        Add afvxj to print JSON output of afvx
        Add dmia command to list all info of a target lib and accept more print modes in dmi
        Fix invalid json output for drtj command
        Add key to highlight and go-to highlighted text in graph mode
        Add JSON print to /E command with /Ej
        Add zb command to find n closest matching graph zignature
    Initial refactoring to generate commands help automatically and support argv-style command handlers (e cfg.newshell=true)
    Add API to print decompiled code
    Optimize aao objc analysis
    Display file associated to the current file in the visual title
    Fix runaway scrolling in Visual mode after mashing down movement key on Windows Terminal
    Add F9 continue key to ESIL

rafind2

    Implement rafind2 -F to find the contents of the file

rasign2

    Add dumping of FLIRT signatures to rasign2
    Move main code to r_main

r2pm

    Initial support for git tags in r2pm

4.4.0 Codename: pangolin

@radare radare released this on 14 Apr 2020 - 1381 commits to master since this release

Release Notes

Version: 4.4.0
Previous: 4.3.1
Commits: 328
Contributors: 41
Highlights

    Replace shellscript, nodejs and V testsuites with r2r.c which is shipped by default
    Added initial analysis plugins for super-h and tricore
    Fix build and some runtime issues on IBM s390x
    Updated rap:// cleaned up implementation inside RSocket for client and server
    Speedup type linking (300x faster)
    Fixed all the timeouts and crashes from bins/fuzz
    Add support for retpoline switch table analysis (spectre/meltdown)
        Fix #16418 - Implement blind main detection on endbr+mov files
    Add commands to emulate a basic block or the whole path until reaching an address
    Fix support for the latest GLIBC for heap parsing
    Improved automatic function signature association for the imports
        Fixed afs command to show proper footprint
        Add support for typedef and added NSString type on darwin binaries
        Fixed all the t subcommands to print all types as C
    Improved visual class browser and the visual bit editor
    ragg2 now allows to change the path of the shellcode to run
    Graph visualization is now faster
    Use RPVector for io->maps - speedup map traversal (overall speedup)
    Lots of code cleanup and refactorings reducing memory usage and performance
    DEX loading is now 2x faster
    Fix assembler: MOV for x86 and LDR for arm64
    Improved the bin loader to support iOS 13.4 dyldcache files
    Improved support for ObjC IVAR fields loading them as C structs
    Add improved icc subcommands to print as classes as C, ObjC or Java
    Automated Emscripten (JS/WASM) builds in CI
    Fixed static build by defining a new file naming policy
    Default installation path with sys/install.sh is now always /usr/local
        Previous installations in /usr will be purged
    Only check for major and minor version numbers when loading plugins

Changes

anal

    Add initial SuperH and Tricore analysis plugins
    Added option to search all vtables
    Fix infinite loop in aae - check if address is valid
    If possible use symbol name instead of entry name for function name (#16528)
    makes the local variable access detection work on arm64
    Fix asserts when trying to use a unexistant or wrong analysis plugin
    Minor Fixes for XRefs counting (#16546)
    Fix #16413 - Analyze code refs spotted with aae
    Implement x86 anal.jmp.retpoline switch tables (spectre/meltdown)
    Tweak arm64 ldr ESIL for var access
    Add opaddr field in ab/abj output
    Improve noreturn and aesu times, show it in afi & afij
    Fix dup af+ removing function from hts (#16526)
    Fix #16308 - Add fcn arg in r_core_anal_propagate_noreturn to avoid O(n) in af
    Fix ao~bytes and add test
    Improve aef by skipping calls and improving the logic
    Improve aeg command and add aaef as an alias for aef@@@f
    Fix #16225 - Remove the unused fcn_locs causing an UAF
    Implement Shortest Path between BBs and add tests for abt (#16200)
    Implement aesB command to step until the given basic block
    Implement afsj command to get the JSON definition of the function signature
    Add acvf command and devirtualizing vtable method calls (#16157)
    Implement aeb command to emulate a basic block (#16174)
    Guess a better name for functions when multiple flags point there

asm

    Fix #16433 - Use MOV opcode B8+ for MOV r64, <0x80000000 to 0xffffffff> #16572
    Fix #16433 - Support movabs for x86_64's MOV r64, imm64 (#16527)
    x86_64: Use MOV opcode C7 for MOV r64, -<1 to 0x80000000> (#16551)
    Fix arm64 branch assemble (#16205)
    Support asm.cpu for Tricore architecture (#16161)

bin

    Fix infinite loop in macho commands parser (#16562)
    Fix heap overflow in the relocs ELF parser
    Improve COFF symbol info (#16523)
    Fix crash issue induced by an integer overflow in the mach0 parser
    Fix #16455 - iij asserts for ld-uclibc with a null import
        Fix asserts in iij for ld-uclibc with a null import
    Add rust lang support to iD command (#16490)
    Fix #16418 - Implement blind main detection on endbr+mov files
    Fix COFF symbols/imports info (#16446)
    When computing ELF relocations, use DYNAMIC segment if available (#16419)
    Make dyldcache accelerator info optional
        Make dyldcache accelerator info optional
    Do not use r_buf_data in DEX results in 1.5x faster parsing (22s vs 33s)
    Implement icc*, in sync with ic* to get C strcuts from mach0 classes into r2
    Add mach0 class fields with padding and sorted by offset
    WIP: Improve ObjC's IVAR fields support
    Fix #16265 - Segfault in rabin2 -O e/123 with ELF
    Fix memory leak in RBin. NE relocations
    This allows to open dyld cache files from iOS 13.4 for which
    Idea for fixing id? and idp? etc commands (#16244)
    Fix PE endian and alignment issues spotted by ASAN
    Strip minuses from the hash names for sha256 PE signatures (#16156)
    Fix heap overflow in the relocs ELF parser
    Fix crash issue induced by an integer overflow in the mach0 parser
    Fix #16455 - iij asserts for ld-uclibc with a null import
    Make dyldcache accelerator info optional
    Fix memory leak in RBin. NE relocations
    Fix PE endian and alignment issues spotted by ASAN

build

    Fix Build on NetBSD (#16520)
    Update SDB
    Make msbuild quieter (#16482)
    Create more GitHub Actions jobs for meson and gcc/clang
    Build fixes to make emscripten builds happy (#16406)
    Avoid duplicated module filenames to fix static.sh
    Rename util/diff.c to udiff.c to avoid libr.a collission
    Build *.deb packages only for master branch (#16320)
    Run sys/static in the Debian task
    Fix #9240 - sys/install.sh uses always /usr/local + rpath now

core

    Remove asm.linesup (#16293)
    Fix wen command for io.va=true, add two tests
    Fix #16281 - Do not load system-wide plugins twice
    Only check for major and minor version numbers when loading plugins
    Add cmd: acvf [offset] ([class name])
    Add r2 -NN to not load plugins
    Always use r_getopt, do not depend on libc (not just on windows)
    Use r_core_cmd_lines() for -c (#16290)
    Use @{} instead of @() and fix this modifier
    Implement @v: value modifier, like @x: but with endian and size
    Fix #15978 - segfault when using r2pipe webserver + local visual (#16508)
        Makes r2 interop more stable

debug

    Fix tcache address and offset in print_tcache_instance()
    Fix dmht for glibc caused by wrong tcache offset and definition (#16247)
    Fix tcache_perthread_struct definition
    Test dmha/dmh for glibc x64 (#16307)
    Fix #16432 - openbsd fork+attach EBUSY issue
    Decouple shlr/gdb registers profile from code (#16312)
    Minor fix to get dmh to work with riomap (#16286)
    Detect glibc version and set dbg.glibc.tcache accordingly (#16255)
    Fix chunk listing with tcache and add test (#16239)
    Fix #16219 - Add $DB variable for dbg.baddr
    Add tests for rebasing in debug
    Fix debug rebase regressions
    Clean drx/drt/drp help message (#16203)

diff

    Fix print string in radiff -qu (#16212)

disasm

    Show realnames on function's signature when enabled
    Fix #16263 - Do not newline after showing switch cases

egg

    Fix shellcode path customization (#16384)

graph

    Optimize r_anal_get_bbaddr() to make graph navigation faster

io

    Fix #16210 - Show error message and update help for we
    Fix #14371 - Make wfs paired with wts, rename wfs to wfx
    Use RPVector for io->maps - speedup map traversal
    Fix #16347: o+ sets maps as writable like oo+ (#16381)

json

    Fix #16233 - ~{} works on colorized JSONs
        Fix #16233 - ~{} works on colorized JSONs
    Use pj in zj (#16321)
    Use pj in ilj
    Add pj_ad api to print raw data

lang

    Update support for V in libr/lang

ports

    Fix #16109 - Add R_SYS_ARCH for s390x

print

    Fix #16394 - Make pm [file] work again
        Fix #16394 - Make pm [file] work again
    Implement hex.offset config variable to hide address column from hex-dump (#16373)

refactor

    Initial r_anal_fcn_* purge (#16238)

reg

    Make r_reg_get_list() search harder (#16202)

search

    /ad/ in /bin/ls ate 9 extra MB that was never freed
    Fix memory leak in /ad/ using r_regex api wrongly
    Fix #16327 - Search in range with io.va=false
    Add LZMA-BE magic signatures
    Display correct lengths for cryptography search commands (#16262)

socket

    Initial refactoring of the rap:// protocol (-75 LOC)
    Fix socket connection issue (#16218)

test

    Fix all the crashes and timeouts in the fuzz tests
        Related to aav, aae, aa,
    Move test/new/* into test/
    Add interactive mode to r2r (#16466)
    Format some missed tests
    R2R for Windows (#16410)
    Add Timeout to R2R.c (#16371)
    Enable R2R in C for all CI except Windows (#16354)
    Initial support for test categories and fix the windows build
    r2r new flags: -n to not run -v for version, add manpage
    Delete the r2r.v and use r2r.c
    Autodetect dbdir in r2r.c (#16365)
    Add ic + icc* tests for objc
    R2R in C Enhancements (#16310)
    Initial Implementation of R2R in C (#16216)

tests

    Move test/new/* into test/
    Format some missed tests
    r2r new flags: -n to not run -v for version, add manpage
    Add ic + icc* tests for objc

tools

    Fix #16389 - r2r -qv and r2 -v to show version and quiet versions (#16472)

types

    Fix #13677 - Add txt command and make txf accept an argument
    Fix empty struct and add test (#16408)
    Fix tp and tpx to accept types with spaces
    Implement tc* and fix tc glitch
    Add NSString and size_t types in tcc+r2
    Optimize 'tl', r_core_link_stroff and r_type_link_at (0.01s vs 3s)
    Use the proper API to find function in tl
    Add R_TYPE_TYPEDEF to RTypeKind (#16243)
    Enhance the way imports are processed in r_anal_function_get_signature
    Implement tpv command and some random code cleannup
    Fix afs not showing signatures correctly with preloaded sdb types
    Fix afs not showing types and args

util

    Implement r_table_uniq as API and query (#16385)
    r_buffer: do not move seek when using _at APIs (#16401)
    Make r_str_split_duplist() thread-safe (#16341)
    Remove r_str_rmch and simplify r_str_replace_char*
    Add pj_ko and pj_ka APIs

visual

    Add anal classes to "Vb" (#16383)
    Fix cursor visibility after leaving visual graph (#16298)
    Visual bit editor now shows bits up and down
    Add VdN (afs!) to edit function signature with cfg.editor


4.3.1

@radare radare released this on 5 Mar 2020 - 1709 commits to master since this release

Binaries: http://radare.mikelloc.com/release/4.3.1


    Fix segfault in om= command
    Fix dead process issue with ood/doo command
    Fix build with ancient capstone3
    Fix build with pre-c99 compilers
    Some more code cleanups + refactorings

See 4.3.0 changelog for full details compared to 4.2.0

4.3.0 - Codename llentia

@radare radare released this on 4 Mar 2020 - 1729 commits to master since this release

Release Notes

Version: 4.3.0
From: 4.2.1
To: 4.3.0
Commits: 214
Contributors: 33

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 iS hash 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

    Fix #15851 /wj without arg produce '\n' (#15885)

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 r2 will 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
    NULL if it encounters an unsupported digest function. This results
    in NULL being passed to strcmp which causes the segfault.
    Solution was to add a check for PE_(bin_pe_compute_authentihash)
    returning NULL and to set bin->is_authhash_valid to NULL.
    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 itaycohen23@gmail.com
    Fix read stack-based buffer overflow when using str with pk_js (#16040)
    In some cases I noticed str is 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 to pd 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 parser
    Fix #10696 - Kill r_io_map_add_next_available
    The function is just renamed to be reused and we have no tests for it, but it may fall into an infinite loop
    Fix #15842 - Add minimal slice for reproducible af test on anal-block branch
    Highlight that 'new' is a directory name in test docs (#16035)
    Use absolute URLs in pull request template (#16036)
    Fix sdb API usage to avoid extra strdup() (#16028)
    Make r_table_columns() faster, leak- and double free free (#16031)
    Remove ARGS= from tests (#16032)
    Support real names in "fd" command (#16027)
    add tests for fdj and fd.j
    Add support for realnames in fd
    Add a Test for fd with realname
    Co-authored-by: Florian M
Cvsrkl info@florianmaerkl.de
    Fix Spaces Interference in r_flag_get_at() (#16019)
    Unstick Travis by using compgen instead (#16025)
    Code cleanup in r_core_esil_step()
    remove unnecessary call to initializeEsil()
    remove another set PC register in initializeEsil()
    Add test for aes without initialization
    Use git clone --depth 1 as much as possible in builds (#16022)
    Refactor r_bin file hashes
    Add r_bin_file_compute_hashes
    Add r_bin_file_set_hashes
    Refactor it itj commands
    Introduce hashes method to RBinPlugin
    Add test for env with spaces
    Make env command trim key/value strings before setting env variables
    test/bins/fuzz: null_pointer__elf_init__store_versioninfo__store_versioninfo_gnu_versym
    Fix crash in mach0 mach0_invalid-addr_walk_exports
    Add Certificate Table parser to PE plugin
    Add SpcIndirectDataContent ASN.1 structure parser
    Add Authentihash calculation and check
    Refactor r_bin_file_hash
    Add tests for Authentihash check
    Fix for ar= and dr= and add tests
    increase width to accomodate register name larger than 4 chr
    fix flag type register value not printed
    update r_debug_reg_list() to accept '=' arg
    Fix builds by installing radare.r2 manually (#16009)
    Upload all generated ZIP files
    Use the "concatenation" concept in radare2-shell-parser
    Implement repeat_command and do not unwrap quoted args
    For back-compatibility it's better to not unwrap quoted args, because
    existing commands right now just understand this syntax.
    sdb header file dependency for external plugin i.e. pyc (#16004)
    r2r.v: Add color to BR and FX of cmd tests (#16003)
    Upgrade V
    Fix incorrect PPC ESIL and add testcase (#15970) (#15995)
    r2r.v: Fix EXPECT_ERR check
    r2r.v: Mark broken failing-only-on-EXPECT_ERR tests as BR and not FX
    Add ecH. command to show highlight info in the current offset
    Fix 32bit format string bug in the protobuf decoder
    Fix RCons test UB issue
    Add testcase for this RCons.rgbParse() crash
    Fix ASAN segfault in RCons.rgbParse()
    r2r.v, BROKEN=0: Check only first char
    Honor rc in unit runs and fix execution path in make run
    Handle return code in r2r.v and fix crashing unit test
    Fix asan crash in ecH-
    Echi bad color (#15986)
    Outputting error on ecHi bad color
    Add logic to parse unmapped local symbols.
    Every macho image present in the dyldcache has all the metadata about its local symbols stripped away from the corresponding macho header. Instead, this information is present as dyldcache-specific metadata stored in unmapped parts of the cache file.
    This PR, for every loaded image, takes care of adding the local symbols which are missing.
    Bonus
    Fix a potential use-after-free caused by r_bin_object_set_items, by rebuilding class-related hash tables after replacing the class list.
    Convert ONE_STREAM tests to EXPECT_ERR (#15979)
    Remove RAnalBlock.type
    Remove RAnalBlock.cases
    Remove RAnalBlock.label
    Reorder RAnalBlock members to free 16 more bytes
    Handle instructions with hidden operand
    Add hidden_op() for instructions with hidden operand
    Added operands info for pushf, popf, pushfd, popfd, pushfq, popfq
    Add test for aoj for pushf
    Fix last covs (#15976)
    Fix too long var name and assert on strlen (c) > 1
    Fix grep when there is also {}
    r_cons_grep_strip expects the ~, otherwise it does not work well.
    new parser: fix multiple words in grep and add support for > $alias
    Add tests for swift-x86-64 calling convention
    Update afcr, afs command
    Add support for self, error register argument (Swift)
    Refactor and Add Swift calling conventions to sdb
    Fix escape/unescape in new shell parser
    Fix UB, oobread, infinite loop and other bugs in the LE parser (#15968)
    r2r.v: Slurp empty lines as well (#15964)
    Cleanup some RAnalBlock Members (#15965)
    Simplify ownership in the PE resource parser to fix a double free
    Use RVector for Address Hints
    Add Arch/Bits Hint Trees
    Add Unit Tests for Addr, Arch and Bits Hints
    Add unset for newbits
    Fix jmptbl hint fetching
    Fix r_anal_*_bits_foreach
    Print grouped Anal Hints
    Fix arch bit affect on disasm
    Add Reset Hints to Commands
    Add test for type uint64_t
    r2r.v: Fix wg race
    Memory leak fix for kernel cache module.
    Add missing afis info in afi? and fix afis?
    Fix tests
    Note that ^c is only supported on unix systems for now
    Some tests use the new radare.r2 api to use RCons.isBreaked()
    Other tests use os.signal() to catch C.SIGINT
    Add tests for assemble/disassemble neg al (#15949)
    Update neg eax test (#15950)
    r2r.v: Fix Success: 0 when running cmd tests (#15948)
    Try V suite on FreeBSD and OpenBSD (#15852)
    Try V suite on FreeBSD
    Try V suite on OpenBSD
    Fix V lang error
    Update V lang
    Fix /wj without argument produce stray \n
        Change logic to prevent unreachable branch
        Revert to R_MODE_RADARE if there is no argument
    Add asm x86 neg
    Upgrade V
    Upgrade V
    Convert '..' tests to <<EOF
    Convert EXPECT_ERR= tests to <<EOF
    Convert some tests to use CMDS/EXPECT without enclosing quotes (#15939)
    Convert some tests to use CMDS/EXPECT without enclosing quotes
    Add test version that is friendly with node-r2r, r2r.v and AppVeyor
    Fix unit tests by upgrading V (#15940)
    Fix /j when there is no input argument (#15935)
    Return address for unknown Gameboy hardware registers
    Improve warning messages in r2r.v
    Convert more tests to use a strictier syntax
    r2r can load test files when passed as argument
    duplicated test names are reported as warnings
    run tests from test/new instead of test/src (like r2r.js do)
    Upgrade to the latest V
    Use only BROKEN=1 in tests (#15932)
    Convert cmd_i tests to <<EOF
    Upgrade node-r2r to 0.3.0
    Tests for concatenated greps in pd (#15925)
    fixed esil for arm push/pop with conditional (#15922)
    Fix Comment about RAnal.bb_tree (#15919)
    Terminate on missing script when doing radare2 -i -Q (#15918)
    Add realname to anj (#15917)
    Fix a format string in arm (Fix #15915) (#15916)
    Fix radare2 -i -Q output when script has no nl at eof (#15914)
    Go back to 4.3.0-git after the minor release

4.2.1

@radare radare released this on 20 Feb 2020 - 1945 commits to master since this release

Release r2-4.2.1


Arctic World Archive

@radare radare released this on 21 Jan 2020 - 1980 commits to master since this release

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

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 ms shell
    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

    Add RISC-V 64 word instructions and test (#15742)
    Correct RISC-V division and add test (#15712)

io

    Fix #15789: Increment offset for reads as well (#15865)

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

print

    Implemented pmj (#15864)

r_debug

    Debug, BSD systems refactoring

search

    Add elliptic curve private key search in /cr command (#15761)
    izzzj: Add izzj attributes (#15759)

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: for loop 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 sirmy15@gmail.com
    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-authored-by: Florian M: ----------------------------------------------------------------------
Cvsrkl info@florianmaerkl.de
    Add sha256 hash to "it"
    Refix #15331 (-nn filename with @) (#15788)
    C prototypes fixed
    Fix broken AppVeyor due to rejected apostrophes (#15785)
    Some coverity fixes
    Third fix attepmt for musl builds
    Second fix attempt for Alpine/musl builds
    Aim to fix the alpine build
    The plugin wouldn't properly trace breakpoint hits on different threads
    since they weren't switched to and the events weren't always handled.
    Also, since the breakpoints are removed after they are found in one of the
    threads, it's best to stop all threads for now even if dbg.threads is false.
    New threads were only added after being attached to manually or if
    dbg->trace_clone was true. dbg->trace_clone stops debug and switches the
    new thread now.
    Fix a format string vuln in the disassembly with comments (#15783)
    Add s390x reg profile
    Add missing pc register
    Use gregset instead of regset
    ww: Support esc seqs (#15780)
    Breakpoints were left in disassembly after a signal/break and there
    are probably other cases that may lead to it.
    Offset for each panel was not correct (#15778)
    Add null to pj and use for relocs (#15776)
    Add pj_null() and pj_knull()
    Print reloc name as null in json if not available
    Omit reloc name in json
    Improve shell injection check
    Fix Coverity fixes (#15779)
    Some coverity fixes
    Fix #15331 - rabin2 -rk code injection issue (#15678)
    Rewrite r_str_unescape() using switch
    Do not compile radare2-shell-parser by default (#15769)
    Last release (4.1.0) did compile it by default, but the build requires
    internet access to download the repositories. For now, since the feature
    is anyway very experimental, we disable it at compile time so that
    distributions can just compile their packages without internet access.
    In the future we may want to use submodules or augment the release
    tarball to include the tree-sitter and radare2-shell-parser archives.
    Pass 64-bit sdb_fmt parameters as 64-bit (#15758)
    Fix double free in r_bp_del_index and other breakpoint index bugs
    Lack of cleanup in r_bp_del_all causing use after free in other dbi
    commands
    Copy paste error turning dbix into dbx
    Add dbi- command
    Allow dbi commands to operate with index 0
    izzzj: Use pj api (#15760)
    Some xmm registers were printed as fpu and bnd registers were shown in
    all drt categories.
    dr will still only show 64bit/32bit registers to avoid printing all
    of the flags and d/w/b register variants.
    This fixes situations that if a read contained even a byte inside invalid memory, the entire read would fail
    Added RCoreBind.syncDebugMaps() and RCoreBind.getDebugMaps() api
    Reenable db tests and add new tests to check validity
    Add perm check to isMapped and remove map sync to improve performance
    Fix two tests
    Add RCoreBind.isMapped() api
    This reverts commit e503bdd.
    This way it is possible to set breakpoints before starting debug through
    'db' and the user will be notified when a breakpoint points to an
    invalid map.
    Instead of unsetting breakpoints they were set again without removing
    the previous drx values, which also caused the "Invalid DRX length (0)
    must be 1, 2, 4, 8 bytes" error because of the wrong len values.
    Also, when resetting twice, del failed since there weren't any hw
    registers to delete, which caused the "hw breakpoints not yet
    Shows the module, offset and function name instead of showing the executable's
    path for all threads
    Upgrade node-r2r 0.2.8 (#15751)
    Fix windows dp showing the parent's path for all processes (#15741)
    Fix #15734 - Automatically download PDB file if pdb.autoload=1 (#15738)
    Automatically download PDB file if pdb.autoload=1
    Don't re-download pdb if it already exists on the symstore
    Only download if file doesn't exist
    Fix wrong filtering of equals sign on PDB enum define (#15745)
    Fix all PDB tests
    Update node-r2r 0.2.7 to solve the json lost promise issues
    Hide warning message
    Fix warnings
    Add a fortune (#15736)
    Fix Vdv start_off calculation (#15735)
    Fix #15691 harder (#15733)
    Fix #15691 - avoid reading invalid memory
    izz: Fix printing of string with backslash if str.escbslash=false (#15731)
    More improvements for the cmd tests using r2r.v (#15728)
    Fix #15717 - Update scroll panel when stepping with F7
    Fix infinite loop in panels - vttq (#15729)
    Check for error when analyzing instructions in vmenus
    Fix #15719: Reduce false negatives in 'U' strfilter
    Added path escape and unescape
    Unescape paths only if r_str_argv was successful
    Use r_str_replace instead of r_str_arg_(un/)escape to avoid breaking escaped filenames
    Fix debug and 'o' not being able to open paths with spaces #debug
    After starting debug the register deltas weren't mapped to the same
    registers in remote and native debug. This made wrong registers appear
    as vars and in remote gdb none showed up since the remote's list is much
    shorter than r2 reg lists.
    Kill some more tests using <<RUN
    Improve r2r.v quite a lot up to 0.2
    Delete stale temporal files in the unit test
    Use executable path instead of dbpath and more cleanup
    Move manpage and move old bins into the attic
    This api honors ansi escape characters
    Delete the use and definition of "eprint" (#15716)
    After release version bump
    Add sys/r2env.sh: Set up env for r2 in non-standard loc (#15696)
    Fix invalid JSON in rabin2 -j (#15709)
    Fix Field Seek in Visual Menus (#15710)
    Fix some warnings (#15705)
    Fix some warnings
    Remove unnecessary duplication
    Co-authored-by: Anton Kochkov xvilka@gmail.com
    Few warning build fixes proposal.
    attach_new_process was called instead of regular attach because the
    saved pid and tid in core->dbg weren't reset before calling r_debug_select
    in a new session. Made sure this won't be a problem when using dp= after
    dp- either.
    Calculate the diff ourselves since bp->delta is calculated with the
    dbg->bp->baddr at the time of breakpoint creation, which may not
    reflect the correct baddr and break the rebase.
    Previously, disabled breakpoints were restored and then hit during
    execution. The debug logic ignored them and continued but that's
    an unnecessary slow down. To achieve this type of behavior the user
    should use tracepoints.
    Minor syntax issues in panels
    Use v fmt to indent the new testsuite
    Change Semantics of r_rbtree_upper_bound() and simplify Iter Fcns (#15698)
    Remove RAnalBlock members only used in Java (#15679)
    Remove RAnalBlock members only used in Java
    Remove R_ANAL_BB_TYPE_(HEAD|BODY|LAST|FOOT)
    Fix a Test
    Fix afb+ help
    Try to test with PowerPC and SystemZ (#15452)
    When setting non-bool config var, set false/true if r_str_is_false()/_is_true() (#15681)
    When setting non-bool config var, set false/true if r_str_is_false()/_is_true()
    Fix for cmd_open tests
    Fix for cmd_print test
    Separate pure BSD calls into its separate compilation unit.
    Fix #15682 - Fix getting noreturn info from invalid addr (#15693)
    fix some crashes of the widget (#15694)
    fix some crashes of the widget
    JK moves the cursor by a page and g moves the cursor up to the first line, plus a few improvements (#15690)

4.1.1 - reantull

@radare radare released this on 20 Dec 2019 - 2155 commits to master since this release

Release 4.1.1 - Codename 'reantull'

4.1.0 - codename 'antull'

@radare radare released this on 19 Dec 2019 - 2161 commits to master since this release

Release Notes

Version: 4.1.0
From: 4.0.0
To: 4.1.0
Commits: 252
Contributors: 40

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 dp processes info support to gdbr
    Add breaking to ood in 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 dp output
    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

    Improve macOS installation documentation (#15438)
    Fix links to Doxygen documentation (#15377)

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

print

    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 dpt thread 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_close_all after closing the session. I set debug_gdb's
    global 'desc' to NULL in detach as a temporary solution. We should convert
    to **desc to keep an updated copy of the pointer.
    Fix warnings in or1k_disas.c
    Fix #15545 - Fix NULL derefs after r_file_slurp() fails
    Fix format string in windows_message.c
    Replace some strstr() calls with strchr()
    Fix Alignment Check in aae on bit change
    RDebugPid not being initialized with NULL resulted in a free on an invalid
    pointer after gdbr_threads_list failed.
    Fix memleak in r_anal_free() (#15631)
    Fix heap-buffer-overflow bug in get_src_regname() (#15630)
    r2r.v: Fix test skipping (#15629)
    r2r.v: Move threads into r2r (#15628)
    Some Coverity defect fixes (#15626)
    Not all of the data was rebased after reopening the original file and
    there was warning message from set_baddr which isn't needed here.
    Switched to __rebase_everything instead of the old methods that were used.
    r2r.v: Support running of just 1 cmd testfile (#15616)
    r2r.v: Fix invocation of json tests (#15624)
    Fix AppVeyor (#15623)
    Refix magic's bgets()
    Fix another infite loop in RMagic.loadBuffer()
    Fix bread in RMagic.loadBuffer()
    Loading json tests is not the same as running them (#15618)
    In this way 64-bit SEP kernels aren't wrongly detected as XNU kernel caches.
    Rename or1k insns global (#15613)
    As in certain build configurations it conflicts with the Capstone's symbol of the same name, raising errors in the linking phase.
    The warning:
    WARNING: r_core_anal_hasrefs_to_depth: assertion 'core && value != UT64_MAX'
    failed (line 2062)
    This way registers like 'orax' will simply have an empty reference like before,
    just without an annoying warning when there really is nothing to telescope.
    {"reg":"orax","value":"0xffffffffffffffff","ref":""}
    Use ONE_STREAM=1 instead and assume it sets scr.onestream
    Name variables based on their offset from the start of the stack frame
    Fix tests
    Fully implement the asm test runner in r2r.v
        Must use the native api to speedup
        TODO: Multiple cores to run in parallel
    Fix N and V results in 6502 BIT ESIL (#15562)
    r2r.v - better portability
    Fix some more asm tests and use the same warning style for r2r.v
    Fix crash on oom when command line is too long. Aim to fix #15543
    Initial implementation of the asm/dis tests support in the V suite
    Remove broken Threading Code from main for #12996 (#15554)
    Previously, forked children would instantly die if the fork was stepped
    over using a breakpoint which is accessible to the child process.
    Removed deprecation messages (#15557)
    Moved the information in the help messages
    Add RRangeTree
    Inclusive/Exclusive
    Add r_interval_tree_delete and r_interval_tree_resize
    Fix r_interval_tree_all_at()
    Fix a bug of the tab (#15559)
    Imports Tests from radare2-regressions (#15546)
    Fix some warnings (#15549)
    Fix signed integer overflow in r_asm_massemble (#15551)
    Fix an int Overflow in r_asm_massemble() for #15543
    Fix length type in r_str_trim_tail()
    Aim to fix another integer overflow in r_file_slurp
    Fix integer overflow when assembling a 2GB file
    Blindfix for #15543 - aka CVE-2019-19590
    Most servers/clients should have xml support by now so it should behave
    like dp in any other debugger. vFile is the only way to get detailed pid info unfortunately.
    Execvp may hang until a signal is received on some systems(reproduced in
    arch linux) in case the file can't be executed for some reason(broken
    symlink, different arch, etc).
    Previously, when using dp=, the debug plugin would set a new tid based
    on the requested pid, but r_debug_select would set the old tid as dbg->tid,
    resulting in issues interacting with the current thread. This could also
    be an issue when the requested pid/tid is invalid and the plugin selects
    something else.
    Previously, setting options would fail sometimes since PT_ATTACH's attach
    SIGSTOP wasn't hit before reaching linux_set_options.
    Previously, dp= wouldn't fully switch to the given process since it was
    treated like dpt thread switching, leaving the debugger in an undefined state.
    Add user Pointer to RBNodeFree (#15540)
    Fix sj current position marker after buffer wrapping. (#15538)
    Coverity Scan GitHub Action (#15539)
    ONE_STREAM_HACK & scr.onestream: Force expected ONE_STREAM order if necessary (#15535)
    Fix spp warning (#15530)
    Try showing offset when there are no redo items.
    Fix handling of many seek history items and other edge cases.
    Previously, the command didn't show the pid's path, replaced the path
    field with current/ppid, and showed the ppid instead of only showing the
    requested process and the children of the requested process.
    Fix some warnings on Windows (#15532)
    opt->sz is initialized with r_buf_size at r_bin_open_io using an io
    buffer if r_bin_open_io can't open a file buffer. Since the debuggers
    returned unsigned values to opt->sz which is signed, opt->sz would
    overflow and contain a negative value, causing r_bin_open_buf to fail.
    Went ahead and modified CUR_END values for all debuggers even though this
    should only affect remote debuggers. ST64_MAX should be enough.
    Python and VS updates for Windows/clang (#15526)
    Python and VS updates for Windows/clang
    Fix labeler environment
    windbg module build warning fix (#15514)
    Switch labeler to periodic-labeler (#15517)
    With actions/labeler#12
    being an issue, the action's labeler is useless for PRs that come from a fork.
    This one runs on a cron timer instead and doesn't suffer from the same issue.
    fixed bin.libs loads and dex use after free (#15522)
    Fix a Double Free for Dex (Fix #15519) (#15521)
    Add Comments to RCore and kill some unused Members (#15513)
    Fix #15498 - Fix stdcall stack calling convention (#15508)
    Remove unnecessary RConfig Members (#15509)
    Fix a Double Free in tms320/c55x+ (#15505)
    Before we didn't check if a virtual address read/write would go through a page boundary. This fixes it.
    Also do some formatting and re-enable some useful error messages
    Fix XP build
    Partially decouple Tasks from RCore
    Add pull request labeler (#15503)
    Previously, windbg_break would freeze waiting on a lock instead of breaking,
    taks other than wait weren't breakable and read regs would freeze the
    process while waiting for a mutex.
    Previously, linux would timeout when trying to connect and would timeout
    too frequently since milliseconds were treated as microseconds.
    ContinueApi2 only worked on XP 32bit while ContinueApi works on both.
    Previously, continue would do a single step.
    Fix OOB read in windbg_reg_read
    Add locks to prevent collision
    Enable timeouts on the pipe backend
    Fix #15495 - show current seek history position in sj
    bin.str.enc: Accept uppercase aliases (#15496)
    bin.str.enc: Check for NULL (#15493)
    Fix anal.timeout calculation in r_cons_break_timeout (#15490)
    Remove broken Task Pausing and unnecessary RCore.lock (#15489)
    Fix null deref when using waf on non-valid file
    Inital GitHub Actions (#15467)
    Inital GitHub Actions
    Disable Windows for now
    Disable tests for now
    Add missing BT instruction optype for x86
    There are still platforms that don't support the target xml format.
    Added parsing of gdbr arm/arm64 register features and added a default to >64bit registers
    Since r2 doesn't support set/get to large/vector registers (it will still work
    when printing gdb's registers with dr/drt or restoring the registers
    with reverse stepping), there's a possible issue that the user will get
    lots of prints of "r_reg_[get/set]_value: Bit size 128 not supported"
    when running various debug commands that use those functions. This fix
    simply moves those registers away from gpr to avoid those prints while
    still being able to view/restore the registers.
    Minor Refactoring and Comments for RBTree
    Fix the flags.prefix with flags.inline glitch
    The previous implementation was limited to 64bit registers and didn't
    parse the 'feature' field.
    Writing registers with gdbr worked with single registers because
    reg_next_diff started at delta 0 and only had to run the diff once for
    the single register that was changed. When running reverse
    stepping/continue, multiple registers are changed at once so
    r_reg_next_diff would fail every time due to incorrect offset calculation.
    The new r_reg_next_diff also support different register sizes to restore
    all registers correctly.
    The endianity swapping part from reg_write isn't needed since the arena
    is the return value of 'g' which is already in the correct target byte
    order (see: https://sourceware.org/gdb/onlinedocs/gdb/Packets.html#read-registers-packet)
    Fix #15451 - Update Windows compilation documentation
    Connect isn't effected by r_socket_block_time since it can only change the
    timeout of read(and not implemented, write) actions with setsockopt.
    Also, connect may wait for an unspecified amount of time so we have to use
    select.
    The socket object was free'd without closing the fd. In the following
    gdbr_connect attempts, tcp's connect would freeze on a valid socket since
    connection based protocol sockets may successfully connect only once,
    any connections beyond that are undefined behavior.
    Remove printf debug leftover
    Some fixew for the graphviz code (#15470)
    Add TODO comment for overlong strings
    No more hacky base64
    iz != izz, before izz was iz+izz
    Fix x86 lahf instruction
    Fix autocomplete
    Don't contribute with patches
    Emit sp-based var offset as a number
    The output of afvsj shows offsets of sp-based variables as strings.
    This fix changes the offset to be shown as a number, just like sp-based arguments and bp-based variables.
    Since read_packet has a large number of retries you would wait for it
    for a couple of seconds after breaking in functions like connect and
    vcont
    Previously, write_registers sent a partial string instead of the
    correct register format which specifies that each byte should be
    represented by two hex digits.
    This change allows reading registers when calling read_registers in
    a thread that holds the recursive mutex.
    r_th_lock_check only returns the refcount which isn't enough to know if
    the current thread is holding the mutex when a recursive mutex is enabled.
    Support UTF16-BE decoding (#15450)
    Support UTF16-BE decoding
    Add spaces
    Fix few warnings for the gdb client
    Fix crash
    Cleanup tab-completion initialization code
    R2 will hang while waiting for any resolvable port to respond, this takes
    a long while since connect is attempted twice in r_core_file_open.
    Update capstone v4/next from Git
    Added break to gdbserver vCont and refactored the code to use locks (#15433)
    The previous gdbr implementation didn't allow interrupting background
    tasks with &b since send_vcon wasn't properly configured with the cons
    api. In addition to that, gdbserver doesn't support processing multiple
    commands at the same time, resulting in undefined behavior once cons
    were set up for vcont.
    This commit adds the relevant cons api and solves the concurrency issues
    by adding locks on all socket related logic.
    Fix r_sys_sigaction not setting up the requested signals (#15440)
    The for loop's iterator was initialized with the first member of sig[]
    instead of 0. Added an error to avoid this issue going unnoticed.
    r_list_free() -> r_list_free ()
    r_list_new() -> r_list_new ()
    __exit was listed twice with same number (1), and fork was missing.
    Fix broken pkg uninstall command on macOS (#15437)
    Provide a proper package ID to get rid of the following error:
    No receipt for 'radare2.pkg' found at '/'.
    Prepend a / for each returned path by the pkgutil command, to make
    it an absolute path instead of a relative one.
    Avoid invoking the sudo command for each file, which speeds up the
    command significantly.
    Avoid ambiguous signing certificates on macOS.
    If a user manually installed a new code signing certificate into the
    login keychain as documented, the install script will fail to sign r2
    because the sys/macos-cert.sh script generates a new certificate in
    the System keychain. This results in the following error when signing:

    org.radare.radare2: ambiguous (matches "org.radare.radare2" in /Users/user/Library/Keychains/login.keychain-db and "org.radare.radare2" in /Library/Keychains/System.keychain)

    To be constistent with sys/macos-cert.sh, change manual certificate
    generation steps to install to System keychain instead of login
    keychain.
    Mention that code signing certificate generation is automated by the
    install script before listing the manual steps to generate a new
    code signing certificate.
    r_list_newf(..) -> r_list_newf (..)
    Use free() instead of R_FREE() in r_list_delete()
    Same reason as #15430.
    Use PJ in oj (#15434)
    This fixes escaping issues
    Fix Leak of Flag Zones (#15432)
    Use free() instead of R_FREE() in r_list_free() (#15430)
    Refactor r_flag_color() to r_flag_item_set_color() (#15429)
    Add r_spaces_purge() (#15428)
    Fix comment about RFlag.ht_name (#15427)
    Faster interactions -- can be improved still
    Add missing entry for meson
    Fix r_strbuf dependency on r_cons
    This allows the 'zg' command to auto generate zignspaces from function
    names by utilising the ':' convention used in zignatures. Now when 'zg' is
    run if any funtion names are in the format ZIGNSPACE:FUNCTION, the
    zignspace will be extracted, created and the function applied under its
    scope.
    Fix build (#15422)
    Fix #15419 - Fix bytes field in aoj
    Hold this analop warning under anal.verbose
    tree-sitter-integration: support tmp-seek, arged, and interpret commands
    Make meson automatically download tree-sitter and radare2-shell-parser grammar
    Add tree-sitter/radare2-shell-parser directories in gitignore
    Add Support for tree-sitter in acr/makefile
    Just use one script to download 3rd party repositories in shlr
    Use cfg.newshell
    Fixes for Windows debugging (#15418)
    Fix error when continuing after attaching to process
    Get threads correct EIP
    Fix some memory corruptions and small refactor
    Remove core->oobi because not used (#15413)
    Fix leaddrs leak (#15417)
    $foo:=123 f foo = 123
    $foo+=4 f foo @ foo + 4
    $foo s foo
    Strip bins and libs for the Debian package
    sys/meson.py: --asan accepts sanitizer list (#15405)
    Fix #15407 - Fix using unexpected ACP for input on Windows (#15408)
    Fill op->mnemonic in anal-gb
    Use RPUSH in anal-gb
    Clarifying yara-to-r2 integration documentation. (#15404)
    Sync default sanitizer list of sys/asan.sh and sys/meson.py (#15397)
    Sync default sanitizer list of sys/asan.sh and sys/meson.py
    Keep signed-integer-overflow
    Hardening esil-dfg
    Modified debug_native to handle break's thread switching behavior
    The user was interrupted during continue and switched to a different
    thread since DebugBreakProcess creates a thread that triggers a breakpoint.
    With these changes the DebugBreak thread is recorded to skip the breakpoint
    event afterwards.
    Modified r_debug_native_wait to avoid switching between threads for each event
    The debugger should return to the requested thread after handling events
    in other threads except for breakpoints.
    Refactor drm to be ready for the YMM registers (#15394)
    Fix Appveyor hang. (#15396)
    fix linux x86 build (#15395)
    Fix assert
    Fix build
    After release version bump
    Add some asserts in rreg
    Fixed w32dbg breaking issues and moved break_push to w32_dbg_wait to support stepping as well
    Previously, breaking would only work during 'dc' because it was pushed
    in debug.c specifically for continue. This change moves the
    responsibility of pushing/popping w32_break_process_wrapper to
    windows_debug.c instead to support calls to w32_dbg_wait from anywhere.
    sys/meson.py: Use -fsanitize=... instead of -lasan when linking (#15390)
    Use pj api in drrj (#15391)
    This also solves an issue with drrj in windows since the code relied
    on iter->p to know if a comma should be prepended, but windows always
    has it initialized so it was always prepended - invalidating the JSON.
    Make the generated r2.bat use bat path_relative syntax instead of hardcoding. (#15383)
    Fix double-free in canvas.c (#15379)
    stack.nl is no longer active


v4.0 : Codename Kr: Cvsroot mpack - vifino edition

@radare radare released this on 28 Oct 2019 - 2413 commits to master since this release
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 aar and ao
    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 drm command, add drm xmm0 functionality (#15214)
    Fix drf output 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

print

    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)



3.9.0 - Carxofes

@radare radare released this on 17 Sep 2019 - 2712 commits to master since this release

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

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

    Support shm_open in shm:// and some code cleanup
    Fixing perms for Darwin
    Fix #15002 - Propagate write error issues into RCore.patch
    Print error msg if write fails (#14978)
    Fixing self:// perms issue on Darwin

r2-3.8.0 - Taupe

@radare radare released this on 3 Sep 2019 - 2814 commits to master since this release

Release Notes

Version: 3.8.0
From: 3.7.1
To: 3.8.0
Commits: 188
Contributors: 30

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

    Fix #14859: Enter used to update seek in visual call/ref graphs (#14906)

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

print

    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
    Fix crash on r_line_readchar_win (#14875)
    Merge pull request #14868 from kazarmy/x86-cmp-disp-for-disp
    Use op->disp instead of op->ptr for disp of x86 CMP (and ACMP)
    Drop not needed wrapper
    Fix non-unicode Windows build virtual keys not working
    Fix arrows in vi mode on Windows
    Merge Windows and Unix dietline implementation
    Simulate escape sequences in r_line_readchar_win
    Fix some bugs on Windows
    Some refactoring
    Fix #14854 - Fix glitch in asm.hint.pos=0
    Use LTO for the Cydia build
    Fix segfault in r_main_free
    Add the syscall number regname for hexagon arch
    Fix #14870 - Fix crash in type propagation when no cc defined
    Instead, recursively going through the regions while focusing
    on main addresses and grabbing pages states informations.
    Fixes for the cydia static build of r2, needed for iOS12
    add missing =SN for the SH analysis plugin
    Fix for meson
    Fix hexagon jumps second try (#14867)
    Synchronized files with radareorg/r2hexagon
    Fix warning, assertions and regressions in arg type handling
    Add missing cc-x86-16
    Fix anal.depth and remove arm16 dim
    Code cleanup
    Update capstone again (#14862)
    Fix #14861 - Reset cursor after leaving panel's prompt ':'
    Fixed the bug that I had fixed before (#14788)
    Use op->disp instead of op->ptr for disp of x86 MOV (and others) (#14829)
    Use op->disp instead of op->ptr for disp of x86 MOV (and others)
    Fix for jumptable MOV
    Fix for [] operands
    Fix another Appveyor hang (#14844)
    Fix coredump PC not being considered (again) (#14836)
    Use r_sandbox_fopen instead of fopen (#14832)
    Revert multiple layout saving regression in panels (#14792)
    Some little refactoring in panels (#14798)
    Fix #14522: Added g support for Vv mode (#14823)
    Add a small menu tick for visibility when scr.color is 0 in panels (#14801)
    Avoid disassembling the same instruction twice on rop search (#14815)
    Avoid disasm the same instr. twice on rop search
    Fixes for comments
    fix double free
    Fixes #14267: Does not print the function name for agft (#14819)
    Fixes #14672: f= gives output from current flagspace (#14820)
    Add @sghctoma pf definition for BIOS and NTFS
    Add *BSD SourceHut builds (#14824)
    Fix r_print_color_op_type param type mismatch (#14825)
    Specify graph.diff colors for sepia (#14817)
    Implement agd* based commands (#14809)
    ag* commands fully functional
    Indent and r_return usage
    All agd* commands functional now
    Graphs are pretty now
    Refactoring the code
    Fixed assertion error
    Fixed broken agf
    Always bracket indirect addr operand (except LEA) (#14802)
    Always bracket indirect addr operand (except LEA)
    Don't use RAnalOp
    Add clang-cl support (#14814)
    Fixes for path autocompletion on Windows (#14813)
    Fix register writing on Windows (#14805)
    Fix register writing on Windows
    Drop unecessary use of heap
    Fix stack-use-after-scope (#14811)
    Fix #14804 - Make sure anon structs have unique names (#14806)
    Also skip "union" to get type
    Fix Appveyor hang on master (#14803)
    Propagate noreturn information
    Avoid infinite loop when propagating noreturn information
    Avoid all recursive cases
    Avoid warnings
    use r_anal_bb_opaddr_i

3.7.1

XVilka tagged this on 14 Aug 2019 - 3002 commits to master since this tag

Set version to 3.7.1

r2-3.7.0 - Codename TopHat

@radare radare released this on 1 Aug 2019 - 3062 commits to master since this release


Version: 3.7.0
Previous: 3.6.0
Commits: 320
Contributors: 42

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

print

    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 anymore
    Fix not being able to click on the X to close a panel
    Fix afsr not performing type checks
    Fix memory leaks part 2 (#14720)
    Fix Incorrect Break Check from de7a488 (#14723)
    Fix win32 compilation (#14722)
    Fix afs not changing function name (#14721)
    Changed the utf8 characters (#14719)
    Fix #14711 - Merge Fun/About/Help in panels
    Fix crash in .i~s .. recursive infinite grep strings issue (#14718)
    Add fcn name in Visual mode if necessary when asm.filter=false and asm.jmpsub=false (#14713)
    Fix WinDbg plugin warning
    Fix #13633 - support nested unions (#14712)
    Handle 'e' in '"'
    Fix crash in canvas
    Fix projects, add of help and improve gb again
    Fix assertion
    Improve the gameboy theme
    Hide a harmless warning when string section size is 0
    Assertify the IO API a bit more
    Fix $? value in im prompt.exec from rc to num.value
    Kill os and ons commands (they werent even documented)
    Fix #12911 - Fix types starting with 'void' not being considered
    Fix abbreviated names being lost
    Hide this 'code slot size' warning under bin.verbose
    Use void in function prototypes (#14700)
    Revert that flagsize fix
    Proper fix of the oob8 bug
    Fix 1 byte oob read issue
    Fix 8byte oob write
    class, method and field names are now shorter and easier to read
    r2pm: handle info and install arguments properly (#14693)
    bin_symbols: Add quoting (#14690)
    Not camel case but snake case (#14687)
    Fix mouse click not opening file menu in panels (#14688)
    Only suspend threads if dbg.threads=true on Windows (#14689)
    Windows native debugger refactoring
    Massive win32 native debugging code refactoring
    and corresponding fixes.
    Fix hang after killing process
    Hide command autocompletion warning message
        they're now aligned with libr/bin/d/macho
        also tweaked r_print_format_struct_size to work with referenced format names
    Fix some leaks found by ASAN
    Break demangled xref comment when in graph (#14678)
    Refactoring (#14681)
    Fix seeking (stepping now works)
    Fix more crashes
    Fix compiler warnings
    Refactoring (#14676)
        improve macho format definitions
        allow enums and bitfields with arbitrary size
        avoid modifying the format string argument inside r_print_
    Fix capstone symbols visibility
    Fixes #14652: Fixes visual hud regressions
    Don't show flag name for internal demangled xref
    Refactoring
    Default scr.breaklines to true
    Fixes #14353: Added utf8 support for agft
    Featur #14351: Added utf8 support for p= based commands
    All emacs dietline keybindings are implemented (#14664)
    Some fixes to windbg (#14666) #debug #windbg
    Fix #10505
    Fix wrong register profile being picked
    Fix use-after free(s) and null derefs
    Fix warnings
    cmd_debug.c: Make addroflib use basenames
    Fix flagspace autocompletion
    Add protobuf magic
    Pull enums out of RParseCTypeType
    Support struct/enum/union before name in ctypes parse
    Add cdecl-thiscall-ms Calling Convention (#14653)
    Add more tokens for the panels clicking thing
    Sort om help messages
    Fix #14640 - /aa
    Add help for /ac (#14638)
    Tested on rabin2 -D and iD command
    Add __stack_chk_fail to types-android.sdb.txt (#14641)
    Fix W command (#14636)
    Fix W command
    Required for r2pipe programs to buffer output to be processed by r2
    Handle 'e' in window panels mode too
    Refactoring (#14630)
    Don't print non-ObjC methods in classdump_objc
    Improve ObjC classdump icc
    Parse ObjC superclass name
    Aim to fix O_BINARY issue in rahash2 on windows
    Fix ?b64- command
    A bit more cleaner vbtll (struct visual browser)
    Refactoring panels (#14613)
    Use eq[] instead in bin_classes()
    Respace demangled c++ names
    ic*: replace ' ' with '_' in flag name
    Fix avra
    Add guards just in case; use r_str_rchr() instead
    Use upper case for #defines
    $ r2 Payload/Undecimus.app/Undecimus
    [0x10007e3ac]> s 0x1000081d8;af;s 0x1000082b0;afj 0x1000085fc 4
    [rio] fix r_io_cache_commit to commit all lines
        Support for aap (function preludes with pacibsp)
        Handle LDURSW properly
        Define op->type for PAC instructions (not just family)
        Add more asm descriptions for pac instructions
    Click [X] with mouse and close the panel, plus a bunch of refactoring (#14602)
    Add r_parse_ctype
    Add mpc to acr
    Fix r_parse for acr
    Mouse is supported for " widget (#14599)
    Put demangled name directly in call disasm if asm.demangle=true (#14600)
    Put demangled name directly in call disasm if asm.demangle=true
    Constrain possible flag names for functions
    Fix ds_print_fcn_name() comment alignment when asm.cmt.right=false
    Ignore dalvik since it's treated differently
    Use R_FLAGS_FS_SYMBOLS instead in disasm.c
    Oops
    Fix demangled comment order (#14592)
    Fix c99 construct (#14593)
    Better name for seek autocompletion
    Fix #14543: Renamed function doesnt show in autocompletion list (#14591)
    Fix /ao command
    Fix infinite loop in /o-1
    Update capstone v4 and next
    Added support for esc, pag up, pag dwn
    Added vi mode, changed quit method for hud
    Added ^C for vi mode
    Fix wrong reloc command in panels (#14582)
    Docuemnt Q in q?
    Fix C99 construct
    Initial implementation of NE file format (#14573)
    Fix several bugs of mouse and improved a bit
    Simplify the fork+spawn logic on Apple things (#14574)
    Fix anoying aeim warning when debugging
    Minor function signature fixes
    Clean up #14568 code
    Add comment that demangles calls if asm.demangle=true
    Cache on and off works seamlessly
    Fix null deref in 'r2 -qcia --'
    Use PJ for meta (#14567)
    zero RConsGrep in cons_grep_reset() instead
    fix grep expr in cmd_info help
    Changing pdc settings has got a problem in panels and now it is fixed (#14561)
    This should improve performace as you don't need to shift elements of
    the sorted array when you need to insert a new one.
        skip reexports and "stub and resolver" exports for now, the semantics are different and need to be treated in a different way
        but advance the pointer accordingly, to avoid loosing sync while walking the trie (especially in dyld cache)
    Fix #14552 - issue with Csj and scr.html
    Reduce the questionnaire when replace/create a panel, also replace the cmd of the current panel is available from " widget (#14551)
    Fix C99 construct without using -c99 (#14550)
    The image is generated with Gimp, saving as .data (RGB)
    This is 128(W) * 3(RGB) * ?(H) .. the height is computed with the blocksize
    r2 -e hex.cols=128 -qqfcpri doc/cows128.data
    Added arrow info to pdJ (#14422)
    Fix build --without-gpl
    (still far from complete but we need to go forward and kill all the globals \o/)
    PD: the broken test is because initializing RCons twice
    Add several panels to the menu and sort some of them
    Fix invalid JSON in ij output
    Fixes #14524: vi delete command is now 3dw (#14527)
    Fixed dietline warnings
    Changed logic for diw/diW
    Fixes #14524: changed vi delete command format to 3dw from d3w
    Removed unnessary print
    ESC key handled in vi_mode
    Fixes #14521: Add support for ^y when ^w
    Fix #14470: Close popup widget on escape
    Fix #6321: Wrong handling of escape key
    Cursor was missing in the comments panel (#14518)
    Fix wrong assembly of jumps relative to the ESP register (#14511)
    Fix Windows Build (#14512)
    Fix trailing space issue in the GNU sh disassembler
    Fix u/U problem
    The menu properly gets updated as a new layout is saved with a name
    Fix isq. should do the same as is.q
    Fixes #14416: selections in disarm fixed
    Improve spacing around "//" in unum.c
    "+=1" -> " += 1" in unum.c
    "+1" -> " + 1" in unum.c
    Fix wrong realloc in r_asm_massemble
    In line 694 a buffer of size (sizeof(char*)*32) is allocated. Later on,
    this buffer is realloced to 64. This decreases the size of the allocated
    buffer instead of increase. This may lead to memory corruption.
    Click properly works on the tabs (#14491)
    Fix missing title line in Visual mode when under scr.ansicon=0 (#14490)
    Autocompletion for k command (#14488)
    Autocompletion working for ms
    Removed comments
    Autocompletion for k command
    Fix some bugs and add pddo panel to " widget
    Fix an assert in aoj
    Fix focus and bright themes
    Color regression issue in disasm.c
    Fix scr.wheel.speed regression
    Add gameboy theme
    More code cleanup in RBin (#14473)
    Fix r_str_replace - unit tests added
    Fix two lines in doc/hud
    Autocompletion works for md, mg
    Added autocomplete flag map
    Fix behaviour of click in panels (x<20)
    Fix scr.wheel glich
    Disabled by default at compile time. See FEATURE_SYMLIST define
    Fix crash, reduce false positives of RBin.dol
    Use RBuf.slice in /B
    Fix autocompletion of remote files in #ms (#14284)
    Added Segments panel and made cursor available for both Sections and Segments panels (#14461)
    Add help for afs? command
    Quote wa command generated in visual mode (#11138)
    Use a pointer to eprintf instead
    Fix aaa color under scr.ansicon=0
    small fix for console
    Add spaces around operators in r_num_conditional()
    Add spaces around operators in r_num_to_bits()
    Don't update console panel when it's not absolutely necessary
    Add spaces around operators in r_num_op()
    Add a couple of spaces around '==' in unum.c
    Add a couple of spaces around %
    Remove some spaces
    Add a space
    Fix an UB oobread
    Fix RStr.replace()
    Fix long times for pp -1
    Remove some more spaces
    Remove a space
    Set foreground color just in case
        add r_fs_file_copy_abs_path to get the absolute path of a RFSFile, centralizing edge case handling
        use that in fs_io_read
        add missing free (file->path) in RFSFile destructor
        fix handlePipes for fs shell cat use case
    Fix couple of small bugs in panels with tabs
    Small fix for tab (#14432)
    Python 3.5 (the lowest version that meson supports) has no f-String
    but only old %-formatting and str.format().
    Fix warning when printing level of ">" (#14430)
    Strip trailing whitespaces
    Fix warning -Wstring-plus-int on cont_level
    Remove unused var
    Fix ragg2 *.c on macOS
    Add fortune
    tT segfaults so fixing it (#14426)
    Post release version bump (3.7.0-git)
    Fix a few null dereference issues (#14419)
    Fix ec* wrt attributes (#14421)
    Fix for the debug mode that makes disasm so slow (#14414)
    Notes:
    SH opcodes array, file libr/asm/arch/sh/gnu/sh-dis.c from GNU binutils, defines "bf.s" and "bf/s", same with "bt.s" and "bt/s".
    Both pairs are identical, e.g. bt.s and bt/s mean the same thing.
    As *.s variants come first in the table, radare and binutils-objdump print bf.s and bt.s names.
    Still true for latest binutils (v2.32 2019-02-02).
    Renesas chip hardware manuals and IDA Pro only use bf/s and bt/s.
    Complete R_CONS_ATTR_ series (#14411)

Revision 1.10 / (download) - annotate - [select for diffs], Sun Aug 4 14:30:13 2019 UTC (4 years, 1 month ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2, pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3
Changes since 1.9: +6 -6 lines
Diff to previous 1.9 (colored)

Update to 3.6.0

Changelog:
3.6.0
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 for afl*;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 af performance 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 ao and aoj
    Add opcode description in ao
    Show pseudo in ao and aoj
    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 -O a/l/ for macho to add libraries
    Honor more segments vs sections, for jmptbl, fatmacho, zeropage
    Fix iS/iSS in 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 -qq for 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 aaa notifications if no ansicon
    Add bold to eco bright items 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_16 for Alacritty on Windows
    Dfferent color for up and down in disasm reflines
    Implement reset command to reset the terminal settings
    Enable color prompt on Windows
    Fix Color_GRAY/BGGRAY
    palloc return checks

core

    Fix #14335 - Add sort, join and uniq
    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 @@@F and @@@s
    Implement $O variable pointing at cursor
    Implement |. (alias for .)

debug

    Improvements to windows heap parsing
    Set cmd.gprompt=.dr* when cfg.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.movlea configuration option
    Improve comments alignment in the disassembly
    Fix arm64 parse for BL instructions
    fix, improve and add some sh pseudo
    Support asm.hint.pos=-1 for leftish key hints
    Initial cleanup in RParse, delete mreplace plugin
    Toggle asm.dwarf in V# and pds
    Add support for base64 in CL command
    Faster dtd (trace disassembling) using API instead of RCore.cmd
    Fix #14258: Issue with upgoing refline at XREFS
    Fix CL command and make asm.dwarf work without source files
    Fix asm.varsub in a hacky way to fix the disasm output
    Fix project's asm.cpu behaviour
    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.timeout values
    Fixes related to ARM64 ESIL emulation
    Make $r{} work without the debugger
    Add cmd.esil.stepout to run r2 commands (before and after emulation)
    Fix recursivity issue when calling aes in cmd.esil.step
    Fix cmd.esil.step handling of return value

graph

    Implement fg command to create a graph of flags (WIP)
    Implement graph.ntitles to 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-* and CCf- 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
   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   Cursor is available in strings panel
    Cursor is supported in Symbols panel

performance

    More code cleanup in RBin, speedup method resolution

print

    Honor hex.section in prc and pxa
    Implement pV command - like pv but for bytes instead of)
    Add Kotlin, Java and Swift pc sub-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 saf   Breakpoints can be added with the cursor (#14404)
    Simplify ds_begin_nl_comment()
    Use a thread to prevent hang
    Add some checks and fix some bugs
    Fix an unrelated json for the greens
    Fix pdJ for asm.cmt.right=0+asm.cmt.refs
    Fix some color and newline issues
    Fix ds_begin_nl_comment()
    Do not assert when cursor is disabled
    Fix #14286 - Initial implementation of the pp (print-pattern) command
    Some tweaks related to pj/disasm
    Fixes #13628: cmd.hexcursor now works with selections! (#14394)
    Fix asm.lines.right in disasm
    Fix trailing space in MOV disasm comments
    by pancake and kazarmy
    Remove dup ds_align_simple()
    Remove unnecessary ds_align_comment()
    ds_align_simple -> ds_begin_nl_comment
    ds_comment (ds, true, ...) for comment start
    Remove blank line before flag comment when asm.cmt.right=0
    Remove blank line before refaddr comment when asm.cmt.right=0
    Fix comment color when asm.cmt.right=1
    Use ds_pre_xrefs() instead of ds_pre_line()
    Fix null name issue in axtj
    Improve r_sys_setenv on Windows
    (cherry picked from commit fd43d41)
    Upgrade spp from git
    Also put r2.bat under \bin on Windows install
    Fix io/self vm mapping late calculations.
    Calculation must be done before getting the aligned data, most likely missing few
    entries...
    fixed regression on !!!foo
    Fix Warnings
    Handle more dalvik invokes via esil
    Drop precision to double before comparing (#14379)
    Upgrade capstone-next
    Wrong path
    Add mingw to PATH in the Appveyor test script
    Fix esil harder, thx @radare
    Return bool instead of ints in esil-ops
    Fix esil
    add type information to esil-ops
    add meta-information to esil-ops
    Add more registers for Dalvik, despite that should be dynamic (#14375)
    Fix null cmd.esil.stepout issue on som ESIL initializers
    Add path completion for join, uniq, sort (#14373)
    Fix r2pm -H output
    Fix UB ASAN crash in 'pv'
    More spelling fixes in the code

        "e cmd.esil.step=sr PC;aepc ?v $$;q 0"

    if q == 0 { successful replacement, do not emulate }
    } else { emulate the instruction with esil }
    Ignore anal.gpfixed fo non-mips in disasm
    Add anal.gpfixed instead of anal.gp2 and use in aae
    Honor scr.wideoff in $?
    I recommend reading SH operands right-to-left
    tst is checking for zero (!)
    Add a space or two
    autocomplete when there's a space between the eval var and the = char
    !!!$eval and !!! $eval are invalid
    added afn as flags
    Fix UAF in e asm.cpu=
    Fix visual bug on Windows
    Rename r_cons_get_ansicon() since it's confusing (#14347)
    Fix more grammar
    Fix grammar across the code
    Add codespell script
    Fix Appveyor (#14346)
    Add afn. command for consistency
    Fix #14215 - invalid JSON in pdJ with Cf #14342
    Arm64: Handling of XZR registers in assembler (#14343)
    Handle ^C in pz which may be holding on slow IO backends
    Fixed oob in rgb.c (#14339)
    Fix crash when obj && !obj->info is null
    Fix #14334 - Double-free in ms command
    Implement r2p r2pipe commandline tool and !* as an alias for #!pipe (#14336)
    Also voidify and boolify anal, parse, cons, bin, ..
    Fix build
    Rename r_bin_file_set_cur_binfile_obj to r_bin_file_set_obj
        add ESIL for LDURSW instruction
        fix ESIL shift for TBZ, TBNZ
        fix condition computation for LE, LS
    Trim before comparing pseudo asm (#14313)
    The almighty modal is available even when it is in the menu mode, and refactoring (#14318)
    Call r_anal_op_free after acquiring RAnalOp pointer (#14317)
    Add R_DEBUG_ASSERT in DEVELOPERS.md
    Use id16 instead of id256 for color id (#14316)
    Fix color after piping on Windows (#14314)
    Enable r_stdin_slurp on Windows (#14312)
    Restyling (#14311)
    Open disas panel if it is not there when the cursor selects some offset (#14310)
    Reset inverse video first before anything else (#14309)
    Fix #14296 - Segfault in ragg2 (#14308)
    Fix #14303 - oob crash in RParse api usage, needs API redesign (#14307)
    Fix eip inverse under cmd.exe (#14304)
    verify that maps is a list before trying to deref the pointer
    This fixes cases where saving and loading a project of a mixed-mode
    binary (e.g. ARM with Thumb parts) reverted functions back to only one
    of the modes.
    WIP: Really basic implementation of esil.timeout. (#14297)
    Really basic implementation of esil.timeout.
    Fixed style issues
    Converted timing to r_sys_now() to keep consistency with other timing based solutions throughtout src
    Fixed spacing issue and removed use of CLOCKS_PER_SEC const
    Shift right to equate to seconds
    Fix linehl color for Windows ecd (#14301)
    Refactoring (#14298)
    Fixed crash on CL (#14299)
    s/CORELIB/R2_PLUGIN_INCORE/g (#14295)
    Move some R_ANAL_OP_MASK_DISASM outside RCore (#14294)
    Fix linehl color for eco bright and ecd (#14292)
    Fix crash in macho parser with bin with md5=0e32e7e3b8c2895bbdeb986eedda3dd6
    That should fix the MSVC build
    Fix ARM64 MOVK shift boundaries to 48 instead of 47
    Fix small bug fix in trace (#14291)
    Use a less dark color scheme by default on scr.color=3 on non-Windows (#14289)
    Add also bold to default palette items that are bright
    Handle segment sections in dyldcache
    Fix masked check
        avoid emitting malformed r2 commands in z*, by adding the n type for the realname field
        use bytes:mask format instead of combining the mask with bytes, to support sub-nibble masks
        fix and improve anal_mask() for arm64
    Fixed a critical issue of the almighty menu
    Minor tweak for maps changes and aav
    Fix iSS= iS=, iSS* and iS* issues
    Symptom: Search often failes when hexpairs are separated by spaces, e.g. "01 02 03" vs. "010203".
    Affected: radare2 and rafind2 at least
    Description: While parse-function r_hex_str2bin handles whitespace, auto-generated binmask
    (function r_hex_str2binmask, called when no mask is provided) does not, creates oversized mask,
    increases byte count, finally causing search for additional undefined bytes.
    Self documentation in ob= (#14272)
    Added r_listinfo_new and refactored to use it
    ignore ccls cache
    Code cleanup in RCons
    Split types-windows.sdb.txt and add cc info
    Refactoring panels (#14181)
    Little memory usage fixes in esil
    Fix asserts and memleak in RBin.classses
    Upgrade capstone from git
    Fix #14233 - Fix 1byte oobread in wasm analysis
    Bring back the old behaviour but add some warning messages for debugging
    Fix local var clobbering regression
    Fix class initialization and simplify some paths (-10LOC)
    More RBin refactoring and cleanup
    Mark r_bin_class_new/free as internal (#14239)
    Add a parenthesis
    Honor asm.var.submin in disasm.c and use RNum.get instead of .math
    Fix build and add snprintf_chk function signature
    Fix assert in objc demangler and kill r_core_bin_cur
    Fix another UB in flitcher32
    Fix UB issue in fletcher hash
    Fix crash in zo
    Use bright colors instead of bold in default palette (#14232)
    Fix cmd_ah asan crashes
    Fix #14228 - oob-read by one in wasm disasm/analysis
    Fix crash when parsing 1 byte truncated omf files (#14227)
    Add bright color support to scr.ansicon=0 (#14224)
    Fix OOB Write in langFromHashbang (#14222)
    Fix a bug in panels with disasm (#14221)
    Refactoring (#14216)
    Avoid an assert regression that must be checked back at some point
    patch #14211 heap buffer overflow in large ragg2
    inputs. this should be refactored to use an RBuffer to enable dynamic
    resizing, but for now just patching it to bail out if we are about to
    overwrite the allocated statically sized buffer
    Completely kill all the check_bytes (-100LOC)
    Fix grep sorting (#14207)
    Fix warning when using r2frida (#14201)
    Fix the BG glitch ()
    Add usec precission for RSocket.blocTime() and improve r2web:// a bit
    Remove last load/load_bytes methods (#14196)
    Fix r2web block times
    Colors menu should be moved under Edit parent menu (#14194)
    Fix #14186 - aarj was throwing invalid json
    Fix some compiler warnings (#14191)
    Minor fixes for the white themes
    Fix typo (#14192)
        it will match zignatures which similarity is >= the given threshold
        different thresholds for bytes and graph
        by default thresholds are 1.0, which means it matches only if it the exact same
        zign.diff.gthresh and zign.diff.bthresh are the new eval configs to control that
        the output of zc[n!] now contains the similarity value as well
    Use st64 and ut64 instead of size_t
    Fix mach0 parsing issue
    Fix OOB write in PE parsing
    Fix crash in bin_xbe parser
    Fix crash in bin_java
    Fixes clusterfuzz-testcase-minimized-ia_fuzz-5740477602594816.dms
    Set bin_obj on bios_bin load_buffer method (#14188)
    Fix a few bugs and the speed in the graph (#14187)
    Added python utility to convert from "dumpbin /exports" output file format, to the .sdb.txt formatted files that radare2 uses.
    Usage:
    First run 'dumpbin /exports your_file.dll/.lib > your_file_dumpbin.txt'
    Then run 'python convert_dumpbin_exports_to_sdb_txt.py your_file_dumpbin.txt > your_file.sdb.txt'
    #define ENABLE_VIRTUAL_TERMINAL_PROCESSING if it's not defined (#14185)
    Old behaviour: if you bump asm.arch it resets asm.cpu to default of that arch
    New behaviout: if you bump asm.arch it keeps asm.cpu if it is set and valid for that architecture
    Refactoring (#14181)
    Clean up the part of the code that fixed the glitch in ansi code (#14180)
    Fix r_cons_get_ansicon leak (#14179)
    Add r2preload demo program
    Add missing =SN in the dalvik reg profile
    Update capstone from Git (#14175)
    Fix string ref regression in dalvik
    More refactoring in panels (#14169)
    Fix invoke-virtual method+X dalvik to be UCALL
    Solve xrefs to address 0
    Fix Windows build (#14167)
    Fix ansicon detection with UTF enabled (#14166)
    Huge bytes->buffer on almost all the plugins, break API and ABI \o/
    Changed the way RBinFiles are created
    Changed the structure of the Sdb instance
    Improve ELF and MZ detection mechanisms to reduce false positives
    Change all the free/destroy methods to return void
    Fix "ks" shell
    Simplify and change the way RBinWrite apis work
    Fix #14157 - Fix buf regression in debugger (#14162)
    A few bug fixes and refactoring for panels
    Use shorter esc seqs for fg and bg gray (#14155)
    Fix a few bugs of the widget (#14156)
    Fix a few bugs of the widget
    A hack for the smoother move in the widget
    Implement r_cons_show_cursor for Windows (#14151)
    The current panel can be added to the list in '"' widget (#14145)
    Add #ifdef ENABLE_VIRTUAL_TERMINAL_PROCESSING (#14144)
    scr.ansicon: Set/unset flags that enable ANSI esc seq support in Windows console (#14137)
    Refactor and Complete Anal Hint Printing (#14138)
    Support scr.fps on non-ansicon Windows
    Fix assert in wai trying to write an empty buffer
    Fix null deref in rasm2 -L
    Do not close IO when RBuffer is freed (#14123)
    Given the RBuffer_io does not open the file itself, it does not make
    sense to close it. It's not its responsability to do it.
    Use r_cons_win_printf instead in dietline.c (#14127)
    Fix uninitialized bytes issue in 'ao' command when seeking around
    Minor code cleanup
    Fix UTF r_sys_pid_to_path Windows (#14121)
    Fix selection widget on Windows (#14118)
    Update doc/capstone
    Update capstone5 from git
    Fix is.j and implement Cs.j to please r2dec (#14113)
    Add funny fortune
    Do not double define typedef RBuffer (#14112)
    It should be enough to define struct r_buf_t, since the typedef to
    RBuffer is already specified.
    scr.ansicon updates r_line_singleton as well (#14111)
    Fix inverse video esc handling in r_cons_w32_print (#14110)
    Fix 786af1f
    It apparently was causing strange keyboard behaviour and crashing Windows.
    Removed some spaces and spaces->tabs in output.c
    Use bool instead of int in calls to r_cons_w32_print
    Fix bg esc handling in r_cons_w32_print (#14106)
    Use r_cons_w32_printf instead in dietline.c (#14105)
    Wait ~10s for response to qSupported packet. Send another qSupported (#14104)
    packet on timeout. Do this 5 times, and then bail out.
    A few fix for hexdump and disassembly
    Small typo in =? output
    Initial band-aid fix for a UAF with two seperate desc pointers (#14094)
    Also add zcn, zcn! to compare only signatures with the same name.
    r_socket_connect_unix() is false on non-Unix
    Fixes AppVeyor build.
    Refactoring and fix a bug concerned with the cursor (#14089)
    Deprecate the is_valid_offset() anal callback, that's task for IO!
    WIP: Fix the Dalvik analysis by skipping fields and imports
    Fix #14082 - dte output to RCons, not stderr
    Fix rip-relative lea tests (#14083)
    Fix and reorder bindings languages
    Rephrase the README
    Honor rap.loop on the tcp server when an invalid packet is received
    Fix 2 problematic format strings on 32bit systems for asm.rsp
    Upgrade cs5 to fix the arm64 disasm crash
    Reimplement r_buf_fread/fwrite
    Add slice buffer and introduce readonly field
    Do nothing if size is 0
    Prevents an overflow when 8 is subtracted from size.
    Fix ragg2 when patching outside currently existing buffer
    Implement r_mem_mmap_resize for systems where mremap is not defined
    r_buf_buffer can be called with no size arg as well
    Use size_t instead of ut64
    Fix rpush regression
    Track pushed register (note: immediately after lea/mov) to resolve push-ret (#14034)
    For mov reg, , only track if is immediate value
    Add R_ANAL_OP_TYPE_RPUSH (UPUSH | REG)
    Changed so that "rpush" is printed instead of "upush" in case of register push
    Post release version bump


3.5.1 - Dismay2

@radare radare released this on May 15 · 706 commits to master since this release

Binaries: https://radare.mikelloc.com/release/3.5.1

    Fixed hardware breakpoints in the native Windows debugger
    Introduce the new scr.prompt.popup and honor it in all the color themes
    ESIL emulation is now 2x faster
    Fixed a huge performance regression when generating zignatures on big binaries
    Fix iOS, Android (non-arm64) builds with new NDK
    r2frida comes with Frida 12.5.3 (v8 enabled by default and working on iOS + Android)
    Upgrade capstone and capstone5 dependencies
    Improved cursor mode in panels
    Initial ESIL emulation for RISC-V
    Fixed C output for nested structs/enums/unions from pf strings



3.5.0 - Dismay
Changes

anal

    Initial support for src/dst RAnalOps for ARM
    Add anal.ex option, cleanup and improve the Java support
    Add aae in aaaa
    Add disasm field to ao command output
    Fix the arm/thumb switch emulation bug spotted in capstone5
    Stop analyzing call to reloc and fix pifcj to honor asm.jmpsub
    Fix aaft Stack isn't initialized and run aaft after aaaa
    Fix fcn.rip regression
    Fill op->src[0] and op->dst in x86 and improve arg analysis with it
    Include aap in aaaa
    Add the ability to set some registers readonly
    Fix #12867 - Identify BP usage in x86 functions to improve var analysis
    Initialize GP on MIPS when no symbols found with ESIL
    Implement ESIL for CPUID on x86.cs
    Implement /am and add initial support for PAC instructions
    Honor more anal hints in the anal loop
    Add anal.ignhintbits to only obey asm.bits and ignore hints
    Optimize r_anal_try_get_fcn by removing fixed size buffer
    Add an option for anal.loads
    Load instructions now set a data meta
    Fix #13596 - Implement afb= and afl= and do some refactor
    Add more fcn types, new api r_str_fmtargs and af- is af-$$
    Add instruction refs array in pdj and agj, for r2dec
    Make agj work in any offset inside a function, not just the first instruction

asm

    Asm assemble, mem leak fixes
    Fix x86.nz assembler for the rip-relative LEA
    Mips asm mem leak

bin

    Fix isStripped() bit for PE bins
    Seek to the first executable section if there's no entrypoint
    Implement COFF imports and honor no-entry0 case
    Implement mw command and fix segfault on old fs support
    mdmp: fix incorrect data setting in pe sections
    Use HtPP instead of Sdb in r_bin_filter_sym function
    Optimize class_get() to make demangling and objc/dex registration O(1)
    Restore io buffer creation in dyldcache
    Fix rahash2 -B and -b regression not printing partial hashes
    Fix heap overflow in macho parser
    Add 'oba [addr] [baddr]' command handler when m != b
    Fix oba command when called with only one argument
    Improvements for rabin2 -H and pfo in macho
    Fix ELF main detection for ARM binaries
    Add ELF Identification fields to elf64 pfo

build

    Automatically choose wget/curl/git depending on availability
    Fix #13765 - asm/anal cant be build in parallel
    Do not use system-wide capstone when building with sys/install.sh

config

    Code cleanup in RConfig and bring back 'e asm.' for listing

cons

    Fix #13980 - Glitch in panels with bgcolor
    Code refactoring for the theme based colorization to reduce derefs - dmh commands set
    Use RPVector in RLineAutocompletion
    Make p= bars dont use the background color
    Code refactoring the theme based colorization to reduce derefs
    Fix #13738 - Autocomplete $aliases

core

    Few mem leak fixes
    Implement yq,yj,y*,y! and b*
    Fix binary number to ut64 conversion
    Implement @@@Strings iterator
    Fix #13823 - Implement ftj and ft* commands
    Fix 'e cmd.gprompt=dr=' becaues of the strtok approach
    Fix bug when quoting a comment
    Add scr.confirmquit to actually "Confirm on quit"
    Implement fq. fj. and f*. - show flag in current offset commands
    Implement the missing bits in the triple-at
    Add ooc, o., o.q and rename old o. into o:
    Print "Task finished" only if interactive

debug

    Implement aesuo and add help for all those step until subcommands
    Initial implementation of dr. and ar. commands
    Implement drc k=v to set conditional flags by type
    Fix dg in Linux by using r_debug_ptrace instead of ptrace

diff

    Added missing c2 command + theme support for comparison commands
    Initial import of the WIP zdiff algorithm

disasm

    Enable capstone5 at configure time option
    Fix #13975 - aho issue not showing bytes
    Honor asm.pseudo in 'pi'
    Add asm.optype
    Honor ec flag in colorized disasm for names vs numbers
    Do not switch to v8 by default
    Implement 'piu' by deconstructing 'pdp'
    Demangle relocs and add asm.flags.{inline|limit|maxname}
    Fix asm.meta issues when asm.flags.inbytes is set
    Fix another bug in asm.jmpsub
    Fix #13672: Display variables value in the disasm view
    Add asm.xrefs.code option to show/hide code references in
    Add some more x86 instructions for pseudo
    Honor anal.ignhintbits for hintbits
    Honor fcn->bits in disassembly
    Update capstone to use the NEXT branch
    Enable asm.jmpsub by default
    Add asm.fcnsig instead of making function signature depend on asm.var

esil

    Remove unnecessary RPICK in avr.esil
    Few UAF fixes
    Add esil_weak_eq and make an operation

flags

    Add json output to "fd."
    Call remove_offsetmap only if the flagItem is not new
    Add realname flag command
    More improvements in the current flagtags and ftl->ftw
    Implement ftl and add more flag tags

fs

    Improve the RFS API to support write and unlink operations
    Implement mlj to list files in json
    Implement mj and improve 'm / io' vs 'm io /'

graph

    Fix agfg - GML output format fails with high-ids because of Java
    Improve the graphviz output for traced bbs

io

    oob [arg] sets bin.baddr, then seeks to new entry0

panels

    Naming tabs is supported
    Fix dc and F9
    Status should be shown on top of the screen
    Improvements in panels for usability
    Filter is supported with command f/F
    Decompiler default off for everything especially tabs working better this way
    Better key allocations for tabs
    Initial support for tabs
    n/N should behave like the ones in visual which are for go next nkeys
    Auto update synced with every mode change is supported
    A panel will be allocated for each help msg when it is called
    Help menu is classified better and help panels are implemented
    t key is supported in both window and zoom mode
    n/N commands are supported in window mode
    t key is supported in Function panel
    Better algo for t and it is supported in hexdump too
    t key support for entropy
    t key instead of tab key is supported in Disassembly panel
    Comments work in Disassembly panel
    Interactive message for cursor and insert mode
    ioCache menu works
    Do not ask yesno for decompiler if it is not even available
    Show meaningful messages for invalid operations
    n/N splitting a panel vertically/horizontally with new user input cmd
    Show if the cache is on or not on each panel
    Fix some potential memory leaks
    Toggle cache boolean of a panel by &
    Default positioning was not just right
    instead of [x] to honor the command of deleting a panel
    C in panel should behave like the one in visual too
    Add summary and Entropy fire added in the menu
        Entropy fire added in the menu
        add Summary under View menu as well
    Better page scrolling for JK
    Refactoring plus a little tweak for HL and some fixes
    Auto update decompiler
    v!g instead of v!o for consistency
    Refactoring for performance issue part1
    undo/redo seek enabled.
    Opt the decompiler in panels
    Fixed a few bugs
    SAKURA instead of SNOW since it is April:P
    Handle rotateAsmEmu via ')' in Panels

print

    Add p=a, p=A (and p==a, p==A, prc=a and prc=A)
    Fix hex.cols usage in prc and pxA and add pxAv for visual
    Fix #13880: Add dt=
    Implement pfc normalized types and values
    Add scr.bgfill config option
    Honor color theme in p==
    Fix p== in debugger (only processes current map)
    Add scr.square and implement the prc= command ala pz,p=..
    Implement 'less' command and add 'l?' command
    Move pava from core to print and honor it in pxa
    Implement pfc C struct format command
    Fix large disasm issue with invalids and handle @{xfs}
    Hide switch/case refs from pds
    pf z honors scr.strconv and str.escbslash

r2pipe

    Add support for r2pipe shellscripts

search

    Fix #13988 - Add JSON output format to rafind2
    End of archive detection in rafind2 -m
    Avoid scanning the whole -1 address space. Fixes aap in debugger
    Android magic numbers until Android 9.x
    Add io.sky and solve io.maps.x issue happening with aap
    Fix #13321 - Make /ci [from] [to] find immediates in range
    Fix search asm boundaries issue

sign

    Make zignatures database more flexible, add realname, comments and xrefs

sync

    Initial rework towards bringing back remoting commands

traces

    Introduce dtdi and update help message

types

    Add vvs command to edit function signature from visual
    Implement more tx subcommands (type-xrefs)
    Implement afs! to edit current function signature with cfg.editor
    Added a command to edit types using cmd.editor
    tfc->tcc and tcc in sync with t*c
    Fix afs command, parsing, behaviour and help message
    Add more basic types from libc
    Fix null deref in types when invalid db and add more basic libc

visual

    Improve visual mark
    Implement graph neighbourhood navigation with i and I keys
    Move the esil debugger into vbE
    Improve the visual ropchain editor
    Fix cursor jk in disasm and debugger visual modes
    Make scr.gadgets true by default
    Make 'o' do the inverse of 'O'
    Fix #13673: Sort column results in vbg
    Fix #13713 - vr rotates between JMP, CALL and DATA reference hints
    Fixes for flagzones and scr.scrollbar
    Add scr.scrollbar.bottom
    Fix callgraph browsing and node folding glitches
    Handle /* in reg/stack cursor in debugger view
    Handle +- keys to increase/decrease register value
    Honor scr.scrollbar in visual graph

windows

    Convert Windows error message to utf8
    sys/meson.py: Create r2.bat as alias to radare2.exe

Other commits

    Release 3.5.0 - Dismay
    Upgrade to use sdb 1.4.0 (#14045)
    wget/curl downloads use CS_ARCHIVE
    Code cleanup in capstone.sh
    afu: improve usage text and argument handling (#14044)
    Tweak documentation for afu to indicate its argument is mandatory.
    Detect missing argument in afu: Error out if afu is called without its mandatory argument.
    Improve argument parsing in af, afr and afn. (#14042)
    We now skip leading whitespace when looking for the first argument
    to these commands (the function's name). Previously, the following
    command
    af fcn.foo @ 0x000affe
    would try to define a function with an empty name at offset
    "fcn.foo @ 0x000affe".
    Improve error messages used by afn and afr. (#14039)
    When renaming a function fails because no such function exists
    at the given address, don't include the new name in the error message
    as it is unrelated to the cause of the error.
    Couple of mem leak fixes proposals. (#14038)
    Trim spaces in pfo
    Special symbols $a,$d,$t could also have a '.' + a number
    Let's ignore the number for now, it shouldn't cause too much issues.
    Fix PPC regressions
    Update capstone v4 and next branches
    Fix pifcj issue
    Hide esil warning under esil.verbose to please users
    Fixed missing parameter for linux i386 (#14026)
    Honor the entry0 flag and other bug fixes
    Fix crash in -n
    In fs_r2: /seek and /bsize and fix flags and config writes
    fs.shell supports echo and redirections '>'
    Fix some warnings
    Fix LGTM builds
    Add LGTM configuration file
    Ability to download capstone git as zip
    Add ?|? to root help
    Fix ASAN crash (1byte oobread in dex)
    Use SPCL instead of SPECIAL_SYM
    Fix issues related to meta.range management
    Fixes #133660: Dword in the middle
    Current java implementation of the analysis is not working well
    RBin.Java doesnt updates the vsizes because it seems to break things. wip for another PR
    Added anal.ex option to use extensions or not
    Install r_agraph.h with meson (#14005)
    Improve |? (#14003)
    Minor code cleanup in flags and bin (#14000)
    Fix appveyour thing
    Call remove_offsetmap only if the flagItem is not new
    It does not have sense to call that function on new FlagItems, it just
    slows down things for nothing, since item->offset has not been set yet.
    force and is_new must be two separate things
    When setting a flag (which may be even a set of some properties of an
    existing flagitem) we want to force the update of all the RFlag
    properties, but remove_offsetmap should not be called when the flagitem
    is new. So we need to track the two properties separately.
    Fix some warnings in the linux-debugger code
    Revert "Fix crash in r2panels config" (#13995)
    This reverts commit 9a1965f.
    Fix crash in r2panels config
    Fix a bug (#13992)
    #include sdb/ht_uu.h after r_types.h (#13989)
    Fix capstone5 meson build
    Fix crash in swift demangler
    Add --with-capstone5 configure flag
    Add use_capstone5 meson option
    Add prc=a in visual
    So pointers get rebased transparently during buffer reads. This makes objc class parsing work again.
    Fix #11385 - load offset from project
    Refix
    Fixes for ppc analysis with capstone5
    ADD BP and SN for the ppc reg profile. Also fix some null derefs on invalid esil expressions
    Hide warnings
    Fix vvs and make :> work again to create empty files
    Fix bugs of cursor for hexdump in panels (#13978)
    Fixed a few things (#13974)
    Fix tons of bugs of cursor for disassembly in panels
    Improve visual panels interaction
    " to create a new panel without using window mode
    X must always close a window, use xX to access refs
    Implement v!t- to delete last tab
    Implement graph.dummy for toggling the creation of dummy nodes
    include uint32/64 in JSON output
    add uint32 and uint64 to ? output
    Implement search.in=file
    Improve help msg for "." (#13961)
    Refactoring (#13955)
    Fix wtff + argument 0 size issue
    Fix lang_pipe_run hang in Windows (#13960)
    Fix lang pipe hang in Windows
    Fix hang and double-free
    Fix ml/mL/Lm inconsistency
    Fix warnings on Windows (#13954)
    Fix comments in panels (#13953)
    Add macos pkg uninstallaton script instructions
    Fix a small bug
    Fix prc text color
    intro.md: Fix typo
    Typo in "Begin" fixed
    enable ctrl-r to perform backward search
    fix up/down array backward search
    Fix a bug of colors menu
    Show which ascii char is in drr output
    Fix null deref in canal.c
    Fix crash in dmh on Frida
    Fix a bug
    Sign hash, possible mem leak fix. (#13942)
    Avoiding creating an entry if the type is not known (at the moment).
    Fix ms double free crash (#13938)
    Fix missing newline
    Fix #13931 - Do not memref mmxwords in LEA
    Fix wa* command
    Prevent extra blank line from stderr when using @@= with backticked prz (#13935)
    Colors menu improved a lot in panels (#13936)
    Improve the bold theme a bit more after testing on another projector
    Fix a bug in menu and remove unused code (#13933)
    Add help msg for tn-
    Do not psuedo the visual ropchain
    Fix null deref
    Tabs in panels work heaps faster now (#13929)
    Refactoring and fix a stupid regression (#13928)
    Refactoring more (#13926)
    Fixes #12100: wtf! warns when file size is unknown (#13925)
    Restore the seek when doing aggv to fix a random bug
    Fix UB in esil shift
    Use our own instance of RAnalEsil to fix a crash in aeg
    Refactoring tabs (#13924)
    The bit editor is now accessible via the visual browse mode
    Improve visual assembler usability
    Remove dup aae
    Add help msg for om-*
    Fix glitch in 0 width frames in panels (#13912)
    Sample: clusterfuzz-testcase-minimized-ia_fuzz-5651817880354816.dms
    Fix #13907 - pd 1;pdj 100;pd 1 bug
    Merge pull request #13910 from Vane11ope/vane11ope/panels_1
    Refactoring and improving help msg, Fixing a few bugs etc
    Fix null deref in vbg
    Fix help msg for $dis?
    Expose r_core_autocomplete() to the API
    Decouple Autocompletion from RLine
    Fix more bugs and add some missing functionalities to the window mode
    Fix a small bug (#13896)
    Fix pf? <fmt_name> (#13892)
    Initial work on refactoring RParse
    Fix r_vector.h for C++ build (#13890)
    Use RPVector in RLineAutocompletion
    Fix argc+argv init and clear in RLineCompletion
    Minor changes for RLineCompletion
    Check for completion
    Make r_line_completion_set_weak use argc+argv
    Use only RPVector in RLineCompletion
    Reserve in r_line_completion_set
    Add r_pvector_data() and r_pvector_index_ptr()
    Remove r_pvector_set_free()
    Fix pfs handling of {times} (#13884)
    Fix naming of the public RLine autocompletion callbacks
    Fix code injection issue in ir* and is*
    Fixed help text for 'o' and 'G' keys in v! mode (#13875)
    Use more current enum elf_machine (#13874)
    Win PE format, mem leak fix (#13873)
    remove PICK/RPICK from esil
    remove last use of PICK
    remove one use of PICK from sh-esil
    Set overflow flag if pfj z string overflows (#13865)
    Little mem leaks fixes (#13866)
    Make couple of keys toggle-able (#13864)
    Fix 1oobread crash in fire bars
    list all types in current function
    list all types in program
    create a types graph
    list all functions using the given type
    Something gone wrong with t key in the stack panel (#13851)
    pf z, io.unalloc=true: Abort map check loop if the size-0 map is encountered (#13843)
    Fix inappropriate if checks in panels
    Fix a bug when pressing t in decompiler (#13838)
    Changed can_affect_bp a little
    Fixed xor reg, reg issue
    Small fix in rargs detection
    This is more like a workaround
    In graph, = sets cmd.gprompt and | changes layout, step centers graph
    t key is supported for register panel
    Mark pf z strings that overflow into unallocated memory with "ovf" (#13829)
    Mark pf z strings that overflow into unallocated memory with "ovf"
    Use RIOBind instead
    Put cheaper test first
    Check map read permission as well
    $ r2 -c '"w hello # world"' -qcps -
    Add s110 to list of OS in asm.os=?
    Fix b command parsing (show help if subcommand is invalid)
    aa* -> aaS
    Do not run aap twice in aaaa
    Add missing help for aaf?
    Add missing entry in the flag/d/meson
    Minor fixes
    Fixing most likely a typo (#13817)
    A few refactoring in panels
    Fix build
    Do not use defines
    mach0 dylib: addr + 16 was the right address
    Fix r_buf_get_string implementation
    no_null -> overflow
    Improve the lima theme
    This LC_SYMTAB handling is wrong
    Initial import of the esil-graph command by @condret
    Also fix ob command to switch between different objid
    Press Enter on menu is properly fixed
    Fix print_string for Windows (#13800)
    Fix coredump PC not being considered (#13793)
    Fix infinite loop and memleak in dex (#13794)
    obL is an alias for iL
    Rotate between call/jmp/lea in graph and panels with 'r'
    "char* " -> "char *" in format.c
    Add to pfj z TODO comment
    Fix esil test that I broke yesterday (#13777)
    Fix #13674 - Graph nodes doesn't need to be updated if there aren't any
    Added missing help text for 'db*' command (#13774)
    Fixing possible dangling pointer for str empty macro (#13769)
    #if-0 out some not-working-as-expected code
    pfj z honors size (#13761)
    Improve r_buf_buffer and remove r_buf_get_at (#13676)
    Make r_buf_buffer return a ut8 and the associated size of the buffer
    Remove r_buf_get_at uses and make it static
    @b: overrides the anal hints again (#13756)
    "char * " -> "char *" in format.c
    No bgcolor in the sepia calls
    @@@ # foreach offset+size iterator command:
    x @@@= [addr] [size] ([addr] [size] ...)
    x @@@b basic blocks of current function
    x @@@c:cmd Same as @@@=cmd, without the backticks
    x @@@C:cmd comments matching
    x @@@i imports
    x @@@r registers
    x @@@s symbols
    x @@@s sections
    x @@@m io.maps
    x @@@m dbg.maps (See ?$?~size)
    x @@@f flags
    x @@@f:hit* flags matching glob expression
    x @@@f functions (set fcn size which may be incorrect if not linear)
    x @@@f:glob functions matching glob expression
    x @@@t threads
    x @@@r regs
    Fix elf-arm-main regression
    Fixed help text for visual seek ('o' ->'g') (#13748)
    Remove use of RPICK in sh-esil (#13747)
    Fix RAnalOpMask.ALL (#13743)
    Fixing aab (#13741)
    Fixing aab
    Update blaze.c
    Fix pfj z when z is not at struct start (#13740)
    Preventing two little segfaults in zdiff
    Use r_str_escape_utf8_for_json() for pfj z (#13734)
    Remove all remaining uses of RPICK in avr-esil (#13733)
    Fix memleak in aef
    Fixed help text for 'Z' in visual graph mode (#13732)
    Put pfj z string in value field (#13729)
    Fix crash in rasm2 -a 8051 -d
    Add value and label (if available) to pfj enum (#13728)
    Fix pfj enum when label is not available
    Remove some spaces in format.c
    Fix potential DF and irrelevant resource freeing
    Rollback to capstone4 until all bugs get fixed
    /am is like /c but only search for instructions and uses R_ANAL_MASK_DISASM
    Added new op family: R_ANAL_OP_FAMILY_PAC; (see /af)
    Fix meson build of capstone
    added bswap to esil in x86
    more RPICK removal from avr esil (fmuls and fmulsu)
    more RPICK removal from avr esil (mul and fmul)
    Handle comment, prompt and other keys in visual, zoom, cursor modes
    Do not show the anoying 'cannot undo/redo seek' in panels
    Several usability improvements for panels
    More refactorings and bug fixes for panels
    Replace pointer with an array of variable size (#13706)
    The elements are directly after the headers, there is no pointer
    involved.
    Also, use r_buf_read_at instead of r_buf_get_at in mdmp.
    HL for move horizontally by a page (10 chars) in panels
    Zeroize oldslide when leaving top-level pf
    Couple of new fortunes.
    Use NESTEDSTRUCT instead
    Add tsd/tud/ted/tcd subcommands
    Add newlines to tsc/tuc/tec
    Honor asm.jmpsub in pdj output (#13701)
    scr.scrollbar (0=no,1=right,2=top,3=bottom)
    Cleanup avr-esil for inc and dec (also RPICK-removal) (#13693)
    pfj: Remove errorneous ]}, after struct nested to 1 level (#13691)
    Fix random crash on x86.cs on exit when used with r2frida (#13692)
    better leak on exit than crash in capstone/frida
    More RPICK removal in avr esil (#13687)
    Fix #13653 - crash reproduced randomly in graph with white2 theme (#13685)
    arm: Remove redundant op->type assignment (#13683)
    Fix menu focus colors in panel menus
    Rename Pseudo -> Decompiler in panels
    Deprecate esil_write_internal
    $z, $b, $c, $p, $o, $s, $ds, $jt, $js, $r, $$ are now ops
    Remove R_ANAL_ESIL_PARM_INTERNAL
    Fix segfault and trim whitespaces to fix pd @x:9090
    Use maps and io.va=1 to make it work instead of hacky memcpys
    Fix p8f and bring back core->fixedblock to make pd/pD@x:/len work again
    When in cursor mode in the debug visual view select the reg with tab+arroows
    arm: Improve glibc entry point signatures
    Two changes:
        Add signature for old gcc (4.6) that uses ldr/str instead
    of push/pop.
        Mask out the Thumb bit from main's vaddr.
    arm: Cleanup br instruction handling
    The cleaned up code fixes the following issues:
        "bx pc" should always change to ARM mode (bits=32), never
    Thumb mode (bits=16), since PC is always even.
        Use (addr & ~3LL) + pcdelta for all PC-relative arithmetic.
    and removes checks for "b reg"/"bl reg"/"bx imm"/"bxj imm" as
    these instructions don't exist.
    arm: Move brace postfixing to bottom of function
    The analop_esil/analop64_esil functions have to wrap braces around the
    ESIL expression if there's a condition code. Instead of only printing
    the closing brace on certain instructions (which may differ from
    arm_prefix_cond one day), print it regardless of the instruction.
    arm: Move op analysis from anop_esil to anop
    This matches how other archs do it, such as x86.
    Sync elf_machine enum in elf.c with elf_enums pfo
    Increase autocompletion to 4096 (#13662)
    Blindfix #13659 - crash in aao with a fuzzed macho
    Add version information to libr_main
    Add workaround to fix pfj test output
    elf.c: Update -nn header format (#13657)
    Use more r_return and a lot of code cleanup, but still not finished, more PRs to come
    meson: Change completions installation directory (#13647)
    meson: Fix deprecation warning in libcore (#13646)
    cconfig.c: Remove dup line and capitalize for consistency (#13645)
    Hide one more emulation warning under esil.verbose
    Invalid asr shift of 32 at 0xdbb6
    Fix 2 crashes found with asan in the hexdump
    Done some TODO refactorings in panels (#13630)
    Thanks to anal.types.verbose
    Fixed crash when doing aac and bin->cur is NULL (#13621)
    Needed for r2dec
    Add types for android-log apis
    Add function signature for memmem
    Add r2white doc/img
    Improve the gentoo theme
    Add gentoo theme
    After release version bump



3.4.1
    Fix static, ios and android builds



3.4.0 - Codename: "hufflepuff"
Changes

anal

    Add more function sorting methods and reduce unnecessary resorts
    Fix #13466 - Adjust thumb xrefs on aae
    Fix axf without args
    anal_riscv: Implement get_reg_profile
    Fix #13451 - make afs work
    Show destination in axf
    Analyze symbols of type STATIC
    Add R_ANAL_OP_MASK_DISASM for r_core_anal_op() for now
    Reduce false positives in aav honoring align and skipping code blocks
    Remove CALL_IS_EOB, it was experimental in r1, not useful
    Add warning message when jump table size is invalid
    Fix #13077 - calling convention args to start from 0 instead of 1
    Add avrr and aao in aaa
        m68k architecture is always 32 bits and big endian
    Implement jmptbl for Thumb TBB and TBH instructions
    Fix m68k analysis issues
    Add R_ANAL_OP_MASK_OPEX
    Add support for Thumb jmptbl based on TBH
    Fix glitch found in analyzing jmptbl in debug
    Avoid passing fixed size buffers in RAnal.fcn, reducing the use of anal.bb.maxsz
    Fix r_reg asserts issues spotted in the mips emulation
    Remove redundant key in anal/cc
    Simplify function guessing
    Add missing ESIL for ARM64's LDRH instruction
    Fix null string issue in afi and add afcf in afij
    Use ARM special syms as analysis hints (#13249)
    Use fcn->meta.min instead of fcn->addr in fcn rbtree code
    Fill ptrsize for TBH and TBB Thumb/ARM instructions
    Update register profile for m68k
    Update Windows type db
    x86: add ESIL for BSF/BSR instructions
    Implement new aesou and abte commands
    x86 afb+: Update size in fcn rbtree after adding bb
    Support another type of jmptbl for x86-64
    Add fp register as BP in mips analysis
    Improve CHIP-8 analysis
    Add Windows types from synchapi.h
    Add Windows Crypto API types
    Update Registry API types

asm

    New command: 'wai' write assembly inside the current instruction
    Initial implementation of the .offset RAsm directive
    Updated ppc's libvle with latest fixes
    Add asm.refptr eval variable
    Implement rasm2 -x to output in hex dwords
    Add CHIP-8 asm descriptions
    Fix #13208 - Initial import of the asm.null plugin

bin

    Add dex.h and cdex.h for header structs
    Parse segment name in -H, deprecate 2 old load methods
    Adding symbols for 32bit version of mfc140u.dll
    Fail kernelcache check for non-arm64 kernels
    Use entrypoint from LC_UNIXTHREAD for the Kernelcache
    Fix integer overflow that leads to a crash in the DEX parser
    ELF: returning the full compilation toolchain info
    Added load_buffer and check_buffer for qnx (#13446)
    Rebase strings when necessary
    Rbin remove old load_bytes callbacks
    bin_art: avoid double free
    Compute file hashes on request via it and compare if has changed
    Add bin_qnx.c in Meson.build
    Add Homewbrew detection
    Import the XNU kernelcache RBin plugin
    Add initial support for QNX executables
    Adding OpenBSD elf sections
    Fix #13157 - Invalid read in r_bin_demangle_swift
    Parse objc categories
    Fix mach0 relocs when no symtab is there

build

    AppVeyor - Update MSVC to 2017, Ninja to 1.9.0
    Fix compilation on Android
    Fix offline build: Remove duplicated curl line

config

    Change anal.maxreflines to asm.lines.maxref
    Fix  + wx sections are highlighted
    Added missing flags & file paths autocompletions
    Add more file paths autocompletions
    Added missing autocompletions for breakpoints related commands
    Add prompt handling in r_cons_gets
    Add missing autocompllter} -> bin.str.{purge,filter}
    Rename asm.bbline to asm.bb.line and disable it in graph
    Create libr_main and make all binaries use it
    Introduce anal.verbose and set http.verbose and bin.verbose to false
    Make function to allow grabbing ther
    Displaying chunk flags as bits
    Implement dbg.skipover and fix dss for esil
    Documentate and fix 'afa' and 'afal' commands
    Implement V$ to set the program counter
    ASLR settings little refactor, available as util mean
    Initial impleming unified
    Fix #13541 - Automatic radiff2 -p when no bininfo is found

disasm

    Call to same relocs must have same name instead of appending number
    Improve pf visualization via Cf in pd
    Fix #13502 - alignment of .dword things
    Remove reflines2
    Fix bugs on E_MASK_D and BD24 (343eeb9) powerpc/vle
    Fix printing consecutive type links in pd
    Support asm.pseudo=1 in pad command
    Sync with libvle (bugfixing & new instructions)
    Fix #13412 - Improve folded-bb message
    Fix asm.stackptr when disassembling in the middle of a function
    Add support to fold basic blocks in graph, disasm and commandline
    Add chip8 pseudo support
    Implement UJMP/UCALL color and update themes
    Fix #13326 - Implement of asm.regsub to replace register names with their role alias
    Implement visual decompiler and fix the RConfigHold API
    Show function signature on tailcall jumps
    On ARM, labeeling the unwind address segment a bit more accurately

docs

    Updating which assert version to be used

esil

    Add cmd.esil.step

flags

    Add symbols.objects and symbols.sections flag spaces

format

    Fix #12041 - fix truncated pf output
    Add pfo dex|macho and bind structs to offsets with Cf via .iH*

fs

    Rename mg to mc and implement 'mg' properly

graph

    Handle b key in graph, doing the same as in visual
    Improve interactive graph title with function signature
    Implement graph.trace and improve dt+ with dt++ for abt
    Trim decompiler text in graph nodes
    Implement support for decompiler graphs in 'v #'

hexdump

    Support colors in prx (abusing px)

io

    Consider the map sorting when two map_events are the same

nds

    Add Homewbrew detection

optimization

    Add an early-out optimization for r_isprint (2%-30% speedup)
    Optimize r_str_bounds by removing an unnecessary strdup
    Avoid unnecessary RConfig.get('cmd.times') in RCore.cmdSubst

panels

    pP rotate panels
    ROP gadgets work properly when in-n-out
    Fix some crashes
    bunch of menus work which had been broken such as ROP, etc
    Submenu is also highlighted
    Menu should not be highlighted when it's not focused
    Fixed some critical issue in resizing
    Panels move more flexibly with HJKL
    Remove some useless messages on the menu

performance

    Remove redundant section lookup in get_strings_range
    Improve console rendering times
    Make analysis use io instead of fixed size buffer
    Optimize analysis by adding more fine-grained levels

print

    prc honors io.unalloc
    Implement p-e (entropy bar)
    Fix #13323 - Skip nulls in pxr
    Show negative reference in pxr, honoring asm.bits

projects

    Fix #13252 - Fix path with spaces in projects

rbin

    Change printf to println

refactor

    Fix #11133 - Remove buf_hex frield from RAsmOp
    Pass RAnal instead of rbtree to fcn rbtree api

search

    Fix infinite loop in /r, and optimize by not resolving vars when not needed
    Make -x behave like /x unless mask is provided

sync

    Fix #13234 - Allow reopening of webserver
    Fix debug rap reg profile setup

types

    Fix #13585 - Changes to tl
    Load basic types on startup instead of onload
    Add the ability to open .h files with the 'pfo'
    Add txf and txf. commands
    Add a command to list all used types in current function
    Add err* noreturn functions for Linux, iOS and macOS
    Fix #13247 - tn and tn- commands

visual

    asm.var.summary should be on if the screen is too small
    Fix #13333 - Show flag zones in scr.scrollbar
    ^F,B in visual is used to scroll pages not bytes
    Add Vvvt - visual function var types
    Improvements in vbg
    Vpp"c now properly rotates
    Visual 'k' honors asm.flags.middle
    Fix visual mountpointss, move it into Vb
    Save changed bytes after modifying their bits in vd1
    Several improvements in vbg
    Fix #13283 - Swap g<->o in visual and graph
    Improve visual tabs switch with decompilation mode
    Fix graph.layout=1 issue when zoom < 1

windows

    Refresh on resize and fix mouse input on visual foor Windows
    Fixes pipes implementation on windows
    Add support for UTF console input in Windows (#13338)
    Fix #13301 - Fix crash when unicode support is enabled
    Alias /dev/null to NUL in Windows
    Fix dll_ symbols not being analyzed with aa

Other Changes

    Add a call to r_search_kw_reset in r_search_prelude to fix arbitrary heap oob write (#13605)
    Enforce 32bit and jumps for VLE-PPC
    ec* shows bgcolor too for fgbg color (#13602)
    Asan fixes 3.4.0 (#13603)
    Fix OOB writes in bin_qnx
    the formats specified in buf_fread were wrong
    fixed some memory leaks in bin_qnx
    Another tcc crash fixed (#13599)
    Fix wrong chopping issue in Cf (#13584)
    "Cf 1 xxx" <- spaces was not trimmed
    Should be aliased under the c command
    prc: Don't Color_RESET if scr.color=0 (#13594)
    aflsa, aflsb, aflsn, aflss - sort by addr, bbs, name or size
    Fix help message for rabin2 -h | grep str.filter
    Fix uaf in config hold (#13591)
    Fix aflm crash (#13592)
    Fix oobread in aao
    Fix Visual jk - prc interaction (#13578)
    Fix iCj for PE (#13579)
    Fix #13491 - Handle $aliasFiles in 'cat' and 'rm'
    Remove some whitespace from cmd_print.c
    Add get_reg_profile call for RISC-V. In this profile, include the
    integer and floating point registers. Use the ABI register naming
    instead of the architectural one as this was chosen in the disassembler.
    This is straightforward as the user-level ISA only specifies these
    registers. In RV-I there are no flags, and only a few read-only
    counter CSRs are accessible from user mode which (I think) don't need to
    be in this structure. In RV-F/D there is one 32-bit CSR containing a few
    flags.
    This addition is not quite enough to get analysis or debugging working,
    but can be a step towards that, and prevents warnings about being unable
    to import the register profile from isil during launch on RISC-V.
    Also update bits to 32|64 instead of 16|32here is no 16-bit
    RISC-V.
    Fix arm thumb endianess (#13572)
    Fix assert in format print when trynig to retrieve a null register name (#13569)
    Fix warnings when SN is not defined for a specific arch (#13568)
    Fix #13552 - Crashes in tcc parser (#13566)
    Fix some warnings and remove unused code
    Revert "[WIP] Added jump and fail info to pdJ"
    This reverts commit 20f875b.
    from #13481
    Remove dead r_core_save_parsed_type() declaration (#13564)
    Build arch detection for RISC-V (#13560)
    Make sure that asm.arch and anal.arch is set correctly when starting
    radare on RISC-V.
    Remove unused CMP_END_GT()
    Include aap in aaa (#13543)
    Include aap in aaa
    Added aap only if file.type is unknown
    extracted them to method
    Add ut*/st* type shortcuts (#13550)
    Fix io.unalloc off-by-one (#13535)
    Fix newline after axj output (#13533)
    Add support to multiline assembly patching (#13526)
    For example, this line 'OFFSET : nop;nop;nop' (provided in the example patchfile at binr/rabin2/patch.txt) now actually works
    Fix a minor bug in panels (#13531)
    Fix build
    Fix build
    Fix #13511 - pqz -> pqs and psq as an alias for pqs
    Rewrite kernelcache check_bytes (#13518)
    Parse load commands to extract 3 metrics (kudos to @Siguza for suggesting):
        use of LC_UNIXTHREAD
        absence of any library linked against
        addresses in the upper half of the address space
    If those are met, then it a kernelcache. This just needs to parse all load commands types and vmaddr from LC_SEGMENT_64 (but nothing more) from the bytes.
    Run aav after aac in aaa
    When using debugger the file assumed path for the auxillary script
    was dbg://.r2, without debugger it's just .r2.
    This patch cuts out the 'dbg://' prefix if found before looking for the
    auxillary script.
    Make buf field private in RBuffer (#13473)
    Fix pemixed build (and include it in meson build)
    Do not use base_priv in yank, it was wrongly used.
    Fix jump/fail for Java ops
    [WIP] Added jump and fail info to pdJ (#13481)
    Added jump and fail info to pdJ
    tired of waiting
    pxA > pCA
    Fix dt+ command parsing
    Fix build on capstone3
    Fix .travis to build release/prereleases branches too
    Fix regressiono
    Handle more X86 instructions to, at least fill the ->type
    Fix #13367 - last line glitch in r_cons_strcat_at
    Fix #13367 - Fix offbyone alignment in line printing
    Improves graph generation times. But it's still called too many times
    Update capstone-master (#13496)
    Fix #13485 - Crash in anal_tp (null deref) (#13497)
    Do not compute asm.stackptr when not requested, fixes slow disasm issue
    Save aliases in projects
    Fixing aflqj (#13483)
    pd 10 > $foo # save the output of pd 10 into $foo
    $foo # print the contents of $foo (the output)
    $* # values are now printed in base64
    $foo=base64: # is now supported
    Removing debug output from top of vbg screen (#13479)
    af+ sets meta.min (#13484)
    Random fixes and improvements for visual debug traces
    Add "return" and deindent
    Fix mulss pseudo (#13470)
    SP was declared as 'sp' in the register profile which doesn't exist. Stack pointer is a7.
    Most C compilers for m68k (e.g. LatticeC) use a6 as stack frame pointer via LINK and UNLK instructions, declare a6 as BP
    Fix clusterfuzz-testcase-minimized-ia_fuzz-5636199282114560.dms
    Move compiler line to the right place
    Fix build on newer RISC-V compilers (#13459)
    On gcc 9.x, __riscv__ is no longer defined but __riscv is.
    This is documented under C/C++ preprocessor definitions on
    https://github.com/riscv/riscv-toolchain-conventions
    Fix ft command crash on Windows (#13457)
    Change 'sanitiz' from bininfo to be according to alphabetical order (#13456)
    Fix invalid json regression for compilerr
    mach-0 empty value for now
    Optimize slightly r_core_visual_disasm_down() (#13450)
    Clean up of PR #13441 (#13455)
    Chip8 pseudo fixes (#13453)
    Fix #1179 - itj hashes calculation command has fixed (#13441)
    Fixes #1179 - itj command has fixed, small refactoring on hashes storage, removed obsolete file.sha1 usage
    Show all the different hashes on it and itj
    it and itj refactoring.
    PJ optimizations have made, added more arguments checks
    Fixes pipes implementation on windows (pipe data was treated as a string instead of binary data so first \0 truncates it)
    Make other RBuffer fields "private" (#13444)
    Use r_buf_size to get the size of a buffer, not the private field
    Use r_buf_seek instead of adjusting the private cur RBuffer field
    use r_buf_read instead of r_buf_read_at(.., cur, ..)
    other r_buf_read_at/r_buf_read
    Fix RBuffer usage in REgg
    Wrong replace with r_buf_resize
    Other r_buf_resize fixes
    style fixes
    other style fixes
    Introduce r_buf_tell API instead of using seek
    other style fixes
    style
    style 2
    write_at(cur) == write
    fixes
    avoid changing test
    Make most RBuffer fields private
    Add some fixme comments
    still use base_priv in some places
    Simplify WASM code by avoiding duplications (#13443)
    Simplify code by avoiding duplications
    Use r_return in consume_r
    Fix MSVC warning (#13434)
    Fixes crash in the disasm and assert for the folded bb feature (#13440)
    Change order of ? And i output (#13418)
    Completely kill the msvc/ directory and the unix-specific includes workarounds
    RBuffer should not be const (#13432)
    Improve Makefile on macOS (#13431)
    OS can have already be set to other values on user machines, OS= fits better here.
    FreeBSD get thread name support only from 12.x flavor (#13428)
    Fix #13000 (#13083)
    Fix musl compatibility - ARM_VFPREGS_SIZE is defined in asm/ptrace.h (#13427)
    Fix bug in print_flag_json() (#13425)
    Make pid.c use PJ (#13424)
    Fix invalid instruction warning (#13417)
        store cmpval and cmpreg in every basic block
        lookup cmpval from predecessors considering TBH index register
        Fill op->jump and op->fail for all branch and jump instructions
        Handle short and word variants of BSR (BSR.S and BSR.W)
        DBxx instructions treated as conditional branches
        Handle PC relative variant of JMP & JSR
        Bugfix for the decoding of long instructions (code in asm_m68k_cs.c assumed a maximum of 8 bytes, but maximum is 10 bytes)
    Hide the CC=E warning when no anal.verbose is set
    Fix Meson build
    Simplified
    Update sdb from git
    Add support for UTF console input in Windows
    Convert ANSI input to UTF-8
    Convert UTF-8 to acp when calling ANSI version of functions
    Determine if Windows console output is UTF-8 on the fly
    Add afbF and handle Z key in visual disasm and graph to toggle basic blocks
    Correct visual graph help to actual behavior (#13406)
    Fix aclj
    Fix #13357 - vG and v^ work again as an alias for vgg and vgG
    Little warning cleanups (#13398)
    Add C64 Fortune (#13397)
    Remove noisy and useless warning
    Remove many uses of max_bb_size
    Use anal.verbose in more places
    Fix 2 crashes in the graphs and the analysis
    Implement and use experimental read_ahead for anal
    Introduce read_ahead approach for testing io usage and performance in analysis
    More cleanup and expose a new api for RAnalOp
    Kill FCN_SDB and some more code cleanup
    Add bytes_read var, convert some addr + idx -> at and reinstate some len-based checks
    Ensure invalid insn handling doesn't check invalid data
    Move "Truncated instruction" err msg to r_anal_fcn_add_bb()
    Remove gotoBeachRet macro and just use the goto statement
    /by @kazarmy @radare @ret2libc
    Fix anal jmp eob code (#13387)
    Move RAnalOpMask into parameter
    Use r_buf_size to get the size of a buffer, not the private field (#13380)
    Use r_buf_size to get the size of a buffer, not the private field
    Use r_buf_seek instead of adjusting the private cur RBuffer field
    use r_buf_read instead of r_buf_read_at(.., cur, ..)
    Fix RBuffer usage in REgg
    Introduce r_buf_tell API instead of using seek
    write_at(cur) == write
    Fix http webserver regression introduced in 81ad0fe
    UAF/memroy leak fixes proposal.
    esil_sub should manipulate esil->old and esil->cur
    otherwise, tests get broken...
    Drop weird esil_sub implementation, and use the same
    implementation as esil_add (and esil_mul, and esil_div)
    esil_add: fail on invalid dst, as well as src
    Consider the map sorting when two map_events are the same.
    When two maps start at the same address, it's important to consider the
    initial priority of the maps, which is given by the id field.
    Be more explicit in comparison between boolean and integers
    Remove CYGWIN & MINGW remnants (#13377)
    The 'display' routine of the malloc_chunk should display each field of
    flag field as bits.
    So prior to this proposal, dmhc could yield following information:

    struct malloc_chunk @ 0x7f5462ed4000 {
    prev_size = 0x0,
    size = 0x1112000,
    flags: |N:4 |M:2 |P:1,

    The flags should be displayed as: flags: |N:1 |M:1 |P:1
    Update sdb (#13373)
    Show call hints and propagate types for indirect calls to imp symbols (#13350)
    Few code cleanups (#13369)
    Remove dupe api in r_cons
    bin_bootimg: load_buffer/check_buffer
    bin_cgc/bin_elf/bin_elf64: remove load_bytes/load + load_buffer
    Implement check_buffer in bin_cgc
    bin_coff: load_buffer/check_buffer
    bin_dex: load_buffer/check_buffer
    bin_dol: load_buffer/check_buffer
    bin_dyldcache: load_buffer/check_buffer
    ao->kv's ownership is moved to RBin through the get_sdb method of
    RBinPlugin, thus the plugins should not free it themselves.
    Further usage of thread debug (#13359)
    Add r_cons_gets() API
    Fix crash when executing om (#13362)
    Implement load_buffer/check_buffer in RBinPlugins (#13353)
    Fix memleaks in MACH0 bin plugin
    Add check_buffer method to RBinPlugin
    Add r_buf_read8_at API
    bin_any: remove load and fix mem leaks
    bin_art: implement load/check_buffer, remove load_bytes/load
    bin_avr: add load/check_buffer and remove load/load_bytes
    bin_bf: load_buffer/check_buffer
    bin_bflt: load_buffer/check_buffer
    bin_bios: load_buffer/load_bytes
    This improves performance especially when there are thousands of sections.
    Update capstone from git
    Add r_th API to rename threads in r2
    Fix esil assert
    Added missing autocompletions for project management commands (#13340)
    Remove extraneous space for scd instruction for chip8
    Fix msvc build
    Remove parenthesis from class size listing (#13238)
    Cleanup the use of getopt with our wrapper
    Fix relocations in ET_REL ELF (#12694)
    Get the section name for SECTION/LOCAL ELF symbols
    Do not print warning messages if ELF is ET_REL
    In that case, it's a normal thing that dynamic sections and program
    headers are not present.
    Fix the address of the fake PLT table
    Do not use + symbols if there is no name
    To be able to add tests for nintendo DS r_bin plugin
    Add LGTM alerts badge
    Requires -F kernelcache for now
    Fix warnings in bin.qnx
    Add missing noreturn definition for darwin
    Set hints for ARM special symbols $t and $a
    Do not set $d metadata
    Fix #13297 proposal (#13299)
    Fix #13244 - Assembler support for x86 bsf and bsr instructions (#13303)
    Avoid assertion in esil traces, speedup some paths (#13300)
    Fix #13302 - Add .* as an alias for #!pipe but trimming in first space
    Fix microsoft cc (#13298)
    Fix pdJ for cmt.right=1 + pseudo=1
    Changed http.verbose to false (#13292)
    Use fcn->meta.min instead of fcn->addr in fcn rbtree code
    Maintain 2nd rbtree and reinstate _fcn(_addr)_tree_find_addr()
    FCN_ADDR_CONTAINER -> ADDR_FCN_CONTAINER
    Use r_rbtree_insert delete as appropriate
    Remove set_meta_min_if_needed from _fcn_tree_probe⧸ter_next
    Fix memory leak in strbuf. (#13273)
    Fix memory leak in strbuf.
    sb->ptr was set to NULL without freeing the underlying data.
    Use R_NEW instead of R_NEW0, as the memory is
    initialized immediately afterwards.
    Call r_*_op_init in r_asm_disassemble/r_anal_op.
    Avoid splitting obj.* flags into their own flagspace (#13286)
    Little code cleanups (#13277)
    Use pj in canal.c
    Fix hang after ctrl-c
    use relsub addr
    kill i2, grab top of list when not in preferred spaces
    Add r_core_flag_get_by_spaces
    Remove r_flag_get_i2 and use r_core_flag_get_by_spaces
    Fix fcn name from flag
    Better consistency: flag_get instead of get_flag
    Quickpath for just one flag
    added annotation to the set_reg_profile for documentation completeness, the FPU registers are really too small and should be 5 words minimal(80bits) TBH. SR is only 16bit but it having 32bits is okay, CCR should be folded in but IDK how this would affect access.
    Update anal_m68k_cs.c (#13274)
    EXG (EXchanGe register) is an valid instruction for R_ANAL_OP_TYPE_MOV because it only moves from RegN to RegN.
    Fix leak in RIO: free iter after removing it from list
    ls_append/ls_prepend will create a new iter, so we need to free the
    iter that was removed from the list.
    Fix some leaks from unit tests
    PoC: Implement aCef to emulate all calls in the function and add comments (#13266)
    This PoC requires more refinement to use the API and clean the code
    Add '$' in v! to set the program counter
    Honor asm.indent and only toggle in disasm
    Remove SLOW_IO from core/anal.c
    Fix crash in canvas, some leaks and random code cleanup (#13254)
    Filter out special symbols in ELF (#13173)
    Filter out special symbols in ELF
    No need to add the special case '\0'
    Keep special symbols, but do not process them
    Refactoring
    Make sure s->type is not NULL
    Do not print special symbols in rad mode
    Avoid double check
    Fix PR's comments
    Warn when invalid use of r_buf_buffer (#13240)
    Update list of supported architectures (#13250)
    Change old references to aC to ac (#13243)
    $ rasm2 -x 'nop;nop;mov eax, 33;push ebx;int 0x80;nop;mov rbx,48484;nop'
    0x21b89090 0x53000000 0x489080cd 0xbd64c3c7 0x00900000
    As suggested in https://twitter.com/travisgoodspeed/status/1101966927688318978
    BSF: https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf#G5.925704
    BSR: https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf#G5.21931
    MIPS elf renaming proper sections + little typo.
    recurseAt: Also update size in fcn rbtree
    Prerelease travis release (#13189)
    Add additional tests for release/prereleases
    Test different plugins configurations
    Add some libraries to docker image
    Disable SYS_CAPSTONE for now because there is only 3.0.5
    Fix html magic file to respect libmagic's format too
    < can be used with string so it should be escaped if we want to match
    the exact string ""
    Use plugin License when printing rasm2 plugins in JSON format
    Build with system capstone, but do not run tests because they would fail
    Fix tiny plugins file to use xtr_fatmach0 instead of just fatmach0
    Use clang to compile with ASAN
    Use b_lundef=false
    Just test if different plugins configuration build, no r2r
    Use sys openssl as well
    Introduce aess to fix the regression confusing step-over and step-skip
    Properly specify esil step over/or-not in the API to fix regression
    Initial implementation of aCe
    no assert on free, also fixes warning
    Added missing include (#13198)
    Fix few warnings
    After release version bump for 3.4.0-git
    refactored cmd_print.c to use pj.c (#13174)
    Refactored cmd_print.c to us pj.c
    Changed to r_str_trim_ro
    Few code changes, possible errors. (#13192)
    asm.strenc -> bin.str.enc (#13180)
    Added missing incude (#13184)
        Default to unknown type
        Detect RET
        Remove fail from always succeeding jump/call
        Move keypad commentary to LD Vx, K, add to SKP/SKNP
        Annotate skips correctly
        Annotate more instructions
    Refactor p-j using pj.c (#13170)
    Use macros for common flagspaces names instead of hardcoding them (#13175)
    Fix NULL pointer dereference in data references analyzer (#13178)
    Data references analyzer assumes that each function reference maps
    to a certain section, but this is not the case for raw binary files
    like shellcodes/firmware images/etc.
    This bug was introduced in #10117.
    Fix null ptr deref in axg* (#13177)
    Flush before closing pipe
    Change eprintf to rowlog
    If the user already provides a capstone tarball, the buildsystem should not try
    to download it again.
    Use r_str_ncpy instead of strlcpy
    Make Lisp fortune work with Clojure(Script) (#13161)

Revision 1.9 / (download) - annotate - [select for diffs], Tue Mar 26 19:29:52 2019 UTC (4 years, 5 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1
Changes since 1.8: +9 -8 lines
Diff to previous 1.8 (colored)

Update to 3.3.0

Changelog:
Many improvements and bugfixes including:
* Improve x86, PPC, iOS, Android, ARM, m68k, wasm, and msp430 etc. support
* Fix build under GNU Hurd etc.
* Add .NET PE binary
* Improve GDB support

Revision 1.8 / (download) - annotate - [select for diffs], Sat Sep 8 15:14:56 2018 UTC (5 years ago) by khorben
Branch: MAIN
CVS Tags: pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3
Changes since 1.7: +6 -6 lines
Diff to previous 1.7 (colored)

Update devel/radare2 to version 2.4.0

Unfortunately I could not test this with devel/radare2-cutter: the
version currently packaged in pkgsrc did not build for me (issue
with Qt). It should certainly be updated as well to match this
version (eg to 1.4) but it now seems to require qt5-qtwebengine,
which is only in wip.

Also note that this is not the latest version of radare2.

Tested on NetBSD/amd64 (7.1).

From the release notes for this version:

Date: 2018-03-05
Codename: Chusy Chabber
Downloads: https://radare.mikelloc.com/get/2.4.0/

Build

    Find _main in MSVC-compiled MZ binaries
    Meson: Added sdb building/installation rules
    Install Headers and .pc Files with Meson
    Use meson pkgconfig for .pc files
    Initial sys/purge.sh distro to remove r2 distro packages
    Fix MSVC dynamic linking
    Upgrade to latest acr to honor AWK env var
    Added v810 and tms320 to meson
    Added x86_udis to meson

Debugger/IO

    Use io.pcache instead of io.cache, improve speed
    Enable io.cache for afta too under aaaa
    Added asm.bbinfo for debugging op_pos
    Implemented wao for arm64
    Support RIOBind on RBuffer for fcpy_at

Assembly

    Added an alternative and colored view for varsum
    Improvements in bin.strfilter and asm.emu
    Hexagon QDSP6 v6 support - LGPLv3

Bin API

    More code cleanup in RBin api for file and obj
    Refactor RBin for file and obj, mach0 headers to stdout
    izz/izzj now works with -n without using rabin2
    Make idpi independent of bin loading

New Commands/Eval

    Implemented @@iS RBin.Section foreach operator
    Implemented @% suffix operator
    Refactored asm.cmt* and scr.*
    Implemented @B: to temporary seek to the Nth BB
    Implemented cp. and fix r_sys_copy on mac/ios
    Fix wao ret* for arm64
    Added command to edit ~/.radare2rc
    Improveed aae to support cstr and pstr like asm.emu.str
    Implemented support for cstr and pstr for asm.emu.str in disasm
    Added asm.emu.stroff: always show offset when printing asm.emu string
    Initial support for dbg.symstore
    Change all asm.emu* to asm.emu.*

Better support for AVR:

    Implemented opcode masking for improved zignatures
    Added missing opcode info (val, ptr)
    added pseudo code for avr instructions movw and st*

Better graphs and visual panel:

    VC rotates scr.color instead of toggling
    Implement axgj
    Added < command and make dietline reuse rcons.readChar
    Improve RCons.readPush and add .readFlush() to make V* happy
    Implemented r_cons_readpush() new api and fix the V... automation
    e graph.format=? and missing help for @@iS
    Intial implementation of function call argument display
    Experimental Cons_INVERT in strings in disasm
    Added VbC to browse comments
    Added VbF to browse functions
    Implement VV) - rotate asm.emu.str in visual graph
    Added ) key in visual to toggle asm.emu.str
    Honor scr.color in Vbf
    Added Visual browser for process threads

Revision 1.7 / (download) - annotate - [select for diffs], Sun Feb 18 17:36:58 2018 UTC (5 years, 7 months ago) by kamil
Branch: MAIN
CVS Tags: pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1
Changes since 1.6: +9 -11 lines
Diff to previous 1.6 (colored)

radare2: Upgrade to 2.3.0

pkgsrc changes:
 - require perl (used in build scripts)
 - rebse SunOS patches, most of them seem to be merged upstream (untested)
 - fix a bug with shadowing LDFLAGS in libr_debug (affects BSDs)

upstream changelog
==================
Release 2.3.0 - use latest acr 1.4

Analysis:

    Better use of search.in and anal.in and zoom.in - sivaramaa
    Initial work on CPU specific registers

Bin files:

    Speedup the loading of version info for ELF - pancake
    Add r2 -X as an alias for -e bin.usextr=false
    Implement iE., iEj., is. and isj. implementation - Thomas Bailleux
    Add search.in=bin.sections and @@@ sections
    Add warning for NSO files requiring decompression

Commands:

    New command cV command to compare values
    Fix wao nocj and so? and rename swap-jcmp to recj

Better support for AVR:

    AVR default CPU ATmega8 to avoid regressions
    Expose all the AVR cpu in e asm.cpu
    Added warning msg for maxbbsz - sivaramaa
    Windows builds now inclue avr and gb plugins

Better Disasm:

    Implemented the new pdR command that doesnt requires previous analaysis and just follow non-conditional jumps
    Substitute jmp, call, branch target based on analop (#9198)
    Filter strings better in disasm with bin.strpurge - kazarmy
    sh: fix disassembly of branch opcodes (#9238)
    Added ppc Paired single (#9172)
    Improved 8051 disassembler and analyzer - Adrian Studer
    Implement asm.strip to hide instructions matching type - pancake
    Fix anal.m68k plugin name and handle LINK, UNLK instructions properly
    Initial pseudo and esil for MMX instructions - pancake

Compatibility breaks/improvements:

    RCoreFile is starting to be deprecated
    Added dir.prefix (can be changed at runtime), no more compile-time prefix problems!
    r_str_chop/trim/clean/.. apis unified - api break - pancake
    Output of rabin2 (and i command) is more compact, so if you are parsing the output of that tool instead of using the JSON format, it may break things in your side.
    Build system improved (fixes static build and properly generates the archive file, and improved pkg-config files, iOS11 sdk)- thanks whitequark!
    First step in removing fcn->refs/xrefs - defragger

IO layer - pancake

    Implement of and minor fixes for o?
    Handle file:// uri as for io.default
    Implement obq and ob*
    Add on+ and ons+ support in cmd_open.c
    Where in time is r_io_open_buffer?

Better graphs: - pancake

    Render color themes properly
    Print edges before nodes again and add V^ key like VV^
    Add VV= to rotate graph.layout, and use less in VV?
    Implement minigraph disasm scroll with JK keys
    Implement axtg and bring back the VV<> (xrefs, call)-graph
    Better graphs, bringback t/f, add ^to seek to the begining and updated help
    Reuse Vd in VVd, add e,E keys to change graph.edges in VV

Other:

    x86 assembler has been improved by emvivre (adding fpu, hypervisor and priviledged instructions) and unlogic for fixing and extending some instructions.
    Honor zoom.in for all p= subcommands - sivaramaa
    Adds wide CRC support (crc8, crc16, crc32, crc64
    Initial blind implementation of hwbp for native Linux ARM and ARM64
    Visual browser handles imports and symbols

r2-2.2.0 Tio De Nadal

released this on Dec 24, 2017

Build

    Run fix-perms at the end of symstall to make umask in vagrant happy
    Add Vagrantfile for radare2 + ArchLinux
    Fix almost all warnings from the msvc build
    Fix ASAN build for High Sierra
    Added dynamic linking build for Appveyor

Debugger/IO

    Implement io.cache.auto to cache all reads for slow io backends

Assembly

    Add pdJ for formatted JSON disassembly
    Assemble REX.W prefix for 64-bit immediate mov to memory
    add sp to mips profile
    Implement asm.emustack

New Commands/Eval

    Add anal.rnr option
    Implemented anal.in and optimized lots of anal command
    Implemented @.. for temporary partial address seeks
    Initial import of the Yara's .NET parser
    Initial import of apia, the api analysis tool for r2
    Add disasm filtered/varsub/relsub in aoj
    Honor s:key in woD
    Handle pds in VO
    Add some missing mfc
    Implement fdw command
    Implement afd
    Better pseudo for LEA
    Handle arm thumb/thumb2 pc-relative in relsub
    Honor ^C in aar and aac
    Add /O command
    Implement dcu. command as an alias for dcu 8126
    Added new command afi. to just get the function name
    Initial import of the /f webui
    Honor asm.flags in pds
    Improve the ?Vj and add ?Vc
    Integration of the Serpent cipher (ECB)

2.1.0 Codename "onhold"

released this on Nov 27, 2017


Release 2.1.0

Project: radare2
Codename: onhold
Date: Sat Nov 25 2017 12:26:04 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://radare.mikelloc.com/get/2.1.0

radare2 2.1.0 comes with -8679 new lines of new features, bug fixes and enhancements. Here some of the most important highlights:

This release brings better support for Windows debugging, radare2 filesystem, file format improvements and massive speedup of the interface. Moreover, you can find better working search commands and various bug fixes.
File Formats

    Enhancement of DOS file format handling
    Add support for Phar Lap TNT PL format
    Support for the NSO Nintendo Switch static binaries
    Fix detection of overlay in PE files (#8812)
    Detect lang=go in ELF binaries
    Support ELF mips relocs with PLT instead of RELA
    Autodetect and mount ISO9660 partitions
    automount and handle hfs from RBin
    Fix aav for fuzzed binaries with huge invalid sections
    Parse constructors and destructors in MACH0 format and adjust cbin output
    Rename mo to mi, and implement mo, o. to open fs files or data as malloc://

Build

    Build radare2 for all iOS archs and the simulator
    Major enhancements for the Meson scripts

Debugger/IO

    Enable GDB for Windows (#8877)
    Improvements of win32 native debugger
    Improvements of WineDBG interop

Assembly

    Temp fix for #8788 - escape non-ascii chars in ESIL strings
    Add the ability to show imm values as string

New Commands/Eval

    scr.fps
    Initial import of asm.shortcut to change position of the hint
    Initial implementation of the 'ff' command to check the distance between flags
    afCl to get an aprox count of loops in a function
    Add aflc command to count functions
    ffs command
    /s syscall search command
    Add o-! command
    Implement the 'es' command to list eval spaces and keys
    cfg. str.escbslash

    added oa and oa* command
    Implement ahh -> anal hint highlight
    anal.searchstringrefs -> anal.refstr
    Implement 'r2pm -i all' as requested
    Support ternary values in rax2
    Implemented Cd-
    Implement 'r2pm suicide' to self remove r2 from system and home
    Fix woO command, which is wopO now
    R_BETWEEN
    Initial support for structure offsets
    simple project saving
    Implement /M and enhance r_fs to autodetect filesystems
    Implement pj, pj. and pj.. commands
    Add new 'rh' command to show the filesize in human format
    ie/iee
    Flags are now named entry0, entry1.init, entry2.fini
    Add anal.armthumb to make an specific aae test pass
    Cs8: add utf8 string
    Implement /me
    Implement ELF constructors/destructors parsing
    Implement bin.b64str to automatically decode base64 strings
    mdmp is in the core
    V\ and Vb
    Implement /ca
    Implement /c/a and make /c/ work properly
    cfg.escbslash: Escape the backslash (currently Cs output only)
    Implement the dor command to set a custom rarun2 profile
    Enhance the fs.r2 with /version and proper cat/read ops
    Initial support for ec usrcmt -> user comments have different color
    Add cfg.escbslash: Escape the backslash (currently Cs output only) (#8855)
    PDB_SERVER is now RABIN2_PDBSERVER
    List mountpoints in path via md
    Implement anal hints for htons immbase
    Honor supported bits mask in V&
    Fix #8870 - sn/sp accepts an arg to override scr.nkey
    Fix #8778 - Honor escaping ':' in ~ and make it smarter to have better grepping'
    Bring back o+
    ob doenst requires binobj id anymore, just the fd is enough
    Bring back V& with anal hints
    op->oL, o fd -> op
    Fix #7120 - Add read/write/exec /r subcommands
    Add RAnalOp.direction and tweak ao for it
    Use empty file.path in project rc to indicate new style rc with on commands. Make -p imply -- to further enable this.
    Added some output to aab and improved the false positives a bit
    added cfg.debug befroe all those noisy eprintfs
    Added json feature for oL listing (#8781)
    Cs..: show string + info about it at current address (#8689)

Fixes:

https://github.com/radare/radare2/milestone/23?closed=1

r2 2.0 aka "shiny-nibbles"

released this on Oct 10, 2017

Release 2.0.0

Project: radare2
Codename: shiny-nibbles
Date: Mon Oct 09 2017 17:17:36 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://cloud.rada.re/get/2.0.0

radare2 2.0.0 comes with 31574 new lines of new features, bug fixes and enhancements. Here some of the most important highlights:
Numbers:

    commits: 1042
    fix: 571
    crash: 30
    new: 18
    add: 197
    anal: 44
    leak: 50
    esil: 16
    debug: 30
    type: 18
    oob: 0
    honor: 20
    update: 31
    clean: 13
    import: 3
    endian: 6
    indent: 7
    command: 68
    enhance: 10
    diff:
        add: 54605
        del: 23031
        diff: 31574

.----------------------------------------------------------------------------------------------------------.
|                                              Release 2.0.0                                               |
|----------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak |                       authors                        |
|--------------|---------|-----|-----|-------|------|------------------------------------------------------|
|              |    1042 | 571 | 197 |    20 |   50 |                                                      |
| binr/radare2 |      44 |  19 |  12 |     1 |    2 | pancake srimanta.barua1 condr3t defragger ...        |
| binr/rabin2  |       4 |   3 |   2 |     0 |    0 | condr3t pancake dark.cancerbero maskray ...          |
| binr/radiff2 |       8 |   5 |   0 |     0 |    2 | pancake maskray condr3t xarkes ...                   |
| binr/rahash2 |       2 |   2 |   0 |     0 |    0 | xarkes pancake alvarofe                              |
| libr/debug   |      90 |  53 |  22 |     0 |    7 | pancake srimanta.barua1 xarkes rkx1209dev ...        |
| libr/bin     |     114 |  67 |  18 |     3 |   12 | pancake alvarofe xvilka maskray ...                  |
| libr/core    |     510 | 274 |  91 |    17 |   28 | pancake maskray alvarofe condr3t ...                 |
| libr/crypto  |       0 |   0 |   0 |     0 |    0 |                                                      |
| libr/cons    |      26 |  19 |   3 |     2 |    8 | pancake maskray p4n74 srimanta.barua1 ...            |
| libr/anal    |      86 |  48 |  18 |     0 |   10 | pancake maskray alvarofe xvilka ...                  |
| libr/asm     |      75 |  47 |  19 |     0 |    6 | sven pancake maskray wargio ...                      |
| libr/util    |     118 |  67 |  16 |     4 |    8 | pancake maskray kazarmy xarkes ...                   |
| libr/egg     |      12 |  11 |   2 |     0 |    3 | pancake josediazfer josediazplay wargio ... |
| libr/io      |     169 | 101 |  34 |     2 |    8 | pancake alvarofe condr3t maskray ...                 |
'----------------------------------------------------------------------------------------------------------'

Contributors: 1042 / 69 = ~ 15.101449275362318

33% - 348 pancake
13% - 138 maskray
11% - 124 alvarofe
4% - 48 condr3t
4% - 46 srimanta.barua1
3% - 35 xarkes
3% - 33 xvilka
2% - 31 kazarmy
2% - 24 sven
1% - 20 wargio
1% - 20 maijin
1% - 18 defragger
1% - 18 cutlassc91
1% - 13 antide.petit
1% - 13 rkx1209dev
1% - 12 skuater
0% - 9 guillaume
0% - 8 h4ng3r
0% - 8 ora8
0% - 6 mscherer
0% - 4 karlis3p70l1ij
0% - 4 emacsray
0% - 3 arkamar
0% - 3 julien.voisin
0% - 2 p4n74
0% - 2 lenerd
0% - 2 sajjad
0% - 2 jpenalbae
0% - 2 dark.cancerbero
0% - 2 soez
0% - 2 cgvwzq
0% - 2 mrmacete
0% - 2 josediazplay
0% - 2 asanchez
0% - 2 0xTowel
0% - 2 kc8apf
0% - 2 richardmaciel
0% - 1 dowdyph0
0% - 1 nfontenot27
0% - 1 zhangzhuo
0% - 1 tantecky
0% - 1 amatus
0% - 1 techvoltage
0% - 1 frefreak.zxy
0% - 1 tryger
0% - 1 zadlg
0% - 1 willi.ballenthin
0% - 1 javierptd
0% - 1 burnham.jonathan
0% - 1 xiyou.wangcong
0% - 1 osalvador.vilardaga
0% - 1 queenp
0% - 1 a.kornitzer
0% - 1 torsunov
0% - 1 ben.l.gardiner
0% - 1 misc
0% - 1 dennis+git_swoops
0% - 1 mgregorczuk0
0% - 1 j123123
0% - 1 kijmail
0% - 1 Coder-256
0% - 1 mr.exodia.tpodt
0% - 1 itaycohen23
0% - 1 beren.minor+git
0% - 1 daan
0% - 1 mytbk920423
0% - 1 crd
0% - 1 toshi.piazza

This release became our pain in some parts of the body and a huge win. Thanks to condret, alvaro and maskray the long term refactoring on top of the simple IO library (siol) is now merged, tested and everything is rewritten on top of this layer. This simplified internal representation of many operations, proving stacked, multi-layered IO for any part of radare2.
New commands

    A lot of commands were merged together
    Some commands have been added to ease the manipulation of ascii-graphs
    Regularely used analysis macro have been moved into commands to make them easier to use
    Add new command aesb, to step back with ESIL (#8052)
    Enhance ax, axk lists and axq is the old ax
    Implement rafind2 -i to identify binaries

New Fileformats/io plugins

    ar://
    lib://
    winedbg://

New config options

    Add io.map and remove file and io.maps.range search.in options
    Add asm.asciidot and remove asm.strenc
    io.maps is now by default instead of search.in=file
    Add asm.addrbytes eval config var to make one vaddr unit use more than 1 bytes (#8121)
    Bring back dbg.trace.inrange in dtc command
    Remove search.count in favor of search.maxhits in /A , /R , and everywhere else

Dependencies updates

    Update spp again for windows this time
    Use libtool instead of ranlib for iOS
    Update sdb
    Upgrade zlib from 1.2.8 to 1.2.11

Improved interface

    Fix overlap in graphs
    Added curved corners in the ASCII graph (e scr.utf8.curvy=true)
    Add some options to the search command (/), and improve its speed drastically in certain cases
    r2 -e cfg.newtab=1 to enable the experimental new command completion
    Show hidden metadata as "hidden" (#8525)

Improved disassembly

    Pseudo-decompiler for AVR and SH4
    Add instruction descriptions from Intel Instruction Set Reference Volume 2 (#8209)

Analysis

    Reduce the number of false positive strings
    Add more analisys heuristics
    Do not let pdf work on functions with > 4KB of unrelated code
    Enhance aav for MIPS, af@@aav* may be added at some point
    Initial ESIL support for V850
    Avoid dupes in anal.jmptbl for analysis, speedup
    asm.strenc guess whether string is utf32le, utf16le, utf8, etc

Fileformat supports

    Add IA-64 binary detection (#8645)
    Add HP-UX binary detection (#8644)
    Detect kotlin in java classes
    Initial optimization for DEX
    Big improvements for MDMP plugin (r2pm -i mdmp)
    Added resources extraction to rabin2 (#7912)
    Honor bin.dbginfo for all file formats
    Add DEX38 support
    Add LC_CODE_SIGNATURE for rabin2 -H on mach0 bins
    Add canary detection on OpenBSD binaries

ELF

    Handle .bss section in ELF
    Add V850 recognition

Bindings

    Add more extern "C" to make C++ users happy
    Even more commands have a json output now (just append j to them.)
    Expose r2 environment variables to internal r2pipe calls
    Add free to RLibStruct & RLibPlugin. (#7991)
    Updated lang-python and it allows to create RCore, RAsm and RAnal plugins

Misc cool stuff

    Add zsh completion for every r2 tool!
    Add support for architectures that are using 9bit bytes middle endian (like CLemenCy)
    Add support for IDA FLIRT signatures v10 (IDA 6.8 and higher)
    Detect main() for D language
    Added autoload of zignatures from zigns folder
    Replace radiff2 -s with Eugene W. Myers' O(ND) diff algorithm
    Add radiff2 -ss for Levenshtein edit distance
    More documentation
    Less crashes, less memory consumed
    Various fixes regarding projects (removing functions after loading a project is now working)
    As usual, new fortunes

Debugger

    Add heap jemalloc analysis
    Add timeless debugger (Record and Replay) for native debug, gdb:// and ESIL emulation !!!
    Add commands to manage recorded trace sessions
    Add initial support for hw watchpoint (#8132)
    Better LLDB support
    Windows: PDB Autoloading when debugging
    Support spawning processes with spaces in their path
    Add the null debugger plugin
    added =!detach to detatch de debuggee

GDB

    Reading xml target description and parsing into r2 reg profile (#8124)
    Added reading of executed file name to gdbserver
    Add env var to control gdb packet size
    Added automatic loading of symbols from local file (#8006)
    Added debugging of protocol messages in gdbserver (#7931)

radare2-1.6 aka Digital Lettuce

released this on Jul 11, 2017



This release comes with major improvements in GDB Client/Server, Windows support, timeless debugger and many stability bugfixes. Also adds support for PPC VLE, Ethereum Virtual Machine, workaround to properly configure the disassembler on PlayStation2 ELFs and added support for the Hexagon CPU.

Strings displayed in the disassembly are now more readable and support multiple encodings, utf32 has been added, as well as latin1, utf8 and asciidot. So rabin2 -z will catch wide32 strings too!

Thanks to the GSoC guys we get:

    Windows: many stability fixes, msvc builds automated on each commit, installed done, a new command allows to grab all PDB from all linked libraries at runtime of any process and load the symbols into the disassembly.
    GDBserver support works, you can use r2 as a gdbserver, but also, many bugs has been fixed to support remote gdb-avr, arm and arm64, so you can now debug the Riscure crackmes without depending on GDB, and also natively debug Android apps thru the gdbserver protocol.
    New mechanisms for storing the debugger backstep snapshots is making it backstep much faster by using checksumming and storing diffing changesets instead of full dumps for each step. Better integration with the tracing commands of r2.

New commands

    Replaced aea with aea*
    Replaced dh for dL (#7682)
    Renewed dsb command for new session format (#7651)
    Implemented aab* and fixed aab (#7688)
    Implemented psW cmd to print 32 bits wide strings
    Implemented axq to list refs in quiet/human-readable format
    Implemented /ra and fixed /re without arguments to find ALL references
    Implemented |T to pipe to the scr.tts engine
    Implemented s== to show flag names, not just offsets
    Implemented ecH for instruction highlighting support (#7741)
    Implemented !- and !-* commands to clear command history
    Implemented sj to retrive seek history in json format (#7663)
    Implemented dtst and dtsf commands for save and restore sessions. (#7880)
    Implemented drtj support (#7866)
    Implemented dsuir command for regex match (#7675)
    Implemented ~str~? support and fixed #7373 bug (#7669)
    Implemented dbta to show an ascii-art representation of the stack backtrace

0xffffffffffffffff  STACK END  ^^^
0x0000000000000000  STACK POINTER: rsp
                    .------------------------.
0x0000000000000000  | rsp     [frame 0]      | ; size 0
                    |            ...         |
0x0000000000000000  | rbp 0x0000000000000000 | ; return address
                    )------------------------(
                    |           ...          |
                    `------------------------'
0xffffffffffffffff  STACK BOTTOM

New config variables

    Implemented asm.minvalsub variable
    Implemented aerR and cmd.esil.ioer
    Implemented cmd.esil.todo

Architectures

    Hack for PS2 binaries (#7636)
    Initial support for the Hexagon CPU
    Added support for the Ethereum Virtual Machine
    Fill half-full-relro detection on ELF binaries (checksec)
    Fixed and refactor imul for x86.nz (#7832)
    Rewritten 8051 disassembler
    PowerPC VLE support with capstone (#7899)

Analysis

    /rc find refs (on arm64 for now) like 10 times faster than using capstone
    Fixed segmentation fault on bin_mach0 (#7846)
    Honored cpu on anal_mips_cs and add/fix some mips64 instruction (#7643)
    Added support for the Ethereum Virtual Machine
    PowerPC VLE support with capstone (#7899)

Strings

    asm.strenc asciidot (#7898)
    asm.strenc utf8, guess (#7849)
    asm.strenc latin1 (#7857)
    Use r_str_escape for ASCII anal addr strings (#7834)
    Fixed some string formats for 32bits
    Implemented utf32 wide32 strings for rabin2 -z
    Implemented u prefix to wide UTF-16 strings (#7760)

Debugger

    Implemented GDB/backstep
    dm is more consistent with dmm
    Implemented support for gdb://host:port/pid (#7759)
    Added gdbr_{attach,detach,detach_pid,kill_pid} to gdbclient. (#7759)
    Implemented qRcmd to io_gdb
    Implemented breakpoints when using f2 pid/tid specific continue with signal for gdb (#7848)
    Optimized gdbserver mem read, and added gdbserver mem write
    Implemented gdb reg caching
    Corrected the attach pid behaviour
    Use task_swap_exception_ports (instead of get then set)
    Add new debugger stop reason for user-initiated breaks
    Stop the inferior when dw is interrupted (#7744)
    Stop the inferior after attaching
    Fixed memleak and invalid format string for gdb
    WIP Serial fix for io_gdb. (#7808)
    Support for dm commands in gdb (#7770)
    Support to flush breakpoint command output on every hit
    Speed up gdb considerably if gdbserver supports no-ack mode (#7763)
    Support to load bin-format specific scripts from home
    Corrected gdbserver register-setting behaviour
    Fixed gdb client packet size (#7703)

Features

    Support towards a visual ESIL debugger VpOd
    Support underscores in hex numbers
    Added idp command to load functions from pdb file (#7891)
    ~? is more consistent in different command constructions
    Fixed the wtf! command (better va/pa support and avoid infinite loops)
    Fixed Help for |? like ?|? (#7830)
    Fixed ouput of aerR/aer* (#7870)
    Added format parsing for x\ command (#7839)
    Implemented visual entropy browser with V|| and then h or l keys to move
    Reduced flashes in V|| aka cmd.cprompt
    Enhanced icj, ic and id in Dex (#7821)
    Enhanced the Java assembler (#7706)
    new radare2-pro theme for the graphviz
    Enhanced v modifier to rapatch similar to wv (#7806)
    Implemented alt+backspace and modularize ^w to use unix_word_rubout (#7794)
    Optimized RFlag.get_at, enhancing fd and honor flagspaces
    Implemented /rc to check for call refs, optimized for arm64
    Implemented plain checkpoint system (#7782)
    Added reading of memory maps from /proc/pid/maps
    Added support for SVN sources in r2pm
    Added support for directories in include
    Added flow2 to all color themes
    Added missing socket/serial.c
    Added serial support in RSocket for gdb:///dev/ttyUSB0:9600
    Implemented the support of ag command work with loc functions (#7673)
    Enhanced radiff2 -D with context bytes in disasm and honor -q for colors
    Implemented radiff2 -G to run a custom command
    Implemented Vb to run dbs like key.f2 for consistency

Builds

    Set windows meson default to static libraries (#7840)
    Reorganized meson version grabbing (#7828)
    More support for static builds (#7822)
    Added msvc 32 bits to appveyor
    Added msvc x64 version (#7814)
    Fixed msvc to compile with /MT to include redistributables into binaries
    Fixed Travis linker error (#7783)
    Fixed whitespaces in meson build file by removing them
    Ignored meson scripts (#7751)
    Added VS2017 project generation
    Appveyor windows-installer integration
    Fixed ios-sdk builds

Contributors

Contributors: 310 / 42 = ~ 7.380952380952381
-------------

37% - 117  pancake
7% - 24  cutlassc91
7% - 22  srimanta.barua1
5% - 17  xarkes
4% - 13  nibble
3% - 12  kazarmy
3% - 12  alvarofe
2% - 8  rkx1209dev
2% - 7  antide.petit
2% - 7  zhangzhuo
2% - 7  sven
1% - 6  kamou.k
1% - 5  sajjad
1% - 4  skuater
1% - 4  github
1% - 4  defragger
1% - 4  mrmacete
0% - 3  j123123
0% - 3  xvilka
0% - 3  adinator1999
0% - 2  wargio
0% - 2  masapastosa
0% - 2  berg.nils
0% - 2  xdg
0% - 2  lenerd
0% - 2  bru.x0
0% - 2  h4ng3r
0% - 1  bluec0re
0% - 1  maijin
0% - 1  chinmay1dd
0% - 1  kenny.macdermid
0% - 1  sferrini
0% - 1  ludwig.maes
0% - 1  qwokka
0% - 1  schrodinger
0% - 1  carcher002
0% - 1  Tzaoh
0% - 1  jmcfadyen
0% - 1  adrian.herrera02
0% - 1  jpenalbae
0% - 1  mr.exodia.tpodt
0% - 1  danitorregrosa

r2-1.6 codename "RubyCup"

released this on May 30, 2017


Release 1.5.0

Project: radare2
Codename: rubycup
Date: Mon May 29 2017 16:35:28 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://cloud.rada.re/get/1.5.0

radare2 1.5.0 comes with 5777 new lines of new features, bug fixes and enhancements. Here some of the most important highlights:

NOTE: If you building against MUSL libc you'll have to use this patch (which is already commited in master and will be ready for 1.6 voidlinux/void-packages@9a5fbd4)
Numbers:

    commits: 352
    fix: 184
    crash: 3
    new: 4
    add: 66
    anal: 11
    leak: 9
    esil: 16
    debug: 5
    type: 0
    oob: 2
    honor: 17
    update: 18
    clean: 4
    import: 0
    endian: 0
    indent: 1
    command: 16
    enhance: 4
    diff:
        add: 15376
        del: 9599
        diff: 5777

.------------------------------------------------------------------------------------------------------.
|                                            Release 1.5.0                                             |
|------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak |                     authors                      |
|--------------|---------|-----|-----|-------|------|--------------------------------------------------|
|              |     352 | 184 |  66 |    17 |    9 |                                                  |
| binr/radare2 |      15 |   5 |   2 |     2 |    0 | pancake skuater kamou.k                          |
| binr/rabin2  |       9 |   5 |   1 |     0 |    0 | pancake mscherer srimanta.barua1 armijnhemel ... |
| binr/radiff2 |       1 |   1 |   0 |     0 |    0 | pancake                                          |
| binr/rahash2 |       3 |   2 |   0 |     0 |    0 | pancake skuater                                  |
| libr/debug   |      26 |  12 |   5 |     1 |    0 | pancake rkx1209dev srimanta.barua1 skuater ...   |
| libr/bin     |      41 |  23 |   2 |     0 |    3 | pancake alvarofe skuater armijnhemel ...         |
| libr/core    |     148 |  73 |  29 |    12 |    1 | pancake kazarmy kamou.k wargio ...               |
| libr/crypto  |       6 |   3 |   0 |     0 |    0 | pancake skuater xarkes                           |
| libr/cons    |      19 |  11 |   1 |     3 |    0 | pancake skuater sferrini bru.x0 ...              |
| libr/anal    |      50 |  31 |  10 |     4 |    1 | pancake mrmacete xvilka akochkov ...             |
| libr/asm     |      26 |  11 |   7 |     0 |    0 | pancake skuater sven sajjad ...                  |
| libr/util    |      48 |  29 |   4 |     2 |    4 | pancake kamou.k alvarofe kazarmy ...             |
| libr/egg     |       4 |   2 |   0 |     0 |    0 | pancake skuater                                  |
| libr/io      |      20 |  12 |   1 |     0 |    0 | pancake srimanta.barua1 skuater xarkes ...       |
'------------------------------------------------------------------------------------------------------'

Contributors: 352 / 44 = ~ 8

57% - 201 pancake
4% - 15 kazarmy
3% - 13 alvarofe
3% - 11 kamou.k
2% - 8 skuater
2% - 8 yetmorecode
2% - 8 wargio
1% - 7 mrmacete
1% - 5 xvilka
1% - 5 raul.mikaop.zelda
1% - 5 akochkov
1% - 4 rkx1209dev
1% - 4 sajjad
1% - 4 frefreak.zxy
1% - 4 defragger
0% - 3 h4ng3r
0% - 3 armijnhemel
0% - 3 sven
0% - 3 sferrini
0% - 3 maijin
0% - 3 srimanta.barua1
0% - 3 misc
0% - 3 bru.x0
0% - 2 drozdziak1
0% - 2 Florian Markl
0% - 2 adrian.herrera02
0% - 2 mscherer
0% - 2 soez
0% - 2 xarkes
0% - 1 jpcanepa
0% - 1 asanchez
0% - 1 rayjolt
0% - 1 adinator1999
0% - 1 ebragg09
0% - 1 queueRAM
0% - 1 lonely.ruyk
0% - 1 segarrra
0% - 1 0xdecafbad
0% - 1 condr3t
0% - 1 Tzaoh
0% - 1 daniel.crompton
0% - 1 manouchehri
0% - 1 hewittc
0% - 1 tobias.gross

This release characterised with a big amount of various bug fixes, analysis
improvements and ESIL improvements. You can use meson build system to build
radare2 much faster than using old makefiles buildsystem.
Moreover the first batch of GSoC
patches landed in it - basic timeless debugging support, msvc build
(using both cccl and meson) and improvements of GDB client.
Good news - radare2 now has support for compile-time localization.
Embedded languages are: English, Catalan
Commands

    Case insensitive grep with ~+
    Load .py, .js and .lua at startup time
    Implemented prc command to print colorful bytes
    Implemented dmp command for Linux
    Added drlj subcommand
    Initial implementation of the flame column graphs in p==
    Added p==? and honor colors in p==
    Added pib command for basic block level disassembly
    Added fss, fssj and fss*
    Added class name argument to ic
    iCj - Signatures in JSON format
    Added S.j command to print current section in JSON
    Implemented pxj, p8j, pxwj, pxhj and pxqj
    Set asm.midflags=2 by default
    Enhanced @@ foreach operator
    Fix Pl command on Win64
    Initial implementation of pdR, the af-less pdr
    Rename Tp to L command to be consistent with iL and oL
    Fix for @@c:/c to be compatible with @@/c
    drr honors scr.color
    Integrate pss into the visual mode
    Implemented px0
    Initial implementation of dir.zigns and honor in zo
    Show comments in pxa too
    Added ev and evj command
    Honor color theme in p=, add palette rainbow primitives in RCons

Config variables

    Added asm.cmtoff to control showing offset comment
    Removed | in asm.bbline and fix some glitches when no analysis found
    Refine asm.varsub for att syntax
    Added bin.relocs config var to load relocs information at startup if available
    Make anal.strings unset bin.strings and run aar
    Fix zoom.byte=?
    Implemented asm.midcursor
    Honor cfg.log for analysis metadata (CC, ...)
    Remove asm.spacy and integrate the logic into asm.bbline when no fcn is found
    Honor asm.syntax=att for x86 varsub and relsub

Analysis changes

    asm.leahints cmts are now normal cmts
    Improvements of asm.pseudo for x86
    Optimize asm.slow with bin.relocs
    Honor anal.strings for aae
    Reduced false positives of switch tables detection
    aeim doesnt break projects anymore
    Honor MMX and SSE op.family for x86.cs
    Now working PPC pblr and fixed b/bc jumps
    Introduced the anal->cmdtail and enhance anal.jmptbl with it
    Honor noreturn in aab and removed no exact cases from aab
    Add MIPS branch likely variants to MIPS CS analysis
    Fix inPLT check for function analysis
    Honor class/methods and flags to name functions
    Fixed a bug in flag renaming enhancing analnysis in some situations

ESIL

    Implement the new REPEAT keyword for ESIL
    Fix STP and LDP ESIL representation for arm64
    Add cset, cinc and fix cmp, csel for arm64
    Fix crash in signatures
    Fix ESIL pstate flags for arm64
    Implement >>>>= and fix SAR and SARX instructions for x86.cs
    Implemented SAR using new esil command REPEAT
    Add conditions for branching arm64
    Fix Branch instructions ESIL arm64
    Add ROR esil arm64
    Add signed and unsigned extension arm64
    Fix >>>> and >>>>= esil instructions for 32bit
    Add mov.w thumb instruction
    Fix arm64 ESIL pass the correct param to arm64_reg_width
    Fix arm64 movz and movk ESIL
    Add support for setend ARM instruction
    Add internal flags setting for esil_sub
    Fix PowerPC's SUBF esil and parse

r2pm

    Remove "set -e" to fix the later gmake check
    Add r2pm dependencies to Dockerfile
    Add support for SVN sources in r2pm

Formats

    Add resource support into radare for PE files
    Fix listing methods of classes in Java bins
    Fix override shdr with phdr symbols
    Identify Rust main symbol on mach0 (#7448)
    Enhanced main detection for MSVC
    Move jni init function into entrypoints
    Avoid modifying symbol names in bin/filter
    Support r2 -B for NES roms
    Fixed imports program header issue on some ELF binaries
    Fixed regression when loading a fuzzed DEX binaries
    Merge tms320c64x plugins into tms320, use e asm.cpu=c64x

Debugger

    Fix debugger in mac hidding the output
    Fix dmi and its help
    Implemented dynamic global_max_fast resolution for linux_heap_glibc
    Implemented search.in=dbg.program and dbg.trace.libs
    Fix redirection to std[io|out|err] in rarun for mac
    Implement r2 -X to specify custom rarun2 directives
    Added new trace session format
    Fix dmi honoring dmm on Mac debugger
    Added kill signal for gdb client
    Bring back drx on XNU, buggy but at least does something

r2pipe & rlang

    Add support for #!python -e and other rlang plugins
    Modify RLang plugins for Py2/py3 support
    Support -e -s in #!vala

Build

    Support for Meson and MSVC (runmeson.bat)
    Honor NOSUDO in sys/install.sh
    Initial support for compile-time translations (radare2-translations)

Random

    Fixed many JSON outputs
    Add file.lastpath to fix regression in projects using malloc://
    file.path is not polluted with invalid values after opening malloc:// files
    Support square pixels, cursor and scroll in prc, available in VPP, add hex.pcols
    Those whose offset are 0 are skipped to avoid overlapping
    Add align info in DEX payload instructions
    Fix remaining glitches with recursive help
    Update equivalent flags for -g (#7551)
    Fix varsub regression on intel syntax
    Fix #7492 - Properly Handle x/ argument as address
    print empty json list when there are no xrefs (#7487)
    Show all flags in data refs, not just the first one
    Initial gdbserver support

r2 1.4.0 Codename: "no comments"

released this on Apr 18, 2017

Release 1.4.0

Project: radare2
Codename: no comments
Date: Mon Apr 18 2017
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://cloud.rada.re/get/1.4.0

radare2 1.4.0 comes with 12768 new lines of new features, bug fixes and enhancements. Here some of the most important highlights:
Special thanks to:

    Nibble - for rewriting the signature
    Defragger - for the new analysis command aab
    Unlogic - for adding more instructions in the assemblers
    cgvwzq - for completing WASM support
    alvaro - better support of arm/thumb
    mrmacete - static/method and access attributes for objc
    wargio
    h4ng3r -
    xarkes
    dx - last minute contributions
    pancake - for almost everything else

.-------------------------------------------------------------------------------------------------.
|                                          Release 1.4.0                                          |
|-------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak |                   authors                   |
|--------------|---------|-----|-----|-------|------|---------------------------------------------|
|              |     432 | 216 |  79 |    10 |    6 |                                             |
| binr/radare2 |      11 |   8 |   2 |     0 |    1 | pancake skuater alvarofe 0xdecafbad ...     |
| binr/radiff2 |       9 |   5 |   0 |     1 |    0 | pancake alvarofe                            |
| binr/rahash2 |       5 |   1 |   1 |     0 |    0 | pancake wargio alvarofe nibble ...          |
| libr/debug   |      22 |  17 |   4 |     0 |    0 | pancake rkx1209dev alvarofe 0xdecafbad ...  |
| libr/bin     |      69 |  44 |  11 |     0 |    1 | pancake alvarofe h4ng3r mrmacete ...        |
| libr/core    |     199 |  93 |  45 |     8 |    3 | pancake nibble maijin kazarmy ...           |
| libr/crypto  |       2 |   2 |   0 |     0 |    0 | pancake                                     |
| libr/cons    |      13 |   7 |   1 |     0 |    0 | pancake dx 0xdecafbad mr.exodia.tpodt ...   |
| libr/anal    |      75 |  37 |  14 |     1 |    2 | nibble pancake alvarofe jean.quilbeuf ...   |
| libr/asm     |      48 |  31 |   8 |     0 |    2 | pancake sven cgvwzq alvarofe ...            |
| libr/util    |      41 |  25 |   7 |     0 |    0 | pancake alvarofe nibble mr.exodia.tpodt ... |
| libr/egg     |       0 |   0 |   0 |     0 |    0 | david.polverari                             |
| libr/io      |      17 |  14 |   1 |     0 |    0 | pancake alvarofe skuater condret ...        |
'-------------------------------------------------------------------------------------------------'

Contributors: 432 / 54 = ~ 8

46% - 199 pancake
15% - 66 nibble
8% - 36 alvarofe
3% - 15 maijin
2% - 12 sven
1% - 8 kazarmy
1% - 6 cgvwzq
1% - 6 mrmacete
1% - 6 wargio
1% - 5 xarkes
1% - 5 h4ng3r
1% - 5 mr.exodia.tpodt
0% - 4 rkx1209dev
0% - 4 skuater
0% - 3 dx
0% - 3 srimanta.barua1
0% - 3 itaycohen23
0% - 2 sferrini
0% - 2 defragger
0% - 2 ret2libc
0% - 2 david.polverari
0% - 2 neutral
0% - 2 ryarnyah
0% - 2 xvilka
0% - 2 antide.petit
0% - 2 raul.mikaop.zelda
0% - 2 marcel.bathke
0% - 1 wagner.thomas
0% - 1 ahmedsoliman
0% - 1 code
0% - 1 queueram
0% - 1 0xdecafbad
0% - 1 usrshare
0% - 1 Tzaoh
0% - 1 condret
0% - 1 p4n74
0% - 1 yann-github
0% - 1 uls6502
0% - 1 dzcyberdev
0% - 1 tilsche
0% - 1 pkerling
0% - 1 jean.quilbeuf
0% - 1 guillaume
0% - 1 giovanniteratani+github
0% - 1 Sidy726
0% - 1 adrian.herrera02
0% - 1 ixineeringeverywhere
0% - 1 gonzalezjo
0% - 1 esteve.varela
0% - 1 semarie
0% - 1 manouchehri
0% - 1 m4s4n0bu
0% - 1 levente
0% - 1 ewtoombs
New r2pm packages

    New x86 disassembler based on Zyan
    Add r2com package to comment COM calls
    Add kaitai support
    Upgrade Vala
    Add rust implementation of the new aab command

New commands

    Add tinygraphs (agft)
    New informaton mode - opex (json information about opcode)
    Implement command zc
    Implement Pn+ to add text directly from the commandline to the project notes.
    Implement s! to show near flag names for history offsets
    Print out Sa in S*, handy for projects
    Fix /V* to set flags and not behave like aav
    Add p=z and bring back the old p=p
    Add p=[j,c,i,m,s] and enhance p=p
    Implement di* command
    Add rahash2 -E xor and support -S - and -S @ to slurp stdin or files
    Add CC. help in C? and handle CC.[addr] syntax
    Implement zaF generate zignatures for all functions
    Implementzoz to load zignatures from gzipped sdb file
    Add ss (Silent Seek) to seek without write in the seek history
    Initial implementation for singlestep command backwards dsb
    Add r2 -Q for faster quits handy for testing
    Implement ad4 and ad8 commands to analyze data words.
    Add fd. command to find flags without delta
    Add dbh- to remove breakpoint plugin handler
    Implement radiff2 -e
    Add P- command to delete projects (currently with Pd)
    Implement | and |H pseudopipes, see pd|?
    Implement /f to find the contents of a file inside another
    Support alt-q in Visual and Visual Insert modes
    Add $ binding to enable pseudocode in visual graph

Commands change

    Rename z/ to zS. Generate zigns for all fcns
    Replace the mention of r2's # command with ph
    Rename esil_stack into esil.ram
    Remove slurp command '<'

Config vars

    Fix #7108 - Implement anal.fcnprefix
    Fix #6338 - Add asm.varsum to show variables summary instead of full var list
    Add esil.stack.{addr,size,depth} config variables instead of hardcoded constants
    Fix #7162 - Implement esil.stack.pattern
    Add config var zign.mincc. Rename zign.{min,max} to zign.{minsz,maxsz}
    Zign matching configurable via zign.metrics.{graph,bytes}
    Add hex.header configuration variable
    Add asm.section.sub to the pointer dereference strings in disasm
    Implement asm.section.sub to prefix offsets with section name in disasm
    Added custom tab to sdb json_indent function (#7050)

Various

    Implement reentrant thread locks in RThread and use them in core.cmd()
    Fix escaping of JSON escape in various command
    Honor midflags in more commands
    Display the help for the % command (#7283)
    Improvements in aab
    Zignatures, major rewriting
    Integrate crca in rahash2 and r2
    Many fixes for Windows and Windows build
    Many fixes intended for Iaito release
    OPEX for more architectures
    Support writing PE32/PE32+ section permissions (#7058)
    Initial implementation of the new testsuite
    Adding relro into i and putting stuff in semiorder
    Fix main detection for several windows binaries
    Various fix for ARM and x86 assemblers
    ESIL can now emulate memory mapped devices
    Add mipsel compiler target
    Do not exit if pledge fails, just return with disabled sandbox

File Formats and Disassemblers

    WebAssembly (WASM) Bin and Disassembler support
    Identify Android Wear DEX binaries
    RAR disassembler and bin plugin moved to radare2-extras
    Initial support for the NRO Nintendo Switch binaries
    Lua 5.3 Assembler/Disassembler, Analyzer and Binary Plugin (#3836) (#7197)
    Initial import of the io.null plugin and doc/siol.md
    SFC/SNES ROM support
    Initial implementation of extracting class info from symbols
    Enhance stripped detection on MACH0 binaries (thanks @dan1t0 for reporting)
    Enhance V. to work with firmwares and dumps
    Added display of strings in disassembly for PIC binaries (#7112)

Anal

    Add arm-ios-{16,32,64} noreturn function types and enhance tail call analysis
    In addition JMP to imports are considered end of function
    Add iOS arm/thumb noreturn function type definitions
    Implement opex for XCore and Sysz
    Implement opex for m68k
    Implement opex for sparc and remove the % from the disasm
    Fix #6697 - aav now is aware of thumb addr

Assembler

    Support assembling the BND prefix on x86.nz branch instructions
    Add many more instructions for ARM, X86 and ARM64

Debugger

    Fix #7213 - Retrieve UID on XNU and Linux for RDebugPid
    Listing processes now show the user-id too
    Fix r2 -R on mac (rarun2 issue)
    Improve gdb remote debugging (#7027)
    Fix #7040 - detach debugger on windows at radare2 exit

Disassembly

    asm.cmtright fixed in graph
    Fix duplicates in disassembly

Zignatures Refactoring by @nibble

    Rewrite from scratch
    Signature types: Graph based, masked binary patterns, referenced functions
    r_search is used under the hood, honoring search configuration variables
    Anal masks per architecture
    SDB storage backend for zignatures
    zign commands autocompletion

    Initial work on providing radare2-sigs https://github.com/Maijin/radare2-sigs (MASM32)

Iaito initial release

A Qt and C++ GUI for radare2 reverse engineering framework - https://github.com/hteso/iaito

WASM

WebAssembly or wasm is a safe, efficient and portable low-level bytecode format for in-browser client-side scripting (though can be also used in non-web environments). WASM is an open standard currently under development by the W3C. Its initial aim is to support compilation from C and C++, though other source languages such as Rust are also supported.

Current version is 0x1 (https://github.com/WebAssembly/design/blob/d9bff35e1389ba11c98ccee8cde72bb2f30e922c/BinaryEncoding.md). Bin support aims to be more flexible than the spec and current implementations, for example, it allows disordered and repeated sections, and tries to keep parsing after an invalid section is fou

radare2 1.3.0 Codename: Refactor Forever

released this on Mar 13, 2017

Release 1.3.0

Project: radare2
Codename: beta
Date: Mon Mar 13 2017 00:37:36 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://cloud.rada.re/get/1.3.0-git

radare2 1.3.0-git comes with 11868 new lines of features, bug fixes and enhancements.
Numbers:

    commits: 415
    fix: 223
    crash: 12
    new: 8
    add: 67
    anal: 19
    leak: 3
    esil: 4
    debug: 9
    type: 8
    oob: 24
    honor: 5
    update: 13
    clean: 5
    import: 3
    endian: 0
    indent: 22
    command: 12
    enhance: 9
    diff:
        add: 29626
        del: 17758
        diff: 11868

.-----------------------------------------------------------------------------------------------------------------------------------.
|                                                         Release 1.3.0-git                                                         |
|-----------------------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak | esil | endian |                            authors                            |
|--------------|---------|-----|-----|-------|------|------|--------|---------------------------------------------------------------|
|              |     415 | 223 |  67 |     5 |    3 |    4 |      0 |                                                               |
| binr/radare2 |      11 |   5 |   3 |     0 |    0 |    0 |      0 | pancake defragger xarkes alvarofe ...                         |
| binr/rabin2  |       2 |   2 |   1 |     0 |    0 |    0 |      0 | pancake nibble                                                |
| binr/radiff2 |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                                       |
| binr/rahash2 |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                               |
| libr/debug   |      14 |   9 |   3 |     0 |    0 |    0 |      0 | pancake osalvador.vilardaga alvarofe schumblub ... |
| libr/bin     |      74 |  48 |  17 |     0 |    0 |    0 |      0 | pancake alvarofe h4ng3r wargio ...                            |
| libr/core    |     171 |  92 |  25 |     4 |    1 |    2 |      0 | pancake alvarofe schumblub maijin ...              |
| libr/crypto  |       2 |   2 |   0 |     0 |    0 |    0 |      0 | wargio pancake                                                |
| libr/cons    |       8 |   7 |   1 |     1 |    0 |    0 |      0 | pancake ret2libc skuater itaycohen23 ...                      |
| libr/anal    |      50 |  25 |   6 |     0 |    0 |    2 |      0 | pancake alvarofe mrmacete srimanta.barua1 ...                 |
| libr/asm     |      35 |  17 |   9 |     0 |    1 |    0 |      0 | unlogic pancake alvarofe laanwj ...                              |
| libr/util    |      58 |  32 |   8 |     1 |    2 |    0 |      0 | pancake alvarofe wargio schumblub ...              |
| libr/egg     |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                                       |
| libr/io      |       6 |   3 |   1 |     0 |    0 |    0 |      0 | pancake alvarofe wargio p4n74 ...                             |
| shlr/bochs   |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                                       |
| man          |       3 |   0 |   1 |     0 |    0 |    0 |      0 | pancake                                                       |
'-----------------------------------------------------------------------------------------------------------------------------------'

Contributors: 415 / 46 = ~ 9 commits per contributor

41% - 174 pancake
20% - 83 alvarofe
5% - 22 SchumBlubBlub
4% - 17 maijin
3% - 14 unlogic
2% - 12 wargio
1% - 8 h4ng3r
1% - 8 nibble
1% - 6 xarkes
1% - 5 condr3t
1% - 5 mrmacete
0% - 4 xvilka
0% - 4 osalvador.vilardaga
0% - 4 ret2libc
0% - 3 defragger
0% - 3 me
0% - 3 skuater
0% - 3 laanwj
0% - 3 srimanta.barua1
0% - 2 p4n74
0% - 2 zutle.harh
0% - 2 itaycohen23
0% - 2 jeremy.goldstein+github
0% - 2 ahmedsoliman
0% - 2 sferrini
0% - 2 kazarmy
0% - 2 brainstorm
0% - 1 queueram
0% - 1 dx
0% - 1 thor0505
0% - 1 berne.campbell
0% - 1 vlad
0% - 1 cutlassc91
0% - 1 pankajkiitr.ucs2015
0% - 1 antide.petit
0% - 1 david.polverari
0% - 1 susan78965
0% - 1 Ferrancelades
0% - 1 Nevsor
0% - 1 thelightnet
0% - 1 polsha3
0% - 1 dogtopus
0% - 1 bofh666ftw
0% - 1 aneesh
0% - 1 jkrshnmenon
0% - 1 SztfG
Highlights
Tools

    r2-indent
        uses uncrustify and some regexes after it (also supports clang-format)
        enforces a common indentation syntax across all the codebase (wip)
    r2-docker
        supports creating and using a docker image with r2
        supports debugging linux-x86-32/64
    Initial support for WebAsm

Usability

    Show RBin plugin info with rabin2 -L [plugin]
    rasm2 obeys R2_ARCH and R2_BITS env vars from r2
    Added warning when loading project with different binary
    Removed useless elf size flag (-nn) and set normal flag size
    Enhance graph shortcuts

rabin2

    Display plugin info in a proper structured way for humans with rabin2 -L [plugin].
    Fix current rabin2 -L [-j] output.
    Allow to specify -j before or after -L.

Important Bugs Fixed

    Fixed r2pipe and RCons grep on Windows
    Avoid 100% cpu usage in Linux debugger
    Fix c++ demangler crash
    Fix ASN1 memory bugs (various overflows)
    Fix #6770 - Handle ^C in pdr and other search commands
    Fixes for dalvik and analop (imm/ptr)
    Fix crash in rabin2 -C for mach0
    Fix #6806 - Invalid delta diff boundaries

Cleanup

    Removed many scripts in sys/, use r2pm plz
    Fixed many crashes, bugs and regressions
    Remove assert in GNU's AArm64 disassembler
    Update uncrustify config file
    Refactoring of z/ and zs
    Various optimizations for RConsCanvas
    Rewrote r_anal_type_func_guess (~4x analysis speedup)

Commands

    Add: dbf - put a breakpoint into every no-return func
    Added afxX to afl* (which is saved with Ps)
    Fix #6747 - Implemented @@@= iterator
    Implement @@/ to temporary set the value of cmd.hit
    Add rapatch format documentation in wp?
    pif uses realsize instead of fcn->size
    New aab command to find basic blocks and identify function heads
    Vr refresh visual screen
    Implement aggv like agv, but for the custom graph
    Implement rabin2 -L [plugin] and iL [plugin]
    iH support for DEX, MACH0, ELF and PE
    Implement pxx and pxX for hex-less hexdumps
    Enhance Vx - visual xrefs browser, with more highlight and less glitches
    Add Pnx command for project note command parsing
    New command pdk to disasm a klass

Features

    Say hello to the new compact hexdump (e!hex.compact)
    Debian confirms we run on GNU/Hurd - Without debugger or r2k
    Fix #6818 - json indent ~{} honors scr.color
    Fix #242 - Implement HFS timestamp in pth
    Fix #6677 - Quoted multicommands issue
    Fix #7006 - Support decimal in unit strings (f.ex: 2.3K)
    Initial commit for parsing RTTI structures
    Magic database is now compatible with GNU magic (BSD already supported)
    More instructions supported for ARM, ARM64 and X86
    Fix #4837 - Support punycode emojis
    PPC(32/64) ESIL Emulation

Disassembly

    Fix #6456 - Show cursor in data words
    Print string references even if they contain special characters like newlines or tabs
    Fix #6611 - Implement ORR for AArm64
    Fix #6882 - Tricore byte copy to restore disassembling
    riscv: Update opcodes from binutils-gdb
    Update capstone (remove the fix-warns patch)
    scr.html fixes for disassembly
    riscv: Return actual instruction length
    Fix asm.bits when af in arm/thumb

Analysis

    Detect main pseudo-symbol in more PE and ELF binaries
    Fix #7000 - ELF file identified as BIOS
    Fix #3022 - Support OPEX for mips, arm, arm64 and x86
    Added ARM Thumb ADR instruction to calculate the correct offset
    Fix issue with arm/thumb bits detection
    Fixed PC and LEA instruction to correctly resolve references
    Fix #6884 - Improved ESIL output for various ARM arithmetic instructions
    Fix #3448 - Add support for multiple-hit signatures
    use op.stackptr instead of op.val for stack frame size guessing.
    Enhancements for aab and abb, codename analblaze, using to be O(1) instead of O(n^n) (lulz)
    Initial implementation of abb - analyze basic blocks in range

Binaries

    Honor rabin2 -H, -rH, -qH and -jH
    -HH shows the full header in dexdump/objdump format
    Added PE overlay flag to r2 -nn and in iI
    Add ASN1, X.509 and PKCS parsers (+ iC for PE)
    Optimize ELF Symbol loading (> 4x faster)
    Implement initial iHH for mach0
    Parse .NET CLR header structure if found in PE
    PDB: Add unions support

radare2 1.2.1

released this on Feb 5, 2017

Release 1.2.1

Project: radare2
Codename: trustme
Date: Sun Feb 05 2017 11:58:50 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Numbers:

    commits: 58
    fix: 33
    crash: 3
    new: 2
    add: 7
    anal: 4
    leak: 0
    esil: 1
    debug: 3
    type: 2
    oob: 3
    honor: 0
    update: 1
    clean: 1
    import: 0
    endian: 0
    indent: 1
    command: 3
    enhance: 2
        diff:
        add: 2465
        del: 1892
        diff: 573

.----------------------------------------------------------------------------------------------------------------------------------.
|                                                          Release 1.2.1                                                           |
|----------------------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak | esil | endian |                           authors                            |
|--------------|---------|-----|-----|-------|------|------|--------|--------------------------------------------------------------|
|              |      58 |  33 |   7 |     0 |    0 |    1 |      0 |                                                              |
| binr/radare2 |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                                      |
| binr/rabin2  |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                              |
| binr/radiff2 |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                              |
| binr/rahash2 |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                              |
| libr/debug   |       8 |   5 |   3 |     0 |    0 |    0 |      0 | osalvador.vilardaga pancake 6bx0lm+7siazd414punk polsha3 ... |
| libr/bin     |       6 |   3 |   1 |     0 |    0 |    0 |      0 | pancake alvarofe                                             |
| libr/core    |      32 |  21 |   3 |     0 |    0 |    1 |      0 | pancake 6bx0lm+7siazd414punk alvarofe sven ...               |
| libr/crypto  |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                                      |
| libr/cons    |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                              |
| libr/anal    |       6 |   4 |   0 |     0 |    0 |    0 |      0 | pancake 6bx0lm+7siazd414punk mrmacete                        |
| libr/asm     |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                                      |
| libr/util    |       6 |   5 |   0 |     0 |    0 |    0 |      0 | pancake alvarofe zutle.harh polsha3 ...                      |
| libr/egg     |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                                      |
| libr/io      |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                                      |
| shlr/bochs   |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                                      |
| man          |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                                      |
'----------------------------------------------------------------------------------------------------------------------------------'

Contributors: 58 / 11 = ~ 5.2727272727272725

60% - 35 pancake
15% - 9 6bx0lm+7siazd414punk
6% - 4 alvarofe
5% - 3 osalvador.vilardaga
3% - 2 zutle.harh
1% - 1 sven
1% - 1 polsha3
1% - 1 bofh666ftw
1% - 1 mrmacete
1% - 1 brainstorm
1% - 1 SztfG
Commits:

Fix #6694 - oobread in P
Release 1.2.1 - Trust me
s/struct r_anal_plugin_t/RAnalPlugin (#6686)
Fix compile warnings (#6687)
Fix newline issue in json
Use disasm_json API instead of RCore.cmd in pdrj/pdfj
pdrj resolves functions like pdfj now
Fix pdfj fixes
Fix pdfj invalid json issue
Fix #6691 - crash in r_strbuf_appendf. missing va_start
Fix #6678 - crash in r2 -d malloc://512 -
Fix reloc type 1 for x86-64 elf
Fix #6676 - rbin warn after re-o
Fix rbin warning when ood after o
Tweak Visual ?help (#6679)
Move o[er]ax to last pos of gpr regs (#6674)
Clean up o?/ob? and use consistent fieldname 'objid' for obj/ob/obo (#6675)
Update ?description for = commands (#6671)
Fix: Fixed regression pointed by #6650 (#6672)
Tweak ?help for scr.nkey (#6669)
Document H> and H>> in ?@? (#6670)
Fix #6665 - show t in V?
Fix mouse paste in some visual cmds when scr.wheel=1 (#6649)
Fix gs regressions
Fix #6643 - Add privileged notes on dockerfile
Use copyfile syscall for OSX in r_file_copy()
Fix many dd subcommands and enhance rarun2 -t
Use SdbHash within inSymtab mach0.c
Coding style fixes
Fix #6635 - oobr due to RNumCalc->calc_buf dereference
Fix #6622 - oobr due to wrong manipulation of iSq
New asm.relsub enhancement
Add rarun2 -t to wait for a tty connection
Fix ddd (dup2) on OSX, also extend the help message
Fixed build on Windows (undefined signals) (#6645)
Disable cmd.repeat by default again (causes conflict with ^C)
Fix build on OSX
Add support non-numeric signal numbers in RRunProfile (#6558)

    Add support non-numeric signal numbers in RRunProfile
    Add signal util module
    Remove old signal_resolve implementation
    Remove the err from anal types.. thats not noreturn
    Fix null deref in reglist() when no anal plugs
    Windows debugger: Added dce command. Fixed dmm commands. (#6628)
    Use double quotes to make .dmm* work on Windows
    Fix r2pipe.cmdj('dmmj') command on Windows. Report correct path when listing modules ('dmm')
    Removed unused local variable
    Added 'dce' command for windows
    Escape backslashes for JSON output only
    Do not include r_debug_native_continue() for CYGWIN builds. Removed unnecessary memset.
    Added exception for CYGWIN to not escape backslashes in path
    Escape backslashes in both file paths and map names. Use map name for 'f mod.%s' instead of file path
    Added more exceptions for CYGWIN
    Validate escaped strings
    Release 1.2.1
    Fix null deref and infinite loop when building with no plugins
    More builds fixes for less plugins
    Add sys/sdk build script (wip)
    Do not show useless warnings when using raw rbin
    Fix static build
    Remove the use of -ggdb
    Add: coredump refactoring + RDebugMap offset field (#6633)
    Fix build for capstone3 (thanks @xtraeme)
    Fix warnings and reindent ppc stuff
    Fix disassembly issue introduced in ebb75f3
    Use esil when compiled without native debugger
    Fix: #6616 crash in crash core generation
    Removing path in shell redirections
    Fix #4554 stackptr calculation on pdr and graph
    blocks have their stackptr
    inherit from parent when visited hierarchically (in pdr and graph)
    add the global anal->stackptr as a starting value for disasm, defaults to 0
    Introducing WebAssembly (#6613)
    libr/core/cmd.c codestyle fix (#6615)

fixed according to https://github.com/radare/radare2/blob/master/CONTRIBUTING.md

r2 1.2.0 Codename: HopeBells

released this on Jan 30, 2017


Release 1.2.0

Project: radare2
Codename: HopeBells
Date: Sun Jan 29 2017 17:28:48 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Builds: http://cloud.rada.re/get/1.2.0

radare2 1.2.0 comes with 5513 new lines of new features, bug fixes and enhancements. Here some of the most important highlights:
Numbers:

    commits: 356
    add: 18725
    del: 13212
    diff: 5513

radare2-extras

    r2snow - new decompiler!
    Fix and update capstone, unicorn, duktape
    Yara2 support is deprecated
    Updated r2k linux/android module
    Initial support for parsing/printing structures from dwarf info
    Moved olly from r2 to here
    Added rust disassembler plugin for 6502

r2core.js

    pure JS emscripten generated radare2 api
    available via npm install r2core
    Use r2 in nodejs or the browser without external dependencies.

Visual mode and Graphs

    Add shift information in visual bit editor Vd1
    Add HUD to VB (class/method browser)
    Hexdump in visual mode uses pxc to display comements.
    Add experimental horizontal layout and diagonal lines via graph.linemode/layout
    Show function+delta in visual title
    Initial support for analyzing and graphing generic switch tables
    Draw backward lines with up arrow instead of line
    Enhance Vx visualization

Analysis

    agf can now be stopped
    Better ARM64 analysis
    Stubs mach0 section considered as PLT
    Support 64bit pointer dereference with ESIL in aae and /re
    Implemented initial support for 24 bit esil memory operations.
    add pattern to get winmain from MSVC compiler with SEH
    Implement afvR and afvW to list var read/write accesses
    Handle f->bits as anal hints and thumb/arm in aa/aae
    Add afvj as an alias for afvsj;afvbj;afvrj
    Add afcc and use afc to sum cycles in a function
    Add support for Rust in rabin2 to demangle symbol names
    Speedup aae by ~30%
    Honor asm.dwarf.file

Disassembler

    Implement asm.pseudo for PowerPC
    Update capstone from git (fixes for 68k, arm and x86)
    Retire x86_olly to r2e
    Add support for the ARM Cortex CPU instructions (e asm.cpu=cortex)

Assembler

    Add cmov* support to x86.nz
    New instructions for the arm64 assembler (add, sub, hvc, smc, svc, mov, ..)
    For group 1 instructions with AL for op1 and a constant for op2, nz will now generate the shorter opcodes

Debugger

    Add: dbg.libs/dbg.unlibs for linux
    Add: support for dbg.follow.child option
    Improvement of the debugging experience on Linux, Windows x64 and OpenBSD

# File formats

    Load GameBoy ROM sections
    WinMain is now detected as main
    Rust demangler support
    Parse and load DEX debug source:line information
    Enhanced DEX headers parser
    Fixed some null derefs in ELF
    Implement bin.verbose for ELF, PE and MACH0
    FatMACH0s are now loaded faster and support bigger files

rahash2

    Add DES support to rahash2

build system and refactoring

    Add some hints to optimize asmjs build
    Add support for SunOS.
    Add anal.x86_cs for emscripten
    Remove NDK dependency when BUILD=0 in android-shell
    Make sys/build.sh accept custom configure flags
    Implement support for external repositories via r2pm -a
    Fix mingw32 build

r2k for linux

    Read/Write kernel address space using multiple layouts:
        Kernel linear address space
        Userspace/Proccess linear address space
        Physical address space
    Print control registers status
    Print process info
    Added cmd alias \ for =! see \? for help
    Workaround for HARDENED_USERCOPY on newer kernels
    Add support to disable x86 WP on writes
    Several minor bugfixes

misc

    Fix regex overflow on 32bits systems with 720MB patterns
    create sys/install.sh with su and correct quotes (#6600)
    Fix somes NULL dereferences in graph.c
    Use HTTPS for Microsoft symbol server URL
    Colorize and enhance f= [glob] and kill f==
    Add help for /r?
    Properly document ?x ?x+ ?x- in ???
    Add dmi. and dmi? commands
    Fix #4528 - radiff2 -UDD to diff pdc
    Add hex.comments variable to config
    Add get_comments callback to the core api
    Add comment printing functionality to px
    Add pxc
    Implement RCons.jsonpath.grep via ~{json-path}
    Implement ~... RCons.hud grep style
    various improvements in the embeded help (?)
    Autocomplete afC and fix to a
    Enable http.sandbox by default
    Massive improvement on radiff2
    Add wtf! command
    Make /r run 3-4 times faster

Fortunes

    Add cfg.fortunes.clippy option and expose r_core_clippy
    Add fortunes.creepy
    Add fortunes.tts

.---------------------------------------------------------------------------------------------------------------------.
|                                                    Release 1.2.0                                                    |
|---------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak | esil | endian |                     authors                     |
|--------------|---------|-----|-----|-------|------|------|--------|-------------------------------------------------|
|              |     356 | 177 |  72 |     4 |    7 |    7 |      1 |                                                 |
| binr/radare2 |       5 |   1 |   5 |     0 |    0 |    0 |      0 | pancake alvarofe                                |
| binr/rabin2  |       8 |   3 |   2 |     0 |    0 |    0 |      0 | alvarofe pancake mail                           |
| binr/radiff2 |       7 |   2 |   2 |     0 |    0 |    0 |      0 | pancake julien.voisin meep mail ...             |
| binr/rahash2 |       0 |   0 |   0 |     0 |    0 |    0 |      0 | pancake                                         |
| libr/debug   |      18 |  10 |   5 |     0 |    1 |    0 |      0 | osalvador.vilardaga pancake skuater xvilka ...  |
| libr/bin     |      36 |  21 |   7 |     3 |    1 |    0 |      0 | pancake alvarofe h4ng3r skuater ...             |
| libr/core    |     169 |  84 |  25 |     0 |    3 |    2 |      0 | pancake alvarofe osalvador.vilardaga maijin ... |
| libr/crypto  |       4 |   1 |   1 |     0 |    0 |    0 |      0 | wargio pancake alvarofe                         |
| libr/cons    |      14 |   8 |   2 |     0 |    0 |    0 |      0 | pancake alvarofe osalvador.vilardaga wargio ... |
| libr/anal    |      47 |  21 |   8 |     0 |    2 |    5 |      0 | pancake alvarofe killabytenow ahmedsoliman ...  |
| libr/asm     |      23 |  11 |   8 |     0 |    0 |    0 |      0 | pancake sven alvarofe                           |
| libr/util    |      39 |  23 |   5 |     1 |    0 |    1 |      0 | pancake alvarofe xvilka mo ...                  |
| libr/egg     |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                 |
| libr/io      |      17 |  11 |   3 |     0 |    0 |    0 |      0 | pancake p4n74 jpenalbae xvilka ...              |
| shlr/bochs   |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                 |
| man          |       5 |   2 |   4 |     0 |    0 |    0 |      0 | pancake mail sven                               |
'---------------------------------------------------------------------------------------------------------------------'

Contributors: 356 / 36 = ~10 commits per contributor

54% - 193 pancake
14% - 51 alvarofe
4% - 15 sven
2% - 8 osalvador.vilardaga
1% - 7 killabytenow
1% - 7 wargio
1% - 7 xvilka
1% - 7 h4ng3r
1% - 6 p4n74
1% - 6 mo
1% - 6 mail
1% - 5 skuater
1% - 4 maijin
0% - 3 meep
0% - 3 ahmedsoliman
0% - 3 laanwj
0% - 3 h
0% - 2 jpenalbae
0% - 2 ninjahackerw
0% - 2 jvoisin
0% - 2 electron.kiwi
0% - 1 securitykitten
0% - 1 kazarmy
0% - 1 fercerpav
0% - 1 guillaume
0% - 1 ditch
0% - 1 eroen
0% - 1 xiaoyinl
0% - 1 mrmacete
0% - 1 venture37
0% - 1 chairkov
0% - 1 polsha3
0% - 1 sre
0% - 1 manouchehri
0% - 1 trogu.davide
0% - 1 cosa.rara97

r2 1.1.0 codename: preccc

released this on Dec 20, 2016



Project: radare2
Codename: PreCCC
Date: Sun Dec 20 2016 21:46:50 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases
Binaries: http://cloud.radare.org/get/1.1.0

radare2 1.1.0 comes with moret han 300 commits which are about 8583 new lines of features, bug fixes and enhancements. Most of this work has focused on bugfixing, the most commited modules are Core, Anal and Bin, but there have been lot of commits in other parts in Asm, Hash, Debug, .. Several bugs has been fixed fixed, so it is heavily recomended to update to the last release or use r2 from git directly.

One of the biggest addition for this release is a preprocessor for ragg2 and rasm2 (its replacement, spp, is slowly moving forward), and some cleanup of radare2 sources. A long requested feature, recursive help, has been implemented: you can now get help for every single command with the ?* command.

Nodes in the graphs can be individually folded in the graphs, and asm.cmtright=0 disasm has been greatly improved to make graphs more readable.

There are also news in other repositores. r2k-linux has finally been merged in radare2-extras and it's available via r2pm. Remember that this kernel interface is working on Linux, Android and Windows (32, 64), support for XNU (OSX/iOS) is welcome.
Checksums

9d797adc7bdc18138243333e1ede24cc4108936a  radare2-1.1.0-android-aarch64.tar.gz
0902b70eba0deb9eca67413c6a3013e43e1907a6  radare2-1.1.0-android-arm.tar.gz
1b9b57c4484cbae9183da66c3079bb6da8249ec1  radare2-1.1.0-android-mips.tar.gz
3794f5b8c9452ff39ffb59003462d80cd9b67f2f  radare2-1.1.0-android-x86.tar.gz
9321b9303b44cd4626952b4fbca826e12ca97765  radare2-1.1.0.pkg
2feeeb6cd876182333a814d54b16a4d573202d46  radare2-1.1.0.tar.gz
733525093027a06a753883854dc763bcd6d26ab5  radare2-bindings-1.0.1.tar.gz
717d0317c277127d99bd70cc8bb607053acdc332  radare2-extras-1.1.0.tar.gz
3cf766bbd88eadbe6cb29458b14be9cf60c8783a  radare2-ios-arm64-1.1.0.tar.gz
31d17e55a3e7e4257c8d4b0367bb5591d860f4e7  radare2-r2pipe-1.1.0.tar.gz
06a7fc7b8df1cfedc31289234e97896ff1a9161e  radare2-w32-1.1.0.zip
3d8eba8523171d5f5ff7960bf6156f97d5feefb7  radare2-webui-1.0.tar.gz
5daf952dd60709a4b8bbd46b771c760acc6d8868  radare2_1.1.0_iphoneos-arm.deb

Contributors:

Thanks again to everyone who contributed to the project to make this release possible. But special thanks to Alvaro who have been contributing a lot in this release, unlogic for his work on the assembler and preprocessor integration and maijin for maintaining the tetsuite. Skuater has been in charge of keeping the windows support working.

52% - 152 pancake
15% - 44 alvarofe
5% - 17 maijin
4% - 12 unlogic
2% - 7 killabytenow
1% - 5 p4n74
1% - 4 skuater
1% - 4 cutlassc91
1% - 4 ben.l.gardiner
1% - 4 h4ng3r
1% - 4 osalvador.vilardaga
1% - 3 xvilka
1% - 3 simon
1% - 3 gianluca.pacchiella
1% - 3 sre
1% - 3 defragger
0% - 2 jvoisin
0% - 2 mrmacete
0% - 2 ahmedsoliman
0% - 1 nil0x42
0% - 1 elia.f.geretto
0% - 1 bluec0re
0% - 1 brainstorm
0% - 1 anio
0% - 1 ehntoo
0% - 1 shein
0% - 1 asuarezbm
0% - 1 a.kornitzer
0% - 1 mr.exodia.tpodt
0% - 1 dx
0% - 1 asupalai
New commands

fla to automatically compute the size of all flags matching glob
pdC to show comments found in N instructions
pir is like 'pdr' but with 'pI' output
dmS for listing sections of mapped libraries
?* recursive help
. counts chars
New variables

$fl to get the flag length (size) at current address. It's equivalent to fla; pD $l @ entry0
radare2

    Add autocompletion after @
    Implement scr.breakword, to stops the console's output upon a particular word.
    Add $fl in the ?$? help
    The embeded documentation has been reviewed and improved
    Implement bin.debase64 and RABIN2_DEBASE64 in RBin for r2 and rabin2

rarun2

    Support backticks as an alias for !
    Added pseudo tty for listen and connect

Android

    Refactoring of the DEX handling code
    Dalvik analysis and bin parsing enhancements
    ESIL support for Dalvik

File format

    Optimize the process of loading fat binaries
    Add: Initial support for bFLT v4 (uclinux)
    Add support for ARM64 PE binaries
    handle more data sections in objc mach files

Build system

    Several useless ./sys/*.sh scripts have been removed
    Improve Mingw32 build script

Analysis

    Honor hints in disasm, anal and emulation
    fix djnz jump target miscalculation
    Set ATmega8 MCU by default
    Fix issue with noreturn analysis
    Move relocs to the fake virtual address
    Fixed fcnline issues
    Various ESIL improvements for a lot of architectures
    Adds a lot of different function signatures, for every major (and some minor) operating system
    The DWARF parsing and display speed has been multiplied by 120.
    Some misc fixes for libmagic
    Add a syscalls flagspace for aae
    Properly deinitialize the anal.trace after afta

Debugger and tracer

    Add option to stop syscall tracing -before- the syscall is executed
    Register handling refactored and add SN in all reg profiles
    Autoset swstep in more targets

Architectures

    Greatly improves AVR support
    Fixes for z80, x86, arm, dalvik and others

Assemblers

    values that can be expressed with 4 bits care outputted with shorter instructions.
    Initial support of linux-arm-32 for ragg2-cc
    Added spp as a preprocessor for rasm2

r2 1.0.2 another minor bugfix release

released this on Nov 10, 2016

    Fix warnings in r2 -AA
    Fix aeim- deinitialization
    Add H> HTML pipe
    Fix some COVs
    Fix r2k for Android
    Fix another CORELIB issue
    Add missing SN entry in the linux-arm64 regprofile

r2 1.0.1 minor bugfix after 1.0

released this on Nov 10, 2016

This minor release fixes a build issue that some packagers have reported us and fixes the izzj command

Thanks @alvarofe and @stef !

r2 1.0.0 / r2 1.0 aka "Finally"

released this on Nov 9, 2016



Date: Sun Nov 06 2016 14:34:18 GMT+0100 (CET)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/archive/1.0.tar.gz

radare2 1.0 comes with 20122 new lines of new features, bug fixes and enhancements. Here some of the most important highlights:

The project have finally reached 1.0. What does it mean?

It means that 10 years have passed and the ecosystem changed enough since its inception that it requires a new rethink of the versioning numbers.

Pushing a new release every 6 weeks, increasing 0.1. And adding +1.0 after every r2con. The 3rd version number will be used in case of emergency because of a buggy release or a backported security fix. In this case a +0.0.1 will be released.

The community evolves in a pretty healthy way, and contributors come and leave over time. This release conforms the base for the future of radare, providing a more structured and predictible evolution of features and apis.

In addition. The r2pipe bindings proved to be more than enough for most needs of our users, more stable, available on more languages and faster than the native bindings. So this is the recommended way to script r2 or write tools that interact with it.

Language bindings will be still maintained, but it requires some focus, which is actually low, in the sense that I'm just fixing when the build breaks.

--pancake
Major contributors

    pancake keeps owning > 50% of the commits
    alvarofe major contributor, bugfixer
    mrmacete implemented the long-standing need of recursive emulation support
    killabytenow kept pushing nice AVR ESIL updates
    Unlogic focused in RAsm
    maijin for remembering all the issues and mangling the testsuite
    h4ng3r worked on fixing bugs in the bin+anal of android apps
    sre for coming back from debian land

Known Bugs

    Slow on big files - after analyzing a big file (>1MB) the visual mode can become pretty slow, this can be "optimized" by disabling asm.slow, but it must be approached in a proper way to avoid O(n) requests to Flags, Functions, Basic blocks and other information that is requested many times.
    Project structure has changed, they are upgraded when saved, but there must happen some data loss. Next releases should improve on that.
    Collisions in hashtable - some very rare situtations may lead to a hash collision, this is fixed in another branch that updates Sdb, but it's not stable enough to be merged.
    Debugger is working but could be much better, the main issue is actually the regression test. You may want to use r2frida or r2lldb from NowSecure to debug with r2 when r2 is not enough.
    Binary headers are not easy to visualize or patch, there are tools for doing that, but next releases will make this situation better.
    Signature matching is not working as good as it shuold, new signature definitions will appear in the next release, as well as some enhancements and speedups.

Highlights:

    More commands are now autocompleted
    Refined and new color themes (CGA!)
    Added support for menuetOS/KolibriOS binaries
    Fixed bugs and enhanced PE, MACH0 and ELF parsers
    COFF symbols are now parsed properly
    Support DOS4GW executables
    Implemented sort (by nth column) in the internal grep ~$[n]
    Projects are now contained into a single directory and support GIT and ZIP integration
    Fixes in p[?] -X (negative offsets)
    Add the ?O command to enumerate all mnemonics
    pdr now supports asm.emu
    Add CCf to list all comments in current function
    Added asm.capitalize
    Initial implementation of io.pava
    Add ik* command to load bin headers info, and use Cf for that
    ragg2-cc now supports linux-arm64 via the NDK
    Support more instructions and various fixes in assemblers
    Fixed all license issues reported by Debian
    Allow r2pm to support tarballs, run commands and cd to repos
    Function signature parameter matching
    simple recursive emulation in graphs
    asm.decoff to show offset in base 10 instead of hexa
    utf8 graphs
    Better Android support
    r2k support for linux

r2pipe hightlights

    NodeJS api broke backward compat but standarized callback consctructions
    Support asyncawait, promisify and other modern JS stuff
    Added JNI r2pipe for Java
    Added DllImport for .NET
    Add support for Groovy, Clojure, PHP, OCaml
    Added JSON support for Nim
    Updated Perl module
    Support sideloading binaries via r2pipe (via .getBuffer and setBuffer)

Commits:
Autocompletion

    Add autocompletion for et and ec
    Add autocompletion for wxf and wtf
    Autocomplete eco color themes

Themes

    Complete xvilka theme
    Enhance white theme
    Fix dark theme
    Add new theme CGA
    Make the lima and pink themes look as lima and pink
    Update the ogray theme
    Ansify + update rasta theme

Projects

    Fix error messages in project_save
    Fix #6017 - Pn projects notes ported to the new projects
    Implement project upgrading and remove old code
    Implement prj.zip and fix prj.git
    Fix #5141 - Initial support for prj.git
    Implement prj.files and fix some bugs in project listing and saving
    Projects are now completely contained inside a single directory
    Saving/retrieving functions stack in project file (#5973)
    Fix #5952 - Handle scr.null in projects

File Format

    Add support for MENUET{00,01,02} binaries
    Add bin.menuet plugin
    Fix #6106 - better parsing for COFF
    Replace mach headers from AAPL to LLVM
    Fix ELF support for 32-64bit relro relocations
    Fix Dalvik imports and symbol ordinals
    Add various symbols in bin_nes

MZ

    remove check against dos_file_size in mz parser
    Enhancement of MZ
    Fix #6045 - Check entrypoint to accept raw MZ bins

Macho

    Support weak framework libraries in mach0 parsing
    Add more ARM cpu subtypes for mach0
    Add ios-cydia32.sh script to build radare2-arm32 cydia package
    Fix #4556 - use jetsam limit to bypass launchd memory restrictions on iOS

Debugger

    Send KILL to child on ^C in dc when dbg.consbreak is set
    Fallback to oo when ood fails
    Initial implementation of the RDebug.io plugin

Disassembler

    Update capstone from git
    Move z80 non-commercial to r2e
    Remove m68k anal plugin - Gets moved to r2e to be installed with m68k, capstone by default
    Fix ljmp with immediate segment:offset (#6125)
    Fix pd -N issue, with correct offset for bw-disassembling (#6016)
    Rework of X86_INS_XADD. It is now basically an X86_INS_XCHG + add. (#5996)
    More memory AVR operations (LDS/LPM)
    Fixed and added opcode descriptions (#5942)
    Fix opcode for 64bit instr with 32bits regs
    Accept sreg:[x] and [sreg:x] syntax

MIPS

    Fix mips emu function resolution in disasm (#6100)

ARM

    Arm chars are unsigned by default
    Add arm shift ops FIX #5482 (#6081)
    Fix "orr" in ARM assembler (#5958)
    Fix #5874 - Implement asm.relsub for arm.cs
    Do not run aav in aa on ARM

Commands and evals

    Massive improvement of pdS
    Add CCf to list all comments in current function
    Add Cr command to run commands in meta for disasm
    Add Sf as an alias for S 0 0 foo mrwx
    Implement ?O and r_asm_mnemonics() new API
    Implement ?Od to list all mnemonics + description
    Implement Po& and 2 -tp to load projects in a thread
    Add asm.decoff
    Add asm.capitalize, for those who are nostalgic of softice
    Initial support for io.pava
    implement ahb-, ahS-, ...etc
    Add @@c: as an alias for @@=
    Add asm.midflags=3 (symalign)
    Add r2pm ls|cd
    Add S.-* to remove all sections in current address
    Fix S-[id]
    Implement rasm2 -s?
    Initial implementation of pC (column disasm)
    Implement @i: for temporary instruction seeks
    Add ik* command to load bin headers info, and use Cf for that
    Add asm.minicols config var for pCd
    Implement column sorting in RCons.grep
    Now ~: operator support ranges and negative values
        ~:-1 show last line
        ~:-2 show line before the last one
        ~:..3 same as ~:0..3
        ~:2..8 show lines from 2 to 8
        ~:2.. show lines from 2 to the end
    Implement scr.linesleep and scr.pagesize for fancier demo output
    Honor varsub and relsub with asm.ucase for parse.arm
    Refactor dmh
    Implement wts to send data to socket
    Add dr8 and more commands for the RDebug.io plugin
    Show instructions in /A and add /A[jq]
    Use RStack in r_cons_push/pop
    Fix #5975 - Honor asm.varsub and asm.relsub with asm.ucase
    Initial import of io.tcp + rsocket cleanup
    Add bash autocompletion support
    Fix debruijin arguments meaning and uses (#5914)
    Fix wxs command
    Enable graph.nodejmps by default (#5904)
    Specify row to start sorting with ~$[n]

Fixes

    Fixes NULL deref and oob
    Fix coverities
    Fix pdrj JSON
    Fix #6126 - r2 -f work with -c
    Fix wt usage
    Fix another memleak in pdr (#6059)
    Fix #5924 - r_flags -> r_flag
    Update and fix LGPL Z80 disassembler (#6009)
    Fix #3546 - Enhanced support for RCons line grep
    Removed strcasestr() and bzero() moved to memset()
    Fix #5909 - r2 -o is now -k
    Changed r_list_length to use list->length
    Changed the code to use C API instead of forking rabin2 or create a new core instance when searching strings.
    Fix cannot find function at issue on some functions
    Fix #5986 - use RStack in r_cons_push/pop
    Fix call xrefs in arm+thumb
    Fix div by zero with scr.pagesize and matrix theme
    Fix #5974 - reflines not shown for last disasm line
    Fix #5992 - Honor ^C in tcp://
    Fix syscall resolution for linux-arm-64
    Honor bin.strings
    Implement http.log and http.logfile
    Fix #5997 - Do not permit xrefs on invalid addresses
    Fix #5968 - search string when malloc://X + wx
    Initial implementation of flag zones
    Updated various opcode descriptions (#5948)
    Ease GIT/GPG integration
    Fix esil manpage
    Fix issue in aeso
    Implement support for recursive help ?*
    Use RIODesc.detach when serving from RCore
    Implement RIODesc.detach()
    Fix call rX hotkeys glitch in disasm
    Add utf8 rune support for RCons.canvas
    Correct offset for backwards disassembling with pd -N

Radare2 tools

    Fixing help issues in rax2

rabin2

    Implement LC_MAIN and PAGEZERO in rabin2 -C mach0
    Fix filesize for mach0 in rabin2 -C
    Make more visible the relation between r2's i and rabin2

ragg2

    Add linux-arm64 sflib support for ragg2-cc
    Initial support ndk-gcc in ragg2. Tested for arm64

rasm2

    Add support for .endian rasm2 directive
    Support /**/ in a single line
    Fix /**/ comments in rasm2
    Initial support for .align in rasm2
    Support /**/ in rasm2 -f
    Add support for short jumps in nz
    Add arm shift ops
    Update and fix LGPL Z80 disassembler
    Add segment register handling in nz assembler
    Assemble 64bit byte mov correctly FIX 6042

Analysis

    Make anal hint printing more grep friendly
    Fix #5935 - improvements on ah command
    Actually use arg_size to advance the stack pointer
    Nice error display: unk_size, unk_format or unk_size_format
    Fix issues in emuwrite call args in disasm (#6087)
    Fix #4497 - Recursive function emulation
    Fix #5860 - axtj relsub (#5964)
    Fix aei help text (#5949)
    More AVR anal ops (#5888)
    Fixed LCALL for x64 (#5930)
    Fix dd IX instructions - although only seemed to happen on OSX, not on linux.
    Fix ed op and fdcb ops
    Fix fd ops with bad type flags
    Remove invalid instruction "in f, [c]" which is not referenced in http://clrhome.org/table/
    Fix bad offsets to ops following removed one
    Set zf on arm (16 / 32 bits) compare (#6024)
    Add more arm64 regs
    Fix movk esil
    Add long-to-double instruction for anal.dalvik
    Fixing LCALL for x86 16/32 bit (#5910)
    Fill the op.type field for STOS and LODS on x86.cs
    Check that register is not memory i.e. [eax] to generate correct opcode
    Improved ESIL for x86
    Disable syscall emulation in esil by default
    Add sync optype and refix the jmphint glitch
    Added early returns (#6002)
    Remove invalid anal str for const-class instruction.
    Fix #5890 - Assume pushed executable addresses as CODE references
    Fixed LJMP, added support to segments in JMP, fixed LCALL. (#5920)

Graphs

    Recursive graph emu (wip)
    Add recursive reg arena in graph
    Force comments on graph pds
    because pds works by parsing also the comments
    especially for emu strings and symbols
    Add edges in afll Fix #6092#
    Add indegree and outdegree in afi and afij
    Use tinyrange to improve times

r2pm

    Do not recommend to update after r2pm update
    Add R2PM_TGZ for r2pm
    Add R2PM_OLDPWD var for r2pm
    Add R2PM_SUDO and enhance r2pm -c
    Fix prompt in r2pm cd

Types

    Fixing some type error and remove old databases
    Added windows function prototypes
    Add some libc functions to types info (#6013)
    Added more functions for linux/osx
    Use anal types sdb in emuwrite disasm hints (#6086)
    Resolve function calls and arguments type
    Add size_t for 32 / 64 bits
    Change char * to z instead of *z to work with both
    register and stack calling conventions
    Fix parsing error with const
    Add WORD and PADDR in types-windows
    Add kernel,processes,.. in types-windows
    Update linux-arm-64 from android definitions

Numbers:

    commits: 366
    fix: 186
    crash: 7
    new: 8
    add: 77
    anal: 18
    leak: 2
    esil: 6
    debug: 7
    type: 16
    oob: 7
    honor: 11
    update: 13
    clean: 9
    import: 2
    endian: 3
    indent: 4
    command: 12
    enhance: 5
        diff:
        add: 45928
        del: 25806
        diff: 20122

.---------------------------------------------------------------------------------------------------------------------.
|                                                    Release 1.0.0                                                    |
|---------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak | esil | endian |                     authors                     |
|--------------|---------|-----|-----|-------|------|------|--------|-------------------------------------------------|
|              |     366 | 186 |  77 |    11 |    2 |    6 |      3 |                                                 |
| binr/radare2 |       7 |   5 |   0 |     0 |    0 |    0 |      0 | pancake alvarofe SztfG                          |
| binr/rabin2  |       5 |   1 |   2 |     0 |    0 |    0 |      0 | pancake alvarofe Hi-Angel                       |
| binr/radiff2 |       1 |   1 |   0 |     0 |    0 |    0 |      0 | pancake                                         |
| binr/rahash2 |       1 |   1 |   0 |     0 |    0 |    0 |      0 | pancake                                         |
| libr/debug   |      24 |  10 |   5 |     1 |    0 |    1 |      0 | pancake alvarofe dromero.perez killabytenow ... |
| libr/bin     |      58 |  29 |  14 |     0 |    0 |    1 |      0 | pancake alvarofe h4ng3r maijin ...              |
| libr/core    |     164 |  88 |  31 |     7 |    2 |    1 |      0 | pancake alvarofe mrmacete maijin ...            |
| libr/crypto  |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                 |
| libr/cons    |      24 |  11 |   4 |     1 |    0 |    0 |      0 | pancake alvarofe                                |
| libr/anal    |      86 |  47 |  29 |     3 |    0 |    5 |      0 | pancake alvarofe killabytenow maijin ...        |
| libr/asm     |      42 |  28 |   7 |     0 |    0 |    0 |      2 | pancake sven alvarofe SztfG ...                 |
| libr/util    |      47 |  25 |   8 |     2 |    0 |    0 |      0 | pancake alvarofe ret2libc bluec0re ...          |
| libr/egg     |       2 |   1 |   1 |     0 |    0 |    0 |      0 | pancake alvarofe                                |
| libr/io      |      20 |  11 |   0 |     1 |    0 |    0 |      0 | pancake alvarofe                                |
| shlr/bochs   |       0 |   0 |   0 |     0 |    0 |    0 |      0 |                                                 |
| man          |       3 |   2 |   1 |     0 |    0 |    1 |      0 | pancake sre Hi-Angel                            |
'---------------------------------------------------------------------------------------------------------------------'

Contributors: 366 / 31 = ~ 11.806451612903226

54% - 198 pancake
18% - 66 alvarofe
5% - 21 maijin
4% - 15 killabytenow
2% - 10 mrmacete
2% - 9 unlogic
2% - 8 h4ng3r
1% - 5 ret2libc
1% - 4 SztfG
1% - 4 ahmedsoliman
0% - 3 lottmann86
0% - 2 mr.exodia.tpodt
0% - 2 cutlassc91
0% - 2 mo
0% - 2 sre
0% - 1 defragger
0% - 1 dx
0% - 1 dev+git
0% - 1 maykeye
0% - 1 marion-m
0% - 1 qwokka
0% - 1 noahshihabi
0% - 1 kalianon2816
0% - 1 bluec0re
0% - 1 avinash.mankoo
0% - 1 Krishath
0% - 1 philipp.B.610
0% - 1 Hi-Angel
0% - 1 dromero.perez
0% - 1 alex.darredevil
0% - 1 b1ack0wl

radare2 0.10.6

released this on Sep 27, 2016


codename Sleepy Autumn

Project: radare2
Codename: Sleepy Autumn
Date: Mon Sep 26 2016 23:59:11 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/archive/0.10.6.tar.gz
Tarball2: http://rada.re/get/radare2-0.10.6.tar.xz

radare2 @ comes with 10526 new lines of new features, bug fixes and enhancements.

Here some of the most important highlights:
Commands

    Implement oom to reopen file in malloc://
    Add zs as an alias for z/
    Implement zo command
    Rename command Vvm to Vvr
    Implement drb[1,2,4,8] to display hexdump of gpr arena
    Implement ?en command to echo without newlines
    Implement zG exact-match zignatures support
    Add p=0 and p=F
    Add =!pkt in gdb://
    Add pP in Vv with afi, pds, pdc, pdr, pdf
    Add @@b iterator for all the basic blocks
    Add ?w to show what is in the given address
    New z. command, that performs zignature match by function. It works for a given offset with @ addr, so with @@ fcn* it can be run against all detected functions of the bin.
    Add Ve$ command to see vars in visual
    Add ?$ to show the value of all variables
    Add @@f foreach iterator to walk all the functions
    Support @@f: to iterate over all functions matching a name
    Implement Vv[JK] to scroll pages of functions
    Extend oa to load a different bin and handle riodesc properly
    Initial support for afta command
    Implement@@i to iterate over all instructions
    Added av* and avj to show vtables in r2 and json formats
    Added rabin2 -X and r_bin_package for FAT and ZIP
    Added v in VV
    Implement axf that try to resolve function names for 'C' refs

File Format Parsing

    Better support for COFF
    ELF and Mach are more endian awareness
    Speed up load times for ELF and Mach binaries
    Improvements in ELF to detect overlapped symbols
    Enhancements in DEX parser

Debugger

    Fixing ds in x86 (#5802)
    Bring back to live dcs
    ds on call and jmp (#5785)
    Add Win10 profile to WinDbg module (#5805)
    Coredump support for ARM
    Added support for conditional breakpoints running r2 commands
    Fix swstep on x86-32 for CALL/UCALL/UJMP instructions
    Fixes for dr[*]<num>
    Fix command do in windows
    Fix dr command to get segments registers
    Fix dbic <index> <cmd> parsing
    Properly handle 32/64 bit spawning on OSX
    Reduce the requirements of dko to any reason with a signum (#5806)

Analysis

    Honor asm.varsub and asm.relsub in axt
    Several fixes in xtensa
    Implement cfstring support for ARM/Thumb binaries
    Child thread heap analysis support (#5741)
    New opcodes and operations in AVR anal plugin
    Added xtensa calling convention (#5731)
    Initial ESIL support for xtensa
    Major improvements in zignature and better tested.
    Dalvik improvements
    Added option to load types manually (#5550)
    Basic merge of no return function with types db (#5774)
    Handle LDR instructions properly in ARM64 for static analysis
    Add initial function list for osx-64
    Extend arm64 regprofile for 16 and 8bit registers
    Always run afva from af if anal.vars is set
    Fix aae command arguments handling
    Documentation on ESIL for AVR
    Add AVR opcode ESIL for ASR instruction and bugfixed comma eater
    Fix stack alignment bug in anal.arm64.esil
    Use 32 bit calling convention for ARM Thumb
    Add and use tinyrange.c: get 10% speedup in analysis
    Integrating asm.calls with function types database (#5761). Making asm.calls true by default

Build

    Reduced Cydia package size by removing development files 79MB -> 19MB
    Optimized ios build for size (7MB -> 2.8MB)
    Changed sys/ios-static.sh to generate easy-to-deploy tarball
    Added sys/ios-static-appstore.sh
    Fix build and basic run of the ios-arm64 debugger

Configuration

    Added eval asm.cmtrefs -disabled by default-. When enabled, it shows the flag and comment that is at the ref of the current instruction.
    Eval asm.relsub true by default
    Eval asm.leahints false by default
    Added cfg.minzlen and cfg.maxzlen to set minimum and maximum length to filter in zg
    Added src.flush to force flush to console in realtime
    Added anal.hpskip, false by default.
    Make asm.reloff less confusing and add experimental asm.reloff.flags
    Make !? help available via ?!
    Added scr.color.bytes and rename scr.colorops to scr.color.ops
    asm.emustr enables asm.emu automatically
    Added types documentation

Crypto

    Add CPS-2 encryption support

Bindings

    Add OCaml correctly to the README (#5842)
    Fixed r2pipe.c

Printing

    Follow wide strings in disasm
    pdf/pdr/anal fix (#5709)
    Update pf help message
    pf indent fix
    Added array size support for structures
    Interpret char[] as char* in the pf format (use z instead of c)
    Fix .qword in pd and consider adr on arm64 as lea op
    Honor hex.cols in pxe
    Implemented varsub with structure fields (currently only depth of 1)
    Show disasm in Vx.
    implementing sorting of code diff

Assembler/Disassembler

    Add msr/mrs for the armass64 assembler
    Add jump/fail in afbj
    Add support for jb instruction in pseudo asm (#5818)
    Add a missing MSP430 constant register instruction encoding (#5548)
    Fix infinite loop with long strings in disasm
    Fix a missing #1 constant-generator encoding for msp430

R2PM

    Add r2pm -w and handle R2PM_DEPS
    Add PYPATH to r2pm
    Add support to have custom directory name for cloned repo

Diffing

    Add radiff2 -S to specify which column to sort for code diffing
    Fix the radiff2 -C MATCH issue, still not perfect but getting in shape

Interface

    Enhance Visual bit editor with 30% more colors and keys!
    Fix visual mark target address (#5637)
    Fix vmarks and save them in the project

Bonus Track
Numbers:

    commits: 373
    fix: 231
    crash: 8
    new: 8
    add: 70
    anal: 32
    leak: 3
    esil: 14
    debug: 7
    type: 18
    oob: 5
    honor: 9
    update: 19
    clean: 6
    import: 2
    endian: 8
    indent: 6
    command: 16
    enhance: 4
    diff:
        add: 22324
        del: 11798
        diff: 10526

.---------------------------------------------------------------------------------------------------------------------.
|                                                   Release 0.10.6                                                    |
|---------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | honor | leak | esil | endian |                     authors                     |
|--------------|---------|-----|-----|-------|------|------|--------|-------------------------------------------------|
|              |     381 | 238 |  70 |     9 |    4 |   14 |      8 |                                                 |
| binr/radare2 |       9 |   6 |   0 |     1 |    0 |    0 |      0 | pancake sven tiago.gasiba+saucec0de             |
| binr/rabin2  |       2 |   1 |   1 |     0 |    0 |    0 |      0 | sven pancake damo22                             |
| binr/radiff2 |       4 |   0 |   1 |     0 |    0 |    0 |      0 | pancake jkrshnmenon sven                        |
| binr/rahash2 |       0 |   0 |   0 |     0 |    0 |    0 |      0 | tjemg                                           |
| libr/debug   |      28 |  20 |   3 |     0 |    0 |    0 |      0 | pancake tjemg saucec0de osalvador.vilardaga ... |
| libr/bin     |      64 |  46 |   7 |     0 |    1 |    0 |      3 | pancake alvarofe h4ng3r damo22 ...              |
| libr/core    |     186 | 123 |  38 |     7 |    2 |    6 |      2 | pancake alvarofe oddcoder vlad-mbx ...          |
| libr/crypto  |       3 |   2 |   1 |     0 |    0 |    0 |      1 | pau pancake                                     |
| libr/cons    |      14 |  11 |   1 |     0 |    0 |    0 |      1 | pancake sven maijin zlowram ...                 |
| libr/anal    |      88 |  56 |  16 |     0 |    2 |   12 |      0 | pancake oddcoder vlad-mbx alvarofe ...          |
| libr/asm     |      21 |  14 |   2 |     0 |    0 |    1 |      3 | pancake alvarofe h4ng3r sven ...                |
| libr/util    |      42 |  22 |   9 |     1 |    0 |    0 |      1 | pancake alvarofe semarie p4n74 ...              |
| libr/egg     |       0 |   0 |   0 |     0 |    0 |    0 |      0 | sven                                            |
| libr/io      |      11 |  10 |   2 |     1 |    0 |    0 |      0 | pancake sven skuater                            |
| shlr/bochs   |       1 |   1 |   0 |     0 |    0 |    0 |      0 | pancake 0xbc                                    |
| man          |       4 |   0 |   2 |     0 |    0 |    0 |      0 | pancake maijin                                  |
'---------------------------------------------------------------------------------------------------------------------'

Contributors: 374 / 54 = ~7 commits per user

48% - 182 pancake
10% - 41 alvarofe
4% - 15 oddcoder
3% - 13 vlad-mbx
3% - 13 maijin
2% - 8 tjemg
2% - 8 bluec0re
1% - 7 h4ng3r
1% - 6 zlowram
1% - 5 p4n74
1% - 5 laanwj
1% - 4 semarie
1% - 4 damo22
0% - 3 skuater
0% - 3 pau
0% - 3 kalianon2816
0% - 3 saucec0de
0% - 3 julien.voisin
0% - 3 alex.darredevil
0% - 2 me
0% - 2 dromero.perez
0% - 2 akihiko.odaki.4i
0% - 2 killabytenow
0% - 2 bofh666ftw
0% - 2 crowell
0% - 2 xvilka
0% - 2 jkrshnmenon
0% - 2 pvt.gord
0% - 2 osalvador.vilardaga
0% - 2 sven
0% - 1 ANTodorov
0% - 1 SztfG
0% - 1 evanjrichter
0% - 1 tiago.gasiba+saucec0de
0% - 1 siguza
0% - 1 jpenalbae
0% - 1 ret2libc
0% - 1 atrodo
0% - 1 edgar.factorial
0% - 1 wapitidou
0% - 1 philipp.B.610
0% - 1 0xbc
0% - 1 andrey.arapov
0% - 1 coding
0% - 1 jduck
0% - 1 brainstorm
0% - 1 ahmedsoliman
0% - 1 eazy-f
0% - 1 bmarsh
0% - 1 oleavr
0% - 1 lottmann86
0% - 1 ehntoo
0% - 1 pgrohe
0% - 1 sylvain.pelissier

r2 0.10.5 codename PreCon


Release @ 0.10.5

Project: radare2
Codename: PreCon
Date: Mon Aug 15 2016 10:27:52 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases

radare2 @ comes with 5212 lines of new features, bug fixes and enhancements. Here some of the most important highlights:
New commands

    dmh to show memory heap
    Implement pxd8 to show data in st64
    Add $Fb and $Fs to handle basicblock address and size
    q[y/n][y/n] options added
    Fix #5524 - Add 'F' and '_' in graph
    Add bit level visual editor
    Fix #5447 - Implement aO command
    add io command !=mod to list system modules
    Fix #4841 - Restricted r2 shell thing
    Fix dmp command for OSX and make it work with 1 parm instead of 3
    Fix dmi on OSX and minor cydia tweak
    Fixes #5389 - Add aflqj
    Fix #5427 - ao[n] shows same bytes on all instructions

New URI handlers

    waitfor:// - wait to attach for a process matching that name
    pidof:// - attach to a process with this name
    nocache:// - open with O_NOCACHE, useful for iOS's dyldcache (@oleavr)
    self:// - Add dlsym, call, alarm and other goodies
    r2k:// - connect to the r2 kernel driver (windows only atm) (@skuater)

RSoC and GSoC

    Implement Arithmetic Pattern matching for ROP classification:
        rop gadgets found are saved in rop.db
        /R can now classify nop gadgets
        MovRegs and LoadConst pattern classification for /R
        Moved classification logic in separate file
        Adding Arithmetic Pattern classification for /R (work in progress)
    Variable and argument analysis (@oddcoder)
        Initial support for type matching (#5480)
        Calling convention profiles in SDB (#5358)
        Adding doc for calling convention
    Refactor RBin.Xtr to speedup dyldcache extraction (fat task)
        Refactoring RBinXtr API.
        Cache sub-fat bins in sdb to save memory.
        Fix the error while loading sub-bins of different archs.
        more work into xtr to fix the remaining tests
    Material webui changes
        Reimplemented hexdump
        Same for disasm with infinite scroll
        Better statusbar
        All this stuff is pretty wip and not yet finished

Analysis

    Add support to analyze local variable types and function parameters
    Add aad to analyze data references
    Add av to analyze vtables
    Fix #5334 - add support to analyze interrupt handler functions
    Fix some more arm-rel-pc issues (by CalArcher)
    First approach to afCl/cdecl for AVR
    Increase rafind2 -ZS wide and do not run aad in aaa

Debugger

    Fix r2 -d mame on OSX asm.bits=16 problem
    fixed breakpoint size based on arch
    Fix #5392 display values of args and locals in debugger (#5417)
    Fixed several memleaks in cmd_debug.c
    Fix flag regs being seen as 'gpr' instead of 'flg'
    Added new dmh command to analyze the heap on Linux-GlibC

Runs faster!

    The visual hud performs better!
    Speed up the radiff2 statistical diff
    Fix huge load times for fuzzed versioninfo bins
    rabin2 -x dyldcache is much faster and eats less mem

Enhancements

    Fix #4928 - Show string context in /z and /
    Fix floating pointer computations in ?
    Update C++ demangler from the latest GNU binutils
    Much better big endian support
    wopO/wopD now support longer buffers and honor endianness
    ELF vaddr fixes
    Remove some dupped helper functions like hex2int()
    Added realtime hexview edit mode
    More commands support JSON output
    Better heap analysis support dmh
    Better thumb/arm/arm64 pseudo, analysis and disasm
    Optimized to work with the latest capstone-next from git
    Connect timeout is now working on Windows

RAP

    Fix #5341 - rap:// with no file works now
    Fix #5338 - Add ability to start RAP server in background. (#5416)
    Fix WRITE operation in the rap protocol

R2PIPE

    Fix #5339 - Projects now work with r2pipe
    Support Python3
    Added MIT license to r2pipe.cs and publish it in Nuget
    Initial implementation of the Async Python r2pipe api (chr0hn)
    Raise meaningful exception if radare2 is not installed

R2PM

    Adding R2PM_GITDIR for easy packages local testing (#5475):
    Added r2pm -r to run commands in path
    Added 7 new packages
    Show r2pm clone directory in r2pm init
    Only use ~/.config/radare2/prefix/bin

Android

    Improvements in DEX: avoiding name glitches and parse fields and statics
    Detect local variables in Dalvik code analysis
    Improve arm/thumb detection building ranges based on anal hints.
    Updated material webui (WIP)
    Builds fine on Termux

Crypto

    Add experimental CPS2 crypto plugin
    Fix #5007 - Clarify the difference of hash/encoder/crypto
    Fix #4965. Add support for luhn searching and hashing.

Refactorings

    core/bin.c -> core/cbin.c
    r_util.h splitted into multiple files libr/include/r_util/*.h
    r_flags no longer depends on r_cons
    Rename CSR disasm/anal into XAP4 Fix #5355
    Remove x86.tab from r2 master moved to extras
    Calling Conventions are now defined in SDB at runtime
    Move all test programs into the r2r/unit
    Updated type database
    Add spr32d70 and gsprop32 sdb for issue 5486 (#5491)
    few enhancements for afv FIX #5459 (#5461)
        replacing afv[bsr]n with afvn
        replacing negative sign n with _
        being consistent across the documentations (args + locals = vars)

Security

    Several null derefs and memleaks has been fixed
    Fixed a buffer overflow in base64 decoder
    Fix infinite loop issue in ESIL ,,
    Fixes a crash in capstone

This release in numbers:

    commits: 282
    fix: 163
    crash: 11
    new: 2
    add: 50
    anal: 10
    leak: 5
    esil: 7
    debug: 10
    type: 8
    oob: 2
    honor: 7
    update: 17
    r2pm: 5
    clean: 8
    endian: 6
    indent: 3
    command: 14
    enhance: 3
    diff:
    - add: 24865
    - del: 19653
    - diff: 5212

.------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
|                                                                                                                                                          Release @                                                                                                                                                           |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | leak | update | r2pm | clean | esil | endian | commits |                                                                                                            authors                                                                                                             |
|--------------|---------|-----|-----|------|--------|------|-------|------|--------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|              |     239 | 134 |  40 |    3 |     16 |    5 |     6 |    5 |      4 |     239 |                                                                                                                                                                                                                                |
| binr/radare2 |       2 |   2 |   1 |    0 |      1 |    0 |     1 |    0 |      0 |       2 | zakaria.addi pancake                                                                                                                                                                                                           |
| binr/rabin2  |       2 |   1 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       2 | pancake alvarofe                                                                                                                                                                                                               |
| binr/rahash2 |       1 |   1 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       1 | pancake maijin                                                                                                                                                                                                                 |
| libr/hash    |       3 |   2 |   1 |    0 |      0 |    0 |     0 |    0 |      0 |       3 | maijin pancake mo                                                                                                                                                                                                              |
| libr/debug   |      14 |  10 |   1 |    0 |      0 |    0 |     1 |    1 |      0 |      14 | pancake oddcoder maijin mail n54 alvarofe matt crowell                                                                                                                                                                         |
| libr/bin     |      32 |  22 |   3 |    1 |      1 |    0 |     0 |    0 |      0 |      32 | pancake alvarofe dlpolanco05 maijin crowell                                                                                                                                                                                    |
| libr/core    |      98 |  59 |  18 |    3 |      6 |    0 |     4 |    2 |      4 |      98 | pancake alvarofe oddcoder maijin alex.darredevil crowell pvt.gord mo zakaria.addi alexandru.razvan.c mail mrmacete Owlz sdusuel brainstorm javierprtd soez vladimirdiaconescu monosource kalianon2816 sushant l4l dario.mail1  |
| libr/crypto  |       3 |   1 |   2 |    0 |      0 |    0 |     0 |    0 |      0 |       3 | pancake maijin                                                                                                                                                                                                                 |
| libr/cons    |       3 |   2 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       3 | alvarofe maijin                                                                                                                                                                                                                |
| libr/anal    |      34 |  23 |   9 |    3 |      1 |    0 |     2 |    4 |      0 |      34 | oddcoder pancake maijin alvarofe crowell droberson mrmacete aronsky alexandru.razvan.c alex.darredevil brainstorm                                                                                                              |
| libr/asm     |      22 |  13 |   0 |    0 |      1 |    0 |     0 |    1 |      0 |      22 | pancake alvarofe sven maijin                                                                                                                                                                                                   |
| libr/util    |      27 |  12 |   2 |    0 |      1 |    0 |     0 |    0 |      1 |      27 | pancake maijin alvarofe reddevillg nikolaih crowell                                                                                                                                                                            |
| libr/egg     |       1 |   0 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       1 | maijin                                                                                                                                                                                                                         |
| man          |       2 |   1 |   0 |    0 |      1 |    1 |     0 |    0 |      0 |       2 | pancake monosource                                                                                                                                                                                                             |
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'

Contributors: (37)

    135 pancake
    30 alvarofe
    23 maijin
    15 oddcoder
    9 crowell
    9 alex.darredevil
    8 xvilka
    5 sven
    3 chris
    3 pvt.gord
    3 monosource
    3 mrmacete
    2 zakaria.addi
    2 brainstorm
    2 mail
    2 mo
    2 dlpolanco05
    1 reddevillg
    1 javierprtd
    1 droberson
    1 inndy.tw
    1 aronsky
    1 dreamdance61
    1 Owlz
    1 n54
    1 sdusuel
    1 asuarezbm
    1 damo22
    1 patrikbachan
    1 =skuater
    1 nikolaih
    1 jredestig
    1 sushant
    1 skuater
    1 matt
    1 p4n74
    1 soez
    1 me
    1 dx
    1 vladimirdiaconescu
    1 kalianon2816
    1 dario.mail1
    1 l4l
    1 alexandru.razvan.c

radare2 0.10.4 - 0.10.4 - Padron Peppers

released this on Jul 7, 2016


Release 0.10.4

Project: radare2
Codename: Padron Peppers
Date: Mon Jul 07 2016 00:35:10 GMT+0200 (CEST)
Website: http://radare.org
Tarball: https://github.com/radare/radare2/releases

radare2 0.10.4 comes with a some new features and a lot of bug fixes and enhancements.
Here are some of the most important ones:
Highlights:

    Initial support for heap analysis (linux-glibc) (@n4x0r e & @javierprtd )
    Fully working local, stack, base or register variables support GSoC (@oddcoder)
    Fixed support for really messed up PE binaries (@alvaro_fe)
    Improved support for AVR and IO ports (@brainstorm)
    CDIV deoptimization support (@ususdei)
    New disassembler for N64 RSP processor disassembler (@bsmiles32)
    Major rework of the debugger internals (@jduck)
    The default assembler now supports much more instructions (@unlogic)
    Added asm.assembler to use different plugin than the disassembler
    Better android support (correct disassemlby, initial multidex) (@trufae)
    Better coredump support on Linux (oscar salvador)
    Fixed native build for linux-mips and linux/osx-powerpc (@trufae)
    Implemented bit-level editor 'press d and then 1 in visual mode' (@trufae)
    Updated material webui -- GSoC (@gcolajan)
    r2pm package database moved to another repository (@zlowram)

Numbers:

.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
|                                                                                                                                         Release @                                                                                                                                          |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|     name     | commits | fix | add | leak | update | r2pm | clean | esil | endian | commits |                                                                                           authors                                                                                            |
|--------------|---------|-----|-----|------|--------|------|-------|------|--------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|              |     402 | 225 |  80 |   10 |     20 |   10 |    11 |   15 |      4 |     402 |                                                                                                                                                                                              |
| binr/r2pm/d  |       0 |   0 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       0 |                                                                                                                                                                                              |
| binr/radare2 |       9 |   6 |   2 |    0 |      0 |    0 |     0 |    0 |      0 |       9 | pancake crowell                                                                                                                                                                              |
| binr/rabin2  |       3 |   1 |   1 |    0 |      0 |    0 |     0 |    0 |      0 |       3 | crowell pancake                                                                                                                                                                              |
| binr/radiff2 |       3 |   1 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       3 | pancake nikolaih                                                                                                                                                                             |
| binr/rahash2 |       2 |   2 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       2 | pancake dx                                                                                                                                                                                   |
| binr/ragg2   |       0 |   0 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       0 | pancake                                                                                                                                                                                      |
| libr/hash    |       0 |   0 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       0 | pancake                                                                                                                                                                                      |
| libr/debug   |      46 |  31 |  11 |    0 |      1 |    0 |     1 |    0 |      0 |      46 | pancake jduck xvilka meep crowell pavel.borzenkov alvarofe osalvador.vilardaga psyberbits                                                                                                    |
| libr/bin     |      68 |  51 |   2 |    2 |      1 |    0 |     2 |    0 |      2 |      68 | pancake alvarofe crowell xvilka jduck psyberbits                                                                                                                                             |
| libr/core    |     132 |  74 |  37 |    3 |      4 |    0 |     4 |    3 |      1 |     132 | pancake oddcoder crowell jduck alvarofe karol.harasim xvilka psyberbits monosource nibble chinmay1dd maijin defragger ret2libc robbje af123 ususdei reenz0h dx lonely.ruyk mrmacete ekse.0x  |
| libr/crypto  |       0 |   0 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       0 | pancake                                                                                                                                                                                      |
| libr/cons    |      14 |   5 |   3 |    0 |      0 |    0 |     0 |    0 |      0 |      14 | psyberbits pancake crowell oddcoder                                                                                                                                                          |
| libr/anal    |      56 |  33 |  10 |    3 |      0 |    0 |     1 |   11 |      2 |      56 | pancake oddcoder alvarofe condr3t sushant mrmacete sushant.dinesh94 aronsky psyberbits dx bobby.smiles32 crowell                                                                             |
| libr/asm     |      34 |  19 |  11 |    0 |      2 |    1 |     1 |    0 |      1 |      34 | pancake sven mr.exodia.tpodt alvarofe bobby.smiles32 sylvain.pelissier mrdanielps crowell karol.harasim julien.voisin                                                                        |
| libr/util    |      43 |  25 |  10 |    0 |      0 |    0 |     2 |    0 |      0 |      43 | pancake crowell karol.harasim alvarofe def psyberbits Lukas-Dresel osalvador.vilardaga defragger nikolaih mattd                                                                              |
| libr/bp      |       1 |   1 |   1 |    0 |      0 |    0 |     0 |    0 |      0 |       1 | jduck                                                                                                                                                                                        |
| libr/egg     |       1 |   1 |   0 |    0 |      0 |    0 |     0 |    0 |      0 |       1 | pancake                                                                                                                                                                           |
| man          |       3 |   1 |   2 |    0 |      0 |    1 |     0 |    0 |      0 |       3 | pancake nikolaih                                                                                                                                                                             |
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'

This makes 21,012 additions and 13,252 deletions.
Contributors:

    192 pancake
    40 alvarofe
    38 crowell
    20 jduck
    11 xvilka
    10 psyberbits, sven, oddcoder
    8 karol.harasim
    6 maijin
    5 mrmacete
    3 nibble, condr3t, dx, monosource, mrexodia, sushant
    2 brainstorm, def, meep, chinmay1dd, sushant.dinesh94, defragger
    1 robbje, reenz0h, ususdei, aronsky, bobby.smiles32, zlowram, ekse.0x, mrdanielps, sylvain.pelissier, hummypkg, osalvador.vilardaga, lonely.ruyk, af123, nikolaih, mattd, slyfox, jaroslaw.gorny, pavel.borzenkov, Lukas-Dresel, jvoisin, qwokka, dukebarman, ret2libc

Fixes:

#5267,#5261, #5245, #5259, #4665, #5228, #5218, #4420, #5213, #4432, #4422, #5204, #1277, #5185, #5126, #5117, #5105, #5108, #4975, #5082, #5058, #5034, #5033, #5020, #5022, #5009, #5010
Changes:

This release focused on improving the speed and memory footprint of radare2,
along with code cleanup. Also, this release comes with a completely reworked
r2pm package manager. A lot of changes have happened in the debugger implementation, and in ESIL emission.
New commands

    fi[jn*] to list flags in a given range
    pdaj and pda= to disassemble all possible opcodes, byte per byte.
    drp. to show the register profile size
    ecoj to list themes in JSON format
    pf [size]D
    aoe and aor to show ESIL and REIL forms of the current opcode
    ah. to show hints of the current offset
    afv[bsr] to manipulate args, registers and variables in function
    wxs to write hexpairs, and seek to the end
    dpc to select the most recently forked child process
    dpc* to show the recently forked process pid.
    ecc [arg] shows color palete with a css syntax
    pch for a 2 byte C dump mode
    @o is a new modifier to temporary switch to another fd
    Adds core.iorw in i
    Renaming afa, afv and afe to afvb, afvr, and afvs respectively
    Refactor pia/pda
    Adds anal.vars variable to toggle variables analysis
    r2 -I for pre-scripting
    aa is now equivalent af@@ sym.*;af@entry0;afCa (can you guess what it does?)
    Added cursor to undo seek history
    Implement afbr and * sub-variants to list return addresses of current function

Analysis

Now r2 is able to load PE files that has been tampered somehow to thwart the analysis. If radare2 struggles with some samples, feel free to share them with us ;):
* Add name to section when is empty
* comment out hackaround for huge number of sections

    Update syscall table for iOS
    Adds output ports for AVR Atmel8A. Thanks @radare and @oddcoder
    Implement RSyscall.IO in disasm loop for X86 and AVR
    Improving variables on ARM (16, 32, 64)
    Adds asm.hints and handle CDOV deoptimization
    Possibility to add comment for var/args
    Add anal.vinfun and anal.anal.vinfunrange for aav (only grab values outside function boundaries)
    Improving the json format for args/vars
    Initial import of the bin.avr plugin for atmega8 chips
    Fix analysis and add ESIL for avr's rjmp
    Support op->family and some op->cycle for anal.arm64
    Add MJMP optype, pxt command and enhance anal.jmptbl for x86-64 (wip)
    Fixed order of arguments in ESIL representation of MUL.
    afbr's description wasn't worded properly: It doesn't actually print addresses of ret instructions, but of instructions which cause the flow of the program to leave the function body, like call, jmp, hlt, ...
    CDIV deoptimization is now showed as hint

Debugger

    Improved support of Linux, Android and *BSD systems
    Major rework to the native debugger (especially on Linux)
    Generate coredump - added support for threads and x86
    Make dbt output aligned to columns based on dbg->bits
    Breakpoints should now work regardless of the swtep setting
    Fix build for Linux <= 2.6.32 (coredump not supported)
    Make dm work on OpenBSD by adding a native _debug_native_map_alloc()
    Add support for dp and dp* on OpenBSD.
    Don't print SIGTRAP signals or stops
    Adds breakpoints into project file
    Add "clone" to the "dcf" command (#5161)
    Track how the caller wishes to continue
    Handle EXIT_PID events differently than DEAD process events
    Move breakpoint/recoil handling to wait/cont/step
    Change many wait functions to return RDebugReasonType
    Better return checking (from r_debug_reg_sync, r_bp_restore)
    Optimized register synchronization
    Improved inferior death detection

Assembler/Disassembler

    Add basic support for N64 RSP processor.
    Lot of updates in x86.nz:
        The sil, dil, spl, and bpl registers are now supported
        lfence, mfence, sfence , bt, fsincos instructions
        support syntax for add eax, [ecx] and add ecx, [eba +/- 3]
        Add support for immediate word for sub
        nz now generates the correct opcode when using a word as an immediate in the sub instruction with a register + offset as the target
        Adds support for word register offsets and refactors that portion of the code a little
        Add offset support to add instruction
    Initial implementation of asm.assembler to select different assembler plugin than the disasmembly one

DEX

DEX stands for Dalvik Executable format, it's the format used by Android binaires.

    Show classname for static methods in DEX
    Fix imports and enhance parsing virtual methods in DEX
    Better names for virtual Dalvik methods
    Load virtual methods from Dex files

Tests and Documentation

    Use kcov and Coveralls.io with unit tests
    Initial radare2-extras tests
    r_util is getting documented and got unit tests

Bindings

    io, core and disasm/asm got proper rlang + python examples:
        https://github.com/radare/radare2-bindings/blob/master/libr/lang/p/test-py-core.py
        https://github.com/radare/radare2-bindings/blob/master/libr/lang/p/test-py-asm.py
        https://github.com/radare/radare2-bindings/blob/master/libr/lang/p/test-py-io.py

Build

    Support to build on OSX-powerpc
    Support to build on Linux-powerpc and mips
    Build target armel (not armhf), for legacy armv5-like devices

Optimization

    Huge optimization of some internal structures by @crowell

Usability and Visual mode

    Greatly improves the display of process listing
    lea instructions got hotkeys support
    Visual mode for editing bits Vd1
    The www/m web interface got a new statusbar and a split view

Revision 1.6 / (download) - annotate - [select for diffs], Fri Sep 16 14:46:25 2016 UTC (7 years ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2, pkgsrc-2017Q1-base, pkgsrc-2017Q1, pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3
Changes since 1.5: +7 -1 lines
Diff to previous 1.5 (colored)

Add support for SunOS.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Jun 13 12:26:11 2016 UTC (7 years, 3 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2016Q2-base, pkgsrc-2016Q2
Changes since 1.4: +5 -7 lines
Diff to previous 1.4 (colored)

Update radare2 packages to 0.10.3/0.10.0.

Changes for 0.10.3 not found.

0.10.2

    Add r2 -d and -R shortcuts to simplify loading rarun2 profiles and using remote debugging plugins
    Support for cryptography (blowfish, rc2, rc4, aes, xor, ror, rol)
        woE/woD
        rabin2 -E
        Adding wo*y commands using clipboard instead of [val]
    Better PE and ELF parsers
    New easter-egg!
    dyldcache extractor is working again
    Support for BOCHS
    Coredump support for iOS and OSX
    New fileformats, namely Python bytecode and Flash files
    Improved analysis and emulation thanks to ESIL on x86, ARM and MIPS
    New make menu to choose plugins to build
    Add ?E clippy echo and use it in ????
    xrefs and types are now properly saved/restored from projects

0.10.1

    Variables and flags can now be renamed in cursor mode asciinema
    Optimized GDB connectivity, now its 10x faster!
    print signed base 10 hexdumps with pxd[1,2,4]
    radiff2 -C to compare checksums
    Lot of work towards the mach-ification of the OSX/iOS debugger by alvarofe
    more polished cursor movements in Visual mode
    Better ARM and Thumb code analysis and emulation
    Added disassembler support for Microblaze architecture
    Updated unicorn plugin to be in sync with git
    Various enhancements in the Visual mode
    backward disassembly uses RAnal info for better offset computations
    asm.bbline uses RAnal info to have precise results
    fix bug in env.sh when using more than 9 arguments
    Mingw compilation improvements
    preliminary support of XNU debugging
    ESIL support for v810
    radare2 does now compile in appveyor: no more excuses for broken commits on windows!
    Lanai (the secret CPU used by Google) support
    a new shiny xtensa CPU analysis backend
    change local variables/arguments format names (ebp-0x10, ebp+0x13 becomes, respectively, local_10h and arg_13h) and now it works too when asm.ucase is set.
    add Vdn option to rename a flag/function/local variable/local argument used in the current instruction
    refactoring of RFlag + better names for functions when there are symbols
    ahi now supports IPv4 and syscall
    various optimizations and bugfixes
    opcodes descriptions for v810, propeller, riscv, tms320, lm32, i4004, i8080, java, Malbolge, SH-4, M68K, ARC and LH5801 (that you can access with ?d or e asm.describe=true)
    axg to get a graph of the function xrefs to reach a specific point.

Lanai CPU

Radare 0.10.0

blessr2

Since it took us a very long time to do this release, he had the
time to implement a second one, using Material design, which turns
out to be the default one for the Android and FirefoxOS applications.

Stability

We spent a lot of time fuzzing radare2, collecting binaries and writing tests to improve radare2 reliability. We even harvested similar projects bugtracker to see how well radare2 would deal with binary that broke them. Currently, we have something like 2000 tests dedicated to commands, and most of disassemblers have a 100% coverage.

About the testsuite, you may notice that it much more quick to run it now. We managed, on travis-ci, to go from 1h30 for only gcc on linux, to 20 minutes for clang on OSX, and gcc+clang on linux. No more excuses for not running the testsuite before a commit.

You might also be happy to know that radare2 now successfully compiles on tcc, the tiny C compiler. This might be useful if youe compiling radare2 on weird platforms. Please be sure to use tcc from git too :) Moreover, radare2 tries as hard as it can to run on your-super-weird-platform-that-no-ones-has-ever-head-off, we implemented the cp and mv commands, since you might not find those everywhere.

Thanks to revskills for spending time fuzzing and reporting several parts of r2.
Better support for iOS

Radare2 comes with some new features that will make iOS reverse engineers happy:

    asm.emu will tell you which objc_msgSend apis and syscalls are called
    Better emulation of Thumb, aarch64 and arm32
    Supports r2pipe in Swift, known to work on tvOS, watchOS, iPhone and OSX.
    Native OBJC parser implementation, no need to use class-dump tool anymore!
    Some enhancements in process memory dumping
    Supports tfp0 to read/write kernel memory if kernel is patched properly
    Exploit an iOS<=8 vulnerability to read
    Code Signing is now done properly, updated instructions.
    Add support for nativelly running on Apple Watch (without jailbreak).
    Some random debugger bug fixes, still not fully working on iOS
    List memory modules, not just memory maps
    Unaligned instructions are different than the invalid ones
    MACH0 Crypto information is now accessible via SDB

ElCapitan users will get a bit pissed of because they are no longer able to debug /bin/ls, because Apple SIP will block debugging binaries found in system directories. The solution for this is to copy them into your home :P Also, default installation path has changed from /usr to /usr/local.
Debugger

This release was supposed to focus on the debugger, fixing many issues, and adding some new bugs features, like:

    Support for memory-access hardware breakpoints
    Much better Windows 32 and 64bit debugger support
    List opened handles and Windows using dd
    Rarun2 supports pipe execves in std file descriptors
    Remote debugging via IO plugins work a bit better now
    3 different backtrace algorithms, configurable at runtime

dbg
Memory usage

It seems that no one ever took care of radare2 memory consumption before, because it was still lower than its competitors/alternatives. But for this release, radare2 went on a diet : it now consumes 3 to 5 times less memory !
Pretty graphs

Our beloved ret2libc spent a lot of time rewriting graphs engine from scratch, with overlaps handling and better colours ! See how cool this is:

graph
New architectures support

We know a lot of people are using radare2 because it supports a lot of funky/exotic/awful/funny/scary architectures.

Remember when we added support for the famous 6502 cpu in the last release? This time, we added analysis support and opcode description (with ?d), because not everyone is fluent in 6502 assembly code. And even more, since we know some of you just care about the meaning of the code and not the beauty of the assembly listing, we added pseudo-decompiler support. Yes, we have a pseudo-decompiler for 6502.

Did you know that we have a contributor named condret that really likes the pokemon game on gameboy? This is why he pushing ESIL, implemented a fancy gameboy disassembler, and for this latest release, he wrote a gameboy assembler! You can now craft your own shellcodes, or, if youe crazy, games, for gameboy, with radare2.

We also improved AVR support, with analysis (radare2 analysis is generic, so it pretty easy to add its support for an architecture), an assembler, ESIL so you can emulate it easily, and description. This led two people (namely Alexander Bolshev and Boris Ryutin) to do worksops at ZeroNights, t2.fi and S4x16 conferences, about reversing and exploiting this architecture with radare2!

Also, we added support for assembling ARM and ARM64, ADN decoding (yes. It the BCL plugin in r2pm. You don know about r2pm? Keep reading then.), demangling for Rust binaries, Wii/Gamecube binaries, disassemblers for LM32, MCS96, analysis and ESIL for PPC, V810 and RISC-V, 
And since we have at least one Windows user, we also added support for Windows minidump format, aka mdmp, and windows-on-raspberry2-fileformat-it-almost-a-PE because apparently, it a real thing.
Game Consoles

We have been also working in adding support for more game console ROMs:

    NES (nintendo-entertainment-system)
    SMD (sega megadrive)
    SMS (mastersystem/gamegear)
    DOL (wii/gamecube)
    GB (initial support for assembling instructions)

Other new binary formats are now supported too:

    CGC executables
    MBN/SBL Android trustboot images
    Support for RPI2 PE Windows executables
    Windows Minidump (mdmp) files

Bindings

Remember the bindings, and how much languages we supported? Remember when you had to read radare2 source code to write a simple one-liner, and ended parsing a call to system with radare2, pipe, sed, pipe, tr, pipe, awk, pipe, sed ? Yeah, us too. This is why we ditched (don worr, they are still there, but deprecated) the bindings, and created r2pipe. Since you like so much calling radare2 in system, this is exactly what is does: popping radare2, and piping commands to it.

This brings several advantages:

We don have to mainwe only have to implement a few commands per languages You don have to read radare2 source code if you don want to: if you know how to use radare2, you know how to use r2pipe! Append j to almost every command to get native JSON output! No needd now in JSON:\n%s\n' % r2.cmdj('pij 5'))
print('architecture: %s' % r2.cmdj('ij')['bin']['machine'])

All r2pipe APIs has been updated to work on Windows, Linux and OSX. In addition, the new native:// URI allows to use r2pipe api using the native C API iipes or sockets. This allows to reuse the same code but speeding up things a lot.
r2pm

Radare2 had an implementation of 2048, a port-scanner, and even a secret ascii-penis, but now, it also has a package manager!

No, this is not overkill, stop complaining and keep on reading. Radare2 supports a lot of useless things. This is why we put non-code things into separate packages, that can be browsed/searched/installed/removed/updated with the new tool called r2pm.

$ r2pm
Usage: r2pm [cmd] [...]
Commands:
 -i,info                 r2pm -i # pkgs info
 -i,install <pkgname>    r2pm -i baleful
 -u,uninstall <pkgname>  r2pm -u baleful
 -l,list                 list installed pkgs
 -t,test FX,XX,BR BID    check in travis regressions
 -s,search [<keyword>]   search in database
 -v,version              show version
 -h,help                 show this message
 -c,clean                clear source cache
Environment:
SUDO=sudo                use this tool as sudo
R2PM_PREFIX=/usr         prefix for syspkgs
R2PM_PLUGDIR=~/.config/radare2/plugins   # default value, home-install for plugins
R2PM_PLUGDIR=/usr/lib/radare2/last/      # for system-wide plugin installs
$

Note that r2pm -s will show you every available package.
License

We managed to remove the last bits of GPL licensed code in radare2! Wee not a complete LGPL project (some modules installable with r2pm have a different licenses, please pay attention to that). This means that you can use radare2 into your proprietary product, while betraying without giving the source to your users, but if you modify radare2, you need to publish the modifications. It might be easier for you to try to upstream them by the way ;)
Usability

As usual, wee going to pretend that every command has now a fancy colored help displhout.

You might remember hearing a loud noise a couple of months ago. This was when jvoisin was told that to have something like the follow-fork-mode in GDB, he had to find the syscall number for his architecture, break on this breakpoint with the dcs cour Intermediary Language, used for emulation, analysis, transformations, trolling, This is why we added several new commands under ae (*A*nalyse with *E*sil), like aeip to set the ESIL eip to the current eip, efto emulate an entire function, aation
| +=     A+=B => B,A,+=
| +      A=A+B => B,A,+,A,=
| *=     A*=B => B,A,*=
| /=     A/=B => B,A,/=
| &=     and ax, bx => bx,ax,&=
| |      or r0, r1, r2 => r2,r1,|,r0,=
| ^=     xor ax, bx => bx,ax,^=
| >>=    shr ax, bx => bx,ax,>>=  # shift rightwice, compare and update esil flags
| <      compare for smaller
| <=     compare for smaller or equal
| >      compare for bigger
| >=     compare bigger for or equal
| ?{     if popped value != 0 run the block until }
| POP    drops last element in thethe new asm.emuwrite, asm.emustr, and asm.emu options! If you set them to true, radare2 will do its very best to improves the analysis with ESIL, but be careful, setting those variables may give you an über-verbose output.
Extras

The radare2-extras repog additions are:
Unicorn

A lot of people are talking about unicorn, a CPU emulator. While we think that ESIL is way better for everything and that you totally should use it and contribute to radare2, we added support for it in radare2, it as simple aLinux kernel packet filtering is done by a custom virtual machine that emulates code. r2 is now able to assemble, disassemble, analyze, emulate this new architecture. Thanks mrmacete!
New bots

There are now new NodeJS bots for IRC and Telegram, ready to use in the radare2-bindings/r2pipe/nodejs/examples/*.

    r2tgirc : telegram-to-irc bot that communicates the #radare freenode channel with the Telegram radare one.

    r2tg-bot : Radare2 bot for Telegram and connected to the cloud.

    r2irc-bot : IRC bot of r2 to use any binary in your system from the chat.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Nov 3 03:29:18 2015 UTC (7 years, 10 months ago) by agc
Branch: MAIN
CVS Tags: pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4
Changes since 1.3: +2 -1 lines
Diff to previous 1.3 (colored)

Add SHA512 digests for distfiles for devel category

Issues found with existing distfiles:
	distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
	distfiles/fortran-utils-1.1.tar.gz
	distfiles/ivykis-0.39.tar.gz
	distfiles/enum-1.11.tar.gz
	distfiles/pvs-3.2-libraries.tgz
	distfiles/pvs-3.2-linux.tgz
	distfiles/pvs-3.2-solaris.tgz
	distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.

Revision 1.3 / (download) - annotate - [select for diffs], Sun Aug 30 08:27:37 2015 UTC (8 years ago) by dholland
Branch: MAIN
CVS Tags: pkgsrc-2015Q3-base, pkgsrc-2015Q3
Changes since 1.2: +2 -1 lines
Diff to previous 1.2 (colored)

Add config entries for dragonfly and bitrig.

Revision 1.2 / (download) - annotate - [select for diffs], Fri Jul 3 16:05:02 2015 UTC (8 years, 2 months ago) by khorben
Branch: MAIN
Changes since 1.1: +5 -8 lines
Diff to previous 1.1 (colored)

Package radare2 0.9.9

This release brings the following:
- support for more architectures (AARCH64, HP PA-RISC, Z80...)
- build fixes
- bug fixes
- more fortunes...

This change also brings Makefile.common and buildlink3.mk files, to
facilitate packaging radare2's companion releases (language bindings,
etc).

Revision 1.1 / (download) - annotate - [select for diffs], Fri Feb 27 12:11:20 2015 UTC (8 years, 6 months ago) by gdt
Branch: MAIN
CVS Tags: pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1

Import radare2-0.9.8 as devel/radare2.

radare2 is an advanced commandline hexadecimal editor
with a set of tools for working with binary files.

Most of tools that come with radare2 have been designed
for reverse engineering file formats, firmwares, programs,
libraries, etc.

Radare2 project started as a forensics tool, a scriptable
commandline hexadecimal editor able to open disk files,
but later support for analyzing binaries, disassembling
code, debugging programs, attaching to remote gdb servers..

Packaged in wip by Kamil Rytarowski.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>