Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:redwil:devel:tools
radare2
radare2.changes
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File radare2.changes of Package radare2
------------------------------------------------------------------- Wed Oct 18 10:53:22 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org> - Update to version 5.8.8: For details, check full release notes" https://github.com/radareorg/radare2/releases/tag/5.8.8 ------------------------------------------------------------------- Wed May 17 08:46:53 UTC 2023 - Alexander Bergmann <abergmann@suse.com> - Update to 5.8.6 For details, check full release notes: https://github.com/radareorg/radare2/releases/tag/5.8.6 - This fixes CVE-2023-1605 (boo#1209686). ------------------------------------------------------------------- Tue Nov 15 14:20:52 UTC 2022 - Dominique Leuenberger <dimstar@opensuse.org> - Update to version 5.7.8 (boo#1201820, CVE-2022-34502): + Heap buffer overflow via the function consume_encoded_name_new + Significant number of changes and bug fixes since 5.7.0 ------------------------------------------------------------------- Thu Jun 9 01:49:36 UTC 2022 - Timothy Brown <stimut@gmail.com> - Update to 5.7.0 * Significant number of changes and bug fixes * Resolves 38 CVEs - CVE-2022-0139 - https://bugzilla.opensuse.org/show_bug.cgi?id=1195713 - CVE-2022-0173 - CVE-2022-0419 - https://bugzilla.opensuse.org/show_bug.cgi?id=1195444 - CVE-2022-0476 - https://bugzilla.opensuse.org/show_bug.cgi?id=1196414 - CVE-2022-0518 - https://bugzilla.opensuse.org/show_bug.cgi?id=1195746 - CVE-2022-0519 - https://bugzilla.opensuse.org/show_bug.cgi?id=1195761 - CVE-2022-0520 - https://bugzilla.opensuse.org/show_bug.cgi?id=1195741 - CVE-2022-0521 - https://bugzilla.opensuse.org/show_bug.cgi?id=1195760 - CVE-2022-0522 - https://bugzilla.opensuse.org/show_bug.cgi?id=1195742 - CVE-2022-0523 - https://bugzilla.opensuse.org/show_bug.cgi?id=1195720 - CVE-2022-0559 - https://bugzilla.opensuse.org/show_bug.cgi?id=1196052 - CVE-2022-0676 - https://bugzilla.opensuse.org/show_bug.cgi?id=1196345 - CVE-2022-0695 - https://bugzilla.opensuse.org/show_bug.cgi?id=1196484 - CVE-2022-0712 - https://bugzilla.opensuse.org/show_bug.cgi?id=1196320 - CVE-2022-0713 - https://bugzilla.opensuse.org/show_bug.cgi?id=1196319 - CVE-2022-0849 - https://bugzilla.opensuse.org/show_bug.cgi?id=1196819 - CVE-2022-1031 - https://bugzilla.opensuse.org/show_bug.cgi?id=1197420 - CVE-2022-1052 - https://bugzilla.opensuse.org/show_bug.cgi?id=1197509 - CVE-2022-1061 - https://bugzilla.opensuse.org/show_bug.cgi?id=1197508 - CVE-2022-1207 - https://bugzilla.opensuse.org/show_bug.cgi?id=1197991 - CVE-2022-1237 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198185 - CVE-2022-1238 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198186 - CVE-2022-1240 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198187 - CVE-2022-1244 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198132 - CVE-2022-1283 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198291 - CVE-2022-1284 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198292 - CVE-2022-1296 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198375 - CVE-2022-1297 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198376 - CVE-2022-1382 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198592 - CVE-2022-1383 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198593 - CVE-2022-1437 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198804 - CVE-2022-1444 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198805 - CVE-2022-1451 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198807 - CVE-2022-1452 - https://bugzilla.opensuse.org/show_bug.cgi?id=1198808 - CVE-2022-1649 - https://bugzilla.opensuse.org/show_bug.cgi?id=1199418 - CVE-2022-1714 - https://bugzilla.opensuse.org/show_bug.cgi?id=1199555 - CVE-2022-1809 - https://bugzilla.opensuse.org/show_bug.cgi?id=1199806 - CVE-2022-1899 - https://bugzilla.opensuse.org/show_bug.cgi?id=1199972 - Remove unneeded libewf dependency ------------------------------------------------------------------- Tue Feb 1 09:04:08 UTC 2022 - Paolo Stivanin <info@paolostivanin.com> - Update to 5.5.4: * New IOBanks APis and commands replacing skyline and making io faster (2-10x) * Faster analysis, type matching, binary parsing (2-4x) * [] and =[] esil operations has been removed (size is mandatory) * Lots of important bugs fixed in bin parsers and disassemblers * Add support for the latest iOS15 dyld4 Atlas-style cache formats * Autorename signature matching collisions and faster search * Add assembler for riscv and disassemblers for PDP11, Alpha64 and armv7.v35 * Improved integration with r2frida remote filesystems * Cleaning debugger for windows (32 and 64) and macOS makes it more reliable and stable * Add seven segment printing (?ea for ascii-art text titles) * Improved xrefs visualization with new axfm and axtm commands * Add avg command to manage global variables * The sixref plugin is now easier to use to find xrefs on arm64 code * Improved multibin (select all bins or one) and multidex support in apk:// * Better build scripts for Windows (add asan and w32 profiles) * Added armv7.v35 and improves esil emulation with the arm64.v35 * Add more help messages and set scr.prompt.tabhelp true by default * AES key wrap algorithm support in rahash2 * Fix var serialization issues in debugger reloading (ood) and projects saving (Ps) * Add Amiga and MSX rom/bin parser plugin and test @romerojoseant @trufae * Visual slides (r2s) allow interactive content to be used within r2 * Print and convert ternary values back and forth * Add the vector35 arm64 for analysis, esil and disasm and r2 can be built without capstone * Improved integration to use r2ghidra analysis and disassemble mainly tested for avr, v850 and arm64 * Fix emulation of several x86 and arm64 instructions, including an scripted way to import official arm64 instruction descriptions * Bring back the cmd.pin to instrument the esil emulation when a specific address is hit * Small steps towards Projects with improved management for version control * Improved visual and panels with better interactions and fixed glitches - Remove CVE-2021-3673.patch ------------------------------------------------------------------- Tue Aug 3 22:29:17 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de> - Add CVE-2021-3673.patch, fixing CVE-2021-3673 (boo#1189009): resource exhaustion and DoS ------------------------------------------------------------------- Sat Jul 10 12:52:55 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de> - Update to 5.3.1 * Fix CVE-2021-32613: Double free vulnerability in the pyc parse via a crafted file which can lead to DoS. * Fix assembling invalid arm64 instructions dont result in invalid representations * Add http.basepath to support sub directory handling for proxying purposes * Support instruction descriptions when using the r2ghidra disassembler plugin * Fix issues and enable the garbage collector when running @vlang scripts * Fix arm16 ldr post indexing esil expression * Fix r2pipe regression caused by a change in RCons buffering when chaining multpile commands * Support user defined REgg plugins * Full changes: https://github.com/radareorg/radare2/releases/tag/5.3.0 ------------------------------------------------------------------- Fri Jun 4 11:03:28 UTC 2021 - Stefan Brüns <stefan.bruens@rwth-aachen.de> - Install "r2p" multicall symlink as r2pipe, r2p conflicts with polylib. ------------------------------------------------------------------- Sun May 30 13:42:54 UTC 2021 - Stefan Brüns <stefan.bruens@rwth-aachen.de> - Update to 5.2.1 * See https://github.com/radareorg/radare2/releases/tag/5.2.1 - Packaging changes: * Use license tag for COPYING/COPYING.LESSER * Use SPDX 3.0 format for License * Use system libzip/xxhash/libuv * Move plugin directory from devel to main package * Remove broken and no longer relevant rpmlintrc * Various small cleanups ------------------------------------------------------------------- Mon Jan 11 15:03:37 UTC 2021 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to 5.0.0 * See https://github.com/radareorg/radare2/releases/tag/5.0.0 ------------------------------------------------------------------- Wed Aug 12 13:23:38 UTC 2020 - Robert Frohl <rfrohl@suse.com> - Update to 4.5.0 * Analysis - Initial API for base type kinds (enum, struct, union) - Rename PowerPC to PPC - Improve RISC-V analysis for compressed instructions - Add endbr64 as a function prelude for x86-64 binaries - Improve BP vars/args detection - Detect register args used only by callee - Match args name/types from function definition - Improve itanium RTTI parsing and vtable search - Refactor Variables out of SDB - Implement basic concept of signature bestmatch * asm - Add support for WebAssembly SIMD extension - Boolify r_asm_is_valid and r_asm_set_syntax API - x86_64/x86_32: Implement assembler endbr32 and endbr64 instructions - x86_64: Support mov r64, 0xffffffffffffffff - x86_64: Fix mov r32, -imm32 encoding - Move inferior GNU Hexagon plugin to extras - For a complete list of changes see: https://github.com/radareorg/radare2/releases/tag/4.5.0 https://github.com/radareorg/radare2/releases/tag/4.4.0 ------------------------------------------------------------------- Mon Mar 30 07:03:07 UTC 2020 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to 4.3.1 Fix segfault in om= command Fix dead process issue with ood/doo command Fix build with ancient capstone3 Fix build with pre-c99 compilers Some more code cleanups + refactorings Changes for 4.3.0 anal Rename the Function Flag on afn (#16078) Fix 'af' missing lines bug when analyzing in frida://0 Implement function names with dots in signatures Remove more members from RAnalBlock Remove prev, jumpbb and failbb from RAnalBlock Refactor Anal Hints (#15876) Skip empty esil expressions in 'aeab' to fix partial results issue Add 'aba' command as an alias for aeab Fix aeab and add V (values) in aea outputs Implement aeab command asm Fix #13908 - x86 aoj for instruction with hidden operand Add 'wao jinf' for Dalvik Determine Gameboy hardware registers in disassembly (#15909) bin Add new BIND_OPCODE_THREADED constant for MACHO binaries (arm64e) Add Windows Crash Dump format support (#16087) Minor Fixes and Tests for NSO/NRO (#16053) Fix iS hash outputs (#16044) Add Authentihash support for PE (#15987) Fix ELF symbols for names just before the end of strtab Parse dyldcache local symbols Fix some out of bound accesses in LE (#15943) Fix #14325 - Honor segments in DEX files (#15920) Many FLIRT handling fixes build Fix debugger build on Linux/s390x 'sign' as an alias for ios-sign and macos-sign Build debian package in CI cons Fix again the EOL bgcolor issue (and improve scr.html) (#16120) Implement ecHj to list highlight rules in json format Fix r_table_tostring for string with ansi escape code (#16069) Fix #16063 - bgcolor not reset on newlines Fix ecH- deleting ecHi and deleting meta highlight items Fix #15359 - Enable key.f# keys to be used in the shell Improve the gentoo theme core tree-sitter: support iter commands (#16111) Initial implementation of the 'rb' command to rebase all the things Use state struct and start handling cmd_substition_arg in tree-sitter (#15966) debug Use RTable API in r_core_debug_rr (#16066) Fix show register value in column (#16010) Add 'dbH' to set hardware breakpoints (#15933) disasm Improve ecH (ecH-* dels them all, ecH- doesnt segfault, ecH list) esil If esil.addr.stack is mapped find an available one When esil.stack.addr is -1 set it to the next unallocated address Code cleanup for r_core_esil_step() (#16017) graph Add graph.aeab to show esil stats instead of disasm json Fix #15851 /wj without arg produce '\n' (#15885) panels Fix a bug on clicking in panels (on Mac and Linux) projects Preserve "functions" flagspace when saving projects (#16057) refactor Revert "Avoidify the RUtil.strTrim() APIs, rename trimHeadTail() and add asserts in RConfig Avoidify the RUtil.strTrim() APIs, rename trimHeadTail() and add asserts in RConfig Fix consecutive call to r_table_sort (#16049) Kill all globals in rabin2.c Remove globals from main.r2 Remove globals from rax2 Revert "Avoidify the RUtil.strTrim() APIs, rename trimHeadTail() and add asserts in RConfig" test Add tests for RList (set, get, reverse, clone, append, prepend) and remove legacy Add initial sparc regression tests Handle ^C in r2r.v and support threads in fuzz tests r2r.v: Assume BROKEN=1 if not 0 or "" (#15936) Add Unit Tests to Meson (#15926) types Fix tccj, tccl, tcc* output errors and add tests (#15931) util Avoidify the strTrim() APIs + cleanup/refactor Memory leak fix proposal in syscmd_join visual Fix #15963 - Handle / in Vx (visual xrefs) Changes for 4.2.0 anal Fix #15091 - Make 0 fcnsize warning more meaningful and verbose-only (#15866) Fix jumptable size #13812 (#15822) Fix afs not working without rettype Fix a null deref in fcn_recurse Remove Custom Analysis for Java (#15817) Refactor RAnal Basic Blocks and Functions (#15169) Change RAnalBlock.size to ut64 Make type matching independent of bb list order Improve the op.type text representation when unhandled modifiers are used Remove dupped basic block analysis in core (#15714) asm 'push rip' is not a valid instruction bin Improve realname support for symbols (#15702) Add test for #15727 (smd strings) (#15777) r_str_unescape: Support all izz esc seqs (#15770) Force read permissions on all load maps in ELF Initial implementation of LX/LE file plugin cons Implement ar, and dr, commands to list registers in table format Fix #14424 - Handle ~ operator in the ms shell Implement r_strbuf_slice and use it in panels to solve a glitch core Add ?V0 ?V1 ?V2 - for semver support Upgrade to acr-1.8.1 to get semver support Add pkgname in RLibStruct for r2pm on outdated plugins debug Added reverse step and continue support to gdbr Moved drC to drpC for profile comments and added drC for reg comments Added register specific comment parsing to register profiles Fix crash caused by rebasing a file without sections Set cfg.debug to true before running oodf in doof Fix multithreaded breakpoint behavior in linux Attach to new linux threads on creation Fix debugger build on linux-s390x Always unset bps after continue and step hard Add detailed location info to dpt using pc instead of path Add packed sizes to gdb vector registers and improve mapping of target description to r2 regs Fix drt not printing non 64bit/32bit registers and flags Refactor breakpoint validation (#15754) Refactor breakpoint validation Revert "Validate bp addr on rebase and restore instead of preventing creation Validate bp addr on rebase and restore instead of preventing creation Fix hardware bp restoring and fix hwbp repeating errors Add location in file to linux dpt output Fix var rebasing by saving regname info Refactoring ptrace register write for BSD Implement bsd_thread_list for FreeBSD Fix reopening of windows debug after detaching not working Fix windows breakpoint rebasing Prevent the restoration of disabled breakpoints diff Add explicit fingerprint_size to RAnalFunction Add ccdd command to diff decompiler output of two functions Add ccdd command to diff using decompiler (experimental) disasm Remove realname from strings (#15841) Show flag realname when finding a function and realname is enabled Hide flag comments when realname is shown (#15801) asm.symbol: Improve code/test a bit more (#15798) asm.symbol: Fix flag name when disasm from non-flag addr with no anal esil Add RISC-V 64 word instructions and test (#15742) Correct RISC-V division and add test (#15712) io Fix #15789: Increment offset for reads as well (#15865) json Use PJ api in the output of isj and show realname Fix issues in iCj, drlj and arlj Fix izzzj json output Fix gen json dwarf with pj api (#15755) Fix is.j iEj and iaj json validation issue in r2 -- (#15724) panels More fix for resizing issue (#15844) Performance improvements for the cursor mode Code clean-up and a little performance improvement for decompiler cache All the available decompilers outputs will be properly shown with this Make the decompiler cache work properly Add H key for cursor mode which works like the one in vim print Implemented pmj (#15864) r_debug Debug, BSD systems refactoring search Add elliptic curve private key search in /cr command (#15761) izzzj: Add izzj attributes (#15759) signatures Apply types on matching zignature data table Add f, command to list flags in table format test Fix V testsuite build with latest V from git (#15867) Convert cmd_pd* tests from <<KEYWORD to <<EOF (#15823) Support extras tests in r2r.v (#15821) r2r.v, -j 0: Allocate 1 job per test (#15807) Improve unit test execution using the new V suite and makefiles Many improvements in the V testsuite (#15722) tests r2r.v, -j 0: Allocate 1 job per test (#15807) util Fix r_list_set_n() to allow empty element (#15820) visual Limit panel tabs to 9 to avoid keybinding and click issues windows Fix reading on invalid process memory - Changes for 4.1.0 anal Improve SP based variable analysis Some more helpful messages for anal.verbose Fix first r_anal_op call after asm.bits change Improve SP based var analysis Fix ms cc wrong argument analysis Fix r_type_del() for typedefs (Fix #15337) Add base64: for afn Move the fcn preludes into RAnal and add anal.jmp.tailcall (-1,0,N) Fix typo in ios-syscalls.txt (#15436) Initial implementation of afvf - show bp-relative stackvars Insert arguments into types SDB on function analysis arch Add support for or1k (OpenRISC) disasm+analysis (#15515) asm Fix ignored asm.bits settings because of RBin overrides Fix for #15459 - Also set the first operant to the right value on a mov from pointer with offset Add ARM strd support (#15388) bin Add 64-bit iOS SEP xtr plugin Add PIE flag check in kernelcache detection bin.str.enc: Accept UTF hyphen aliases (#15492) Support UTF32-BE decoding (#15472) Recognize Unicode BOMs (#15469) Use pj in the izj and izzj commands Fix #15445 - Add support for Mach-O external relocs Add support for C64 PRG fileformat pd: Don't abort string printing on initial null if bin.str.enc != guess (#15446) Fix #14279 - Ignore entrypoint on non-executable ELFs Analyse HIOS and LOOS symbol types by default. (#15411) build Fix #15485 - Improve argument parsing in sys/{install,build} (#15486) FIx 32bit windows Rename "asan" to "sanitize" (#15412) Fix build for 32bit Linux systems Fix build of the onefied shared lib command Very simple tree sitter integration (#15414) config Pass R2_CONFIG file to ! commands and serialize methods cons Fix #14197 - Don't highlight control chars on hud filter (#15552) Include last line when greping using foo~n.. (#15524) core Fix some Race Conditions with the thready task scheduler (#15667) Make Task Scheduling Explicit (#15511) asm.cmt.off: Accept 0 & 1 as aliases for false & true respectively (#15500) Use sigaction instead of signal CPU affinity API introduction Honor cfg.editor in 'vi' instead of always using 'vi' Implement $foo:=,+=,-= and $foo to alias some flags commands Support 'f foo+=4' and 'f foo-=4' syntax for flags debug Improve debug rebasing and fix partial windows rebase Refactor debug native's wait function Fix native debug not working with files that were opened as RW Add ppid to win32 debug and 'dp''s display/json Add process selection to w32 debug Fixed a crash caused by reopening gdb Fixed not killing child processes and added detach Fixed gdbr warnings and a dpt crash after debug was over Added an event to signal the end of the debug session Fix 'oo' rebasing when leaving debug and add 'doc' to exit Silence drr warning on UT64_MAX registers Fixed an issue with detached child breakpoint inheretence Added oodf\doof to enable rebasing for remote debug Rebase Breakpoints for PIEs Added dp processes info support to gdbr Add breaking to ood in linux to avoid execvp freezing Allow debug plugins to modify pid/tid on select Fix linux_set_options error Add process selection to linux native debug Setting parent pid on pid list on BSD Show all processes for pid 0 using dp Improve linux native debug dp output Fix getting DRX breakpoint size Fixed overflow that broke remote debugger reopening Impl. list modules for WinDbg Fix WinDbg IO in page boundaries Fixed windbg concurrency and added missing locks Fixed windbg pipe timeout behavior on linux Added rebuild rules for windbg Fixed windbg continue on windows 7 64bit Allow breaking for WinDbg Update hardcoded gdbr registers for 16/32bit x86 (#15488) Added parsing support to all gdb registers Fix gdbr's reg_write and reg_next_diff for reverse stepping Reduced gdbr's tcp connect timeout and added a break Fix gdbr not closing sockets after connect failed Add break to gdbr's read_packet and move isbreaked to libgdbr Fix gdbr_write_registers and refactor gdbr_write_reg Replaced lock_check with tryenter in gdbr_read_registers Add breaking to gdbr connect to avoid waiting on invalid connections (#15442) Add experimental ymm regs support for linux-x64 and extend drm command Add Windows 8 and 8.1 WinDbg profiles Fix attaching to a pid on Windows (#15406) Fixed w32dbg breaking issues (#15386) Add support for printing xmm* as packed floats and doubles (#15378) disasm Fix hidden hint.lea for hint.pos==0 Improve switch-statements in disassembly Add refs, xrefs and esil columns to pdt Add asm.cmt.esil to show ESIL as comment doc Improve macOS installation documentation (#15438) Fix links to Doxygen documentation (#15377) gdbclient gdbclient reduces risk of use after free down the road io Uses the setitimer api instead for the alarm in self:// Automatically set the debug plugin when opening debug uris (#15403) json Add current process field to dpj network Fix r_socket_connect not using the given timeout in unix print Fix #14661 - Support parsing binary protobuf data (#15423) Add utf-8 support in r_print_rangebar (#15389) r_debug Refactor signal handling for FreeBSD search Introduce the r_magic_load_buffer() api and boolify a bit Update RSA key search to find larger keys (#15494) Search for AES 128, 192 and 256-bit keys (#15426) signatures Add auto zignspace generation for the zg command (#15402) test Implement asm, fuzz and json test runner in r2r.v util Add RIntervalTree data structure Added r_th_lock_tryenter API (#15454) Use HtPP for RStrConstPool (#15424) visual Improve the interaction with decompilers in panels Reduce the blocksize on some hexvisual modes windows Add command to identify window under cursor Fix #15456 - Fix reopening in write mode Fix hang when running dc in a task Changes for 4.0 anal Bring back the MASK_DISASM because not all nanal plugins support it yet ##anal Select default var type based on its size (#15352) Fix #15325 - Improve af- like its done in Vdu Deprecate anal.jmp.eob /refs #13482 Fix #15117 - honor asm.var.sub in ao/aoj Fix #15315 - Honor RAnalOp.disp in aar and ao Update 8051 plugin (#15321) Avoid reloading of cc sdb - huge speedup (#15306) Implement ESIL for arm64 UBFX Make RAnalFunction.cc come from RAnal String Pool Deprecate the use of anal plugins that doesnt handle mask.disasm Add jumptable support for main() in bins/elf/analysis/ls-alxchk (#15266) Add jumptable support for main() in bins/elf/ls.odd (#15233) add afoj and afdj (#15254) Fix #15235 - push [mem] not handled in /r Add initial reg profile for sysz arch Don't propagate noret to fcn if fcn jmps outside itself (#15190) Fix #15004: Make meta.min rbtree more robust (#15141) Fix memleak in r_core_anal_propagate_noreturn() Minor speedup/cleanup/refactor of the RAnal Implement ESIL control-flow-graph and further dfg analysis Add anal.delay to disable delay slot analysis for testing Fix pc-rel movs in sh's esil Delay execution debug messages are now available via anal.verbose Fix #15073: Disambiguate using fcn addr also in meta.min rbtree (#15077) api Add r_strbuf_copy API (#15186) asm Fix post-indexed memory access for str instructions on ARM (#15298) Fix #15302 [rasm2/armass] Correctly propagate errors from thumb_assemble (#15303) Add additional [indirect] access syntax for 8051 (#15272) Fix #10651 sub sp, sp, 0x1000 not correctly assembled for ARM (#15187) Fix #15198 (#15199) arm64 assembler const value Add 8051 assembler plugin (#15189) Z80's LD opcodes assembly (#15185) Fix parsing of floating point instructions in x86_64 assembler (#15174) Fix x86 assembler output for some memory loads (#15068) bin On AArch64 there is a new special symbol $x (#15362) Fix #15152 - Support old Java attribute format (#15317) Simplify r_bin_open_io function (#15307) Support > 4GB ELF files Add support for RTable.query in i Fix #15132: Integrate table to iS,ia,ir,iz,is (RBin info) based commands (#15159) Implement support for the RISCV PLT ELF relocs Fixes for MSVC demangling (#15210) Format the .rela. sections in ELF Add NES ROM mirroring map build sys/asan.sh: Use -fsanitize=... instead of -lasan when linking (#15375) Link sdb fully into r_util in meson (#15338) Fix #15296 - *BSD builds (#15309) Fix macOS build with latest XCode Add MSVC 2019 for AppVeyor Try MSVC 2019 for AppVeyor Set rpath if non-Windows Meson shared Debian package fixes (#15081) cons Fix function key handling in visual/panels For utf-8 locale, check LC_ALL, LC_CTYPE and LANG in sequence instead (#15326) Also use LANG env var to check for UTF-8 output support (#15257) Move UTF-8 setting logic to scr.utf8 config callback on Windows (#15273) Implement 'str' operation in RTable queries core Fix #14247 - fn.j/fnj. show all flags in current offset, not just one Few compiler watning fixes here and there Fix #15114 - Implement r_sys_info() and uname Add kitty clippy replacement :3 (#15232) Add possibility to specify time zone with rax2 -t (#15180) Implement cj command using the PJ api (#15168) Add support for the V programming language Fix #15134 - Support octal numbers like 0o666 Implement function-based plugin loading method Add omt and help message for RTableQuery + add format column api Move Lib already loaded check before dlopen Call (#15075) Replace r_str_const* with RStrConstPool (#15300) Kill r_sys_get_osinfo () (#15346) ##core debug Use RTable for Windows heap info output (#15368) Add support for setting xmm registers on linux (#15365) Fixed continue not being associated with the current thread in unix Added a way to break while in dbg_wait (continue, step etc) Fixed dpk Fixed opcodes not being associated with the current thread in gdbr (#15358) Fix drm[bwdq] command, add xmm0h/l and xmm8-15 registers (#15354) Fix the way linux debugging options are set (#15323) r_reg_get_pack/r_reg_set_pack are not able to deal with 128 packbits Added support to thread switching in linux and fix r_debug_select Fixed ptrace 'Operation not permitted' errors (#15287) Fix debugger build for native GNU/Linux on RISC-V Fix incomplete drr/drrj formatting when r_core_anal_hasrefs fails (#15277) Added "dptj" and "dptj " (#15259) Enhance drm command, add drm xmm0 functionality (#15214) Fix drf output formatting Implementing debug info per pid on NetBSD Using unused map debug field on macOS Rebase fcn/bbs, flags , comments, meta, refs when ood Fix issues in windows thread switching (#15366) ##debug diff Implement radiff2 -X for hexII diffing Fix #14845: Support radare2_rc in radiff2 for graphs (#15078) disasm Better pdi output when Cd is involved Implement 'pdt' - print disasm in table, supports queries Make asm.fcnsig more compact Do not resolve the strings pointed by ADRP on arm64 Improve (change) sh4 disasm (lowercase regs...) emu anal_x86_cs fix esil expr for neg instruction (#15252) Fix #15246 - Honor the 'u' suffix in PPC instructions in ESIL esil Fix #15297 - Update ESIL help message Improve registers handling in ESIL dfg Simplify ESIL code for ARM str instructions Add a parameter to $s and $o (#15171) io Setting the upper address limit for OpenBSD Improve omt and implement RTable.filterSum io_self Setting the upper address limit for OpenBSD json Show flagname and realname in json format for fnj and such Add current thread field to dptj (#15268) lang Rewrite hashbang command parser, use argc & argv in hashbang (#15188) panel Fix #14857 - Handle 'O' key to rotate asm.pseudo/asm.esil Another const pointer to be free fix Handle / highlight in panels for zoom and window modes Fix const address freeing fix #15060 - Add xrefs and xrefs here in visual Fix #14559 - Honor scr.fps panels Fix #14857 - Handle 'O' key to rotate asm.pseudo/asm.esil Handle / highlight in panels for zoom and window modes Fix const address freeing fix #15060 - Add xrefs and xrefs here in visual Fix #14559 - Honor scr.fps print Fix #15216 - Implement pcy command to print hexpairs in Yara format r2pie Implement r2pipe_open_dl() to use dlopen/dlsym rasm2 Freeing main assembly object script Fix vlang plugin to run scripts and add example search Fix #8575 - Support stdin slurping in rafind2 - Add support for hex escaped litterals in regular expressions (#15291) Fix RCALL and RJMP in aop and /at Refactor Search to use less Global State (#15076) table Add :json,:quiet,strlen,minlen,maxlen,sortlen in table queries Integrate table API for p-h (#15083) util Fix rop inline assembly form visual Run .dr* in visual prompt in cfg.debug is set Fix for VV going to V (issue 15181) (#15195) Fix #14919: truncate long function names in Vv (#14996) wasm Further wasm memory leak fixes Memory leak fixes in error code paths windows Print child output in pipe lang plugin zign Integrate types field in zignature operations (#15082) Changes for 3.9.0 anal Implement anal.norevisit using SetU instead of Sdb Fix #15013 - jump/cjmp analop for m680x Fix the infinite aac issue, reduce false positives, speedup a bit (#15015) Fix mov.l/jsr ESIL for SuperH4 (#15039) Fix nopskip (its not fixed at all. just random typing here and there) (#15024) Add anal.nonull to avoid analyzing functions if starting by zeros Fixed i4004 arch to be according to spec (#15062) Fix zero register set issue (r2wars) Implement types field for zignatures cons Fix #14611: Vi-mode indication by prompt color Add a way to print an aliased without a trailing new line (#15031) Fix clicking on frame borders to resize Remove code for no-anal asm.bb.line (#14977) core Make -m do an implicit -s Fix #14990 - multiple quoted command parsing issue Fix multiple quote cmd issue Fix #14019 - Move ta to aht, move other commands around, refactor indentation Fix #10851 - Solve slurp messages on http/sandbox/pipe Don't run ldconfig when installing into /usr (#15049) debug Fix gdb reg write byte order (#15009) Improving slighty the process status check on Darwin On Darwin, expose process path ASLR check setting fix on FreeBSD emu Hackaround to get esil stepping on delayed execution Fix arm32 stmia post-increment (#14983) (r2wars) io Support shm_open in shm:// and some code cleanup Fixing perms for Darwin Fix #15002 - Propagate write error issues into RCore.patch Print error msg if write fails (#14978) Fixing self:// perms issue on Darwin ------------------------------------------------------------------- Fri Sep 6 06:33:25 UTC 2019 - Paolo Stivanin <info@paolostivanin.com> - Update to 3.8.0 analysis Improve the aab (blaze) analysis by honoring data meta Speedup and reduce false positives in aae by honoring code/string/format Do not analyze functions in strings/data by honoring the meta Fix infinite (or expensive) loop when fcnsize=0 Honor anal.strings in aav Define argument and ret pseudo registers in the SuperH4's reg profile (#14920) Introduce anal.in=code (2x faster aar in some big binaries) Introduce afisaj and fix table contents for afisao and such Implement afis[aof] - to show instruction type, family and mnemonic tables Fix as command to resolve syscall by name, number and SN reg Fixing ESIL for ARM architecture pre-indexed addressing mode with LDRB (issue #14850) (#14901) Add more info in aflt and add afltj Initial implementation of aflt (using the new RTable API) Hide the shift overflow warnings under esil.verbose Fix ownership issues related to cc Add calling conventions for ARM32 and Thumb Unify the use of R_ANAL_CC_MAXARG Propagate noreturn information (#14793) bin Fix code injection issues i* commands (rabin2 -r) Fix #14930 - handle LC_DATA_IN_CODE in macho Fix strings on ELF bins for SH-4 with the Renesas SDK Support deep JSON format for binary headers in iHj Fix Cf with named formats when .iH* is used Fix #14898 - Show warning when -B used on unknown binaries build Shrink the Cydia package from 512mb to only 64 core Add single quote as alias for =! and \ Support 0X as an alias for 0x in numbers debug Fix crash in gdb client (#14897) Notify user on hardware breakpoint hit diff AGraph integration with radiff2 disasm Fix #14716 - Honor local flags in RParse Implement asm.hint.emu and improve Vr reftype selection Do not try to resolve strings pointed by adrp instructions on arm64 Honor asm.instr in pdi Hide brackets for LEA even if operand is section flag Add support for the amd29k architecture pix and pdx are now aliases for pad doc Remove help for hud in ?? graph Fix #14859: Enter used to update seek in visual call/ref graphs (#14906) io Fix a couple of bugs in wo* and implment wo8 Add support for io-plugin initialization via null system command =! (#14915) Simplification of the io_self plugin for macOS/iOS Consider endiannes when performing block write operations panel Few memory leaks fixes Fix #14891 - Seek in panels after coming back from console Fix #14883 - use[] to realign comments in disasm O in visual is supported in panels with the "i" key Added some asm settings and classified it panels Fix #14891 - Seek in panels after coming back from console Fix #14883 - use[] to realign comments in disasm O in visual is supported in panels with the "i" key Added some asm settings and classified it print Implement pv* to completely fix #14165 Fix #14165 - Implement pVj and fix pvj with argument Fix #14936 - Add po[..] set of commands Implement 'cols' RTable.query to filter by column names Use block character for p= and p== graphs (#14941) r2pipe Initial support for r2pipe.html rop Add ROP chain execution support in ragg2 search Let search.align override arch.align if set, improves aav in SH Bring back /ai and fix regression for SUB.val Skip gadgets starting with a nop in /R Fix #14755 - read-only raw search Fix #14202 - Add support to '\d', '\w', etc. in regex util Initial implementation of the RTable API with filter, sorting and query APIs visual Fixes #14914: Mouse wheel for hud (#14940) Improve mouse in visual (hud instead of goto and ignore cursor toggle windows Fix #14816 - Properly get lib path Other Changes add nf flag in ESIL generated for ARM thumb (#14954) Fix regression in wo2/4/8 Fix divbyzero and garbage variable found by clang-analyzer Fix memleak in r_strbuf_prepend Fix logic in 2-byte endian swap used by "wo2" (#14951) Display operand of EBC push/pop instructions (#14949) ARM: fix order of registers in push/pop with reglist fixing esil =[*] (poke multiple regs/values) Fix out-of-loop issue in aae macOs/Notes 6.8s -> 6.4s macOS/r_core 4.3s -> 3.8s Still wip. only works as a hint when using -e bin.verbose=true Improve r_core_anal_hasrefs_to_depth (#14863) Fix Win32 build patch from @sanguinawer (#14945) Fix uninitialized variable issue related to the mouse state Fix regressions Fix #14380 - Fix demangling symbols containing the '?' char with iD Fix #14889 - Implement ! and c keys in visual help Improve vq and v!!! workflows Break early in Cf format name failure Fix #14939: Replace assertions about missing RReg profile registers with warnings (#14943) fix help message of ? (#14944) Fix #14935 - Kill harmless warning Fix assert in aea for r2wars Show backtrace when assert happens Fix crash in aea* when code is ffff Fix #14771 - Modified pdx/pix to disassemble hexpairs (blocksize-independent) (#14892) Add frame pointer to AVR register profile (#14938) Enable mouse only if it was prev enabled and based on scr.wheel (#14925) Fixes #14911: Use theme colors for p= and p== (#14934) Add fortune 1 != 0 Massage two more assertions Fix early assert for IO Disable Travis IRC notifications Too much noise at IRC. Blindfix more null derefs in reg.value Fix another null arena deref Assertify io.fd api Fix aea for instructions referencing PC Boolify the reg api a bit more Fix null deref in reg arena Blindfix for empty reg arenas Add Predicate for Task Dispatch Fix assertion when emulating invalid instructions and revert pcalign4 for sh Update help message for Vd Fix #14928 - vr to be in sync with Vr Fix assert regression before it triggers Minor cleanup and visitor cache proposal test for RAnal.fcn() Fix #14821 - crash in td r_str_split_list() rewritten to support nth limit r2 -qq -c 'aac;aflt size/gt/200,addr/cols/name/nbbs,nbbs/sort/inc' /bin/ls Fix off-by-one in RCore.lines.initCache(); Set asm.hint.emu=false by default Fix build Add r2con2019 svg logo $ r2 -i doc/r2pipe.html /bin/ls Syncing with r2hexagon (#14918) the reference of emulation are displayed one instruction after. which is bad Fix build Fix Windows build (#14916) afisa uses rtable, as well as afist@@@f Useful for r2frida to automatically run .=!i* This makes reading iOS apps much simpler by removing lot of false positive strings Fixes #14900: Disable color for dot mode (#14908) Better directory structure for the panels config file (#14903) Fixes #14896: Enable and disable mouse based on requirement in visual/panels (#14909) v!! = V!! - use ! to toggle between visual and panels Fix hexdump height issue in panels Reset mouse settings after leaving the hud Fixes #14900: xdot type commands functional now (#14902) Fixes #14900: xdot type commands functional now Remove recursive handle_stop_reason call Revert "Fixed the bug that I had fixed before (#14788)" This reverts commit 9e27142. This change was breaking panels in Mac Fix MSVC build Add afltj and some more fixes and improvements related to RTable Accepts a query as argument Fix a segfault in RStrBuf.prepend Add lsls and ldrh thumb asm.describes Add missing include install for meson Improve disasm char hints Fix some warnings from gcc Make cmd_depth task-local (#14888) Add neg pseudo instruction to arm assembler (#14890) Freed some vars (#14885) Fixes #14845: Use unicode settings in radiff2 (#14884) Fixes #14845: Use unicode settings in radiff2 Fixed indent Tame vayour Fixes #14534: Ignore non-printable and non json chars (#14876) Fix #14878 - Fix unaligned field access Add afos command and minor cleanup for afo Fix null derefs in afv subcommands when no function is found Fix afvn outside of Function (#14882) Fixes #14856: Changing visual seek behaviour in Vv (#14877) Fix #12438 - Fixes for PDB (#14874) Fix use after free when autoloading pdb Use heap on td command Fix #12438 - Fix wrong 2 byte read for char value Fix crash on r_line_readchar_win (#14875) Merge pull request #14868 from kazarmy/x86-cmp-disp-for-disp Use op->disp instead of op->ptr for disp of x86 CMP (and ACMP) Drop not needed wrapper Fix non-unicode Windows build virtual keys not working Fix arrows in vi mode on Windows Merge Windows and Unix dietline implementation Simulate escape sequences in r_line_readchar_win Fix some bugs on Windows Some refactoring Fix #14854 - Fix glitch in asm.hint.pos=0 Use LTO for the Cydia build Fix segfault in r_main_free Add the syscall number regname for hexagon arch Fix #14870 - Fix crash in type propagation when no cc defined Instead, recursively going through the regions while focusing on main addresses and grabbing pages states informations. Fixes for the cydia static build of r2, needed for iOS12 add missing =SN for the SH analysis plugin Fix for meson Fix hexagon jumps second try (#14867) Synchronized files with radareorg/r2hexagon Fix warning, assertions and regressions in arg type handling Add missing cc-x86-16 Fix anal.depth and remove arm16 dim Code cleanup Update capstone again (#14862) Fix #14861 - Reset cursor after leaving panel's prompt ':' Fixed the bug that I had fixed before (#14788) Use op->disp instead of op->ptr for disp of x86 MOV (and others) (#14829) Use op->disp instead of op->ptr for disp of x86 MOV (and others) Fix for jumptable MOV Fix for [] operands Fix another Appveyor hang (#14844) Fix coredump PC not being considered (again) (#14836) Use r_sandbox_fopen instead of fopen (#14832) Revert multiple layout saving regression in panels (#14792) Some little refactoring in panels (#14798) Fix #14522: Added g support for Vv mode (#14823) Add a small menu tick for visibility when scr.color is 0 in panels (#14801) Avoid disassembling the same instruction twice on rop search (#14815) Avoid disasm the same instr. twice on rop search Fixes for comments fix double free Fixes #14267: Does not print the function name for agft (#14819) Fixes #14672: f= gives output from current flagspace (#14820) Add @sghctoma pf definition for BIOS and NTFS Add *BSD SourceHut builds (#14824) Fix r_print_color_op_type param type mismatch (#14825) Specify graph.diff colors for sepia (#14817) Implement agd* based commands (#14809) ag* commands fully functional Indent and r_return usage All agd* commands functional now Graphs are pretty now Refactoring the code Fixed assertion error Fixed broken agf Always bracket indirect addr operand (except LEA) (#14802) Always bracket indirect addr operand (except LEA) Don't use RAnalOp Add clang-cl support (#14814) Fixes for path autocompletion on Windows (#14813) Fix register writing on Windows (#14805) Fix register writing on Windows Drop unecessary use of heap Fix stack-use-after-scope (#14811) Fix #14804 - Make sure anon structs have unique names (#14806) Also skip "union" to get type Fix Appveyor hang on master (#14803) Propagate noreturn information Avoid infinite loop when propagating noreturn information Avoid all recursive cases Avoid warnings use r_anal_bb_opaddr_i ------------------------------------------------------------------- Thu Sep 5 10:11:03 UTC 2019 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to 3.8.0 analysis * Improve the aab (blaze) analysis by honoring data meta * Speedup and reduce false positives in aae by honoring code/string/format * Do not analyze functions in strings/data by honoring the meta * Fix infinite (or expensive) loop when fcnsize=0 * Honor anal.strings in aav * Define argument and ret pseudo registers in the SuperH4's reg profile (#14920) * Introduce anal.in=code (2x faster aar in some big binaries) * Introduce afisaj and fix table contents for afisao and such * Implement afis[aof] - to show instruction type, family and mnemonic tables * Fix as command to resolve syscall by name, number and SN reg * Fixing ESIL for ARM architecture pre-indexed addressing mode with LDRB (issue #14850) (#14901) * Add more info in aflt and add afltj * Initial implementation of aflt (using the new RTable API) * Hide the shift overflow warnings under esil.verbose * Fix ownership issues related to cc * Add calling conventions for ARM32 and Thumb * Unify the use of R_ANAL_CC_MAXARG * Propagate noreturn information (#14793) bin * Fix code injection issues i* commands (rabin2 -r) * Fix #14930 - handle LC_DATA_IN_CODE in macho * Fix strings on ELF bins for SH-4 with the Renesas SDK * Support deep JSON format for binary headers in iHj * Fix Cf with named formats when .iH* is used * Fix #14898 - Show warning when -B used on unknown binaries build * Shrink the Cydia package from 512mb to only 64 core * Add single quote as alias for =! and \ * Support 0X as an alias for 0x in numbers debug * Fix crash in gdb client (#14897) * Notify user on hardware breakpoint hit diff * AGraph integration with radiff2 disasm * Fix #14716 - Honor local flags in RParse * Implement asm.hint.emu and improve Vr reftype selection * Do not try to resolve strings pointed by adrp instructions on arm64 * Honor asm.instr in pdi * Hide brackets for LEA even if operand is section flag * Add support for the amd29k architecture * pix and pdx are now aliases for pad doc * Remove help for hud in ?? graph * Fix #14859: Enter used to update seek in visual call/ref graphs (#14906) io * Fix a couple of bugs in wo* and implment wo8 * Add support for io-plugin initialization via null system command =! (#14915) * Simplification of the io_self plugin for macOS/iOS * Consider endiannes when performing block write operations panel * Few memory leaks fixes * Fix #14891 - Seek in panels after coming back from console * Fix #14883 - use[] to realign comments in disasm * O in visual is supported in panels with the "i" key * Added some asm settings and classified it panels * Fix #14891 - Seek in panels after coming back from console * Fix #14883 - use[] to realign comments in disasm * O in visual is supported in panels with the "i" key * Added some asm settings and classified it print * Implement pv* to completely fix #14165 * Fix #14165 - Implement pVj and fix pvj with argument * Fix #14936 - Add po[..] set of commands * Implement 'cols' RTable.query to filter by column names * Use block character for p= and p== graphs (#14941) r2pipe * Initial support for r2pipe.html rop * Add ROP chain execution support in ragg2 search * Let search.align override arch.align if set, improves aav in SH * Bring back /ai and fix regression for SUB.val * Skip gadgets starting with a nop in /R * Fix #14755 - read-only raw search * Fix #14202 - Add support to '\d', '\w', etc. in regex util * Initial implementation of the RTable API with filter, sorting and query APIs visual * Fixes #14914: Mouse wheel for hud (#14940) * Improve mouse in visual (hud instead of goto and ignore cursor toggle windows * Fix #14816 - Properly get lib path Other Changes * add nf flag in ESIL generated for ARM thumb (#14954) * Fix regression in wo2/4/8 * Fix divbyzero and garbage variable found by clang-analyzer * Fix memleak in r_strbuf_prepend * Fix logic in 2-byte endian swap used by "wo2" (#14951) * Display operand of EBC push/pop instructions (#14949) * ARM: fix order of registers in push/pop with reglist * fixing esil =[*] (poke multiple regs/values) * Fix out-of-loop issue in aae * macOs/Notes 6.8s -> 6.4s * macOS/r_core 4.3s -> 3.8s * Still wip. only works as a hint when using -e bin.verbose=true * Improve r_core_anal_hasrefs_to_depth (#14863) * Fix Win32 build patch from @sanguinawer (#14945) * Fix uninitialized variable issue related to the mouse state * Fix regressions * Fix #14380 - Fix demangling symbols containing the '?' char with iD * Fix #14889 - Implement ! and c keys in visual help * Improve vq and v!!! workflows * Break early in Cf format name failure * Fix #14939: Replace assertions about missing RReg profile registers with warnings (#14943) * fix help message of ? (#14944) * Fix #14935 - Kill harmless warning * Fix assert in aea for r2wars * Show backtrace when assert happens * Fix crash in aea* when code is ffff * Fix #14771 - Modified pdx/pix to disassemble hexpairs (blocksize-independent) (#14892) * Add frame pointer to AVR register profile (#14938) * Enable mouse only if it was prev enabled and based on scr.wheel (#14925) * Fixes #14911: Use theme colors for p= and p== (#14934) * Add fortune * 1 != 0 * Massage two more assertions * Fix early assert for IO * Disable Travis IRC notifications * Too much noise at IRC. * Blindfix more null derefs in reg.value * Fix another null arena deref * Assertify io.fd api * Fix aea for instructions referencing PC * Boolify the reg api a bit more * Fix null deref in reg arena * Blindfix for empty reg arenas * Add Predicate for Task Dispatch * Fix assertion when emulating invalid instructions and revert pcalign4 for sh * Update help message for Vd * Fix #14928 - vr to be in sync with Vr * Fix assert regression before it triggers * Minor cleanup and visitor cache proposal test for RAnal.fcn() * Fix #14821 - crash in td * r_str_split_list() rewritten to support nth limit * r2 -qq -c 'aac;aflt size/gt/200,addr/cols/name/nbbs,nbbs/sort/inc' /bin/ls * Fix off-by-one in RCore.lines.initCache(); * Set asm.hint.emu=false by default * Fix build * Add r2con2019 svg logo * $ r2 -i doc/r2pipe.html /bin/ls * Syncing with r2hexagon (#14918) * the reference of emulation are displayed one instruction after. which is bad * Fix build * Fix Windows build (#14916) * afisa uses rtable, as well as afist@@@f * Useful for r2frida to automatically run .=!i* * This makes reading iOS apps much simpler by removing lot of false positive strings * Fixes #14900: Disable color for dot mode (#14908) * Better directory structure for the panels config file (#14903) * Fixes #14896: Enable and disable mouse based on requirement in visual/panels (#14909) * v!! = V!! - use ! to toggle between visual and panels * Fix hexdump height issue in panels * Reset mouse settings after leaving the hud * Fixes #14900: xdot type commands functional now (#14902) * Fixes #14900: xdot type commands functional now * Remove recursive handle_stop_reason call * Revert "Fixed the bug that I had fixed before (#14788)" * This reverts commit 9e27142. * This change was breaking panels in Mac * Fix MSVC build * Add afltj and some more fixes and improvements related to RTable * Accepts a query as argument * Fix a segfault in RStrBuf.prepend * Add lsls and ldrh thumb asm.describes * Add missing include install for meson * Improve disasm char hints * Fix some warnings from gcc * Make cmd_depth task-local (#14888) * Add neg pseudo instruction to arm assembler (#14890) * Freed some vars (#14885) * Fixes #14845: Use unicode settings in radiff2 (#14884) * Fixes #14845: Use unicode settings in radiff2 * Fixed indent * Tame vayour * Fixes #14534: Ignore non-printable and non json chars (#14876) * Fix #14878 - Fix unaligned field access * Add afos command and minor cleanup for afo * Fix null derefs in afv subcommands when no function is found * Fix afvn outside of Function (#14882) * Fixes #14856: Changing visual seek behaviour in Vv (#14877) * Fix #12438 - Fixes for PDB (#14874) * Fix use after free when autoloading pdb * Use heap on td command * Fix #12438 - Fix wrong 2 byte read for char value * Fix crash on r_line_readchar_win (#14875) * Merge pull request #14868 from kazarmy/x86-cmp-disp-for-disp * Use op->disp instead of op->ptr for disp of x86 CMP (and ACMP) * Drop not needed wrapper * Fix non-unicode Windows build virtual keys not working * Fix arrows in vi mode on Windows * Merge Windows and Unix dietline implementation * Simulate escape sequences in r_line_readchar_win * Fix some bugs on Windows * Some refactoring * Fix #14854 - Fix glitch in asm.hint.pos=0 * Use LTO for the Cydia build * Fix segfault in r_main_free * Add the syscall number regname for hexagon arch * Fix #14870 - Fix crash in type propagation when no cc defined * Instead, recursively going through the regions while focusing * on main addresses and grabbing pages states informations. * Fixes for the cydia static build of r2, needed for iOS12 * add missing =SN for the SH analysis plugin * Fix for meson * Fix hexagon jumps second try (#14867) * Synchronized files with radareorg/r2hexagon * Fix warning, assertions and regressions in arg type handling * Add missing cc-x86-16 * Fix anal.depth and remove arm16 dim * Code cleanup * Update capstone again (#14862) * Fix #14861 - Reset cursor after leaving panel's prompt ':' * Fixed the bug that I had fixed before (#14788) * Use op->disp instead of op->ptr for disp of x86 MOV (and others) (#14829) * Use op->disp instead of op->ptr for disp of x86 MOV (and others) * Fix for jumptable MOV * Fix for [] operands * Fix another Appveyor hang (#14844) * Fix coredump PC not being considered (again) (#14836) * Use r_sandbox_fopen instead of fopen (#14832) * Revert multiple layout saving regression in panels (#14792) * Some little refactoring in panels (#14798) * Fix #14522: Added g support for Vv mode (#14823) * Add a small menu tick for visibility when scr.color is 0 in panels (#14801) * Avoid disassembling the same instruction twice on rop search (#14815) * Avoid disasm the same instr. twice on rop search * Fixes for comments * fix double free * Fixes #14267: Does not print the function name for agft (#14819) * Fixes #14672: f= gives output from current flagspace (#14820) * Add @sghctoma pf definition for BIOS and NTFS * Add *BSD SourceHut builds (#14824) * Fix r_print_color_op_type param type mismatch (#14825) * Specify graph.diff colors for sepia (#14817) * Implement agd* based commands (#14809) * ag* commands fully functional * Indent and r_return usage * All agd* commands functional now * Graphs are pretty now * Refactoring the code * Fixed assertion error * Fixed broken agf * Always bracket indirect addr operand (except LEA) (#14802) * Always bracket indirect addr operand (except LEA) * Don't use RAnalOp * Add clang-cl support (#14814) * Fixes for path autocompletion on Windows (#14813) * Fix register writing on Windows (#14805) * Fix register writing on Windows * Drop unecessary use of heap * Fix stack-use-after-scope (#14811) * Fix #14804 - Make sure anon structs have unique names (#14806) * Also skip "union" to get type * Fix Appveyor hang on master (#14803) * Propagate noreturn information * Avoid infinite loop when propagating noreturn information * Avoid all recursive cases * Avoid warnings * use r_anal_bb_opaddr_i ------------------------------------------------------------------- Wed Aug 14 11:18:02 UTC 2019 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to version 3.7.1 no changelog provided - Update to version 3.7.0 anal * Fix #13766 - Sum the meta_data_code as covered code * Add more function definitions for posix and macOS binaries * Add argument to 'afll' to select column to sort by * Print MSVC RTTI Warnings only on anal.verbose=1 * Add afj command to analyze jmptbl from the shell * Honor RAnalBlock->switch_op in afb. and afbi * Improve ARM64 PAC instructions support * Fix #14530 - Implementation of i.~{} aka RCoreItem * Added val op hints to let the user define jmptbl sizes * Fix #14501 - Jumptables are made of signed values * Reduce xrefs sorting for aflj perf * Initial implementation of anal.trycatch blocks asm * Implement PAC instructions in the ARM64 assembler bin * Add icqj command * Fixes for msvc demangling (#14695) * Add jni.h in bin/d for pfo * Update Mach-O hardcoded format definitions * Improve Mach-O header fields * Improve RConsBind and use it from RBin via iz^C * Use libswiftCore library if available to demangle Swift5 symbols * Fix oba on frida:// * Add more e_machine values for ELF * Fix support for Swift5 demangling via bin.demanglecmd * Fix ordinal name on Linux for NE (invalid sdb path location) * Fix function detection on coff file * Add icqq to print unknow classnames * Add icc support for Java/Dalvik * Improve ObjC classes boundary checks and slightly improve demangling * Parse macho's LC_ENCRYPTION_INFO command in rabin2 -H * Fix undefined behaviour bugs in malformed macho bins * Handle “stub and resolver” exports and fix export trie for dyldcache * Handle the export flags to avoid de-syncing * Support ObjC categories on mangled classes * Avoid loops in Mach-O export trie walking * Parse Mach-O exports trie structure * Fix #14499: Detect ascii substrings * Show Class visibility information in icj for DEX * Fix symbols in wasm and add custom sections * Parse Rich header in PE * Initial implementation of the bin.libs imports linking * List multidex as dependency libs * Initial working implementation of bin.libs * The words of GOT * Fix new exe header detection for MZ * Optimize DEX subsystem detection * Fix #14441 - Invalid codesize in some DEX files * PoC: Initial implementation of direct bin symbols (20% speedup in loading times * Remove the check_bytes and more bin-buf refactoring * Add __const to potential VTable Sections * Add r2 iw and rabin2 -w to enumerate try/catch blocks * Parse the try/catch info of methods in DEX files build * Fix android-static * Delete prefix/ and fix static builds (missing libmpc.a) * Fixes for the android compilations * Add $onlydebug in sys/ios-cydia.sh * Towards emscripten build fix (update sdb) * Enable ASSERTS on all travis builds, to avoid confusion * mesonbuild: Backport to python 3.5 cons * Make click and drag work on Windows * Fix #12921 - Impl. r_cons_arrow_to_hjkl for Windows * Fix scrolling directions in the hud * Implement RCons.echo() and use it from r2.cmd("echo64") * Fix grep in tasks * Fix #11396: Integrate dietline with the hud * Fix for RCons.html when no color is used * Add example file for the pri command * Add pri command to print raw images in RGB (using stiv code) * Introduce ?e= and ?ed to print progressbar and 3D donut * WIP: Initial support for rotozooming strings via ~<zoom * Initial implementation of the human friendly json indent {: * Fix #9269 - Initial Implementation of vi mode * Enable click mouse input on Windows * Add mouse click support to VTE terminals. Hopefully fix others too * Click toggles cursor, make panels click mode more consistent * Add RCons.get_click(), initial integration in visual and panels * Initial support of mouse wheel+click * Improve the ayu theme * Clear also attributes on screen clear under scr.ansicon=0 core * Handle ^C in repeated commands * Implemented head and tail commands * Alphabetically sort more help messages and fix /ac/aa help msg * Fix i subcmd help grep * Initial implementation of calling the r*2 commands natively from inside r2 * Expand on FreeBSD>=10 sandbox handling * Add -qq to force quit. Avoid the -qcq confusion debug * Windows native debugger refactoring * More fixes to WinDbg (#14675) * Step over rep and repne prefixed instructions with dsui * Fix breakpoints handling for FreeBSD * Fix single-step in the iOS-arm64 native debugger * Fix xnu_thread_get_drx for iOS/arm64 * Honor SWI for step-over decompiler * Add support for the native r2ghidra plugin detection in cmd.pdc disasm * Don't show function name comment in Visual mode * Fix #14655 - Improve asm.pseudo for Dalvik * Demangle xrefs if asm.demangle=true and use '@' for xref locs * Fix #14622 - Skip reflines on non-executable offsets * Respace demangled c++ names * Do not asm.describe metaa .dwords * Find relocs at instr. location first, then the dest * Kill MOV/LEA comments * Implement global imports (aii) and improve disasm-print-instruction code * Implement 'function imports' concept (afii command) * Add some SuperH opcode descriptions fs * Improve R_FS via IO graph * VV<> draw refs/xrefs graphs for visual navigation * Implement icg to create class graphs * Honor utf8 in diagonal graph lines * Fix #14553 - Use HtUP to store canvas attributes instead of a sorted array (#14556) * Add graph.body and graph.bubble config vars, move sin/cos into r_util * Initial implementation of RConsCanvas.circle and bubble graphs io * Fix timeout issue in http.get * Better use of perm/mode names in R_IO mount * Autocompletion for mount commands mouse * Improve mouse support in visual prompt panels * Drag and resize the panels with the mouse * Add aflm and handle : as separator in click * Handle click on toggle cache, frame title and screen borders * Add tiny graph in panels and simplify the code a bit * Show all the decompilers output at once * W + hjkl just works like Ctrl w + hjkl * Seek by clicking the offsets on Function Panel * Right click is supported to open " widget * Wheel is supported * Mouse supports the menus which have spaces in their names * Mouse kind of works on the menu, still lot to work on * W + h/l moves the current panel to the direction like vim does with Ctrl W + h/l * Introduce scr.demo to add effects in panels enter/exit * Fix word highlighting with mouse in panels * Cache the pdc outcome for each function * Handle mouse click on panel tabs and select frames * The 'g' key seek to highlighted address in current panel * Highlight words onclick in panels * Fix #14468 - Add pdsf panel for the " widget * Initial support for saving the layouts with the names feature * Unsync the base offset of each tab parse * Add r_parse_ctype print * Fix aho being ignored by asm.tabs r2pipe * Enlarge RLang.cmd() to 8KB length commands * Improve decompiler integration 'pdc?' -> '!*%s -h" .. * Interpret .c files as #! via -i search * Skip PAC instructions in rop searching * Skip ROP gadgets starting with RET * Fix #14585 and #14584 - /c->/a* /C->/c /B->/mb /M->/mm - better help msg and autocompletion types * add tlj and tllj * Fix #11404 - Implement "afsr" to change function return type visual * Visual Help colorized * Improve the visual browse classes mode (vbc) * Initial mouse support for visual tabs * vda is an alias for vA wasm * Few memory leak fixes * Copy the symbol id instead of reference write * Implement wao for dalvik * To Review * Release 3.7.0 - TopHat * Use RFlag.list() instead of .get() avoid false positives (#14735) * Fixx oobread in flag.c (#14728) * check for null * Fix #14732 - Fix out-of-bounds read * Better gameboy theme * Fix #14696 - Fix p= in utf8 mode recent regression * Fix edge detection for click and drag * Fix a bug where a drag event could be initiated outside an edge * Fix not being able to select the menu anymore * Fix not being able to click on the X to close a panel * Fix afsr not performing type checks * Fix memory leaks part 2 (#14720) * Fix Incorrect Break Check from de7a488 (#14723) * Fix win32 compilation (#14722) * Fix afs not changing function name (#14721) * Changed the utf8 characters (#14719) * Fix #14711 - Merge Fun/About/Help in panels * Fix crash in .i~s .. recursive infinite grep strings issue (#14718) * Add fcn name in Visual mode if necessary when asm.filter=false and asm.jmpsub=false (#14713) * Fix WinDbg plugin warning * Fix #13633 - support nested unions (#14712) * Handle 'e' in '"' * Fix crash in canvas * Fix projects, add of help and improve gb again * Fix assertion * Improve the gameboy theme * Hide a harmless warning when string section size is 0 * Assertify the IO API a bit more * Fix $? value in im prompt.exec from rc to num.value * Kill os and ons commands (they werent even documented) * Fix #12911 - Fix types starting with 'void' not being considered * Fix abbreviated names being lost * Hide this 'code slot size' warning under bin.verbose * Use void in function prototypes (#14700) * Revert that flagsize fix * Proper fix of the oob8 bug * Fix 1 byte oob read issue * Fix 8byte oob write * class, method and field names are now shorter and easier to read * r2pm: handle info and install arguments properly (#14693) * bin_symbols: Add quoting (#14690) * Not camel case but snake case (#14687) * Fix mouse click not opening file menu in panels (#14688) * Only suspend threads if dbg.threads=true on Windows (#14689) * Windows native debugger refactoring * Massive win32 native debugging code refactoring * and corresponding fixes. * Fix hang after killing process * Hide command autocompletion warning message * they’re now aligned with libr/bin/d/macho * also tweaked r_print_format_struct_size to work with referenced format names * Fix some leaks found by ASAN * Break demangled xref comment when in graph (#14678) * Refactoring (#14681) * Fix seeking (stepping now works) * Fix more crashes * Fix compiler warnings * Refactoring (#14676) * improve macho format definitions * allow enums and bitfields with arbitrary size * avoid modifying the format string argument inside r_print_ * Fix capstone symbols visibility * Fixes #14652: Fixes visual hud regressions * Don't show flag name for internal demangled xref * Refactoring * Default scr.breaklines to true * Fixes #14353: Added utf8 support for agft * Featur #14351: Added utf8 support for p= based commands * All emacs dietline keybindings are implemented (#14664) * Some fixes to windbg (#14666) #debug #windbg * Fix #10505 * Fix wrong register profile being picked * Fix use-after free(s) and null derefs * Fix warnings * cmd_debug.c: Make addroflib use basenames * Fix flagspace autocompletion * Add protobuf magic * Pull enums out of RParseCTypeType * Support struct/enum/union before name in ctypes parse * Add cdecl-thiscall-ms Calling Convention (#14653) * Add more tokens for the panels clicking thing * Sort om help messages * Fix #14640 - /aa * Add help for /ac (#14638) * Tested on rabin2 -D and iD command * Add __stack_chk_fail to types-android.sdb.txt (#14641) * Fix W command (#14636) * Fix W command * Required for r2pipe programs to buffer output to be processed by r2 * Handle 'e' in window panels mode too * Refactoring (#14630) * Don’t print non-ObjC methods in classdump_objc * Improve ObjC classdump icc * Parse ObjC superclass name * Aim to fix O_BINARY issue in rahash2 on windows * Fix ?b64- command * A bit more cleaner vbtll (struct visual browser) * Refactoring panels (#14613) * Use eq[] instead in bin_classes() * Respace demangled c++ names * ic*: replace ' ' with '_' in flag name * Fix avra * Add guards just in case; use r_str_rchr() instead * Use upper case for #defines * $ r2 Payload/Undecimus.app/Undecimus * [0x10007e3ac]> s 0x1000081d8;af;s 0x1000082b0;afj 0x1000085fc 4 * [rio] fix r_io_cache_commit to commit all lines * Support for aap (function preludes with pacibsp) * Handle LDURSW properly * Define op->type for PAC instructions (not just family) * Add more asm descriptions for pac instructions * Click [X] with mouse and close the panel, plus a bunch of refactoring (#14602) * Add r_parse_ctype * Add mpc to acr * Fix r_parse for acr * Mouse is supported for " widget (#14599) * Put demangled name directly in call disasm if asm.demangle=true (#14600) * Put demangled name directly in call disasm if asm.demangle=true * Constrain possible flag names for functions * Fix ds_print_fcn_name() comment alignment when asm.cmt.right=false * Ignore dalvik since it's treated differently * Use R_FLAGS_FS_SYMBOLS instead in disasm.c * Oops * Fix demangled comment order (#14592) * Fix c99 construct (#14593) * Better name for seek autocompletion * Fix #14543: Renamed function doesnt show in autocompletion list (#14591) * Fix /ao command * Fix infinite loop in /o-1 * Update capstone v4 and next * Added support for esc, pag up, pag dwn * Added vi mode, changed quit method for hud * Added ^C for vi mode * Fix wrong reloc command in panels (#14582) * Docuemnt Q in q? * Fix C99 construct * Initial implementation of NE file format (#14573) * Fix several bugs of mouse and improved a bit * Simplify the fork+spawn logic on Apple things (#14574) * Fix anoying aeim warning when debugging * Minor function signature fixes * Clean up #14568 code * Add comment that demangles calls if asm.demangle=true * Cache on and off works seamlessly * Fix null deref in 'r2 -qcia --' * Use PJ for meta (#14567) * zero RConsGrep in cons_grep_reset() instead * fix grep expr in cmd_info help * Changing pdc settings has got a problem in panels and now it is fixed (#14561) * This should improve performace as you don't need to shift elements of * the sorted array when you need to insert a new one. * skip reexports and “stub and resolver” exports for now, the semantics are different and need to be treated in a different way * but advance the pointer accordingly, to avoid loosing sync while walking the trie (especially in dyld cache) * Fix #14552 - issue with Csj and scr.html * Reduce the questionnaire when replace/create a panel, also replace the cmd of the current panel is available from " widget (#14551) * Fix C99 construct without using -c99 (#14550) * The image is generated with Gimp, saving as .data (RGB) * This is 128(W) * 3(RGB) * ?(H) .. the height is computed with the blocksize * r2 -e hex.cols=128 -qqfcpri doc/cows128.data * Added arrow info to pdJ (#14422) * Fix build --without-gpl * (still far from complete but we need to go forward and kill all the globals \o/) * PD: the broken test is because initializing RCons twice * Add several panels to the menu and sort some of them * Fix invalid JSON in ij output * Fixes #14524: vi delete command is now 3dw (#14527) * Fixed dietline warnings * Changed logic for diw/diW * Fixes #14524: changed vi delete command format to 3dw from d3w * Removed unnessary print * ESC key handled in vi_mode * Fixes #14521: Add support for ^y when ^w * Fix #14470: Close popup widget on escape * Fix #6321: Wrong handling of escape key * Cursor was missing in the comments panel (#14518) * Fix wrong assembly of jumps relative to the ESP register (#14511) * Fix Windows Build (#14512) * Fix trailing space issue in the GNU sh disassembler * Fix u/U problem * The menu properly gets updated as a new layout is saved with a name * Fix isq. should do the same as is.q * Fixes #14416: selections in disarm fixed * Improve spacing around "//" in unum.c * "+=1" -> " += 1" in unum.c * "+1" -> " + 1" in unum.c * Fix wrong realloc in r_asm_massemble * In line 694 a buffer of size (sizeof(char*)*32) is allocated. Later on, * this buffer is realloced to 64. This decreases the size of the allocated * buffer instead of increase. This may lead to memory corruption. * Click properly works on the tabs (#14491) * Fix missing title line in Visual mode when under scr.ansicon=0 (#14490) * Autocompletion for k command (#14488) * Autocompletion working for ms * Removed comments * Autocompletion for k command * Fix some bugs and add pddo panel to " widget * Fix an assert in aoj * Fix focus and bright themes * Color regression issue in disasm.c * Fix scr.wheel.speed regression * Add gameboy theme * More code cleanup in RBin (#14473) * Fix r_str_replace - unit tests added * Fix two lines in doc/hud * Autocompletion works for md, mg * Added autocomplete flag map * Fix behaviour of click in panels (x<20) * Fix scr.wheel glich * Disabled by default at compile time. See FEATURE_SYMLIST define * Fix crash, reduce false positives of RBin.dol * Use RBuf.slice in /B * Fix autocompletion of remote files in #ms (#14284) * Added Segments panel and made cursor available for both Sections and Segments panels (#14461) * Add help for afs? command * Quote wa command generated in visual mode (#11138) * Use a pointer to eprintf instead * Fix aaa color under scr.ansicon=0 * small fix for console * Add spaces around operators in r_num_conditional() * Add spaces around operators in r_num_to_bits() * Don't update console panel when it's not absolutely necessary * Add spaces around operators in r_num_op() * Add a couple of spaces around '==' in unum.c * Add a couple of spaces around % * Remove some spaces * Add a space * Fix an UB oobread * Fix RStr.replace() * Fix long times for pp -1 * Remove some more spaces * Remove a space * Set foreground color just in case * add r_fs_file_copy_abs_path to get the absolute path of a RFSFile, centralizing edge case handling * use that in fs_io_read * add missing free (file->path) in RFSFile destructor * fix handlePipes for fs shell cat use case * Fix couple of small bugs in panels with tabs * Small fix for tab (#14432) * Python 3.5 (the lowest version that meson supports) has no f-String * but only old %-formatting and str.format(). * Fix warning when printing level of ">" (#14430) * Strip trailing whitespaces * Fix warning -Wstring-plus-int on cont_level * Remove unused var * Fix ragg2 *.c on macOS * Add fortune * tT segfaults so fixing it (#14426) * Post release version bump (3.7.0-git) * Fix a few null dereference issues (#14419) * Fix ec* wrt attributes (#14421) * Fix for the debug mode that makes disasm so slow (#14414) * Notes: * SH opcodes array, file libr/asm/arch/sh/gnu/sh-dis.c from GNU binutils, defines "bf.s" and "bf/s", same with "bt.s" and "bt/s". * Both pairs are identical, e.g. bt.s and bt/s mean the same thing. * As *.s variants come first in the table, radare and binutils-objdump print bf.s and bt.s names. * Still true for latest binutils (v2.32 2019-02-02). * Renesas chip hardware manuals and IDA Pro only use bf/s and bt/s. * Complete R_CONS_ATTR_ series (#14411) * - Update to version 3.6.0 * drop radare2-sysmagic.patch 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 * izz~ and iz~ available from both the menu and " modal * Force cache the result of Decompiler and Graph panels plus better auto updating, and refactoring * Cut out the widget as a struct and name it Modal * Enable deleting an item from the list in " widget * New item can be created and inserted to the '"' widget. * Centered the '"' widget plus v and h commands are added to it. * Added l command to the console which works like Ctrl l and Refactoring * dwm style default layout * Implement Console frame in visual panels * Enable creating a panel from the list of all kind of the panels and replace the current panel with it * Autocompletion is supported for Breakpoints and so is cursor to seek to and del them * Cursor is available in strings panel * Cursor is supported in Symbols panel performance * More code cleanup in RBin, speedup method resolution print * Honor hex.section in prc and pxa * Implement pV command - like pv but for bytes instead of values * Fix pv [arg] behaviour * Added support for pd and px without space * Honor hex.section in pxW and pxQ * Honor hex.section in pxb * Improve pxr for null words and relocs and use hex.section in pxs+pxr * Fix #14250 - ps[puzwW+]j * Fix #14263 - Add hex.section option for the hexdump * Add Objective-C and Rust (pco, pcr) * 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 safer and adjust the codebase refactoring * Deprecate the RBinObject.id field remote * Improve the r2web:// IO plugin and fix a couple of bugs in there * Speedup r2web:// * Make -C http work like the tcp and rap remotes, expose the shell via == * Honor rap.loop in rap server and add examples in =? * Fix issues with the tcp server .: and =+tcp, use index instead of fd * Fix some UAF in rap server, handle HTTP over rap and tcp properly search * Fix #14403 - Fix search on multiple maps (#14405) * Add /cc for case insensitive instruction * Add search.in=bin.segment[.s[rwx]] and fix bin.section[.s[rwx]] * Fix hexpairs search containing whitespace * Fix /r for dalvik and enable VA shell * Handle e cmd.pdc=<tab> and improve e cmd.pdc=? autocompletion signatures * Improve zignatures * Make zignature comparison fuzzy * Implement the zc command trace * Sort dte output visual * Improve the vv mode for editing variables windows * Fix command redirection * Dynamically find radare2 install dir on Windows * Add mfc100u and a script to generate them * Set scr.ansicon=1 if running under Windows 10 Creators Update or later * scr.ansicon=2: Show esc seqs (for debugging) if using non-ConEmu-hosted cmd.exe * Fix QueryDosDevice returned length check * Fix ood; ood bug on winxp->win10 * Fix r_sys_pid_to_path (supports winxp -> win10) ------------------------------------------------------------------- Tue May 21 08:26:15 UTC 2019 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to version 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 - Update to version 3.5.0 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 ------------------------------------------------------------------- Tue Apr 2 17:57:59 UTC 2019 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to version 3.4.0 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 #13201 - Merge anal.jmp vars fix cons * dm= now honors theme (eco) settings + 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 autocompletions for e and P subcommands * Add missing keywords for tab completion core * Make flag comments base64-compatible * Support alias files in '.' interpret too ('. $foo') * Implement $foo=- to use cfg.ediitor to edit the alias * Initial implementation of alias files * Fix wcr command * bin.str{purge,filter} -> 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 the flags by order of importance in flagspace * Fix va_arg issue in r_str_newf and r_str_appendf debug * Fix #13363 - Remove URI handler before looking for auxillary script * Some fixes for the debug/emul traces and initial visual mode * Fix #13391 - issues when using file:// and ood together * 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 implementation of the dri command - inverse debug registers * FreeBSD will be having aslr finally deprecate * Fix #13430 - Kill MinGW remnants diff * Implement the dif command to compare two files using 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) ------------------------------------------------------------------- Mon Feb 25 09:38:58 UTC 2019 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to version 3.3.0 anal * Do not permit function names containing registers * Add missing types-darwin.sdb and honor asm.os to reload them * Add some Resource API to types db * Disable function autonaming to avoid confusions * Initial implementation of RAnalDataType * Address comments in #13094 related to maxbbsize and maxfcnsize * Fix anal.dalvik for monitor instructions * Add op.type of UD0/UD1/UD2 x86 instructions * Fix aaF sort issue, honor a2f and fix big allocation in analysis * Implemented new 'ax.' command * Improve ARM64 (anal.arm.cs) to cover more optypes * Improve the Dalvik's ESIL * Initial implementation of aaF * Fix #12932 - Handle 'bx lr, pc;bx r3' * Implement EXPERIMENTAL emu.lazy (20% faster analysis with aae) * Initial implementation of the 'aao' command * Fix aae - set pc to current offset * Self referenced xrefs makes no sense * Fix annoying warning message in aab * Update list of syscalls for Linux on x86-(32|64) * Update aea? (#12849) and display @{R,W} in aeaj * Add JSON support for /g * Fix #12738 - afi displays if function has been traced * Fix aht cjmp and optimize assert in asm.emu when no regprofile is set * Fix instruction address issues in the aef output * Initial implementation of aflm - makestyle function list * Change assert in cyclomatic complexity with a nicer warning message * Silent some 'invalid instruction' warnings by assuming data * Blind fix crash on exit after analyzing big binary * Implement aht to change the opcode type via anal hints, fix ao * Make afij ref-types more readable for human animals * Fix axff and add json support * Move r_anal_op_hint() into r_anal_op via R_ANAL_OP_MASK_HINT * Fix ASAN crash when running afbr * Fix afns and add JSON support * Fix noreturn handling of reloc functions * Improve ESIL xrefs and string discovery with aae on arm32 * Kill anal.noncode instead use anal.in with io.maps.x * Improve aap for arm64 * Add r_anal_fcn_format_sig asm * Use r_return in RAsm APIs and fix some regressions * Remove R_ASM_BUFSIZE, all buffers are now dynamic * Implement 'wao jinf' to assemble infinite loop instruction * Fix arm 64 assemble for msr/mrs OPs assembler * Fix #11249 - Fix register not being assigned * Fix #12431 - Add X86_32 Control/Debug registers assembly assembly * Fix ARM64 assemble for "b ." ("b 0x0") bin * Change -T behaviour and rename iF into it * Compute hashes only with a new r2 flag * Fix #13035 - PE resources crash * Fix bin_mz plugin magic check * Fix the file hash computation * Fix rabin2 extract path for Windows * Elf: recognise android as os * Display file hashes into rabin via new mode * Fix PDB crash freeing streams with the right function instead of assuming the delegate is not corrupted Fix the PE parsing to properly get the COFF symbols * Fix buffer overrun on pdb file read * Add iF to show file hash and related refactoring * Fix demangling of relocs and exported symbols * Fix #11981 - Show PE resource name instead of just the index and use pj.c * use the reset vector at 0x4 for entry * sega genesis is big endian * Add check for MZ magic in bin_bios.c * Fix #12474 - Add simplest mode handler for -zzz flag * Fix wasm exports list * Fix #12637 - Support .plt/.plt.sec in ELF * Add initial support for dyldcache v3 build * Fix #13087 - Automatic NORELEASE mode, use curl if no wget * Disable ptrace-wrap for WSL * Fix capstone cloning and patching issues again * Fix #12834 - Set minimum version for libuv to 1.0.0 * Do not use reversed keyword of meson * Set gittap even in release tarball classes * Store Anal Classes list in own SDB Namespace config * Fix #12760 - e cfg.log.* is now log.* * Add cfg.log.events=false by default cons * Make RCons.is_interactive() into the RConsContext and improve loading projects in tasks * om= and iS= now honor the theme (eco) settings * iS= now accepts eco (theme) settings + highlighting of sections with w/x permissions * Avoid big writes in a single syscall * Fix #11701 - use color theme in dmh* commands * Fix #12925 - $ being ignored if : or [] is present in grep line * Fix #12906 - Add support for mult. keyword highlighting in grep * Move Palette to RConsContext to make RCoreTask less racy core * Initial support for the r_alloc (+aligned) API * Implemented dir.home and dir.tmp * Add user * to REvent Hooking and add all_callbacks for R_EVENT_ALL * Improvements and code cleanup in util/str * Fix #12773 - Support setting multiple configs at the same time * Remove noisy log message in the @@@ operator * Implement yfx (yank from hexpair) command and r_core_yank_hexpair API * Fix #6424 - Disable scr.color when doing backticks debug * Add --without-ptrace-wrap configure option * Implement aeC (ESIL appcall), also drr shows reg aliases and add dr?? * Fix debugger regression in Android * Debug process state info support on OpenBSD debugger * Fix debugger regression in Android * Debug process state info support on OpenBSD disasm * Fix #13079 - Show comments above the folded functions * Fix MIPS asm parser to display vars in disasm * Fix #11585 - Missing main/entry substitutions * Add asm.types=[0,1,2] - set verbosity level for function signature comments * Implement asm.str.lea instead of hardcode the option * Fix false positive string issues on arm64 when adrp+add * Fix reflines for infinite loop instructions * Fix asm.lines.ret for pdJ (Fix #12782) * Have arm pseudo's replace() use the same replacement style as x86's docs * Typo immbediate -> immediate * Typo immbediate -> immediate documentation * Add -U resources in rabin2 man * Change aab help fix #12695 * Change aab help fix #12695 enhancement * Add Certificates in rabin2 esil * Fix vv_ and signed addresses bug in esil for x86.cs (fixes kernel emulation) * Fix #12743 - Warn when ESIL tries to shift > 63 bits format * Compute struct/union size in tsj/tuj fs * Fix hfs mounting for Windows graph * Fix #12990 - Handle ^C in agRv * Improve the graphviz output for custom graphs * Improve callgraph dot output 'agCd' * Introduce graph.few to render just few basic blocks, comma in visual hexdump * Initial implementation of hex.align http * Implement the cmd_colon and experimental http.colon io * Implement self_regions for Windows * Add usable uris field to oLj and r2 -L * New command 'oma' to create a map covering all VA * Improve rap:// code, r2p_ is now r2pipe_ json * Fix avj - in case of no vtables [] shall be returned * afxj and axtj using pj.c * Fix axgj output (should be rewritten with pj) main * Disable (with warning) -t and deobfuscate -n variable meson * Update list of sdb files to build and install optimization * Speed up RBinReloc retrieval panels * Fix a parsing issue of the config * Use pjAPIs to output proper json and bug fixes plugins * Add Ll as an alias for #! print * Added few pf examples * Initial import of the c1 command to compare bits * Add new command: pifc and pifcj * Add quiet and json for aflm * Check if address is mapped in the hexdump and disasm via io.unalloc * Implement "pt." command to print the current date * Fix #12711 - Fix hex.compact in pxa r2pipe * Add r2pipe_ R_API functions to r_socket.h ragg2 * Update ragg2 man page * Added the append string feature for ragg2 refactor * Remove global variables in rasm2.c * Use RSpaces in RFlag * Kill RIOSection * Aoj use pj * Use pj in aeaj * Use pj in ttj, tj, tej, tfj and 'tej enum' * Fixing typo * Use pj in asj * Use pj in anj * Almost completely kill RIOSection from io and core (-218LOC) * Standardize version using blob_version refactoring * Remove global variables in rasm2.c * Almost completely kill RIOSection from io and core (-218LOC) search * Fix #12942 - Implement /c[vV][j] /cej to search for code immediates * Fix #12378 - Implement /ai to search for infinite loop instructions * Implement /a1 to find all instructions by changing 1 byte sign * Initial implementation of the visual zignatures in vbz * Add bbsum metric for zignatures * Add vars in zignatures sync * Implement T=& and handle more meta events * Initial WIP implementation of sync using http and T * Add basic auth to the webserver tasks * Make ! command sleep around system() types * Fix #12725 - pf* exposes flag sizes via fl and Cd * Initial implementation of the tfc command to manage calling conventions * Add more function signatures for objc_ apis * Set type of double to F * Support typedef to anonymous struct in more than 1 header * Support typedef'd (anonymous) structs * Shorten local var and type name util * Add extern "C" to r_rbtree.h * Fix comma before object or array in pj visual * Implement vdo to use aho from visual * Fix toggle emu.str via v) * Honor io.cache in vpci * Revert "Revert "Prevent runaway scrolling in Visual when using arrow keys * Revert "Prevent runaway scrolling in Visual when using arrow keys * Implement vbg - wip, but at least vbg does something * Prevent runaway scrolling in Visual when using arrow keys * Add 'o' key to seek in the rop browser and improve usability * Handle subcommands for visual browse from the shell * Initial implementation of the visual ROP browser * Prevent runaway scrolling in Visual mode * Visual 'j' honors asm.flags.middle * Add orangg avatar in ?E+ and implement r_str_list_join() * Initial implementation of visual gadgets * Add support for visual gadgets in graph and panels views * Implement pgm command to move gadgets around wasm * Fix conversion f32.const or f64.const * WebAssembly improvements in branch lines and namings * Fix a little bug in wasm type section parsing windows * Fix abspath issue and implement r_file_copy using native api * Fix path issue when last char is a slash * Implement sys_cmd_str_full_w32() Other changes * Release r2-3.3.0 * X86_INS_UD0 was introduced in capstone 4, so use it only there (#13154) * Expose save_parsed_type() as an API call for Cutter (#13149) * Upgrade capstone-master * Add missing include for meson * Fix Linux debugger crash regression * Fix alignment issue in io.ptrace with the new r_malloc_aligned API * Fix dL bochs crash * Fix #12855 - Crash in "r2 -c'dL bf' -d ls" (#13145) * Fix path with spaces problem in windows (#13144) * Fix #13141 - Check if the unset space is the current one (#13142) * Added eprintf to dbg.execs on non-Linux OSes (#13134) * Minor fixes * Workaround the cursor scroll glitch in folded functions * Try a fix for #13072 - invalid address in dalvik disassembler * Fixed afbj result to print empty array (#13127) * Refactored cmd_anal.c to use PJ (#13122) * Fix #11759 - aac now names import trampolines (#13124) * Time to say goodbye to r_json (#13126) * Fix build for WSL (#13129) * Upgrade sdb * Do not escape path to Windows file (#13108) * Little cleanup before release (#13115) * Clean up some code in disasm.c * Fix agfJ * Make disasm use pj * Make ASAN green again (#13098) * Fix ASAN crash in abtj * Fix ASAN crash in asj * Strdup the input because it is a const char * and shouldn't be modified * Fix some r_assert warnings (related to len==0) * Check if there are enough words only when necessary * Other len == 0 edge cases that do not belong to r_return_* checks * Do not print classes if there are none * Type is not present in case of va_args, so do not blindly use (len - 1)th char (#13106) * Fix #12800 - PE exports not listed * Do not use _free in a _init method, but free in a _new method (#13100) * Various little code fixes. (#13075) * Remove most warnings during compilation * Implement aaFa, optimize and improve boundary checks * Refactor xrefs.c to use pj api (#13085) * Fix undefined behaviour in r_uleb128 * Fix PE doublefree regression in resources * File: clusterfuzz-testcase-minimized-ia_fuzz-5652434150490112.dms * Fix x86 capstone patch * added valgrind fun fortune (#13086) * Meson: Add r_debug_dep to libr2_dep (#13088) * Unwind capstone to safe commit * Solve java regression * Fix #12948 - Fix . autocompletion (#13082) * Fix #13067 - Crash in the java parser (java-read-off-by-one) * Fix #13070 - Fix oobread in anal.arc * Add CC in vbt, still wip, just readonly list for now * Fix #12938 * Use pj for agfj (and others) + rename pj_sn and pj_ksn to pj_N and pj_kN * Fix null-pointer dereference (#13074) * pf: print float at max precision (#13064) * Fix #13062 (#13063) * Add missing csmtpapi, csncdapi files * Fix #13027 - pf: print double at max precision (#13049) * Fix invalid json in agfj under some situations (#13051) * If, for whatever reason, a basic block with negative size is * contained in a function the json produced is not valid. * pj-ify dmmj * Fix x86_64 socket syscall (#13050) * Currently syscall nr 41 is named socketcall. However on x86_64 * syscall nr 41 is named socket and expects 3 arguments. * Fix some crappy regressions in capstone.sh * Upgrade capstone * Purge capstone when doing the iOS build * Fix the iOS simulator build * Fix truncated issue with long dir.prefix is used * Small optimization when concatenating the home * Update plugins.nogpl.cfg and fix a couple of warnings * Use pj api in core/config (#13047) * Fix #13034 - Trailing 0 is gone (#13046) * Fix couple of mem leaks (#13041) * Adding one level into the hashes JSON (#13045) * Use pj api in afvsj * Use pj api in rasm2 * OS X does not seem to accept X.Y.Z-git as lib version (#13043) * acr+make does work because it does not set any lib version on darwin. This patch * will adjust the version to use for libraries when radare2 is installed through * meson. * Update fortunes.fun (#13044) * Fix #13021 - Fix crash in anal.dalvik * Fix #13031 - Crash in dbw * Fix #13032 - Double free in dbw * Fix #13033 - Crash in pifjA * Fix #13039 - Crash in 'echo 0xF..A | rax2' * Fix pe crash regression * Added feature to return error while parsing c header file (#13030) * Added feature to return error while parsing c header file * Fixed cmd_type.c to pass tests * Fix clusterfuzz-testcase-minimized-ia_fuzz-5647859834159104.dms * Fix clusterfuzz-testcase-minimized-ia_fuzz-5670419745472512.dms * Fix clusterfuzz-testcase-minimized-ia_fuzz-5643065568526336.dms * Fix clusterfuzz-testcase-minimized-ia_fuzz-5166506139189248.dms * Implement vt: to create a new tab with an associated command * Fix conditional again * Fix off by one conditional * Fix some ASAN issues found randomly * Unescape chars when using rax2 -S * this commit resolve second part of #12862 (#12985) * Add newline to end of types.sdb.txt * Small TCC bitfields parsing fix * Some more fixes for the iOS build in sys/ios-sdk.sh * Remove some r_parse spaces * t-* resets tcc's anonymous symbol counter (#13015) * Remove commented anon_sym init in tcc_compile() * r_cons_singleton() -> r_cons_singleton () * Add some spaces * Make Class Attr Events more fine-grained * Add REvents for Anal Classes * Enable Travis only on master * Add LC_NOTE missing load command header for mach-o * Fix #13001 - null deref in RBin * Use flat RVector for all_calbacks in REvent * Fix classes names for Windows (#12998) * Fix warnings * Use pj in rasm2.c and add pj_f for float * $ sudo r2 /dev/disk0 * [0x00000000]> om * [0x00000000]> o * 3 * r-x 0x00000000 /dev/disk0 * [0x00000000]> r * 0 * [0x00000000]> oma * [0x00000000]> om * 1 fd: 3 +0x00000000 0x00000000 - 0xfffffffffffffffe r-x /dev/disk0 * [0x00000000]> x 32 * offset - 0001 0203 0405 0607 0809 0A0B 0C0D 0E0F 0123456789ABCDEF * 0x00000000 0000 0000 0000 0000 0000 0000 0000 0000 ................ * 0x00000010 0000 0000 0000 0000 0000 0000 0000 0000 ................ * [0x00000000]> s 0x1000 * [0x00001000]> x 32 * offset - 0001 0203 0405 0607 0809 0A0B 0C0D 0E0F 0123456789ABCDEF * 0x00001000 4546 4920 5041 5254 0000 0100 5c00 0000 EFI PART....... * 0x00001010 c651 78b2 0000 0000 0100 0000 0000 0000 .Qx............. * [0x00001000]> qq * Remove extra space after hexdump comment header (#12984) * c1 0x1000011ec @@s:$ $+10 1 * Fix an assert in anal_tp * Fix some assert issues and other crap * Fix empty json (#12979) * Fix help and json in /ci (#12978) * Use unsigned format in xref addresses * Remove Color_RESET in hexdump comments when scr.color=0 (#12974) * Fix 'aao' command * Align left the ascii art * Fix anal.jmptbl warning message * Fix #12973 - Fix 1 byte oobread when running in asan * Add a null check (#12977) * Use PJ in "irj" and add Symbol VA (#12976) * Use PJ in "irj" and add Symbol VA * io.unalloc.ch: Hexdump char if byte is unallocated (#12968) * Fix asan crash in PE parser (oobread) (#12966) * Fix env. vars. not being parsed in !! in Windows (#12956) * Fix arm assembler in Windows * Fix x86 assembler in Windows * Removed duplicated -q flag in ragg2's usage message (#12964) * io.unalloc=true: print space in ascii hexdump if unmapped (#12958) * Fix Segfault when executing /cj without args (#12961) * add reloc indicator to pdj * Implement vbc [gG] and fix crash in aao * More ios-sdk build fixes * Fix section->size = 0 assert * iOS10 is required for the arm32 builds * Add LC_VERSION_MIN for the libr2.dylib iOS build * Fix #12934 - Crash in p- * Fixed the typo in the struct name r_lib_struct_t (#12944) * Trim scriptfile after '.' * Rewrite RSpaces to use RBTree and remove use of indices everywhere (#12904) * Rewrite RSpaces to use RBTree and remove use of indixes everywhere * Use RSpace in r_meta_space_unset_for * Use r_str_ndup instead of strndup because windows does not support it * Add some comments * Fix issue #12742 (#12922) * Introduce fnj command (#12923) * abtj using pj.c * Done for x86, arm16, arm32 and arm64 * Check aab argument value * Fix the "Visual runaway scrolling when using arrow keys fix" * This reverts commit 6c1d31c. * This reverts commit ded4b9e. * fix null deref: r2 -N -e scr.prompt.file=true -- * fix glitch where pd--N and N > offset * closes #12897 * Add an additional null name check in print.c * Remove invalid sleep from cmd_open() * Add missing file * Fix more null derefs * Fix null derefs * Added MIPS 64-bit calling conventions (copy of 32-bit). (#12891) * Small improvement (#12895) * Calculate bool based on logic and select prefix based on bool (not vice * versa) * axfj using pj.c * axtj using pj.c (#12887) * Android may also support ptrace-wrap * Use pj for X509 and PKCS (#12877) * Convert R_JSON to pj * Ident * iCj support * Change return type * Fix @deroad comments * Fix last issue * Fix empty output * Fix C99 construct without using -c99 (#12879) * Switch to capstone master in Meson * Implement r_anal_ref_type_tostring() * Switch to capstone master 🤪 * Fix rafind2 -S for UTF8 chars > U+00ff (#12866) * Fix rafind2 -S for UTF8 chars > U+00ff * Use '< 1' instead of '== 0' * Remove unnecessary else * Add a 0 * https://darkdust.net/writings/megadrive/initializing for references * fixes #12848 * i only chk with a few games, but they all look correct * Printkey json cb show format pj * Fixes for the android build and related warnings * Fix aht div * Small RFlags fixes (#12856) * Get the real item name before looking for it * Otherwise, it may happen that you look for a name which does not exist * and then when the name is filtered it is transformed into a name that is * already in the list of flags. * Make sure flagItem is inserted in HT and skiplist * Update SDB code and use ht_update_key API in RFlag * Fix set_name/filter_name mess * Small fixes here and there * Force update when creating new flags * Use pj API to print json * rm stupid debug printf * add support for apple debugserver on amd64 * Oops * Add 64-bit MIPS profile * Fix isqq #command * Removed some spaces * Fix agfJ for quotes in function names * Fix pdJ for quotes in flag names * Use pj in Pj * by pancake + fix from kazarmy * Copy pal when creating a new task (#12835) * Fix minor memory issues (#12836) * Add initial Wasm support for atomic instructions. Fix get func offset from id. (#12833) * Fix Wasm function rename to ignore memory and other non-function symbols (#12832) * Implement sdb_js0n() without GNUC weirdness (#12829) * Fix shift check in esil.c * Add Vdt to tweak the instruction type hint (#12821) * Add missing .h in meson.build * Fix iR timestamp + consistent timestamp format output (pt*, iI~comp, iR) (#12770) * Update SDB code and use ht_update_key API in RFlag (#12804) * Fix crash in pC * Moved pd-- help message under pd? command (#12809) * Fix leaks in macros (#12803) * Fix missing comma bug in pj.c fixes invalid json in afcfj (#12802) * Use unsigned int for size when loading binary file (#12794) * Trying to load a 2.4G core file do result into error message like: * Cannot allocate -17240000 bytes * Since opt->sz is unsigned, casting it to sized int is problematic. * Fix regression in dmh's brk_end calculation (#12791) * Update yank.c (#12787) * remove signed differences in r_core_yank_hexpair() * Remove flag list in RFlags and just use hashtable (#12703) * Do not directly use flags->flags, but use r_flags_foreach functions * Remove list of flags because unnecessary * Do not free flagitem when we just need to change the name(aka key) * Use skiplist to iterate, so we get order for free * Use RIOMap instead of RIOSection which is being killed * Free flagitems when ht is freed * There's already the hashtable that can serve to iterate all flagitems. * Oops * Documentate yfx/yw/ywf/.. * Fix hang in =h& * Fix undefined behaviour in signed int with 24 bit shift in softmagic.c * Flush Visual stdin only if printable, \t or \n (#12764) * Remove obsolete test file * Remove obsolete test file * Only flush stdin when no mouse wheel is used * Use RBinSection, RDebugMap or RIOMap instead * Remove omps command * Fix segfault in ?E+ * Improve anal.eobjmp (bug spotted after almost killing iosections) * Move r_disasm.h defs into r_core.h * Change eprintf to printf in rarun2 * Change eprintf to printf in rarun2 * Fix #12654 - resolv reloc symbols (#12713) * Move filling of symbols_by_ord into _r_bin_elf_get_symbols_imports() * Remove unneeded midbb initialization * Move core->anal check * r_anal_reflines_str() boolification * Fix segfault and add warning * Run any command at any position in the screen * Crop the output of the command to avoid glitches * Works in visual mode as well as in console * R_ANAL_REFLINE_TYPE_MIDDLE -> R_ANAL_REFLINE_TYPE_MIDDLE_BEFORE (#12733) * Fix invalid read in cmd_meta (#12730) * files is a reversed keyword in meson. Try to avoid using it. * Tweak bitwise macros to work on 64-bit integers and use that in dyldcache * Remove useless .c file and fix 2 small warnings * Simplify get_import_addr by splitting into arch-specific functions * Add support for .plt/.plt.sec split in x86_64/ELF * Return plt_sym_addr if something fails there * Do not rely on section names when possible * Sections are not reliable, look for information, when available, in the * DYNAMIC segment, which is used by the loader/linker at runtime. * Use sections when nothing else is available in ELF * Some type of ELF (e.g. .o files) do not have dynamic info, so the only * thing we can do is rely on sections. * After release version bump to 3.3.0-git * Always print return type in r_anal_fcn_format_sig() * Print var args in afcfj * Fix movt r0, 0x1234 from incorrectly showing up as r0 = 0x1234 << r0 * Minor code cleanups/fixes (#12714) * Use Homebrew Addon in Travis - Update to version 3.2.0 anal * Add asm.hint.cdiv * Handle ^C in agf (#12618) * Fix size of arm64 wzr register * Rename ac -> aoc, aC -> ac, Fix help * Add the missing fail arc for SBRx instruction * Fix wrong splitting of functions in aac * Initial implementation of emu.ssa * Fix infinite loop bug related to anal.nopskip * Use add-sorted instead of append+sort * Heavy refactoring and sdbify the classes storage+logic * Implement support for nword in ahi * Fix ESIL borrow flag handling for SUB/SBB on x86 * Display all metas in current offset instead of just one * Fix .in=io.maps, improving aap analysis (2052 vs 41 functions find) * Small msp430 improvements * Fix aap for thumb * Fix #8054 - Update cpu flags in arm/thumb ADD/SUB * Display all metas in current offset instead of just one bin * Fix #12654 - workaround resolv reloc symbols in ELF * Refactoring of get_import_addr in format/elf * Add timestamp to iRj output * Do not use r_buf_get_at in RBin.nxo to solve 2 clusterfuzz crashes * Fix missing exported symbols in ELF * Add laddr to iI * ie/iee: remove baddr * Use entry.init0 instead of entry0.init * rabin2 -H and iH uses cb_printf instead of eprintf+printf * Improve RBuffer api, start to refactor rbin to use more rbuf * it's nintendo 64 not nintendo 32 build * Appveyor cleaning * Fix musl build (required for Alpine) * Do not statically link binaries by default in sys/static.sh * meson: Do not use glob with meson * Initial implementation of the Alpine Linux package * Improve the meson scripts * Fix Emscripten support * Switch to capstone 4.1 (#12549) * meson: Ensure python3 and no hard-code version * meson: Ensure R2_DATDIR, R2_INCDIR, R2_LIBDIR be absolute path * Users may want to install radare2 to a different directory than ~/bin. * Parse --install-path in sys/user.sh to allow for users to do so. cons * Fix #12667 - Fix heap overflow in RCons.grep * Fix #12397 - Colorize grep words if scr.color.grep is set core * Improvements and code cleanup in util/str * Implement ?j to get JSON output of different representations for the same number * Fix #12482 - Unify asm.shortcut/asm.{lea,jmp}hints * Rename scr.pipecolor into scr.color.pipe * Initial import of the PJ (PrintJSON) API * Fix 11141 - replaced R_ASM_BUFSIZE with RStrBuf* * Bring back f-.localflag (same as f.-localflag) * Add some more random "fun" fortunes * '=h&' is not an alias for '& =h' crash * Fix #12479 - negative disk_reads may not be allowed disasm * Fix esil function comment refline when there is jump to addr * Allow select cpu for arm.gnu * Add support for m68xx disassembler + analysis from capstone * Initial support for 6502 with Capstone * Optimize ds_align_comment() * Use r_str_len_utf8_ansi() for line len in * Fix glitches in asm.shortcut=1|0 with and leahints * Fix visual leahints hotkeys * Handle meta hints for dwords in visual disasm hotkeys * Improve pds json * Do spec-following r_str_escape_utf8_for_json() * Added new PJ simple print-json (stream) apis assembler * Move mipsasm from mips_gnu to mips_cs search * Add magic headers for GPG symmetric crypto commands * Fix #12473 - implement C. command * aC renamed to ac * aaE -> aafe (#12628) * Support multiple ahi0 == ahi Debugger * When a process is interrupted by a signal, we try to figure out the reason if the information is still available. FreeBSD/more reliable way to get * PID's path. (#12527) panels * Fix a crash when V! calls graph via space key * Fix Cursor mode and Zoom mode and refactoring * Refactoring * Refactoring * Enable cursor and insert in Hexdump * Fix a resizing issue of Panels * Help message for Snow * Snow is supported in Panels because it is winter * Better Hexdump support * Remove mouse events thoroughly from panels * Minor fix when opening a new panel * Cleaned up some macro performance * Improve io map lookup performance in presence of many maps * Limit the blocksize in visual mode * Optimize r_meta_find (~4x faster :D) * refactoring ELF relocs, parse once and lookup in a hashtable print * Fix #12528 - Remove suffix modifier for 'j' in cmd_print.c * Add hex.ascii config variable * Support uneven columns in hex.cols and fix stack after scope issue in scr.rainbow * Fix p- to honor multiple regions * Highlight the flagged bytes on hex.style * Implement hex.hdroff (disabled by default) search * Implement /s, /s* to search for sections depending on entropy threads * Make =h work in tasks, still more work to do to make RCons task and thread safe types * Fix tc and afc commands * Implemented tc command as an alias for tuc;tsc;tec... * Fix #11756 - Implement tsc and tuc visual * Add r_str_len_utf8_ansi() * Improvements for repeated Vd * More fix for Vg and VG * "tT", "tt new tab, t[1-9] switch to nth tab, t= name tab, t- close tab" * Fix #12623 - Make Grep Highlights Case Insensitive * Fix Vg with io.va * Introduce scr.dumpcols to support tabs and minor cleanup * Bring back VO as al alias of V and improve modes * Several improvements in the Visual mode (help, tabs, ...) * Add scr.wideoff to make offsets and reg values depend on asm.bits * Extend the use of the 't' key to manage tabs better, better ascii art * Several bug fixes and improvements for the visual-tab * Improve two dimensional panels with Tab and tabs with ' and '' * Implement ecoo and extend scr.rainbow into pd * Better asm.hints and support repeating in dw wasm * Fix wasm analysis for the end instruction * Fix #12409 - wasm function ids and exports (#12414) To Review * Disable dbg.follow in aaft to prevent seek changes (#12657) * Add %S for base64 in util/pj (JSON printer) * Fix #1298 - Fix visual 'G' for r2 -nn (#12655) * Fix #12615 - Fix renaming vars from vvv * Fix #12434 - Fixes for exports and anal behaviour (#12642) * Fixed loop behaviour (now jumps to correct ends, etc..) * Fixed Exports (aka symbols) * Fix #12273 - Force exec bit in text section (RIOSection must die) (#12643) * Rename aftm -> aft and afta -> aaft (#12631) * Proposal to fix ib DF issue. * Fixed wrong bounds check while PE file resources is being parsed (#12634) * Few compilation warning fixes. (#12630) * use r_base64_encode_dyn * More refactoring for panels * Fix comments * Add assumption comments Remove the V@ command - not intuitive and a bit alien rotating print modes with tab was segfault because of UB Implement recursive interactive help Support ranged cursor selections (for pxd, pxb, pxq, ...) 'i' in pxb visual runs Vd1 to edit the bits under the cursor V' is no longer mixed with Vt Properly restore the print sub-modes in tabs Smart tab key hints (beter located and shorter) Archs * Added support for m680x arch * msp430: registers names for pc, sp, sr and cg * msp430 initialize more default op fields Commands * Clarify aes /Ca help message (#12580) * New commands: aCb, aCm, aCmn, aCll, aClj, aCv, aCm, aC-, aCm- * Fix Segfaults and Leaks in RTTI classes recovery * Accept .?AU as prefix for msvc class name demangling * Classes recovery refactoring * Skip own type descriptor in msvc classes recovery * Cleanup msvc rtti address calculation * Recover vtable, classes, base class, virtual methods from MSVC RTTI * Add flags for vtables and methods * Fix #12543 - Support backward branch and bl assembling for arm64 (#12552) * Fix odd behaviour of pdf (with regards to agfv and agfj) (#12522) * Some code cleanup and start to introduce r_return in r_io (#12523) add the “skyline shadow” concept add r_io_map_is_mapped which binary-searches the skyline shadow to tell if a pointer belongs to any map * Fix printing of the macho UUID load command in iH / rabin2 -H * Improve pxa, use more colors. honor VdF (pf format) ------------------------------------------------------------------- Thu Jan 10 10:38:06 UTC 2019 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to version 3.1.3 anal * Add asm.hint.cdiv * Handle ^C in agf (#12618) * Fix size of arm64 wzr register * Rename ac -> aoc, aC -> ac, Fix help * Add the missing fail arc for SBRx instruction * Fix wrong splitting of functions in aac * Initial implementation of emu.ssa * Fix infinite loop bug related to anal.nopskip * Use add-sorted instead of append+sort * Heavy refactoring and sdbify the classes storage+logic * Implement support for nword in ahi * Fix ESIL borrow flag handling for SUB/SBB on x86 * Display all metas in current offset instead of just one * Fix .in=io.maps, improving aap analysis (2052 vs 41 functions find) * Small msp430 improvements * Fix aap for thumb * Fix #8054 - Update cpu flags in arm/thumb ADD/SUB * Display all metas in current offset instead of just one bin * Fix #12654 - workaround resolv reloc symbols in ELF * Refactoring of get_import_addr in format/elf * Add timestamp to iRj output * Do not use r_buf_get_at in RBin.nxo to solve 2 clusterfuzz crashes * Fix missing exported symbols in ELF * Add laddr to iI * ie/iee: remove baddr * Use entry.init0 instead of entry0.init * rabin2 -H and iH uses cb_printf instead of eprintf+printf * Improve RBuffer api, start to refactor rbin to use more rbuf * it's nintendo 64 not nintendo 32 build * Appveyor cleaning * Fix musl build (required for Alpine) * Do not statically link binaries by default in sys/static.sh * meson: Do not use glob with meson * Initial implementation of the Alpine Linux package * Improve the meson scripts * Fix Emscripten support * Switch to capstone 4.1 (#12549) * meson: Ensure python3 and no hard-code version * meson: Ensure R2_DATDIR, R2_INCDIR, R2_LIBDIR be absolute path * Users may want to install radare2 to a different directory than ~/bin. * Parse --install-path in sys/user.sh to allow for users to do so. cons * Fix #12667 - Fix heap overflow in RCons.grep * Fix #12397 - Colorize grep words if scr.color.grep is set core * Improvements and code cleanup in util/str * Implement ?j to get JSON output of different representations for the same number * Fix #12482 - Unify asm.shortcut/asm.{lea,jmp}hints * Rename scr.pipecolor into scr.color.pipe * Initial import of the PJ (PrintJSON) API * Fix 11141 - replaced R_ASM_BUFSIZE with RStrBuf* * Bring back f-.localflag (same as f.-localflag) * Add some more random "fun" fortunes * '=h&' is not an alias for '& =h' crash * Fix #12479 - negative disk_reads may not be allowed disasm * Fix esil function comment refline when there is jump to addr * Allow select cpu for arm.gnu * Add support for m68xx disassembler + analysis from capstone * Initial support for 6502 with Capstone * Optimize ds_align_comment() Use r_str_len_utf8_ansi() for line len in * Fix glitches in asm.shortcut=1|0 with and leahints * Fix visual leahints hotkeys * Handle meta hints for dwords in visual disasm hotkeys * Improve pds json * Do spec-following r_str_escape_utf8_for_json() * Added new PJ simple print-json (stream) apis assembler * Move mipsasm from mips_gnu to mips_cs search * Add magic headers for GPG symmetric crypto commands * Fix #12473 - implement C. command * aC renamed to ac * aaE -> aafe (#12628) * Support multiple ahi0 == ahi Debugger * When a process is interrupted by a signal, we try to figure out the reason if the information is still available. * FreeBSD/more reliable way to get PID's path. (#12527) panels * Fix a crash when V! calls graph via space key * Fix Cursor mode and Zoom mode and refactoring * Refactoring * Enable cursor and insert in Hexdump * Fix a resizing issue of Panels * Help message for Snow * Snow is supported in Panels because it is winter * Better Hexdump support * Remove mouse events thoroughly from panels * Minor fix when opening a new panel * Cleaned up some macro performance * Improve io map lookup performance in presence of many maps * Limit the blocksize in visual mode * Optimize r_meta_find (~4x faster :D) * refactoring ELF relocs, parse once and lookup in a hashtable print * Fix #12528 - Remove suffix modifier for 'j' in cmd_print.c * Add hex.ascii config variable * Support uneven columns in hex.cols and fix stack after scope issue in scr.rainbow * Fix p- to honor multiple regions * Highlight the flagged bytes on hex.style * Implement hex.hdroff (disabled by default) search * Implement /s, /s* to search for sections depending on entropy threads * Make =h work in tasks, still more work to do to make RCons task and thread safe types * Fix tc and afc commands * Implemented tc command as an alias for tuc;tsc;tec... * Fix #11756 - Implement tsc and tuc visual * Add r_str_len_utf8_ansi() * Improvements for repeated Vd * More fix for Vg and VG * "tT", "tt new tab, t[1-9] switch to nth tab, t= name tab, t- close tab" * Fix #12623 - Make Grep Highlights Case Insensitive * Fix Vg with io.va * Introduce scr.dumpcols to support tabs and minor cleanup * Bring back VO as al alias of V and improve modes * Several improvements in the Visual mode (help, tabs, ...) * Add scr.wideoff to make offsets and reg values depend on asm.bits * Extend the use of the 't' key to manage tabs better, better ascii art * Several bug fixes and improvements for the visual-tab * Improve two dimensional panels with Tab and tabs with ' and '' * Implement ecoo and extend scr.rainbow into pd * Better asm.hints and support repeating in dw wasm * Fix wasm analysis for the end instruction * Fix #12409 - wasm function ids and exports (#12414) To Review * Disable dbg.follow in aaft to prevent seek changes (#12657) * Add %S for base64 in util/pj (JSON printer) * Fix #1298 - Fix visual 'G' for r2 -nn (#12655) * Fix #12615 - Fix renaming vars from vvv * Fix #12434 - Fixes for exports and anal behaviour (#12642) * Fixed loop behaviour (now jumps to correct ends, etc..) * Fixed Exports (aka symbols) * Fix #12273 - Force exec bit in text section (RIOSection must die) (#12643) * Rename aftm -> aft and afta -> aaft (#12631) * Proposal to fix ib DF issue. * Fixed wrong bounds check while PE file resources is being parsed (#12634) * Few compilation warning fixes. (#12630) * use r_base64_encode_dyn * More refactoring for panels * Fix comments * Add assumption comments Remove the V@ command - not intuitive and a bit alien rotating print modes with tab was segfault because of UB Implement recursive interactive help Support ranged cursor selections (for pxd, pxb, pxq, ...) 'i' in pxb visual runs Vd1 to edit the bits under the cursor V' is no longer mixed with Vt Properly restore the print sub-modes in tabs Smart tab key hints (beter located and shorter) Archs * Added support for m680x arch * msp430: registers names for pc, sp, sr and cg * msp430 initialize more default op fields Commands * Clarify aes /Ca help message (#12580) * New commands: aCb, aCm, aCmn, aCll, aClj, aCv, aCm, aC-, aCm- * Fix Segfaults and Leaks in RTTI classes recovery * Accept .?AU as prefix for msvc class name demangling * Classes recovery refactoring * Skip own type descriptor in msvc classes recovery * Cleanup msvc rtti address calculation * Recover vtable, classes, base class, virtual methods from MSVC RTTI * Add flags for vtables and methods * Fix #12543 - Support backward branch and bl assembling for arm64 (#12552) * Fix odd behaviour of pdf (with regards to agfv and agfj) (#12522) * Some code cleanup and start to introduce r_return in r_io (#12523) add the “skyline shadow” concept add r_io_map_is_mapped which binary-searches the skyline shadow to tell if a pointer belongs to any map * Fix printing of the macho UUID load command in iH / rabin2 -H * Improve pxa, use more colors. honor VdF (pf format) ------------------------------------------------------------------- Tue Jan 8 14:39:34 UTC 2019 - atoptsoglou@suse.com - Update to 3.2.0 anal * Add asm.hint.cdiv * Handle ^C in agf (#12618) * Fix size of arm64 wzr register * Rename ac -> aoc, aC -> ac, Fix help * Add the missing fail arc for SBRx instruction * Fix wrong splitting of functions in aac * Initial implementation of emu.ssa * Fix infinite loop bug related to anal.nopskip * Use add-sorted instead of append+sort * Heavy refactoring and sdbify the classes storage+logic * Implement support for nword in ahi * Fix ESIL borrow flag handling for SUB/SBB on x86 * Display all metas in current offset instead of just one * Fix .in=io.maps, improving aap analysis (2052 vs 41 functions find) * Small msp430 improvements * Fix aap for thumb * Fix #8054 - Update cpu flags in arm/thumb ADD/SUB * Display all metas in current offset instead of just one bin * Fix #12654 - workaround resolv reloc symbols in ELF * Refactoring of get_import_addr in format/elf * Fix printing of the macho UUID load command in iH / rabin2 -H * Add timestamp to iRj output * Do not use r_buf_get_at in RBin.nxo to solve 2 clusterfuzz crashes * Fix missing exported symbols in ELF * Add laddr to iI * ie/iee: remove baddr * Use entry.init0 instead of entry0.init * rabin2 -H and iH uses cb_printf instead of eprintf+printf * Improve RBuffer api, start to refactor rbin to use more rbuf * it's nintendo 64 not nintendo 32 build * Appveyor cleaning * Fix musl build (required for Alpine) * Do not statically link binaries by default in sys/static.sh * meson: Do not use glob with meson * Initial implementation of the Alpine Linux package * Improve the meson scripts * Fix Emscripten support * Switch to capstone 4.1 (#12549) * meson: Ensure python3 and no hard-code version * meson: Ensure R2_DATDIR, R2_INCDIR, R2_LIBDIR be absolute path * Users may want to install radare2 to a different directory than ~/bin. * Parse --install-path in sys/user.sh to allow for users to do so. cons * Fix #12667 - Fix heap overflow in RCons.grep * Fix #12397 - Colorize grep words if scr.color.grep is set core * Improvements and code cleanup in util/str * Implement ?j to get JSON output of different representations for the same number * Fix #12482 - Unify asm.shortcut/asm.{lea,jmp} hints * Rename scr.pipecolor into scr.color.pipe * Initial import of the PJ (PrintJSON) API * Fix 11141 - replaced R_ASM_BUFSIZE with RStrBuf* * Bring back f-.localflag (same as f.-localflag) * Add some more random "fun" fortunes * =h& is not an alias for & =h crash * Fix #12479 - negative disk_reads may not be allowed disasm * Fix esil function comment refline when there is jump to addr * Allow select cpu for arm.gnu * Add support for m68xx disassembler + analysis from capstone * Initial support for 6502 with Capstone * Optimize ds_align_comment() * Use r_str_len_utf8_ansi() for line len in * Fix glitches in asm.shortcut=1|0 with and leahints * Fix visual leahints hotkeys * Handle meta hints for dwords in visual disasm hotkeys * Improve pds json * Do spec-following r_str_escape_utf8_for_json() * Added new PJ simple print-json (stream) apis assembler * Move mipsasm from mips_gnu to mips_cs * Fix #12543 - Support backward branch and bl assembling for arm64 (#12552) search * Add magic headers for GPG symmetric crypto commands * Fix #12473 - implement C. command * aaE -> aafe (#12628) * Support multiple ahi0 == ahi Debugger * When a process is interrupted by a signal, we try to figure out the reason if the information is still available. * FreeBSD/more reliable way to get PID's path. (#12527) * Disable dbg.follow in aaft to prevent seek changes (#12657) * Fix r2 -Ad regression panels * Fix a crash when V! calls graph via space key * Fix Cursor mode and Zoom mode and refactoring * Enable cursor and insert in Hexdump * Fix a resizing issue of Panels * Help message for Snow * Snow is supported in Panels because it is winter * Better Hexdump support * Remove mouse events thoroughly from panels * Minor fix when opening a new panel performance * Improve io map lookup performance in presence of many maps * Limit the blocksize in visual mode * Optimize r_meta_find (~4x faster :D) * refactoring ELF relocs, parse once and lookup in a hashtable print * Fix #12528 - Remove suffix modifier for 'j' in cmd_print.c * Add hex.ascii config variable * Support uneven columns in hex.cols and fix stack after scope issue in scr.rainbow * Fix p- to honor multiple regions * Highlight the flagged bytes on hex.style * Implement hex.hdroff (disabled by default) * Improve pxa, use more colors. honor VdF (pf format) search * Implement /s, /s* to search for sections depending on entropy threads * Make =h work in tasks, still more work to do to make RCons task and thread safe types * Fix tc and afc commands * Implemented tc command as an alias for tuc;tsc;tec... * Fix #11756 - Implement tsc and tuc visual * Add r_str_len_utf8_ansi() * Fix #1298 - Fix visual 'G' for r2 -nn (#12655) * Improvements for repeated Vd * Implement recursive interactive help * Support ranged cursor selections (for pxd, pxb, pxq, ...) * More fix for Vg and VG * tT, tt new tab, t[1-9] switch to nth tab, t= name tab, t- close tab * Fix #12623 - Make Grep Highlights Case Insensitive * Fix Vg with io.va * Introduce scr.dumpcols to support tabs and minor cleanup * Bring back VO as al alias of V<tab> and improve modes * Several improvements in the Visual mode (help, tabs, ...) * Add scr.wideoff to make offsets and reg values depend on asm.bits * Extend the use of the 't' key to manage tabs better, better ascii art * Several bug fixes and improvements for the visual-tab * Improve two dimensional panels with Tab and tabs with ' and '' * Implement ecoo and extend scr.rainbow into pd * Better asm.hints and support repeating in dw wasm * Fix wasm analysis for the end instruction * Fix #12409 - wasm function ids and exports (#12414) Archs * Added support for m680x arch * msp430: registers names for pc, sp, sr and cg * msp430 initialize more default op fields - Update to version 3.1.3 * Visual xrefs with undo seek behaviour * Improve visual panels * Fix fffff issue when doing aaaaa in NSO bins * Fix some memory leaks and warnings. - Update to version 3.1.2 bin * Fix double-free in RBinClasses regression introduced in d6fd896 * Fix #12384 - Crash in fuzzed macho binary anal * Honor regsize to detect UB shift overflows in ARM64 code emulation * Fix assert in aaa when entrypoint is wrong panels * Some fixes in panels visual * Fix Visual k into basic block * Some more improvements for the visual xrefs (fix undo seek and more) Other * Fix some warnings * Fix #12376 - crash in: rasm2 -a arm -b 64 '0 ,0,0,0,0,0,0,' ------------------------------------------------------------------- Mon Dec 3 14:50:50 UTC 2018 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to version 3.1.2 bin * Fix double-free in RBinClasses regression introduced in d6fd896 * Fix #12384 - Crash in fuzzed macho binary anal * Honor regsize to detect UB shift overflows in ARM64 code emulation * Fix assert in aaa when entrypoint is wrong panels * Some fixes in panels visual * Fix Visual k into basic block * Some more improvements for the visual xrefs (fix undo seek and more) Other * Fix some warnings * Fix #12376 - crash in: rasm2 -a arm -b 64 '0 ,0,0,0,0,0,0,' - Update to version 3.1.1 anal * Detecting pure functions and add afip command * Add ThunRTMain as noreturn bin * Fix #12374 - oobread crash in truncated dyldcache * Identify arch in MSP430 ELFs build * DragonFlyBSD linkage fix * Fixes for the --without-debugger compilations * Support NetBSD explicit_memset * Fix build on old mips and armv5 disasm * Fix #12330 - Disasm hints work even if asm.cmt.right=false * Show segment comments if there are no sections (elf only) * Fix escaping string flag name for pdJ * Handle asm.syntax and call jump/fail for msp430 panels * Use 'e' and 'n' keys in panels to edit command in current panel or open new * Hud improved in panels * FcnInfo should be cached * Fixed a performance issue * Set the core offset right and update the panels correctly when scrolling disassembly * * Stop the partial update and set the core offset right, plus some refactorings * JK is for quick scroll and refactor help messages types * Implement tu* without args xrefs * Add <>hl keys in Vx Other Changes * Fix #12375 - Crash in bd+ao (#12382) * Improve error message in fcn_cc * Implement pfq command (#12383) * Fix #12372 and #12373 - Crash in x86 assembler (#12380) * 0 ,0,[bP-bL-bP-bL-bL-r-bL-bP-bL-bL- * mov ,0,[ax+Bx-ax+Bx-ax+ax+Bx-ax+Bx-- * leA ,0,[bP-bL-bL-bP-bL-bP-bL-60@bL- * leA ,0,[bP-bL-r-bP-bL-bP-bL-60@bL- * mov ,0,[ax+Bx-ax+Bx-ax+ax+Bx-ax+Bx-- * Fix crash in gdb when desc is null * Fix #12333 - NSO not working and a bunch of UB in arm64 ESIL (#12379) * Fix #12359 - Vx does a seek history push * Fix #12284 - x86-16 far call follows wrong address * Various mem leak fixes (#12361) * Refline generation ignores comments (#12362) * Refline generation ignores comments * Add and use r_meta_enumerate_at() instead, and make Travis green properly * Add and use r_meta_find_any_except() instead * Warn fixes (#12360) * Remove unused variable from __io_attach * Avoid using empty string with snprintf, just set \0 * Cut flags inbytes string if too long (#12356) * Fix double free * is_pure -> is-pure * Couple of mem leak fixes. (#12355) * Rename r_str_escape_utf8_to_json to ...for_json * Update the tiled webui from radare2-webui (just new dependencies) * Fix assert in rva when loading android elfs * Add assert warning in fun fortunes * Aim to fix the msc build of the updated bin-demangle * Graph and Pseudo can be updated with L command * Little type correction/panels. (#12353) * Minor fixes/cleanups (#12349) * Fix #12350 - Upgrade the c++ demangler from 2011 to 2018 * Fix #12336 - Handle asm.cpu in the CRIS disassembler * Fix the meson build. * Fix few memory leaks/panels (#12347) * Add clock_nanosleep configure check * Fix compile-time breakpoints for arm<6 * Fix null deref in RSocket.free when compiled with SSL * C++ RTTI classes info ita64 leak fixes. (#12339) * Simplification self plugin for BSD. (#12341) * Fix panel’s z key * Update meson.build (#12342) * Fix msp430 disasm and warnings * Couple of leak fixes, div by zero avoidance. (#12338) * io_ptrace: do not include io_ptrace if DEBUGGER is not defined * meson: add debugger option to not use any debugger * More goodies for breakpoints and kill r_sys_trap * Add mips software breakpoint in the macro * Change unneeded global static vars to local static (#12324) * Update dyldcache to support v1 rebasing (#12331) * Fix use after free in radare2. (#12332) * We need the path a little bit longer. * Upgrade to latest express to silent github warning ------------------------------------------------------------------- Fri Nov 30 14:31:58 UTC 2018 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to version 3.1.0 anal * Improvements arm/thumb analysis * anal: arm: emulate correctly BX PC in arm32/thumb * anal: arm: modify r_anal_build_range_on_hints * anal: arm: handle better anal hints to increase performance * Use r_return in RAnalOp, reduce some code paths in xrefs search * axt with a space handles local var xrefs * Fix #9709 - Implement aeab to get input and output regs of the basic block * Fix r_core_anal_graph_to and abt, abtj commands * Fixed ttj feature for printing in JSON * Set as dword all the jmptbl offsets * Support overlapping basic blocks in anal.endsize * Cannot extract reg args if no calling convention is present * af-* removes jmprefs as well * Enable invalid insn notification in fcn_recurse and remove warn-near-end break * Handle alias returns and delay slot for SPARC * pdf sparse honors anal.jmpmid + afb+ fills op_pos array (x86 only) * Add new axff command (xrefs from function) * Check addrs 1-by-1 in pdf sparse code * Honor anal.jmpmid in r_anal_fcn_bbget_in (fixes test and bug in pdr and graph) * Fix #10420 - Enable anal.jmpmid and support overlapping bbs * Improve array indexing in disassembly * Remove aae dup and enable anal.types.constraint in aaaa * Small optimization and bugfix when auto-renaming functions * anal.jmpmid: Continue analysis after jump to middle of instruction * Use op->val instead of op->ptr in cmp [mem], imm * Add missing FITFCNSZ in r_anal_fcn_split_bb * Add new function prelude for ARM thumb * Implement ARM32/Thumb ESIL for ADR and ADDW * Fix #11879 - Move aae in aaa * Check addrs 1-by-1 in pdf sparse code asm * Support REX in NOT instruction for the x86 assembler * Fix #12239 - crash in the x86.nz assembler bin * Introduce RBinArchOptions to avoid creating fake RBinFile/Objects * Access last ElfSymbol only after reallocating the array * Fix #12194 - Resolve symbol names in WebAssembly bins * New RBin plugin for "symbols" files * Fix #9825 - Wrong import addresses in the ELF for ppc64 elfs * Fix some bugs in RBin.mdmp * Remove deprecated load methods from MZ parser * Implement load_buffer for MZ parser * Cleanup and fix the MZ * Correctly allocate strings when filtering them * Fix #12082 - infinite loop when loading PE * Use ht to query strings for the cfstrings * Refactoring RBin.open/close and RBinOptions * Improve MSVC detection and demangling * Another RBin API cleanup * Fix last gf 4byte write overflow in ELF * Fix big allocation issue found by googlefuzz in ELF * Fix #11947 and fix #11945 - Implement iS= and iSq. * Eliminate unnecessary global in mach0 parser * Parse the LC_MAIN in rabin2 -H * Fix googlefuzz crash caused by OOB in shdr_link * Fix loading of entrypoints on some huge mach0s * Refactoring and optimization for the RBin.language identification * Fix #11922 - Allocate space for sentinel too * Fix a crash in the OMF RBin parser * Lookup for golang and asan traces once * Fix crash in fuzzed sega master system rom * Fix crash in the MZ parser found by googlefuzz * Parse the mach0's requirements codesign slot * Fix entry0's hvaddr for ELF build * Handle libr/libs.custom.mk to make partial r2 builds if you need just a portion of r2 * Fix ios-arm32 * Add --without-libuv and companion flags in ios-static-appstore.sh * Fix MacOS Mojave User Debugging Problem * Downgrade credentials when building with sudo * Add -static for the binaries when --with-libr * Add io.r2web, io.r2pipe, fs.io and debug.io for iOS * Fix the build of the iOS SDK core * Fix #12060 and #12072 - Rewrite r_num_abs and r_num_units * Fix #10324 - Implement RLog API for leveled logging debug * Fix #12022 - Slow backtrace fixed by speeding up ptrace_wrap_func() * Add dbg.verbose variable to show more info when debugging * Improve pid_to_task and handle =!pid * Fix some spawn args escape bugs disasm * Fix ANSI injection vulnerability in pd and pdj * Fix #12202 - Add asm.maxflags to specify how many flags per offset we want to see * Fix #11889 - Fix varsub when some ANSI escape sequences are involved * Fix echo in ppc disassembler on invalid instructions * Honor asm.bb.middle in r_core_print_disasm_instructions() * Honor asm.bb.middle in r_core_print_disasm_json() / pdfj * Use fastcall in emustr on function calls * Fix heap overflow in long asm lines /via radareorg/cutter#803 * Add asm.bb.middle: Realign disasm on bb start docs * Remove legacy issue templates and use modern one's * Fixed typo in DEVELOPERS.md esil * Fix zero interrupt issue graph * Fix asm.flags.inbytes not showing in graph magic * Add help in wtf!? and add bitcode magic signature panels * First step to support xrefs in visual panels port * self plugin is now working in DragonFlyBSD * Support DragonflyBSD build and backtrace * Adding self proc support for FreeBSD print * Implement , and ; in pf to rewind and be able to support unions * Fix #12116 - Implement bytesize for pvj * Add pfj Z format projects * Open radare2 project after loading plugins and keep the -e flags refactor * ELF plugin code cleaning * Upgrade SDB and use the new HtPP, HtUP, HtUU * Remove "referenced" from RBinObject and remove get_object * Move trie, mixed, slist into Sdb's Attic, and DES from util to crypto * Remove other unused functions in RBin and make others static * Cast arguments to ut8 when feeding ctype.h functions * RBinSection now lives in the heap * Remove unused functions in iosections * Remove all S commands * Use r_return_* in RAnal's cc and fcn * Modernize RFlag with asserts, boolified and more * Initial import of the REvent API * Remove SR commands * Fix #11936 - Optimize RCons.hud with cache * Fix build and start refactor of r_cons_hud() * Remove Sf command * Kill anal.bb.align variable * remove r_bin_load_io2 and rename MODE defines * Code cleanup in the mach0 parser * Fix #11881 r_list_length assert for o->libs * Some code cleanup and asserts in RBin * Upgrade SDB and use the new HtPP, HtUP, HtUU * Remove "referenced" from RBinObject and remove get_object search * /Cd is now using a proper bitmask to search the values * Fix regression in /rc and avoid repeated errors * Fix #11977 - Handle arg in on /r subcommands * Fix #11961 - /at swi for unconditional (or cswi) types * ta command now takes an optional offset argument * Implemented tec command * Add ttc - dump types in C syntax * Fix #12166 - Implement tt* to list all types at once visual * Add support for shift-arrows in st and rxvt-unicode * Fix #12307 - Escape ansi chars in cbin * Improve the Visual xrefs with from/to disasm and handle JK * Move the fcn refs visual feature into the view instead of adding more keys * Fix #12230 - Honor cursor in Vp xX * Fix #12258 - Fix glitches in VV with |= aka cmd.gprompt * Get cursor position only if screen_bounds == 1 * Fix VJ scrolling stuck issue * Improve the visual titlebar in cursor is enabled * Change the behaviour of V< and V> to make it slurp or dump files * Initial support for key repetitions in visual mode * Fix #11552 - Implemlent r_cons_more and refactor some less.c * Implement scr.scrollbar * Implement cmd.hexcursor feature * Add stack.reg and handle pP in Vppc * Add LL command to lock screen * Fix the resizing algorithm of panels * Fix help in panels * Fix : command * Change the default panels depending on the analysis * Null terminate buffer to fix garbage in psi, psb and psz * Properly support the Hud in panels ?? && _ * Handle / key in visual panels to set scr.highlight * Handle ^C in RCons.less wasm * Initial ESIL support for WASM windows * Fix gmtime_r for msvc * Fix visual panels crash on Windows * Fix unicode path issues in Windows - Update to version 3.0.1 anal * Fix cyclomatic complexity computation when jump tables are involved * Fix #11838 - Use op.val in aar and honor asm.var.submin bin * Revert "Fix #11869 by using r_bin_elf_p2v_new (#11876) * Fix #11869 by using r_bin_elf_p2v_new (#11876) * Support the new Apple Watch arm64_32 mach0 cputype * Complete mach0.lc.toString for better rabin2 -H * Revert "Fix #11869 by using r_bin_elf_p2v_new (#11876) bugs bugs * core/cbin: vaddr/paddr were switched in iz build * Fix static blob build for android and disable libuv * Fix the build of the static merged shared library * Rewrite libr.a make target without partial-ld * Initial import of the sys/meson-sdk.sh * Fix android build for the latest NDK based on LLVM * Static builds must go without libuv dependency * Don't strip binaries in static.sh (#11832) port * Fix build for ptrace-wrap with musl * Fix #11834 - Check fbsd/nbsd versions for clock_nanosleep refactor * API cleanup and support RCorebind in RSocket.R2Pipe * Fix gcc8 warnings and rename core/asm.c to casm.c * Fix #11553 - Remove the R_NOTNULL bad practice rules * Add sys/release-notes.sh and define commit message conventions tools * Allow multiple packages as arguments for r2pm -i,-c,-ci visual * Fix visual panels glitch and handle 's' in zoom mode * Fix #11851 - Cursor and echo glitches in Visual * Fix displaying ESIL function comments in the graph Other Commits * Release 3.0.1 - bugfixes * Disable libuv in sys/sdk too * m68k: Properly classify rol/ror/not instructions * Add missing linking flags to statically build in OpenBSD * Remove PIC plugin from static builds, no need to keep fighting * I will merge asm/anal plugins before someone cares about this * It's still built as shared, so it can be loaded on startup * Fix sys/meson-sdk.sh * This reverts commit 8115510. * Fix null deref in aav for static builds * ie: set hvaddr of elf entry0 from hpaddr * And remove dead code * Do not build GPL code with the static build * Fix static build problem with ptrace-wrap * Add asserts and checks to ensure the graph is correct before analysis * Use correct E-N+2P formulae * Run afbe right after af to get the jmptbl info loaded asap * Fix #11856 dmh puts "No Heap section" error msg twice (#11857) * Sync ptrace wrap for musl (#11862) * Removed a really meaningless piece of code (#11861) * m68k: Properly classify return instructions (#11848) * Fix help and autocompletion for id* (#11845) * Fix UBSAN unaligned struct issue in the tcc parser (#11846) * Fix regexes in sys/release-notes.sh * PDB switch to R_PACKED and utN types (#11830) * Fix typo, use R_PACKED and use r2 types in the PDB parser * Clarify BIOS section mapping in comments * Improve BIOS images loading * r_util: use char * instead of void * * On some architectures it is not valid to dereference a void * (I'm * getting this error when trying to compile on ppc64le and s390x), so * let's switch to char *, which is valid. ------------------------------------------------------------------- Tue Oct 16 10:43:58 UTC 2018 - Daniel Molkentin <daniel.molkentin@suse.com> - Update to version 3.0.0 Portability * Fix build for GNU/Hurd by removing the PATH_MAX usage (#11816) * Make r_sys_usleep use clock_nanosleep (#11410) * Make compilation on Raspberry Pi more user friendly (#11379) * Fix signbit build problems for android-arm * Scripted dynamic building of alpine docker image (#11515) * Reimplement TCP Server with libuv and add configure/meson flags (#11403) Binaries * Improvements for ELF section resizing * Fix entrypoint resolution when program headers is missing * Improve program headers handling in ELF * bin/demangle: demangle names that end with @@CXXABI * Improve the language detection for Rust, C++ and LLVM block extensions * Detect binaries compilers with sanitizers (#11479) * Parse CodeSign blobs and compute SHA1/SHA256 in Mach-0 binaries (#11491) * rabin2 -OC, WIP requires proper refactoring and redesign IO * Make r_io_plugin_{read,write}_at not seek character devices. * Add r_io_{desc,fd}_is_chardevice. * Add r_io_desc_open_plugin. Visual * Added window mode in visual panels * Show column headers in RBin info (r2con) (#11444) * radare2: Try to detect color support and set scr.color accordingly. (#11420) * Fix #11455 - Implement internal less pager with scr.pager=.. (#11548) * Use full screen in r_cons_less (last line was not used before) Debugger * Watchpoints menu is back and Breakpoints menu is improved a bit (#11544) * Fix #11509 - Handle segfault signal in the macOS and iOS debuggers (#11557) * Use PT_ATTACHEXC and PT_SIGEXC on mac to get BSD signals as XNU exceptions * Fix debugging in FreeBSD 11.2 (#11726) * Introduce ptrace-wrap, to support multi-threaded debugging in Linux Analysis * Add initial documentation for ARMv8 PAC instructions * Upgrade arm.gnu disassembler to support ARMv8.3 (#11691) * Improve MSP430 function boundaries analysis * Detect function prefixed with __libc_ and __GI_ (#11663) * Add aang to recover function names from stripped Go binaries (#11594) * C-Sky and MCore support for r2 (#11448) * Improve ARM and X86 ESIL emulation * Zignatures now support sha256 bbhash * Fix #11437 - syscall calling conventions for x86-64 (#11549) * print class name in avra (#11486) * Fix ESIL x86-32 for 'push esp' (#11384) * Implement API for loading interrupt handlers (thx @vifino) * ESIL CHANGE: The == operation should not push any value back on the stack, use $z and NUMfor this (#10006) Disassembly * Add asm.usercomments to disobey asm.comments (#11620) * Improved X86 assembler * Fix asm.describe=1 when asm.cmt.right=0 (#11803) * Make up graph with new UTF-8 character for the backward lines (#11770) Commands * Command repeat (prefix syntax) is now ut64 (#11656) * Handle partial address seeks directly from RNum (#11664) * Add commands to print ASN1/DER/PKCS7 in normal and quiet modes (better than openssl asn1parse), added more OIDs Fix #11071 - Implement 1u8, 1u16, 1u32, 1u64 in RNum (#11765) * Updated help messages and new ?$? variables * Fixes in pCx, pxr, pd-, pd--, pae, pade,.. * Improve the t subcommands with JSON output * Fix #10290 - Support R2_ and without prefix in r2 -H * Add pFo, parse certs from Mach-0's cdhash and minor X509 cleanup * Added cmd.load: Run when binary is loaded (#11483) * Implement the _ (underscore command) to print the output of the last command Refactoring * Fix #11616 - Remove the use of RMemPool and update some comments for future discussion (#11665) * Enabled UBSAN (Undefined behaviour, improve stability on ARM/MIPS platforms) * Enabled coverage checks in Travis CI, added Coveralls bot * Enabled ASAN in Travis CI for passing tests * Fix GCC 8 warnings * Fix a lot of undefined behavior thanks to the r_assert API * autogen.sh now uses r2pm to update acr * Use more sys/indent.sh -i (supports clang-format) * Fix a lot of memory leaks * Fix #11112 - Rename {srwx,flags,perms} to perm. (-21 LOC) * Unify R_IO, R_BIN, R_BP, .. into R_PERM_* using 1 letter syntax * Huge speed up thanks to updated SDB, which fixes the hashtable implementation making it use less memory and perform better Heap * dmh with glibc now works without symbols * linux_heap_glibc: fix dmhf and allows dmhf @thread_arena (#11441) * linux_heap_glibc : dmha and dmht, check threaded arenas free status (#11390) Bugs * syscall: do not reload sdb database if nothing changes (#11801) * Fix more crashes related to the RStrBuficization of RAsmOp * Added main detection for linux64 endbr64 (#11731) * Implement bruteforce block to find hash collisions (#11595) * Fix SHA digest alignment issues found by UBSAN (#11596) * Fix #10408 bitwise rotations in RNum (#11508) ------------------------------------------------------------------- Wed Oct 10 12:48:32 UTC 2018 - daniel.molkentin@suse.com - Update to version 2.8.0 Build system * This release improved meson buildsystem support for different platforms. A lot of work was done to ease the life of package maintainers allowing to decouple some of radare2 dependencies. * Switch to capstone master branch * Analysis * ESIL improvements in different architectures * Added esil.breakoninvalid to break on invalid instruction * Types propagation * Parsing [s]printf-like format strings for argument types * File format * Initial revival of .NET PE binaries support ("xtr.pemixed" plugin) Debugger * Add support for GDB watchpoints * Add gdb support for Renesas/NEC V850 architecture * Various GDB and WinDbg remote clients fixes * Commands' changes * Improved history handling and autocompletion * Remove address argument from most of `ag*`` commands * Added aecc (continue until call) * Added zfs **.sig to load all signature files * Implement ?vx command * Implement ls -q and lsq commands to list files in quiet mode (one file per line) * Cd. to show size of data at current address * Add a verbose option for afta to increase visibility on missing database input * Autocomplete L <file> * Added command Ct to add type analysis comments * Add &b command Visual mode * Refactored canvas and panels code, Unicode support everywhere * Improved panels and graphs drawing performance * Autocompletion widget * Improved colored highlight of the types, variables * Implemented [1][2] jumps for panel mode * New r2 colorscheme (onedark) * Compacting the disassembly output - xrefs, variables * Add '#' key to toggle graph hints * Dotted conditional jump lines (e graph.dotted) ------------------------------------------------------------------- Tue Jul 10 10:21:46 UTC 2018 - daniel.molkentin@suse.com - update to version 2.7.0 This release brings a lot of improvements in the analysis and visual representation. Things like improved variable detection, types inference, extended jump tables detection are now enabled by default (see afta command for the variables and types inference). A lot of small fixes to make visual modes even prettier than before: Unicode support across visual modes and strings, bugfixes, and enhancements of the visual panel's mode, extended autocompletion. Big amount of these changes was brought in by our beloved Google Summer of Code students and external contributors. There is one more notable big change - background tasks, improving the responsiveness of radare2 in visual mode and from r2pipe. File formats * Fix ELF issue with null SHT entries Architectures * Fixed ARM instruction filtering * Major fixes in SH analysis and ESIL uplifting * Fixes in PPC analysis and ESIL uplifting * Add support for PIC Midrange & Enhanced Midrange * Analysis * Improved arguments detection * Improved register-based arguments and variables analysis * Initial support of C union types * Add op.ireg/scale to ARM and apply that in type link * Use RAnalop.dst/src across different architectures for immediates' value analysis * Initial support for type inference across function calls * Add double pointer dereference analysis * Initial work on type inference based on instruction access pattern Visual mode * Support for Unicode strings * Support for graphs in panels mode * '-' and '|' keys for a horizontal and vertical split in panels mode * Improvements and fixes of graphs reflow and rendering * Fold cases of switch cases to the same address * V!d <-> V!D : for consistency with visual mode (Vd) * Add backspace as an alias for q in Vb * It's now possible to display the real names of flag, instead of an r2-mangled one * Improve vv visual function browser * Improve vv: vvR, vvd and colorize title * Add the ability to select a column with tab to scroll with jk in disasm * Handle JK in vv, add _hud * Visual function browser - enter seeks to the function * In visual panels make JK scroll more instead of change frame selection * Graphs * Add colorized shortcuts to (mini)graph * Improve jum-tables edge positioning * Merge edges with the same origin/destination Configuration changes * Removed anal.split and anal.bb.split * Removed unused cmd.graph * Added anal.endsize * Added asm.imm.str to autodetect strings as immediates * Added asm.xrefs.fold to fold big amount of references * Added asm.flags.real to show real (unescaped) flag names * Substitute asm.lines with asm.lines.bb * bin.maxuniblocks - max number of Unicode blocks that a UTF string can consist of * Bring back io.pava (EXPERIMENTAL) Debug * Various fixes and improvements in remote WinDbg support * Implement dpt for windbg plugin * Fix F1-F9 debugging keys * Implement named breakpoints with support for expressions New and changed commands * !!!: for registering autocompletion logic * Improve aod: aod* is now aoda, aod. is aod * Support for using variable name in tp * Implement $r{} to access register values by name * Added -ee to rabin2 -g * Make dm. output like dm and add dmq. * Implement ?d* to list all opcode descriptions * Implement {flag} to get flag size * Add ahr command to set hint for function return values * Implement tpx command to accept sequence of bytes * Honor @x in pf * Renamed command agt to abt * Support 0xff.. syntax for RNum * Implement rax2, rahash2, r2pm, … as r2 commands * Implement omo and oq. commands * Implement omq. * Implement ompd to depriorize a map * Implement dbi addr and dbi. * Added agA global graph and agR global graph * iSSj: json output for iSS * Add afls to sort function list * afls->afl+, sort afls help * Add &t command * Added json version of dp* * Added json list to debug plugin list dL * Extend output of ao to show ireg, scale, ... * Show cycles, failcycles and delay in ao, as it was in aoj * Renamed ?d into aod * Moved r2 segment cmds from iS* to iSS* * Use segment. prefix for segment flags in set mode * Moved segments from rabin2 -S to rabin2 -SS * Implement rafind2 recursive search ability * Make equiv flags for rabin2 -g more future-proof * Added wordhl and linehl color theme options to set highlight color - changes for version 2.6.0 Highlights * new iOS dyld cache parser * mergelib is now * Rename a lot of asm. variables * Implement dmh* and dmhj * Autocomplete for 's+ ' * Add support for the Zig programming language * Initial import of the flag tags registry * Add ?e? help and Implement '?ep' to print PIE charts * pdf works as expected now :) * arm asm.varsub supports asm.pseudo for fp * Initial implementation of flag tags * Implement iO as a frontend for !rabin2 -O * Allow asm.highlight color change thru ec line_highlight * More uniform xref type output , single, global xrefs API (Thanks to Riccardo Schirone,pancake,rene) * Add sepia theme * New command: pdRj * Add pxr in visual mode (VP) * Implemented rax2 -i functionality, to mimic xxd -i * Created signing script and added to build.sh * Ragg2-cc is now completely erased from r2 (merged into ragg2) * Add support for more jump tables * Honor RAnalHints and optimize aac * Improve leahints to handle UJMP references * Implement wtff to dump with offset in name * Make /m create flags * jmptbl detection now tries to identify table size and default case * Highlight seek line using different background color * Better graph box colors for the bold theme * Fix agv color boxes for some themes * Initial work on supporting pauseable CoreTasks * Add asm.meta, and make magic when disabled. Fix sys/rebuild.sh cs * Add initial temp breakpoint support (#9845) * Add float and double to the default types * Initial work to support entropy graphs in rahash2 via r2 * Implement 'aaf' analyze all functions. using afr and hasnext * Improve leahints * Add Input regs and oneliner @w and @r outputs in aea* * Vr now toggles asm.*hints * Reimplement VbC in C and drop it from Vcjr * Add flag at both offset and value for /V * Fix aos by enlarging the blocksize * Fix use after free and oobread in pf command Graphs * Added import graph; updated ag? help * Initial support for agd output formats * Added data graph (aga) with all output formats * Add jpg, svg, pdf.... extensions for 'w' graph output format * Support for every output format for callgraph (agc and agC) * Support every output format for the bb graph * switch/case edges are now also added to graph view via afbe Types * Refactored and optimized afta command * Refactored and improved afv* commands * Manage types enum more properly * Array of struct now works with ts * Implement tss to show struct size * Implement ts* command Build * Bring back libr.* targets in libr even without BUILD_MERGED * Fix static build * Minor improvements for the makefiles * Fixes for the ios-sdk build * Meson: remove duplicated io_plugins entries * Meson: make git executable optional - changes for version 2.5.0 This release brought many small improvements to the existing commands and features, it improved different platforms support and cross-platform compilation. Moreover, integration with Cutter was also greatly enhanced. Thanks to new contributors visual modes (panels in particular) were polished to shine. New Features IO There is an important addition in IO land: added gprobe plugin for communication with various parts from computer displays, based on Genesis/STMicro/MegaChips chipsets. RopChain Rop gadgets are (finally) stored in sdb, meaning that the search process will be much faster. And since they are now only searched once, and then stored, only the first search will take some time. The following ones should be instant! Analysis Radare2 gives a lot of power to the user to perforn manual analysis, hence why we're constanstly improving and adding features in this area. Like the new /g command, to find all possible paths from A to B inside a function. Moreover for the capstone analysis modules granularity assumptions were fixed to be handled properly. GUI Visual panels are now capable of using utf8 characters, so they are looking prettier. Especially with the color sheme support! Misc and usability As usual, more and more commands are now supporting the j suffix, to output JSON. We removed some dead code, memleaks, added some fixes, … you know, the usual drill. The ragg2-cc and ragg2 tools merged into a single binary. This should remove a lot of confusion and reduce the number of questions asked on our IRC chan :D. Since radare2 is a complex software, we're adding more and more autocompletion support in it! Please do open bug if you feel that we missed some subcommands. Build system You can now build radare2 with the meson build system. This should improve the build time. Code cleaning We moved x86.udis to radare2-extra, because we're using capstone as a main disassembler. You can of course still use UDIS if you prefer, by installing it with r2pm: r2pm -ci udis86 File format handling Radare2 is now able to parse RTTI for both GCC and MSVC New commands * Initial implementation of cmd.pdc to select pseudo-decompiler * Added dsuo commad to step until opcode type * Added support for extended regex in asm search * Implement dietline history on mount-shell * Improve ar= command to accept a list of space/comma separated list of registers to show * Added version info for shared libs * Initial implementation of RFShell tab autocompletion * Added avraj output for gcc * Implement pdp to print pointer chains (rop chains) * Implement aos to show the size of N instructions * Added json output for search commands /mj, /vj and /Vj * Implement pdsb, /gg to graphpath following calls, and honor anal.depth and search.count * Added breakpoints for mips64 * Implement r2k.wp and fix r2k.io * Improve r2k-linux \? commands and revert io.undo patch * Implement cu[1248] command * util/num: add support for ROR and ROL * asm.emu.str: include \t, \r and \n as string chars * Implement afxj command * Just move cursor when in visual mode and you seek to a new offset that is in the same page * add asm.emu.strflag: control showing of flag for asm.emu string * Added file autocompletion after > * Make s.. push in the undo history * Implement px[WQ]q and honor asm.offset * Added tt command to show typedefs * dm/dmm code cleanup and fix dmj json output * Ragg2-cc -> Ragg2 merge (#9658) * Update SPARC asm.describe * Update PowerPC asm.describe * io: Add DDC2Bi3 protocol wrapper to gprobe plugin; The DDC2Bi3 wrapper is used for both DDC2Bi3 and I2C communication channels, for example HDMI DDC or I2C Host Interface. asm.emu.strinvert: control color inversion of * asm.emu strings * Shortened asm.emu.strinvert toasm.emu.strinv and its desc * Implement radiff2 -u and radiff2 -x * Fixes loading Core files from Virtualbox (> 2GB ELF64) * Transition to use RBuffer.io in RBin * Make P just show the list of projects * Fix temporary seek when using @b @A @e or any other local modifier that do not work on their own temporary block Improve aac performance on files with * class info * Make av, avr and avra breakable by the user * In visual disassembly, add a shortcut ( ;[n]) on jump hints * Add ?a command in to show ASCII table ------------------------------------------------------------------- Mon Mar 12 10:22:28 UTC 2018 - daniel.molkentin@suse.com - update to version 2.4.0 Build Find _main in MSVC-compiled MZ binaries Meson: Added sdb building/installation rules Install Headers and .pc Files with Meson Use meson pkgconfig for .pc files Initial sys/purge.sh distro to remove r2 distro packages Fix MSVC dynamic linking Upgrade to latest acr to honor AWK env var Added v810 and tms320 to meson Added x86_udis to meson Debugger/IO Use io.pcache instead of io.cache, improve speed Enable io.cache for afta too under aaaa Added asm.bbinfo for debugging op_pos Implemented wao for arm64 Support RIOBind on RBuffer for fcpy_at Assembly Added an alternative and colored view for varsum Improvements in bin.strfilter and asm.emu Hexagon QDSP6 v6 support - LGPLv3 Bin API More code cleanup in RBin api for file and obj Refactor RBin for file and obj, mach0 headers to stdout izz/izzj now works with -n without using rabin2 Make idpi independent of bin loading New Commands/Eval Implemented @@iS RBin.Section foreach operator Implemented @% suffix operator Refactored asm.cmt* and scr.* Implemented @B: to temporary seek to the Nth BB Implemented cp. and fix r_sys_copy on mac/ios Fix wao ret* for arm64 Added command to edit ~/.radare2rc Improveed aae to support cstr and pstr like asm.emu.str Implemented support for cstr and pstr for asm.emu.str in disasm Added asm.emu.stroff: always show offset when printing asm.emu string Initial support for dbg.symstore Change all asm.emu* to asm.emu.* Better support for AVR: Implemented opcode masking for improved zignatures Added missing opcode info (val, ptr) added pseudo code for avr instructions movw and st* Better graphs and visual panel: VC rotates scr.color instead of toggling Implement axgj Added < command and make dietline reuse rcons.readChar Improve RCons.readPush and add .readFlush() to make V* happy Implemented r_cons_readpush() new api and fix the V... automation e graph.format=? and missing help for @@iS Intial implementation of function call argument display Experimental Cons_INVERT in strings in disasm Added VbC to browse comments Added VbF to browse functions Implement VV) - rotate asm.emu.str in visual graph Added ) key in visual to toggle asm.emu.str Honor scr.color in Vbf Added Visual browser for process threads ------------------------------------------------------------------- Sat Feb 24 02:58:41 UTC 2018 - stefan.bruens@rwth-aachen.de - Override BUILDSEC to make build reproducible ------------------------------------------------------------------- Tue Jan 30 07:19:05 UTC 2018 - daniel.molkentin@suse.com - update to version 2.3.0 * use latest acr 1.4 * Fix #9259 - Crash in mdmp unsigned negative indexing * Fix #9246 - Error when trying to assemble an invalid jmp address * Fix #9255 - gdb cannot read memory * Add gb linking (#9257) * Other fixes ------------------------------------------------------------------- Mon Jan 8 05:30:33 UTC 2018 - daniel.molkentin@suse.com - update to version 2.2.0 * drop radare2-fix-make-install.patch ------------------------------------------------------------------- Thu Aug 17 08:52:45 UTC 2017 - daniel.molkentin@suse.com - update to version 1.6.0 * drop radare2-cmd-fix-lock.patch * drop CVE-2017-10929.patch ------------------------------------------------------------------- Thu Jul 6 09:46:56 UTC 2017 - daniel.molkentin@suse.com - Fix CVE-2017-10929: Heap Buffer Overflow in r2_hbo_grub_memmove (bsc#104744) - CVE-2017-10929.patch ------------------------------------------------------------------- Sat Jul 1 00:49:50 UTC 2017 - daniel.molkentin@suse.com - add patch (already upstream) * radare2-cmd-fix-lock.patch ------------------------------------------------------------------- Fri Jun 30 13:11:58 UTC 2017 - daniel.molkentin@suse.com - add dependencies to the devel package - ran spec cleaner ------------------------------------------------------------------- Fri Jun 30 11:03:33 UTC 2017 - mpluskal@suse.com - Update depnendencies - Update url to working one - Make building more verbose - Small cleanup with spec-clenaer ------------------------------------------------------------------- Fri Jun 30 08:30:56 UTC 2017 - daniel.molkentin@suse.com - update to version 1.5.0 - rebased patch * radare2-sysmagic.patch - add patch * radare2-fix-make-install.patch ------------------------------------------------------------------- Thu Mar 30 11:40:28 UTC 2017 - mardnh@gmx.de - update to version 1.3.0 - fixed source url - rebased patch * radare2-sysmagic.patch ------------------------------------------------------------------- Wed Jun 29 23:17:35 UTC 2016 - boris@steki.net - updated to 0.10.3 * r2 codebase is now endian-independent, this will ease avoiding bugs related to big-endian machines * Swift demangler have been improved and optimized to load iOS binaries faster than ever. * Enhanced function argument/variable analysis and automate it with the new afCa command. * Added callgraph navigation view * Added support for Keystone (even if its not released yet) * Several enhancements for X86, ARM, ARM64 and MIPS pseudocode, analysis and emulation * New aav command to find pointers to code/data * r2pm can now install in home or system * All websites are available via r2pm have been gulpified and are now maintainable and minified (3x smaller) * Added support for dumping core on Linux-x86-64, OSX-x86-64 and iOS (arm32/64) * The new @.. range operator * Implemented HexII print format (http://corkami.googlecode.com/svn/trunk/src/HexII) * Initial support for Emoji and Punycode. * Graphviz colors are now configurable and current node is hightlighted * Initial implementation of the RPI VideoCore4 disassembler (via r2pm) * Initial support for debugging QNX systems via the pdebug interface * Enhanced (work-in-progress) enhancements for rap:// remoting * Initial native support for PowerPC (on Linux and OSX/G4) * Handle data references in Dalvik binaries * rabin2 -OC will dump the iOS binary entitlements * Parse LDID sha signatures with rabin2. - fixed patch to apply cleanly ------------------------------------------------------------------- Sun Mar 20 19:03:10 UTC 2016 - boris@steki.net - updated to 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. ------------------------------------------------------------------- Tue Dec 30 21:59:07 UTC 2014 - mardnh@gmx.de - update to 0.9.8 * updated radare2-sysmagic.patch * removed patches (fixed upstream) - radare2-0.9.6-off_by_one.patch - radare-2.0.9-portability-issue.patch - radare2-0.9.6-missing_return.patch * removed file ChangeLog (zero-lenght) * renamed rpmlintrc ------------------------------------------------------------------- Fri Jan 3 15:41:50 UTC 2014 - vcizek@suse.com - update to 0.9.6 * changed versioning * rename package to radare2 * dropped radare-2.0.9-test_create_return.patch (upstream) * enable build with openssl * enable build with system magic - added radare2-sysmagic.patch * added radare2-0.9.6-missing_return.patch * fixed several off-by-one errors - added radare2-0.9.6-off_by_one.patch ------------------------------------------------------------------- Fri Mar 2 15:36:24 UTC 2012 - vcizek@suse.com - update to 2.0.9 * fixed build * dropped radare-lua.patch ------------------------------------------------------------------- Sun Nov 7 23:53:56 UTC 2010 - prusnak@opensuse.org - created package (v2.0.6)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor