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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
@comment $NetBSD: PLIST,v 1.7 2019/08/04 14:30:13 ryoon Exp $
|
2015-02-27 13:11:20 +01:00
|
|
|
bin/r2
|
|
|
|
bin/r2agent
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
bin/r2p
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
bin/r2pm
|
2015-02-27 13:11:20 +01:00
|
|
|
bin/rabin2
|
|
|
|
bin/radare2
|
|
|
|
bin/radiff2
|
|
|
|
bin/rafind2
|
|
|
|
bin/ragg2
|
|
|
|
bin/rahash2
|
|
|
|
bin/rarun2
|
|
|
|
bin/rasm2
|
|
|
|
bin/rax2
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r2naked.h
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
include/libr/r_agraph.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/r_anal.h
|
|
|
|
include/libr/r_anal_ex.h
|
|
|
|
include/libr/r_asm.h
|
|
|
|
include/libr/r_bin.h
|
|
|
|
include/libr/r_bin_dwarf.h
|
|
|
|
include/libr/r_bind.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_binheap.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/r_bp.h
|
|
|
|
include/libr/r_cmd.h
|
|
|
|
include/libr/r_config.h
|
|
|
|
include/libr/r_cons.h
|
|
|
|
include/libr/r_core.h
|
|
|
|
include/libr/r_crypto.h
|
2019-03-26 20:29:52 +01:00
|
|
|
include/libr/r_crypto/r_des.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/r_debug.h
|
|
|
|
include/libr/r_diff.h
|
|
|
|
include/libr/r_egg.h
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
include/libr/r_endian.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_flag.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/r_flist.h
|
|
|
|
include/libr/r_fs.h
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
include/libr/r_getopt.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/r_hash.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_heap_glibc.h
|
|
|
|
include/libr/r_heap_jemalloc.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/r_io.h
|
|
|
|
include/libr/r_lang.h
|
|
|
|
include/libr/r_lib.h
|
|
|
|
include/libr/r_list.h
|
|
|
|
include/libr/r_magic.h
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
include/libr/r_main.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/r_parse.h
|
|
|
|
include/libr/r_pdb.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_qrcode.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/r_reg.h
|
|
|
|
include/libr/r_regex.h
|
|
|
|
include/libr/r_search.h
|
|
|
|
include/libr/r_sign.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_skiplist.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/r_socket.h
|
|
|
|
include/libr/r_syscall.h
|
|
|
|
include/libr/r_th.h
|
|
|
|
include/libr/r_types.h
|
|
|
|
include/libr/r_types_base.h
|
|
|
|
include/libr/r_userconf.h
|
|
|
|
include/libr/r_util.h
|
2019-03-26 20:29:52 +01:00
|
|
|
include/libr/r_util/pj.h
|
|
|
|
include/libr/r_util/r_alloc.h
|
|
|
|
include/libr/r_util/r_ascii_table.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_util/r_asn1.h
|
2019-03-26 20:29:52 +01:00
|
|
|
include/libr/r_util/r_assert.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_util/r_base64.h
|
|
|
|
include/libr/r_util/r_base91.h
|
|
|
|
include/libr/r_util/r_big.h
|
|
|
|
include/libr/r_util/r_bitmap.h
|
|
|
|
include/libr/r_util/r_buf.h
|
|
|
|
include/libr/r_util/r_cache.h
|
|
|
|
include/libr/r_util/r_constr.h
|
2019-03-26 20:29:52 +01:00
|
|
|
include/libr/r_util/r_ctypes.h
|
|
|
|
include/libr/r_util/r_date.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_util/r_debruijn.h
|
2019-03-26 20:29:52 +01:00
|
|
|
include/libr/r_util/r_event.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_util/r_file.h
|
|
|
|
include/libr/r_util/r_graph.h
|
|
|
|
include/libr/r_util/r_hex.h
|
2019-03-26 20:29:52 +01:00
|
|
|
include/libr/r_util/r_idpool.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_util/r_itv.h
|
|
|
|
include/libr/r_util/r_log.h
|
|
|
|
include/libr/r_util/r_mem.h
|
|
|
|
include/libr/r_util/r_name.h
|
|
|
|
include/libr/r_util/r_num.h
|
2019-03-26 20:29:52 +01:00
|
|
|
include/libr/r_util/r_panels.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_util/r_pkcs7.h
|
|
|
|
include/libr/r_util/r_pool.h
|
2019-03-26 20:29:52 +01:00
|
|
|
include/libr/r_util/r_print.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_util/r_punycode.h
|
|
|
|
include/libr/r_util/r_queue.h
|
|
|
|
include/libr/r_util/r_range.h
|
|
|
|
include/libr/r_util/r_rbtree.h
|
|
|
|
include/libr/r_util/r_sandbox.h
|
|
|
|
include/libr/r_util/r_signal.h
|
|
|
|
include/libr/r_util/r_spaces.h
|
|
|
|
include/libr/r_util/r_stack.h
|
|
|
|
include/libr/r_util/r_str.h
|
|
|
|
include/libr/r_util/r_str_util.h
|
|
|
|
include/libr/r_util/r_strbuf.h
|
|
|
|
include/libr/r_util/r_strpool.h
|
|
|
|
include/libr/r_util/r_sys.h
|
2019-03-26 20:29:52 +01:00
|
|
|
include/libr/r_util/r_time.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/r_util/r_tree.h
|
|
|
|
include/libr/r_util/r_uleb128.h
|
|
|
|
include/libr/r_util/r_utf16.h
|
|
|
|
include/libr/r_util/r_utf32.h
|
|
|
|
include/libr/r_util/r_utf8.h
|
|
|
|
include/libr/r_util/r_x509.h
|
|
|
|
include/libr/r_vector.h
|
2015-07-03 18:05:02 +02:00
|
|
|
include/libr/r_version.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/sdb.h
|
|
|
|
include/libr/sdb/buffer.h
|
|
|
|
include/libr/sdb/cdb.h
|
|
|
|
include/libr/sdb/cdb_make.h
|
|
|
|
include/libr/sdb/config.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/sdb/dict.h
|
2019-03-26 20:29:52 +01:00
|
|
|
include/libr/sdb/ht_inc.h
|
|
|
|
include/libr/sdb/ht_pp.h
|
|
|
|
include/libr/sdb/ht_up.h
|
|
|
|
include/libr/sdb/ht_uu.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/sdb/ls.h
|
|
|
|
include/libr/sdb/sdb.h
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
include/libr/sdb/sdb_version.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/sdb/sdbht.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/sdb/types.h
|
|
|
|
include/libr/sflib/common/sfsocketcall.h
|
|
|
|
include/libr/sflib/common/sftypes.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/sflib/darwin-arm-64/sflib.h
|
|
|
|
include/libr/sflib/darwin-arm-64/sfsyscall.h
|
|
|
|
include/libr/sflib/darwin-arm-64/sfsysnr.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/sflib/darwin-x86-32/sflib.h
|
|
|
|
include/libr/sflib/darwin-x86-32/sfsyscall.h
|
|
|
|
include/libr/sflib/darwin-x86-32/sfsysnr.h
|
|
|
|
include/libr/sflib/darwin-x86-64/sflib.h
|
|
|
|
include/libr/sflib/darwin-x86-64/sfsyscall.h
|
|
|
|
include/libr/sflib/darwin-x86-64/sfsysnr.h
|
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
2018-02-18 18:36:58 +01:00
|
|
|
include/libr/sflib/linux-arm-32/sflib.h
|
|
|
|
include/libr/sflib/linux-arm-32/sfsyscall.h
|
|
|
|
include/libr/sflib/linux-arm-32/sfsysnr.h
|
|
|
|
include/libr/sflib/linux-arm-64/sflib.h
|
|
|
|
include/libr/sflib/linux-arm-64/sfsyscall.h
|
|
|
|
include/libr/sflib/linux-arm-64/sfsysnr.h
|
2015-02-27 13:11:20 +01:00
|
|
|
include/libr/sflib/linux-x86-32/sflib.h
|
|
|
|
include/libr/sflib/linux-x86-32/sfsyscall.h
|
|
|
|
include/libr/sflib/linux-x86-32/sfsysnr.h
|
|
|
|
include/libr/sflib/linux-x86-64/sflib.h
|
|
|
|
include/libr/sflib/linux-x86-64/sfsyscall.h
|
|
|
|
include/libr/sflib/linux-x86-64/sfsysnr.h
|
|
|
|
lib/libr_anal.so
|
|
|
|
lib/libr_anal.so.${PKGVERSION}
|
|
|
|
lib/libr_asm.so
|
|
|
|
lib/libr_asm.so.${PKGVERSION}
|
|
|
|
lib/libr_bin.so
|
|
|
|
lib/libr_bin.so.${PKGVERSION}
|
|
|
|
lib/libr_bp.so
|
|
|
|
lib/libr_bp.so.${PKGVERSION}
|
|
|
|
lib/libr_config.so
|
|
|
|
lib/libr_config.so.${PKGVERSION}
|
|
|
|
lib/libr_cons.so
|
|
|
|
lib/libr_cons.so.${PKGVERSION}
|
|
|
|
lib/libr_core.so
|
|
|
|
lib/libr_core.so.${PKGVERSION}
|
|
|
|
lib/libr_crypto.so
|
|
|
|
lib/libr_crypto.so.${PKGVERSION}
|
|
|
|
lib/libr_debug.so
|
|
|
|
lib/libr_debug.so.${PKGVERSION}
|
|
|
|
lib/libr_egg.so
|
|
|
|
lib/libr_egg.so.${PKGVERSION}
|
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
2018-02-18 18:36:58 +01:00
|
|
|
lib/libr_flag.so
|
|
|
|
lib/libr_flag.so.${PKGVERSION}
|
2015-02-27 13:11:20 +01:00
|
|
|
lib/libr_fs.so
|
|
|
|
lib/libr_fs.so.${PKGVERSION}
|
|
|
|
lib/libr_hash.so
|
|
|
|
lib/libr_hash.so.${PKGVERSION}
|
|
|
|
lib/libr_io.so
|
|
|
|
lib/libr_io.so.${PKGVERSION}
|
|
|
|
lib/libr_lang.so
|
|
|
|
lib/libr_lang.so.${PKGVERSION}
|
|
|
|
lib/libr_magic.so
|
|
|
|
lib/libr_magic.so.${PKGVERSION}
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
lib/libr_main.so
|
|
|
|
lib/libr_main.so.${PKGVERSION}
|
2015-02-27 13:11:20 +01:00
|
|
|
lib/libr_parse.so
|
|
|
|
lib/libr_parse.so.${PKGVERSION}
|
|
|
|
lib/libr_reg.so
|
|
|
|
lib/libr_reg.so.${PKGVERSION}
|
|
|
|
lib/libr_search.so
|
|
|
|
lib/libr_search.so.${PKGVERSION}
|
2018-09-08 17:14:56 +02:00
|
|
|
lib/libr_shlr.a
|
2015-02-27 13:11:20 +01:00
|
|
|
lib/libr_socket.so
|
|
|
|
lib/libr_socket.so.${PKGVERSION}
|
|
|
|
lib/libr_syscall.so
|
|
|
|
lib/libr_syscall.so.${PKGVERSION}
|
|
|
|
lib/libr_util.so
|
|
|
|
lib/libr_util.so.${PKGVERSION}
|
|
|
|
lib/pkgconfig/r_anal.pc
|
|
|
|
lib/pkgconfig/r_asm.pc
|
|
|
|
lib/pkgconfig/r_bin.pc
|
|
|
|
lib/pkgconfig/r_bp.pc
|
|
|
|
lib/pkgconfig/r_config.pc
|
|
|
|
lib/pkgconfig/r_cons.pc
|
|
|
|
lib/pkgconfig/r_core.pc
|
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
2018-02-18 18:36:58 +01:00
|
|
|
lib/pkgconfig/r_crypto.pc
|
2015-02-27 13:11:20 +01:00
|
|
|
lib/pkgconfig/r_debug.pc
|
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
2018-02-18 18:36:58 +01:00
|
|
|
lib/pkgconfig/r_egg.pc
|
|
|
|
lib/pkgconfig/r_flag.pc
|
2015-02-27 13:11:20 +01:00
|
|
|
lib/pkgconfig/r_fs.pc
|
|
|
|
lib/pkgconfig/r_hash.pc
|
|
|
|
lib/pkgconfig/r_io.pc
|
|
|
|
lib/pkgconfig/r_lang.pc
|
|
|
|
lib/pkgconfig/r_magic.pc
|
|
|
|
lib/pkgconfig/r_parse.pc
|
|
|
|
lib/pkgconfig/r_reg.pc
|
|
|
|
lib/pkgconfig/r_search.pc
|
|
|
|
lib/pkgconfig/r_socket.pc
|
|
|
|
lib/pkgconfig/r_syscall.pc
|
|
|
|
lib/pkgconfig/r_util.pc
|
|
|
|
lib/radare2/last
|
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
2018-02-18 18:36:58 +01:00
|
|
|
man/man1/r2-docker.1
|
2015-02-27 13:11:20 +01:00
|
|
|
man/man1/r2.1
|
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
2018-02-18 18:36:58 +01:00
|
|
|
man/man1/r2agent.1
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
man/man1/r2pm.1
|
2015-02-27 13:11:20 +01:00
|
|
|
man/man1/rabin2.1
|
|
|
|
man/man1/radare2.1
|
|
|
|
man/man1/radiff2.1
|
|
|
|
man/man1/rafind2.1
|
|
|
|
man/man1/ragg2.1
|
|
|
|
man/man1/rahash2.1
|
|
|
|
man/man1/rarun2.1
|
|
|
|
man/man1/rasm2.1
|
|
|
|
man/man1/rax2.1
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
man/man7/esil.7
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/all68k.r2
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/android.md
|
|
|
|
share/doc/radare2/avr.md
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/doc/radare2/bash_autocompletion.sh
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/brainfuck.md
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/doc/radare2/calling-conventions.md
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/doc/radare2/capstone.md
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/doc/radare2/crosscompile
|
|
|
|
share/doc/radare2/debug-internals.md
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/debug.md
|
2015-07-03 18:05:02 +02:00
|
|
|
share/doc/radare2/dexdump.sh
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/dospart
|
|
|
|
share/doc/radare2/dwarf-line.rsc
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/emscripten.md
|
|
|
|
share/doc/radare2/esil.md
|
|
|
|
share/doc/radare2/flirt.md
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/doc/radare2/fortunes.creepy
|
2015-07-03 18:05:02 +02:00
|
|
|
share/doc/radare2/fortunes.fun
|
|
|
|
share/doc/radare2/fortunes.nsfw
|
|
|
|
share/doc/radare2/fortunes.tips
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/doc/radare2/freebsd.md
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/gdb.md
|
2019-03-26 20:29:52 +01:00
|
|
|
share/doc/radare2/gprobe.md
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/haiku.md
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/hud
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/ida.md
|
2019-03-26 20:29:52 +01:00
|
|
|
share/doc/radare2/indent-example.c
|
2015-07-03 18:05:02 +02:00
|
|
|
share/doc/radare2/intro.md
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/io-fixing.md
|
|
|
|
share/doc/radare2/io.md
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/iocache
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/doc/radare2/ios.md
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/iphone.md
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/kvast.md
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/lang-plugins
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/license.md
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/doc/radare2/macos.md
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/macros
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/maemo.md
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/objc.pl
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/oo.md
|
2019-03-26 20:29:52 +01:00
|
|
|
share/doc/radare2/openbsd.md
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/plugins.md
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/portscan.r2
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/qnx.md
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/doc/radare2/r2ascii.txt
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/rap.md
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/doc/radare2/rapatch.md
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/releases.md
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/repo
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/rgraph.md
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/doc/radare2/sdb_ordinal.md
|
|
|
|
share/doc/radare2/siol.md
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/solaris.md
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/static-plugins
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/statis.md
|
|
|
|
share/doc/radare2/strings.md
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/doc/radare2/termux.md
|
|
|
|
share/doc/radare2/uncrustify.cfg
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/vim
|
2015-07-03 18:05:02 +02:00
|
|
|
share/doc/radare2/vim2r2.js
|
2018-09-08 17:14:56 +02:00
|
|
|
share/doc/radare2/windbg.md
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/doc/radare2/windows.md
|
2015-02-27 13:11:20 +01:00
|
|
|
share/doc/radare2/yara.md
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/ayu
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/cons/basic
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/behelit
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/bold
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
share/radare2/${PKGVERSION}/cons/bright
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/cga
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/consonance
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/cutter
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/dark
|
2018-09-08 17:14:56 +02:00
|
|
|
share/radare2/${PKGVERSION}/cons/darkda
|
|
|
|
share/radare2/${PKGVERSION}/cons/defragger
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/focus
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
share/radare2/${PKGVERSION}/cons/gentoo
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/lima
|
2015-07-03 18:05:02 +02:00
|
|
|
share/radare2/${PKGVERSION}/cons/matrix
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/monokai
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/ogray
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/onedark
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/pink
|
|
|
|
share/radare2/${PKGVERSION}/cons/rasta
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/sepia
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/smyck
|
|
|
|
share/radare2/${PKGVERSION}/cons/solarized
|
|
|
|
share/radare2/${PKGVERSION}/cons/tango
|
|
|
|
share/radare2/${PKGVERSION}/cons/twilight
|
|
|
|
share/radare2/${PKGVERSION}/cons/white
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/white2
|
2015-07-03 18:05:02 +02:00
|
|
|
share/radare2/${PKGVERSION}/cons/xvilka
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/cons/zenburn
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-arm-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-arm-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-avr-8.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-m68k-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-mips-32.sdb
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-mips-64.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-powerpc-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-powerpc-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-riscv-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-sparc-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-x86-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-x86-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/cc-xtensa-32.sdb
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/fcnsign/spec.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-16.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-64.sdb
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-android.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-arm-ios-16.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-arm-ios-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-arm-ios-64.sdb
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-darwin.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-linux.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-windows.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-x86-macos-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-x86-windows-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types-x86-windows-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/fcnsign/types.sdb
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/flag/tags.r2
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dex
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/aclui.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/activeds.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/atl.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/borlndmm.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/browseui.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/cabinet.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/comctl32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/csmfpapi.sdb
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/csmtpapi.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/csncdapi.sdb
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/dsound.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/gsprop32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/iertutil.sdb
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/kernel32.sdb
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/mfc100u.sdb
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/mfc120.sdb
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/mfc140u.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/mfc30.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/mfc40.sdb
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/mfc42.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/mfc42u.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/mfc71.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/mfc71u.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/mfc90u.sdb
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/msi.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/mstlsapi.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/msvbvm50.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/msvbvm60.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/odbc32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/oleaut32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/olecli32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/oledlg.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/olepro32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/olesvr32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/shdocvw.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/shell32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/shlwapi.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/spr32d70.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/urlmon.sdb
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/uxtheme.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/vb40032.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/vssapi.sdb
|
|
|
|
share/radare2/${PKGVERSION}/format/dll/winmm.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/wldap32.sdb
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/ws2_32.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/wsnmp32.sdb
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/dll/wsock32.sdb
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/elf32
|
|
|
|
share/radare2/${PKGVERSION}/format/elf64
|
|
|
|
share/radare2/${PKGVERSION}/format/elf_enums
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/macho
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/mz
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/format/pe32
|
|
|
|
share/radare2/${PKGVERSION}/format/trx
|
2018-09-08 17:14:56 +02:00
|
|
|
share/radare2/${PKGVERSION}/format/zip
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/hud/main
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/magic/apple
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/magic/archive
|
|
|
|
share/radare2/${PKGVERSION}/magic/cafebabe
|
|
|
|
share/radare2/${PKGVERSION}/magic/code
|
|
|
|
share/radare2/${PKGVERSION}/magic/compressed
|
|
|
|
share/radare2/${PKGVERSION}/magic/database
|
|
|
|
share/radare2/${PKGVERSION}/magic/elf
|
|
|
|
share/radare2/${PKGVERSION}/magic/filesystems
|
|
|
|
share/radare2/${PKGVERSION}/magic/firmware
|
|
|
|
share/radare2/${PKGVERSION}/magic/flash
|
|
|
|
share/radare2/${PKGVERSION}/magic/freebsd
|
|
|
|
share/radare2/${PKGVERSION}/magic/gimp
|
|
|
|
share/radare2/${PKGVERSION}/magic/gpg
|
|
|
|
share/radare2/${PKGVERSION}/magic/html
|
|
|
|
share/radare2/${PKGVERSION}/magic/images
|
|
|
|
share/radare2/${PKGVERSION}/magic/java
|
|
|
|
share/radare2/${PKGVERSION}/magic/jpeg
|
|
|
|
share/radare2/${PKGVERSION}/magic/linux
|
|
|
|
share/radare2/${PKGVERSION}/magic/mach
|
|
|
|
share/radare2/${PKGVERSION}/magic/mail.news
|
|
|
|
share/radare2/${PKGVERSION}/magic/microsoft
|
|
|
|
share/radare2/${PKGVERSION}/magic/mime
|
|
|
|
share/radare2/${PKGVERSION}/magic/netbsd
|
|
|
|
share/radare2/${PKGVERSION}/magic/network
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/magic/openbsd
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/magic/pdf
|
|
|
|
share/radare2/${PKGVERSION}/magic/perl
|
|
|
|
share/radare2/${PKGVERSION}/magic/python
|
|
|
|
share/radare2/${PKGVERSION}/magic/riff
|
|
|
|
share/radare2/${PKGVERSION}/magic/sniffer
|
|
|
|
share/radare2/${PKGVERSION}/magic/sql
|
|
|
|
share/radare2/${PKGVERSION}/magic/ssh
|
|
|
|
share/radare2/${PKGVERSION}/magic/uuencode
|
|
|
|
share/radare2/${PKGVERSION}/magic/video
|
|
|
|
share/radare2/${PKGVERSION}/magic/vim
|
|
|
|
share/radare2/${PKGVERSION}/magic/vorbis
|
|
|
|
share/radare2/${PKGVERSION}/magic/zfs
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/6502.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/8051.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/LH5801.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/arc.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/arm.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/avr.sdb
|
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’s 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|32—there 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’s 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’s 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⧸iter_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)
2019-08-04 16:30:13 +02:00
|
|
|
share/radare2/${PKGVERSION}/opcodes/chip8.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/opcodes/dalvik.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/i4004.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/i8080.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/java.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/lm32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/m68k.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/malbolge.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/mips.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/msp430.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/pic18c.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/ppc.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/propeller.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/riscv.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/sh.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/sparc.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/sysz.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/tms320.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/v810.sdb
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/opcodes/v850.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/opcodes/x86.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/xtensa.sdb
|
|
|
|
share/radare2/${PKGVERSION}/opcodes/z80.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/darwin-arm-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/darwin-arm-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/darwin-x86-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/darwin-x86-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/dos-x86-16.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/freebsd-x86-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/ios-arm-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/ios-arm-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/ios-x86-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/linux-arm-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/linux-arm-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/linux-mips-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/linux-sparc-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/linux-x86-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/linux-x86-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/netbsd-x86-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/openbsd-x86-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/openbsd-x86-64.sdb
|
2019-03-26 20:29:52 +01:00
|
|
|
share/radare2/${PKGVERSION}/syscall/s110-arm-16.sdb
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/syscall/windows-x86-32.sdb
|
|
|
|
share/radare2/${PKGVERSION}/syscall/windows-x86-64.sdb
|
|
|
|
share/radare2/${PKGVERSION}/www/console.html
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/d3/d3.js
|
|
|
|
share/radare2/${PKGVERSION}/www/d3/d3.layout.js
|
|
|
|
share/radare2/${PKGVERSION}/www/d3/index.html
|
|
|
|
share/radare2/${PKGVERSION}/www/d3/packages.js
|
|
|
|
share/radare2/${PKGVERSION}/www/d3/style.css
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/www/enyo/disassembler_old.js
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/enyo.css
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/enyo/lib/onyx/images/gradient-invert.png
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/enyo/lib/onyx/images/gradient.png
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/enyo_app.js
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/gradient-invert.png
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/gradient.png
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/enyo/icon.png
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/index.html
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/www/enyo/r2app.js
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/r2core.css
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/r2core.js
|
2015-07-03 18:05:02 +02:00
|
|
|
share/radare2/${PKGVERSION}/www/enyo/rlogo-tr.png
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/www/enyo/stylesheet.css
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/vendors/backbone-min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/vendors/joint.layout.DirectedGraph.js
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/vendors/joint.min.css
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/vendors/joint.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/vendors/jquery-ui.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/vendors/jquery.layout-latest.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/vendors/jquery.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/vendors/jquery.scrollTo.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/enyo/vendors/lodash.min.js
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/f/index.html
|
|
|
|
share/radare2/${PKGVERSION}/www/f/r2.js
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/favicon.ico
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/img/arrow.gif
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/img/arrow_d.gif
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/img/arrow_l.gif
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/img/arrow_r.gif
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/img/arrow_u.gif
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/index.html
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/index.js
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/js-graph-it.css
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/js-graph-it.js
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/make.sh
|
|
|
|
share/radare2/${PKGVERSION}/www/graph/sf-homepage.css
|
|
|
|
share/radare2/${PKGVERSION}/www/index.html
|
2015-07-03 18:05:02 +02:00
|
|
|
share/radare2/${PKGVERSION}/www/index.old.html
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/log.html
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/m/app.js
|
|
|
|
share/radare2/${PKGVERSION}/www/m/disasmNavProvider.js
|
|
|
|
share/radare2/${PKGVERSION}/www/m/disasmProvider.js
|
|
|
|
share/radare2/${PKGVERSION}/www/m/hexchunkProvider.js
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/www/m/images/icon.png
|
|
|
|
share/radare2/${PKGVERSION}/www/m/images/rlogo256.png
|
|
|
|
share/radare2/${PKGVERSION}/www/m/images/user.jpg
|
|
|
|
share/radare2/${PKGVERSION}/www/m/index.html
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/m/legacy.js
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/www/m/r2.js
|
|
|
|
share/radare2/${PKGVERSION}/www/m/stylesheet.css
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/FileSaver.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/dialog-polyfill.css
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/dialog-polyfill.js
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/fonts/MaterialIcons-Regular.woff
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/fonts/Roboto-italic-400.woff
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/fonts/Roboto-italic-700.woff
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/fonts/Roboto-normal-100.woff
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/fonts/Roboto-normal-300.woff
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/fonts/Roboto-normal-400.woff
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/fonts/Roboto-normal-500.woff
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/fonts/Roboto-normal-700.woff
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/fonts/Roboto-normal-900.woff
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/fonts/fonts.css
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/images/sort_asc.png
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/images/sort_asc_disabled.png
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/images/sort_both.png
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/images/sort_desc.png
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/images/sort_desc_disabled.png
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/jquery.dataTables.min.css
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/jquery.dataTables.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/jquery.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/material-design-icons.css
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/material.min.css
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/material.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/mdl-selectfield.min.css
|
|
|
|
share/radare2/${PKGVERSION}/www/m/vendors/mdl-selectfield.min.js
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/old/index.html
|
|
|
|
share/radare2/${PKGVERSION}/www/old/rlogo2.png
|
|
|
|
share/radare2/${PKGVERSION}/www/old/script.js
|
|
|
|
share/radare2/${PKGVERSION}/www/old/style.css
|
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
2018-02-18 18:36:58 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/p/dependencies.css
|
|
|
|
share/radare2/${PKGVERSION}/www/p/dependencies.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/index.html
|
|
|
|
share/radare2/${PKGVERSION}/www/p/main.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/panels.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/r2core.css
|
|
|
|
share/radare2/${PKGVERSION}/www/p/r2core.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/rlogo-inv.png
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/backbone-min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/dagre.core.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/graphlib.core.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/joint.layout.DirectedGraph.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/joint.layout.DirectedGraph.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/joint.min.css
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/joint.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/jquery-ui.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/jquery.layout-latest.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/jquery.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/jquery.onoff.css
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/jquery.onoff.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/jquery.scrollTo.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/jquery.ui-contextmenu.min.js
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/layout-default-latest.css
|
|
|
|
share/radare2/${PKGVERSION}/www/p/vendors/lodash.min.js
|
2015-07-03 18:05:02 +02:00
|
|
|
share/radare2/${PKGVERSION}/www/r2.svg
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/rlogo.png
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/www/t/app.js
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/t/index.html
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/${PKGVERSION}/www/t/rlogo.png
|
|
|
|
share/radare2/${PKGVERSION}/www/t/stylesheet.css
|
2015-02-27 13:11:20 +01:00
|
|
|
share/radare2/${PKGVERSION}/www/upload.html
|
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’s 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’s 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 you’re 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’s 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’s 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 you’re crazy, games, for gameboy, with radare2.
We also improved AVR support, with analysis (radare2 analysis is generic, so it’s 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’s the BCL plugin in r2pm. You don’t 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’s-almost-a-PE because apparently, it’s 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’s 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’t 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’t have to mainwe only have to implement a few commands per languages You don’t have to read radare2’s source code if you don’t 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! We’re 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, we’re 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, ‘aef’ to 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’s 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’s 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.
2016-06-13 14:26:11 +02:00
|
|
|
share/radare2/last
|