tag:github.com,2008:https://github.com/radareorg/radare2/releases Release notes from radare2 2024-11-19T11:38:30Z tag:github.com,2008:Repository/4869294/5.9.8 2024-11-19T12:08:39Z 5.9.8 <h2>Release Notes</h2> <p>Version: 5.9.8<br> Previous: 5.9.6<br> Commits: 202<br> Contributors: 15</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.8/radare2-5.9.8.tar.xz | tar xJv radare2-5.9.8/sys/install.sh"><pre>curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.8/radare2-5.9.8.tar.xz <span class="pl-k">|</span> tar xJv radare2-5.9.8/sys/install.sh</pre></div> <h2>Highlights</h2> <details><summary>More details</summary><p> </p> <h2>Authors</h2> <p><a href="mailto:54475808+satk0@users.noreply.github.com">Adam Satko</a> <a href="mailto:0x8008135@users.noreply.github.com">Azox</a> <a href="mailto:rjdi@wanadoo.fr">Chédotal Julien</a> <a href="mailto:juho.kuisma@csc.fi">Juho Kuisma</a> <a href="mailto:569494+qkaiser@users.noreply.github.com">Quentin Kaiser</a> <a href="mailto:sylvain.pelissier@gmail.com">Sylvain Pelissier</a> <a href="mailto:46626766+W0nda@users.noreply.github.com">W0nda</a> <a href="mailto:astraliaz@gmail.com">astralia</a> <a href="mailto:condr3t@protonmail.com">condret</a> <a href="mailto:pancake@nopcode.org">pancake</a> <a href="mailto:pancake@nowsecure.com">pancake</a> <a href="mailto:satko_a@op.pl">satk0</a> <a href="mailto:sha0c0d3r@gmail.com">sha0coder</a> <a href="mailto:pit95@pm.me">suidpit</a> <a href="mailto:w@104d.net">wagner riffel</a></p> <h2>Changes</h2> <p><strong>analysis</strong></p> <ul> <li>Add array of values for arguments in aobj</li> <li>Fix aobj representing undefined behaviour bits</li> <li>Fix string ref direction and improve false positive xref types</li> <li>Better indirect code reference detection via flags</li> <li>Skip string/format/data metatypes from the ref analysis</li> <li>Fix false positive string ref spotted as write</li> <li>Fix 'aa' warning when no sections in binobj</li> <li>Make afvt work with 1 parameter to display the type, instead of silently failing</li> <li>Add recursive information in afi</li> <li>Implement aflmr command to list all recursive functions</li> <li>Fixes for the stm8 calling convention</li> <li>Add aflmu command to list function calls once</li> <li>Handle direction and support pointer RAM references for stm8</li> <li>Disable indirect pointer references for stm8</li> <li>Implement 'afln' command to list all function names</li> </ul> <p><strong>arch</strong></p> <ul> <li>Add parse.pickle plugin</li> <li>Add the gb.pseudo plugin</li> <li>Fix more issues for stm8.pseudo</li> <li>Add pseudo for rvf stm8 instruction</li> <li>Clarify STM8 memory access, references and immediates in disasm</li> <li>LOADs can be STOREs too in stm8land</li> <li>Use [] syntax instead of the confusing () for stm8</li> <li>In stm8 use brackets for memory writes with mov</li> </ul> <p><strong>bin</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2616446880" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23538" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23538/hovercard" href="https://github.com/radareorg/radare2/issues/23538">#23538</a> - iS sha1,sha1/sort/inc table queries + entropy</li> <li>Cache sections in dwarf parser</li> <li>Handle table queries for imports and segments</li> <li>Use raw symbol name in flatItem.realname instead of the flag name</li> <li>Add math category imports (and few more string)</li> <li>Improve iic subcommands for listing uniq xrefs and more</li> <li>Improve iic command for classifying imports</li> <li>Fix crash in 'iic' and add more import types</li> <li>Fix RVA to offset conversion on PE binaries</li> <li>Remove a hack that breaks parsing sections in some PE</li> </ul> <p><strong>bug</strong></p> <ul> <li>Fix broken test exposing reentrant RNum.math glitch</li> </ul> <p><strong>build</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2645978291" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23622" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23622/hovercard" href="https://github.com/radareorg/radare2/issues/23622">#23622</a> - Use USEMESON when builddir contain spaces</li> <li>Fix make purge</li> <li>Aim to fix the duplicated sha symbols from rvc cyclic dep</li> <li>Correct OpenSSL imports</li> <li>Fix qjs when using asan</li> <li>Fix qjs symbols visibility</li> <li>Define cstd for meson-w32</li> <li>Install scripts</li> </ul> <p><strong>config</strong></p> <ul> <li>-e log.level accept strings too</li> <li>Use XDG cachedir and expose it via dir.cache for annotations</li> </ul> <p><strong>cons</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2630440764" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23588" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23588/hovercard" href="https://github.com/radareorg/radare2/issues/23588">#23588</a> - remove empty lines when sorting and add grep+end test</li> </ul> <p><strong>core</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2659868866" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23639" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23639/hovercard" href="https://github.com/radareorg/radare2/issues/23639">#23639</a> - Implement e+ command to set config vars in r2rc</li> <li>Increase float and double precision</li> </ul> <p><strong>crash</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2670335416" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23657" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23657/hovercard" href="https://github.com/radareorg/radare2/issues/23657">#23657</a> - Command injection vulnerability via rbin-&gt;r2</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2629263416" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23581" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23581/hovercard" href="https://github.com/radareorg/radare2/issues/23581">#23581</a> - Infinite loop with unsupported dwarf command</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2629263416" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23581" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23581/hovercard" href="https://github.com/radareorg/radare2/issues/23581">#23581</a> - (again) bin3 dwarf infinite loop</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2629263416" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23581" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23581/hovercard" href="https://github.com/radareorg/radare2/issues/23581">#23581</a> - (again) another infinite loop in the dwarf parser</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2629263416" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23581" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23581/hovercard" href="https://github.com/radareorg/radare2/issues/23581">#23581</a> - (again) another infinite loop in the dwarf parser</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2637973718" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23610" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23610/hovercard" href="https://github.com/radareorg/radare2/issues/23610">#23610</a> - Stop parsing compressed DWARF sections</li> <li>Disable fortunes in sandbox mode, better null checks</li> <li>Lots of small improvements and bug fixes in the dwarf parser</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2629263416" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23581" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23581/hovercard" href="https://github.com/radareorg/radare2/issues/23581">#23581</a> - DoS in DWARF parser</li> <li>Fix infinite loop in pdc (pseudo decompilation)</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2613636869" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23529" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23529/hovercard" href="https://github.com/radareorg/radare2/issues/23529">#23529</a> - Stack exhaustion overflow in the c++ demangler</li> </ul> <p><strong>crypto</strong></p> <ul> <li>Simplify print hash</li> <li>Update cipher plugin descriptions</li> <li>Add ssl builds in the CI and add the SipHash SSL plugin</li> <li>Create sip hash plugin</li> <li>ASN.1 display corrections + fix tests</li> <li>Correct print strhash</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1841230964" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22140" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22140/hovercard" href="https://github.com/radareorg/radare2/issues/22140">#22140</a> - Add bech32 encoding/decoding</li> <li>Update algorithm descriptions</li> <li>Add offset on MK hit for SM4</li> <li>ASN.1 printings enhancements</li> </ul> <p><strong>debug</strong></p> <ul> <li>Revert <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/radareorg/radare2/commit/e0b197766811db0952d243b2df36969d34cee36e/hovercard" href="https://github.com/radareorg/radare2/commit/e0b197766811db0952d243b2df36969d34cee36e"><tt>e0b1977</tt></a> - bring back the full IO address space</li> <li>Stop earlier in glibc checks in dmh</li> <li>Fix dra? in debugger mode (exposed by ?*)</li> </ul> <p><strong>decompiler</strong></p> <ul> <li>Fix some broken gotos in pdc</li> <li>Include callconv information in pdc output</li> <li>Honor afs in pdc</li> </ul> <p><strong>disasm</strong></p> <ul> <li>Fix false positive in op.ptr(char) reference</li> <li>Add asm.cmt.wrap to ignore asm.cmt.right on long comments</li> <li>Implement asm.cmt.pseudo config option</li> </ul> <p><strong>doc</strong></p> <ul> <li>Use SPDX license names for RLang plugins</li> <li>Use SPDX namings for crypto, and list them in Vj</li> <li>Use SPDX license namings in all the arch plugins</li> <li>Use SPDX license namings on all the bin plugins</li> <li>Use SPDX naming in all IO plugins</li> <li>Fix segfault in dL and use SPDX namings on all debug plugins</li> <li>Initial import of the scripts/licenses.r2.js</li> </ul> <p><strong>dwarf</strong></p> <ul> <li>Fix DWARF5 file parsing</li> <li>Fix DWARF5 parsing when a MD5 checksum is present</li> </ul> <p><strong>fs</strong></p> <ul> <li>Dont load empty fs plugins</li> </ul> <p><strong>globals</strong></p> <ul> <li>Remove globals in RCore.cmdMeta</li> </ul> <p><strong>io</strong></p> <ul> <li>Minor fixes in io</li> <li>Minor optimization in r_io_bank_locate</li> <li>Give local seek to iobfd</li> <li>Use R_IO_SEEK instead of SEEK</li> <li>Undo some ret2libc harm</li> <li>Dont priorize null:// maps on macho binaries</li> <li>Honor custom seek when map address is set</li> </ul> <p><strong>lang</strong></p> <ul> <li>Handle base64: in #!-e</li> <li>Fix #!python -e </li> </ul> <p><strong>lint</strong></p> <ul> <li>Add script for linting assert lines on all R_APIs</li> </ul> <p><strong>performance</strong></p> <ul> <li>Minor optimizations in RBuffer.bytes</li> </ul> <p><strong>print</strong></p> <ul> <li>Import charsets from imhex</li> <li>Fixed old_offset not restored on pdj</li> <li>Improve error handling in pfb strings</li> </ul> <p><strong>projects</strong></p> <ul> <li>Save/restore comments in the new projects</li> <li>New prj core plugin as PoC</li> <li>Inform about the project path before removing</li> <li>Honor prj.files in o*</li> <li>Fix copying main executable when prj.files is set</li> </ul> <p><strong>r2js</strong></p> <ul> <li>Update to the latest quickjs-ng and pin commit to fix vs2022 build</li> <li>Update to the latest quickjs-ng, so we dont need to ship custom patches</li> <li>Fix "TypeError: not a function" error with an ugly hack</li> <li>Update r2papi to the test version from git</li> </ul> <p><strong>search</strong></p> <ul> <li>Add /h* and make /h behave like the rest</li> <li>Add /abf to search loops in current function</li> <li>Display SM4 master key when found</li> </ul> <p><strong>shell</strong></p> <ul> <li>Better handling invalid subcommands</li> <li>Handle table queries for strings in "iz,"</li> <li>Handle comma subcommand for "ic"</li> <li>Support @% for reading variables too</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2622352468" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23561" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23561/hovercard" href="https://github.com/radareorg/radare2/issues/23561">#23561</a> - report 'drq' as an invalid command</li> <li>Improve and extend $D numvars</li> <li>Extended $M numvars</li> <li>Refactor and improve $F and $B numvars</li> <li>Refactor, improve and extend all the $S numvars</li> <li>Refactor and extend the numvars for flags</li> <li>Refactor instruction $variables under $i</li> <li>Cleanup, handle errors and support : syntax for $k{}</li> <li>Refactor and extend few RNum <math-renderer class="js-inline-math" style="display: inline-block" data-static-url="https://github.githubassets.com/static" data-run-id="8d0fb82783e106701e490fba46626254">$O-&amp;gt;$</math-renderer>$c|$$$c + error handling</li> <li>Fix xdg cachedir and histfile path issues</li> <li>Fix invalid command error message when subcommand is the null char</li> <li>Fix "?E C.." bug in clippy</li> <li>Don't show license column in r2 -L. use json to get author+license</li> <li>Handle more invalid subcommands under 'a'</li> <li>Invalid h subcommands dont flush the error text</li> <li>Fix all the plugins listing in r2 -Vj</li> </ul> <p><strong>test</strong></p> <ul> <li>Set pager to cat in sys/lint.sh</li> </ul> <p><strong>tools</strong></p> <ul> <li>Add 'stdouterr' directive in rarun2</li> <li>Add r2 -1 to redirect stderr into stdout</li> </ul> <p><strong>util</strong></p> <ul> <li>Initial implementation of the new LZ4 implementation</li> </ul> <p><strong>visual</strong></p> <ul> <li>Implement yank/paste in visual bit editor</li> <li>Implement endian swap in visual bit editor</li> <li>Support multibyte inc/dec with Vd1[+-]</li> <li>Implement word size concept in the visual bit editor</li> <li>Implement Vd1! to toggle all bits from the selected byte</li> <li>Handle [] and ; keys in Vv</li> </ul> <p></p></details> github-actions[bot] tag:github.com,2008:Repository/4869294/5.9.6 2024-10-13T22:27:45Z 5.9.6 <h2>Release Notes</h2> <p>Version: 5.9.6<br> Previous: 5.9.4<br> Commits: 311<br> Contributors: 27</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.6/radare2-5.9.6.tar.xz | tar xJv radare2-5.9.6/sys/install.sh"><pre>curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.6/radare2-5.9.6.tar.xz <span class="pl-k">|</span> tar xJv radare2-5.9.6/sys/install.sh</pre></div> <h2>Highlights</h2> <details><summary>More details</summary><p> </p> <h2>Authors</h2> <p><a href="mailto:49681813+3393304070@users.noreply.github.com">3393304070</a> <a href="mailto:85984486+AbhiTheModder@users.noreply.github.com">Abhi</a> <a href="mailto:54475808+satk0@users.noreply.github.com">Adam Satko</a> <a href="mailto:0x8008135@users.noreply.github.com">Azox</a> <a href="mailto:rjdi@wanadoo.fr">Chédotal Julien</a> <a href="mailto:128426715+dennis-doyensec@users.noreply.github.com">Dennis Goodlett</a> <a href="mailto:dennis@doyensec.com">Dennis Goodlett</a> <a href="mailto:john.s.peterson@live.com">John Sebastian Peterson</a> <a href="mailto:kuisma.juho+github@gmail.com">Juho Kuisma</a> <a href="mailto:kuisma.juho@gmail.com">Juho Kuisma</a> <a href="mailto:ksaunders@nowsecure.com">Keegan Saunders</a> <a href="mailto:taolzu@gmail.com">Lzu Tao</a> <a href="mailto:nitan.marcel@protonmail.com">Marcel Alexandru Nitan</a> <a href="mailto:oleavr@gmail.com">Ole André Vadla Ravnås</a> <a href="mailto:prodrigestivill@gmail.com">Pau RE</a> <a href="mailto:94345639+Saru2003@users.noreply.github.com">Sarveshwaar SS</a> <a href="mailto:sylvain.pelissier@gmail.com">Sylvain Pelissier</a> <a href="mailto:89150207+vobst@users.noreply.github.com">Valentin Obst</a> <a href="mailto:valentin.obst@fkie.fraunhofer.de">Valentin Obst</a> <a href="mailto:astraliaz@gmail.com">astralia</a> <a href="mailto:condr3t@protonmail.com">condret</a> <a href="mailto:38067507+cqke@users.noreply.github.com">kcdq</a> <a href="mailto:130395400+maliByatzes@users.noreply.github.com">maliByatzes</a> <a href="mailto:pancake@nopcode.org">pancake</a> <a href="mailto:pancake@nowsecure.com">pancake</a> <a href="mailto:54475808+satk0@users.noreply.github.com">satk0</a> <a href="mailto:satko_a@op.pl">satk0</a></p> <h2>Changes</h2> <p>Analysis</p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1494940982" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21171" data-hovercard-type="pull_request" data-hovercard-url="/radareorg/radare2/pull/21171/hovercard" href="https://github.com/radareorg/radare2/pull/21171">#21171</a> - Infinite loop with -e anal.slow=false workaround</li> <li>Support fixed x27 as global pointer reference on Dart binaries</li> <li>Fix some arm64 instruction types and LOADs not LEAs for arm64</li> <li>Fix memory direction and permissions detection in xref</li> <li>Support for jump table constructions for arm64 (Swift binaries)</li> <li>Fix invalid esil for add+shift on arm64</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2508855563" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23286" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23286/hovercard" href="https://github.com/radareorg/radare2/issues/23286">#23286</a> - Add ESIL translation for the MIPS movn instruction</li> <li>Fix ESIL for TST and AND v850 instructions</li> <li>Expose imm value on ADD/SUB arm64 instructions</li> <li>Implement ESIL and reg details for BRAA instructions on arm64</li> <li>Default jumptable word size is 32bit if not defined</li> <li>Fill the op.val for stm8 ref analysis</li> <li>Fix for xrefs permission indicator: -w- r--</li> <li>Use flags check esil references on flags in 'aae'</li> </ul> <p>Architecture Support</p> <ul> <li>Assembler support for m68k</li> <li>Fix more x86 assembler instructions</li> <li>Added new Dalvik disassembler contribution by Keegan from NowSecure</li> <li>Capstone6 support: PowerPC, MIPS, ARM64</li> <li>Better TriCore support: fix control-flow-graph, calling conventions, asm.cpu, opex, pseudodisasm support, basic ESIL, and fixed register profile</li> <li>Handle asm.syntax=regnum for the arm.cs plugin</li> <li>Expose asm.cpu options for bpf, not just depend on asm.bits</li> <li>Generic pseudo disasm for non-supported archs</li> <li>Fix stm8 pseudo return</li> <li>Improvements for the tricore, arm, stm8 and x86 pseudo</li> <li>Colorize more stdint types in the ~:)) operator</li> <li>Check if value for rasm2 -c asm.cpu is valid and warn the user</li> <li>Make rasm2 flags more coherent (-s,-S,-o,-O)</li> <li>Fix .ascii and .asciiz directives for rasm2</li> </ul> <p>Binary file formats</p> <ul> <li>Fix resizing ELF sections</li> <li>Detect Dart ELFs</li> <li>Fix duplicated and large swift symbol demangling issues</li> <li>Clarify bin.demangle.libs -&gt; bin.demangle.pfxlib</li> <li>Speedup macho parser by reducing repetitive calls to RConfig.get</li> <li>Move lua bin parser, remove globals and refactor its code</li> <li>Detect VisionOS binaries</li> <li>Better bin.str.(min/max) defaults</li> </ul> <p>Shell</p> <ul> <li>Replace ia with iA, deprecated 'ia'</li> <li>Add help for $?, ?$?, -, ' and improve other command helps</li> <li>Enforce valid value for asm.offset.relto</li> <li>Handle ^C in agf and afr</li> <li>Add -A and -H commands</li> <li>Replace "" with ' in more * subcommands, wip deprecation for safetiness</li> <li>Fix .! multiline quoted scripts with the shouting dot</li> <li>Add 'test' command with -s, -f, -x and -d flags</li> <li>Accept '@ expressions that dont start with '0x'</li> <li>Use RCore.returnInvalidCommand in many commands for better error handling</li> <li>Add @<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/f/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/f">@f</a> (alias for @@c:afla) inverse recursive function list</li> <li>Add f-0x f-? and other flag removal missing commands</li> <li>Improved syntax error handling on tmpseek expressions</li> </ul> <p>Build</p> <ul> <li>Fixes for the webassembly builds for the Frida-trace UI</li> <li>Fix preconfigure.bat setuptools installation</li> <li>Install setuptools if needed in preconfigure.bat</li> <li>Undevilize preconfigure.bat and add MSBuild 2022 Community support</li> <li>Use the latest capstone 5.0.3</li> </ul> <p>Crypto</p> <ul> <li>New commands poE and poD</li> <li>Add type definition for CCCrypt import for ios-arm64</li> <li>Add new command to print signature of a block</li> <li>Refactor listing crypto algorithms into a single function</li> <li>Fix rahash2 -B behavior</li> <li>Fix more bugs in /ck tire</li> <li>Fix oobread in /ck for search/tire</li> <li>Add CRC search to magic</li> <li>Add ed25519 private key search</li> </ul> <p>Charset</p> <ul> <li>Add space character ascii.sdb.txt</li> <li>Support no string decoding/filtering in disasm, needed for chinese string references</li> </ul> <p>Console</p> <ul> <li>Also export scr.color via R2_COLOR env var</li> <li>Horziontal scrolling with control+wheel i graph and visual modes</li> <li>Emit span instead of font in the scr.html filter</li> <li>Add scr.css and scr.css.prefix used in 'ecc' for now</li> <li>New dark theme: gruvbox</li> <li>Fix eco* and refactor theme loading logic</li> </ul> <p>Debugger</p> <ul> <li>Use hwbp by default on mac-x64 (m1 fails)</li> <li>Fix xmm?[hl] (dbg_drt test) for Linux x64</li> <li>Add xmm registers for the FreeBSD debugger</li> <li>Added registers st0 to st7, mm0 to mm7 while debugging under FreeBSD</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2536988359" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23357" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23357/hovercard" href="https://github.com/radareorg/radare2/issues/23357">#23357</a> - Add missing flag registers for the freebsd profile</li> <li>Fix bug when calling dr8 in the debug.io</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2512014863" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23298" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23298/hovercard" href="https://github.com/radareorg/radare2/issues/23298">#23298</a> - Breakpoints recoil not working on FreeBSD</li> </ul> <p>Disassembly</p> <ul> <li>Use sumarized variable listing by default (asm.var.summary=4)</li> <li>Support tail addresses in pdua..</li> <li>Implement the ano command to manage function annotations</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2501785450" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23273" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23273/hovercard" href="https://github.com/radareorg/radare2/issues/23273">#23273</a> - Honor scr.strconv in emustr, fncarg and add tests</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2338871235" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23012" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23012/hovercard" href="https://github.com/radareorg/radare2/issues/23012">#23012</a> - Make pduoj json consistent with pdj</li> <li>Improved function argument emulation listing</li> </ul> <p>IO</p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2555048856" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23405" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23405/hovercard" href="https://github.com/radareorg/radare2/issues/23405">#23405</a> - Implement multibyte binary write support in the 'pb' command</li> <li>Fix wb single byte write behavior</li> <li>Add io.mapinc config variable</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2525826055" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23313" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23313/hovercard" href="https://github.com/radareorg/radare2/issues/23313">#23313</a> - aeim stack locate</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2525826055" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23313" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23313/hovercard" href="https://github.com/radareorg/radare2/issues/23313">#23313</a> - overlapping maps after aeim</li> </ul> <p>Print</p> <ul> <li>Improve and document pfb bitfield printing in C, ascii art, oneliner</li> <li>Handle multiline comments in pdsf</li> <li>Display strings with 'ps' until first non-printable character instead of escaping</li> </ul> <p>Projects</p> <ul> <li>Make -p/-P available from the r2 shell and better subcommand handling</li> <li>Honor absolute and relative paths in Pze</li> <li>Add scr.prompt.prj to show project name</li> <li>Save and restore annotations</li> </ul> <p>r2pm</p> <ul> <li>Honor user env variables, Use git clone depth=1</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2494566643" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2-pm/issues/164" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2-pm/issues/164/hovercard" href="https://github.com/radareorg/radare2-pm/issues/164">radareorg/radare2-pm#164</a> - Verboser database/package upgrade r2pm -U / r2pm -UU</li> <li>Remove r2pm -HH, use r2pm -H (without argument), same as r2 and in sync with doc</li> </ul> <p>Search</p> <ul> <li>Add /V value range support in rafind2</li> <li>Honor quiet mode to not set noisy flags in /azs</li> <li>Implement /xn command to search for repeated patterns</li> <li>Implement the /xv[s] value array search command</li> <li>Find longer computed strings with /az</li> <li>Add comments (to replace flags) for asm strings</li> <li>Implement /azj and add a test</li> </ul> <p>Types</p> <ul> <li>Fix null format when displaying unknown argument types</li> <li>Ignore "signed " prefixed types. signed is the default</li> <li>Add missing setuid/setgid signature type definition</li> </ul> <p>Visual</p> <ul> <li>Better visual xrefs layout</li> <li>Fix some emulated reference hints</li> <li>Show function name when scrolling inside the function</li> <li>Fix the q; function signature bug in Vdf</li> </ul> <p>Other</p> <ul> <li>Sync $R2_FILE with 'o.' output</li> <li>Add -e cmd.exit to run commands before leaving</li> <li>Fix log level details in r2pipe output</li> <li>Add script to symbolicate iOS kernels using IPSW</li> <li>Update lang.qjs and use quickjs-ng instead</li> <li>Update the /m and /t webuis</li> <li>Initial implementation of the http sessions</li> <li>Deprecate the IS_DIGIT/IS_UPPER/IS_LOWER, we have posix</li> <li>Initial pavement for RCorePriv opaque struct</li> </ul> <p>Security</p> <ul> <li>Fix segfault in hex2bin when length is zero</li> <li>Fix assert in some title-less graphs</li> <li>Fix null deref in poS</li> <li>Fix timeout bug in r2r when fd is closed</li> <li>Fix double free in lua bin parser</li> <li>Fix /cp segfault on missing key</li> <li>Fix invalid free in 'icc'</li> <li>Fix a 1 byte overflow in r2cmd and improve logic checks</li> <li>Fix another assert in the tricore.cs because of capstone bugs</li> <li>Fix null deref bug in the swift demangler</li> <li>Dont shift left signed types as reported in bug8 from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504749904" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23278" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23278/hovercard" href="https://github.com/radareorg/radare2/issues/23278">#23278</a></li> <li>Fix large left shift in buf.sleb as reported in bug7 from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504749904" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23278" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23278/hovercard" href="https://github.com/radareorg/radare2/issues/23278">#23278</a></li> <li>Fix another left shift UB in uleb aka bug5 from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504749904" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23278" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23278/hovercard" href="https://github.com/radareorg/radare2/issues/23278">#23278</a></li> <li>Fix addition overflow in ELF relocs as reported in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504749904" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23278" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23278/hovercard" href="https://github.com/radareorg/radare2/issues/23278">#23278</a> (bug4)</li> <li>Fix large left int shift in TE as reported in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504749904" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23278" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23278/hovercard" href="https://github.com/radareorg/radare2/issues/23278">#23278</a></li> <li>Fix multiplication overflow in PE as reported in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504749904" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23278" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23278/hovercard" href="https://github.com/radareorg/radare2/issues/23278">#23278</a></li> <li>Fix UB in uleb128 left shift reported in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504749904" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23278" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23278/hovercard" href="https://github.com/radareorg/radare2/issues/23278">#23278</a></li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504734413" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23277" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23277/hovercard" href="https://github.com/radareorg/radare2/issues/23277">#23277</a> - invalid allocation on verdef struct for ELF</li> <li>Sometimes functions end up asserting with empty names</li> <li>Fix assert in the omni command</li> <li>Fix segfault when deallocating arch plugins</li> <li>Fix null deref in Lcj</li> <li>Fix command injection bug in search hit bug exposed by bad asm string</li> <li>Fix memory leak in RLangSession.fini</li> <li>Implement ahb*, use more single quote, fix codeinj vuln and more</li> </ul> <p></p></details> github-actions[bot] tag:github.com,2008:Repository/4869294/5.9.4 2024-08-08T14:38:29Z 5.9.4 <h2>Release Notes</h2> <p>Version: 5.9.4<br> Previous: 5.9.2<br> Commits: 276<br> Contributors: 18</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.4/radare2-5.9.4.tar.xz | tar xJv radare2-5.9.4/sys/install.sh"><pre>curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.4/radare2-5.9.4.tar.xz <span class="pl-k">|</span> tar xJv radare2-5.9.4/sys/install.sh</pre></div> <h2>Highlights</h2> <details><summary>More details</summary><p> </p><h2>Authors</h2> <p><a href="mailto:buildandcrash@users.noreply.github.com">Adel</a> <a href="mailto:blin00@users.noreply.github.com">Brandon Lin</a> <a href="mailto:cjeker@diehard.n-r-g.com">Claudio Jeker</a> <a href="mailto:g@s01.de">Enno T. Boland</a> <a href="mailto:mrmacete@protonmail.ch">Francesco Tamagni</a> <a href="mailto:lars@flip.re">Lars Haukli</a> <a href="mailto:me@terorie.dev">Richard Patel</a> <a href="mailto:sylvain.pelissier@gmail.com">Sylvain Pelissier</a> <a href="mailto:xavierartigas@yahoo.es">Xavi Artigas</a> <a href="mailto:astraliaz@gmail.com">astralia</a> <a href="mailto:48008331+aviciano@users.noreply.github.com">aviciano</a> <a href="mailto:condr3t@protonmail.com">condret</a> <a href="mailto:ggs121@protonmail.com">ffg53</a> <a href="mailto:18178821+meme@users.noreply.github.com">meme</a> <a href="mailto:pancake@nopcode.org">pancake</a> <a href="mailto:pancake@nowsecure.com">pancake</a> <a href="mailto:54475808+satk0@users.noreply.github.com">satk0</a> <a href="mailto:shura1991@gmail.com">shurizzle</a></p> <h2>Changes</h2> <p><strong>analysis</strong></p> <ul> <li>Ignore NEVER bit in branch instructions on SPARC</li> <li>Fix SPARC call instruction branches</li> <li>Expose mem delta on store variables</li> <li>Improved default function names</li> <li>Add anal.flagends to stop a functions when flags are found</li> <li>Fix aac on rebased files</li> <li>Fix aae behaviour on invalid instructions</li> <li>Optimize RAnalOp.setBytes with extra sauce for NEWABI</li> <li>Fix help for 'abt?'</li> <li>Honor codealign in nopskiHonor codealign in nopskip</li> <li>Reuse R_PERM in RAnalVarAccess.type instead of custom enum</li> <li>Make anal.vinfun false by default</li> <li>Show jmptbl bb cases in <code>ab</code> output (not just for abj)</li> <li>Initial support for MIPS jump tables (anal.jmp.tbl)</li> <li>Fix missing arm reference regression in aaaa</li> <li>Early stop with breakoninvalid reducing warning logs in 'aaaa'</li> <li>More type fixes</li> <li>Add more types from posix</li> <li>Fix missing entries in the afla matching with aflq</li> <li>Add anal.emu to run aaef in aaa and aef in af, for now optional</li> <li>Implement missing but documented abi and refactor ab/ap</li> <li>Only use anal hints in aac on arm 16/32</li> <li>Dont list vars in afij output</li> <li>Fix bb outputs computation in afij</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2328973566" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22995" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22995/hovercard" href="https://github.com/radareorg/radare2/issues/22995">#22995</a> - Dont list vars in afi, we have afv for this</li> <li>Register strtonum function type</li> <li>Improvements in aaa output and initial work towards twice afva checks</li> <li>The sixref command shouldnt change current seek</li> <li>Add op-count / bb-ratio info in afi/afij</li> </ul> <p><strong>api</strong></p> <ul> <li>Implement r_base32 APIs for my future self</li> </ul> <p><strong>arch</strong></p> <ul> <li>Initial support for the UXN machine</li> <li>Fix few instruction type issues for mips.gnu</li> <li>Expose missing cpus list in the ARM plugin </li> <li>Add support for sfence.vma instruction for riscv</li> <li>Missing read callbacks are now debug messages</li> </ul> <p><strong>bin</strong></p> <ul> <li>Make dynsym and hash sections wordable</li> <li>Implement RBin.attr(str2bits)</li> <li>Implement RBinPlugin Commands in the new abi via i:</li> <li>Return earlier when bin.classes is false</li> <li>Use callAt instead of cmdAt for section formats</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2366261933" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23064" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23064/hovercard" href="https://github.com/radareorg/radare2/issues/23064">#23064</a> - Implemented iclc command</li> <li>Fix parsing dmp binaries on big endian systems</li> <li>Fix incorrect parsing of MZ headers in big-endian machines</li> <li>Tweak the custom swift demangler and fix tests</li> <li>Fix Objective-C classes Swift demangling</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2400272735" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23110" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23110/hovercard" href="https://github.com/radareorg/radare2/issues/23110">#23110</a> - Improve the swift demangler to handle more constructions</li> <li>Create sections for dyldcache stub islands</li> <li>Set dyldcache entry point to the first map</li> <li>Run the native swift demangler tests on darwin-x64 too</li> <li>Initial support for RBin-&gt;RIO redirections</li> <li>Early stop on corrupted macho method storage</li> <li>Early catch some missbehaves in the macho class parsing</li> <li>Fix iej/ilj on ob* and remove ieee (use ie;iee instead)</li> <li>Fix the symbol parsing in Plan9</li> <li>Add dir.sourcebase newabi + faster bin.dbginfo on macOS</li> <li>Fix RABIN2_SWIFTLIB and add tests from r2 and rabin2</li> <li>Fix dyldcache deps carving logic</li> <li>Make Mach-O size ut64</li> <li>Bring back the ig command to guess binary size</li> <li>Support resizing the BSS section with rabin2 -O</li> <li>Fix hash limit and fix segment hashing iSS</li> <li>Fix section hashing and clarify help</li> <li>Reduce memory dereferences in the macho parser and more cleanups</li> <li>More cleanups on the objc parser, with minor optimizations</li> <li>Minor optimizations in the ObjC demangler</li> </ul> <p><strong>build</strong></p> <ul> <li>Also compile for WASI reactor</li> <li>Fix cwisstable on ppc-le</li> </ul> <p><strong>ci</strong></p> <ul> <li>Muon build fixes</li> <li>Get rid of the deprecated macos-11 github targets</li> </ul> <p><strong>cons</strong></p> <ul> <li>Reimplement internal cfg.editor line editor</li> <li>Few fixes for the line editor</li> <li>Highlight code modifier ~:))</li> <li>Support multiline RCons.message()</li> <li>Fix scr.html in pdc</li> </ul> <p><strong>core</strong></p> <ul> <li>Avoid over-unsetting fixed arch / bits</li> <li>Add anal.fixed.* (move anal.gpfixed and add arch/bits ones)</li> <li>Don't ask sections if fixed arch / bits set</li> <li>Show io and core plugin version in the json listing</li> <li>Honor log callback return value on custom callback calls</li> </ul> <p><strong>crash</strong></p> <ul> <li>Fix null deref in <code>r2 -d l</code></li> <li>Fix huge allocation when casting int to ut64</li> <li>Fix a recently introduced uaf in pdc</li> <li>Fix null deref in dbtj</li> <li>Fix null deref when running iS without any binobject loaded</li> <li>Fix stack overflow in strings search</li> <li>Fix infinite loop in the afla command spawned by a^5</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2318593291" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22972" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22972/hovercard" href="https://github.com/radareorg/radare2/issues/22972">#22972</a> - deadlock in :: fixed by handling ^C</li> <li>Each RLogCallback have its own user pointer</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2318067724" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22969" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22969/hovercard" href="https://github.com/radareorg/radare2/issues/22969">#22969</a> - segfault when running <code>axt@j&gt;$f</code></li> </ul> <p><strong>crypto</strong></p> <ul> <li>Expose the ELF hash algorithm in <code>rahash2 -a elf</code></li> <li>Initial support for Ed25519 signatures</li> </ul> <p><strong>debug</strong></p> <ul> <li>Adjust OpenBSD code to set the process state to be less wrong</li> <li>Fix drr - register periscoping on arm-thumb</li> <li>Better output for dL command</li> <li>Fix infinite loops in the heap parser and fix 2 broken tests</li> <li>Initial support for native debugger on Linux/s390x</li> <li>Fix the double-increment in the debug traces, avoid double tracing</li> <li>Add missing rv64 case for the native debugger</li> </ul> <p><strong>decompilation</strong></p> <ul> <li>Initial support for stm8 pseudo</li> </ul> <p><strong>decompiler</strong></p> <ul> <li>Pseudo for arm64 replacing xzr with zero</li> <li>Fix unmatching brace in pdc output</li> <li>Add few missing arm64 fpu instructions for pseudo</li> <li>Minor fixes for the x86 pseudo parsing</li> <li>Remove empty lines and onelinify the comments in pdc</li> <li>Better syntax for conditionals and switch/case constructions</li> <li>Implement pseudo for arm64 br and ldruh</li> <li>One more orphaned basic block in pdc</li> <li>bhi and ldrsw for arm64.pseudo</li> <li> <ul> <li>More refined goto statements in pdc and add and colorize missing returns</li> </ul> </li> </ul> <p><strong>diff</strong></p> <ul> <li>Check and early fail if symbol existance in radiff2-g</li> </ul> <p><strong>disasm</strong></p> <ul> <li>Improve sparc.cs disasm replacing +- with -</li> <li>Add test and fix for the arm64 varsub issue</li> <li>Fix asm.emu derefenced word issue on big endian</li> <li>Fix improper display of IPv4 addresses in big-endian machines</li> <li>Store operations also deserve a place for asm.emu</li> <li>Honor cfg.json.num in pdbj</li> <li>Implement madd/msub/mneg support for arm64.pseudo</li> <li>Replace wzr with 0 in the arm.pseudo</li> <li>Fix asm.pseudo for arm64's movk</li> <li>Display instruction addresses on each switch blocks in pdco</li> <li>Initial support for small integer (SMI) anal hints in disasm (ahi)</li> <li>Add support for pascal strings meta type Csp</li> <li>Honor kernel crash hints in hexpairs for rasm2 -D</li> </ul> <p><strong>doc</strong></p> <ul> <li>Add info about single module recompilation</li> </ul> <p><strong>emulation</strong></p> <ul> <li>Use codeAlign instead of dataAlign for thumb stepping</li> </ul> <p><strong>endian</strong></p> <ul> <li>Fix mdmp list sz</li> </ul> <p><strong>esil</strong></p> <ul> <li>Fix dbg.trace behaviour with emulation</li> </ul> <p><strong>fs</strong></p> <ul> <li>Build fs.squashfs with the make build system too</li> </ul> <p><strong>graph</strong></p> <ul> <li>Remove non-id code from the gml graph output</li> </ul> <p><strong>help</strong></p> <ul> <li>Fix afv help to make it accessible through tghe af?*</li> </ul> <p><strong>io</strong></p> <ul> <li>Fix io.cache</li> <li>Add :iF command to dsc</li> <li>Initial support for the UF2 file format</li> <li>Improve :iP command usability in dsc</li> <li>Refactor the io/oi commands and fix io behaviour</li> <li>Add iP command to dsc to get authenticated pointer info</li> <li>Fix dsc subcache format detection</li> <li>Dont seek from the server side rap</li> </ul> <p><strong>json</strong></p> <ul> <li>Improve the smile operator code tokenizer ~:)</li> <li>Use RCorePJ if possible instead of PJ</li> </ul> <p><strong>lang</strong></p> <ul> <li>Support base64 encoded r2js scripts</li> <li>Python goes before Python2 in the rlang plugin now</li> <li>Fix TS usage by making the exports object point to globals</li> <li>Add R2_PAPI_SCRIPT env var for custom r2papi testing</li> </ul> <p><strong>panels</strong></p> <ul> <li>Add manpage submenus under the Help</li> <li>Implement menu separators, project and analysis options</li> <li>Better key hints visualization</li> <li>Better key hints in for menu, tabs and title selected panel</li> </ul> <p><strong>print</strong></p> <ul> <li>Honor hex.cols in pxb bitdump view</li> <li>Add phl/phL as an alias for Lh and update help</li> </ul> <p><strong>projects</strong></p> <ul> <li>Implement prj.history to save/load the per-project command history</li> </ul> <p><strong>qjs</strong></p> <ul> <li>Fix loading some r2frida-compiled scripts</li> </ul> <p><strong>r2js</strong></p> <ul> <li>Fallback the default r2papi when not loaded from disk</li> <li>Update r2papi from git, use src from /tmp instead of npm</li> <li>Add Visual Studio "map" file parser script</li> </ul> <p><strong>r2pipe</strong></p> <ul> <li>Add missing command to r2 <code>?</code></li> <li>Fix r2pipe2 json format not being trimmed</li> <li>Add r2.cmd2[j] APIs for r2js</li> </ul> <p><strong>r2pm</strong></p> <ul> <li>Do not check for updates when r2pm -r, -h and -H</li> </ul> <p><strong>ragg</strong></p> <ul> <li>Fix ragg2 foo.c on macOS</li> </ul> <p><strong>refactor</strong></p> <ul> <li>Replace other r_return_* uses and update DEVELOPERS.md</li> <li>Deprecate r_str_new and R_STR_DUP</li> </ul> <p><strong>scripts</strong></p> <ul> <li>Add an r2js script to import il2cpp metadata</li> </ul> <p><strong>search</strong></p> <ul> <li>Fix ^C in /ac</li> <li>Show offset of the truncated large strings</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2319358781" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22974" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22974/hovercard" href="https://github.com/radareorg/radare2/issues/22974">#22974</a> - minimum blocksize to reduce missing matches in /ad</li> <li>Reduce false positive on "java source" magic</li> <li>Add a magic file for flutter magics</li> <li>/ad supports glob matching now</li> </ul> <p><strong>shell</strong></p> <ul> <li>Fix 'r2pm -r false' because <code>exit(system("false"))</code> is a lie</li> <li>!! for session history, !. for history save</li> <li>Fix move cursor right with arrow keys issue in dietline</li> <li>Support '0x, not just '<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0x">@0x</a> and improve "'?'" help</li> <li>Add -D as an alias for iD</li> <li>Improve the multiline comment user experience</li> <li>Better parsing for the "join" command</li> <li>Fix 'rm $foo' and '$foo+=N'</li> <li>Improve argument parsing logic for 'tail'</li> <li>Fix the tail syscmd</li> <li>Rename ib as ooi</li> <li>Honor numeric argument in q!! and simplify command logic</li> <li>Add a warming help message under the <code>help</code> command</li> <li>Fix appending redirection on internal alias files</li> <li>Fix 'Cannot redirect the same fd twice' bug in the command parser</li> <li>Add JSON support to the iD command and improved error handling</li> <li>Implement the new fD command to filter/mangle flagnames</li> <li>Remove trailing space in aflq output</li> <li>Consistent json output with no file, more tests and reorder i? help</li> <li>Remove ihh and iHH, no need for confusing swappable aliases</li> <li>iSm is no longer a valid command as it was doing nothing</li> <li>Handle 'make' as a valid shell command</li> <li>Better handling the v subcommands</li> <li>Better help and invalid subcommand handling for s</li> <li>Autocomplete with tab the "open" argument</li> <li>Fix wt, aht help messages and early catch badly formatted help messages</li> <li>Add help for aab</li> <li>Add help for aax and aaF causing a?* to be slow</li> <li>Fix s+0x1000000000</li> <li>Return proper json for some i*j subcommands when no file or rbin is opened</li> <li>Initial implementation of r2pipe2</li> <li>Add r2pm hint for r2ai if the package is not installed</li> </ul> <p><strong>socket</strong></p> <ul> <li>Add curl post support and minor http fixes</li> </ul> <p><strong>tests</strong></p> <ul> <li>Run the json tests when loading no files in r2</li> <li>Empty strings cant be considered valid json</li> <li>Add r2r -H and honor R2R_JOBS as an env replacement for -j</li> </ul> <p><strong>tools</strong></p> <ul> <li>Fix arch selection when loading no files <code>--</code> with r2 -a --</li> <li>radiff2 -A = aa instead of aaa</li> <li>Add rax2 -q to be quiet when printing hexdumps</li> </ul> <p><strong>types</strong></p> <ul> <li>Fix and unify [err/warn]{xc} function, improves decompilation</li> </ul> <p><strong>util</strong></p> <ul> <li>Add support for "double" type in RTable</li> </ul> <p><strong>visual</strong></p> <ul> <li>Improve Ve glitches on small terminals</li> <li>Honor cfg.editor when there's a comment in V;</li> <li>Fix bug in V;! not bringing back the mouse</li> <li>Add Bit Registers panel</li> <li>Initial implementation of ?iu for the onelinered custon UI</li> <li>Fix last memleaks, simplify Vz to toggle folding basic blocks</li> <li>Fix shift-tab and space behaviour in visual mode</li> <li>Improved space key behaviour for the hexdump</li> <li>Better error handling in vvs</li> <li>Always show function signature in visual disassembly</li> <li>Implement soft scrolling over varlisting in visual disasm</li> <li>Implement Vbw command to browse window types in visual</li> </ul> <p><strong>windows</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2391418910" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/23093" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/23093/hovercard" href="https://github.com/radareorg/radare2/issues/23093">#23093</a> - RStdin.slurp() on Windows</li> </ul> <p><strong>zignatures</strong></p> <ul> <li>Make duplicated zignatures optional via zign.dups + tests</li> </ul> <p><strong>zinatures</strong></p> <ul> <li>Add support for parsing next zignatures</li> </ul> <p></p></details> github-actions[bot] tag:github.com,2008:Repository/4869294/5.9.2 2024-05-20T23:35:18Z 5.9.2 <h2>Release Notes</h2> <p>Version: 5.9.2<br> Previous: 5.9.0<br> Commits: 237<br> Contributors: 15</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.2/radare2-5.9.2.tar.xz | tar xJv radare2-5.9.2/sys/install.sh"><pre>curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.2/radare2-5.9.2.tar.xz <span class="pl-k">|</span> tar xJv radare2-5.9.2/sys/install.sh</pre></div> <h2>Highlights</h2> <details><summary>More details</summary><p> </p><h2>Authors</h2> <p><a href="mailto:110870948+3B85A591@users.noreply.github.com">3B85A591</a> <a href="mailto:jmaselbas@zdiv.net">Jules Maselbas</a> <a href="mailto:kenny@machinesung.com">Kenny Shen</a> <a href="mailto:25155631+MewtR@users.noreply.github.com">Mewt R</a> <a href="mailto:25155631+MewtR@users.noreply.github.com">MewtR</a> <a href="mailto:mikael@lilotux.net">Mikael Berthe</a> <a href="mailto:me@terorie.dev">Richard Patel</a> <a href="mailto:roshanlaladchitre103@gmail.com">Roshanlal</a> <a href="mailto:venture37@geeklan.co.uk">Sevan Janiyan</a> <a href="mailto:sylvain.pelissier@gmail.com">Sylvain Pelissier</a> <a href="mailto:astraliaz@gmail.com">astralia</a> <a href="mailto:condr3t@protonmail.com">condret</a> <a href="mailto:imkyufie@gmail.com">kyufie</a> <a href="mailto:pancake@nopcode.org">pancake</a> <a href="mailto:pancake@nowsecure.com">pancake</a></p> <h2>Changes</h2> <p><strong>abi</strong></p> <ul> <li>Initial implementation of RBuffer.cache</li> <li>Add a --with-new-abi, use_new_abi meson option and a CI job</li> </ul> <p><strong>analysis</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2300256052" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22947" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22947/hovercard" href="https://github.com/radareorg/radare2/issues/22947">#22947</a> - afbij now returns an array</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2294986546" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22939" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22939/hovercard" href="https://github.com/radareorg/radare2/issues/22939">#22939</a> - ub shifts on sixref</li> <li>VAX maxinstrsize is 56, assume 64 bytes as maximum valid size</li> <li>Dont do aav via aaa on dalvik/java/python</li> <li>Fix invalid instructions on mips not recognized as invalid</li> <li>SWIs can define branches too</li> <li>Honor the optype to fill the opjump field</li> <li>Consider that software interrupt sometimes branch</li> <li>Honor maxopsz and minopsz in aae, speeding up emulation a little</li> <li>Reduce fp, do not run aav when minaddr is zero</li> <li>Suggest -B when finding invalid icod refs</li> <li>Speedup <code>ao</code> by blocksize orders of magnitude</li> <li>Catch invalid references earlier</li> <li>Fix type confussion bug side effecting arm64 on BE</li> <li>Add test for ARM-style jmptbl analysis</li> <li>Fix jmptable analysis on ARM</li> <li>0707 is used as padding for the s390 compiler</li> <li>Add few function preludes for s390x - aap</li> </ul> <p><strong>arch</strong></p> <ul> <li>Implement R_ARCH_INFO_ISVM</li> <li>Implement archinfo callback for Dalvik</li> <li>Initial support for stm8</li> <li>Add nor in the RAnalOp.toString()</li> <li>Provide proper archinfo details for xtensa</li> <li>Add missing =BP in the ppc regprofile</li> <li>Define aop.type for more s390 instructions</li> <li>Fix destination address for the brasil s390 instruction</li> </ul> <p><strong>asm</strong></p> <ul> <li>Add a bunch of tests (ARM)</li> <li>Add support for writeback on indexed ldst (ARM)</li> <li>Fix mvn (ARM)</li> <li>Fix for register-operand shifts (ARM)</li> </ul> <p><strong>bin</strong></p> <ul> <li>Handle another double string case for the lowerdash swift mangling</li> <li>Handle more Swift demangler tail attributes</li> <li>Improve osabi detection for android</li> <li>Handle deinit/dealloc swift mangling attributes</li> <li>Implement conformsToProtocol mangling logic for Swift</li> <li>Support the 'O' element in the swift demangler</li> <li>Improved stripped mach0 detection logic</li> <li>Do not parse beyond the end of the ELF dynplt section</li> <li>RBinFile.setCurBinFile() accepts null now</li> <li>Separate the arm vs arm64 reloc import logic</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2266554587" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22865" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22865/hovercard" href="https://github.com/radareorg/radare2/issues/22865">#22865</a> - Autodetect thumb main on arm16 elf binaries</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2228649894" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22804" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22804/hovercard" href="https://github.com/radareorg/radare2/issues/22804">#22804</a> - Implement a couple of relocs for ppc64</li> <li>Fix macho strip checks and add more tests</li> <li>Honor bin.filter on vectored symbols</li> <li>Use RBuffer.cache for mach0 swizzling</li> <li>Experiment with ir* providing reloc write scripts</li> <li>Show utf8-blocks details as a separate column in strings listing</li> <li>Handle R_390_GLOB_DAT R_390_RELATIVE relocs for ELF/S390</li> <li>Load imports on ELF/s390 from the GOT section</li> </ul> <p><strong>build</strong></p> <ul> <li>Fix git breaking the terminal</li> <li>Now sys/user.sh uses rpath and xdg prefix</li> <li>Honor NOSUDO and --prefix in sys/install.sh</li> <li>Honor --without-syscapstone in pkgconfig even when capstone is found</li> <li>Add user-purge target to rimraf user's r2 directories</li> <li>Update Windows's preconfigure.bat to autodetect host arch</li> <li>Move sys/osx-pkg into dist/macos/pkg</li> <li>Fix compilation on native linux-powerpc</li> <li>Guard off parts which do no apply to Darwin/PowerPC</li> <li>Add rabin2, radiff2 ragg2 and rahash2 to the wapm</li> </ul> <p><strong>ci</strong></p> <ul> <li>Keep Ubuntu20, disable ASLR to workaround a racy asan bug caused by a kernel change</li> <li>Upgrade to ubuntu22 for the fuzz jobs</li> <li>Bring back the abidiff into the CI pipeline</li> </ul> <p><strong>cons</strong></p> <ul> <li>Remove cursor move on Ctrl-l</li> <li>Add support for arrow keys on some terminals</li> </ul> <p><strong>core</strong></p> <ul> <li>Remove the RCconfig(arch.arch) option</li> </ul> <p><strong>crash</strong></p> <ul> <li>Fix some vulns spotted in the swift demangler</li> <li>Fix possible strlen (NULL) and reduce few dereferences in RConsGrep</li> <li>Fix two format strings receiving less arguments</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2292784004" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22932" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22932/hovercard" href="https://github.com/radareorg/radare2/issues/22932">#22932</a> - null deref in b64:</li> <li>Fix null deref in Vbc</li> <li>Fix null deref in CL when no binfile is loaded</li> <li>Fix oobread and oobwrite caused by an intovf in coff</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2229790682" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22808" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22808/hovercard" href="https://github.com/radareorg/radare2/issues/22808">#22808</a> - null deref in r2 -a riscv -c "/ad li a7, 227" clue</li> <li>Fix oobreads on fmt of RStr.scanf</li> <li>Fix for the infinite loop on windows RCore.fileOpen</li> <li>Fix invalid free in 'afl'</li> </ul> <p><strong>debug</strong></p> <ul> <li>Fix segfault in 'drf' command</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2243648679" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22831" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22831/hovercard" href="https://github.com/radareorg/radare2/issues/22831">#22831</a> - Proper baddr on the FreeBSD debugger</li> <li>Add ^be|^le|^me rule in reg profiles to support little, big and middle endianness</li> <li>Specify endianness in the RReg instance</li> <li>Fix RReg endian bug, fixes debugger in s390 and ppc at least</li> <li>Fix unaligned ptrace reads - spotted on s390</li> </ul> <p><strong>diff</strong></p> <ul> <li>Add <code>wcd</code> command for patch diffing instruction and sort <code>wc?</code> lines</li> </ul> <p><strong>disasm</strong></p> <ul> <li>Don't show zero values as comments</li> <li>Fix aii package imports trick when scr.color</li> <li>Do not slurp absolute path sources on Apple</li> <li>Fix regression in asm.trace.times</li> <li>Handle 32 and 64 bit big endian data references (Vdrr1)</li> <li>Add asm.bytes.ascii to display instruction bytecodes as text</li> <li>Implement soft esil pins, only executed in the disasm loop</li> </ul> <p><strong>endian</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2293059162" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22933" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22933/hovercard" href="https://github.com/radareorg/radare2/issues/22933">#22933</a> - fix endian for c4 comparison</li> <li>Fix ahi i for .ipaddr casting instruction arguments in BE</li> <li>Fix mips.gnu on BE host</li> <li>Fix sparc disassembler for big endian hosts</li> <li>Fix reading segment count for ELF</li> <li>Fix endian bugs in the tcc enum parser</li> <li>Big endian RISC-V dis fix</li> <li>Big endian AVR encode fix</li> <li>Big endian fix for FLIRT</li> <li>Big endian fix for ESIL pokes</li> </ul> <p><strong>esil</strong></p> <ul> <li>Dont use $$ in xtensa</li> </ul> <p><strong>fun</strong></p> <ul> <li>Add some fun fortunes from GLaDOS//portal</li> </ul> <p><strong>globals</strong></p> <ul> <li>Remove all globals from search</li> <li>Remove one global from the the esil emulation loop</li> </ul> <p><strong>graph</strong></p> <ul> <li>Hide asm.dwarf.file in the summary graph</li> </ul> <p><strong>help</strong></p> <ul> <li>Improve /?* and /ad/? helps with 20 more lines</li> </ul> <p><strong>lang</strong></p> <ul> <li>Initial support for Dart in rlang via system</li> <li>Initial support for RParse r2js plugins</li> </ul> <p><strong>port</strong></p> <ul> <li>Fix pic_pic18 endian bug</li> <li>Fix bpf.mr endian</li> <li>Fix ebc_disas endian bugs</li> </ul> <p><strong>print</strong></p> <ul> <li>Fix pfb and RBitmap in big endian</li> <li>Implement pdsfs command for strings-only listings</li> <li>Implement pdsfj - as the json output for pdsf</li> <li>Use proper color palette for prcn/prcb</li> <li>Nibble colordump under prcn/prcb. Idea by Patrick Hurd</li> <li>Add EBCDIC-ascii table for the new abi via ?ae</li> </ul> <p><strong>projects</strong></p> <ul> <li>Add -P command in the shell and error code on project load</li> </ul> <p><strong>r2js</strong></p> <ul> <li>Initial import of the tags.r2.js script (CTAGS support)</li> </ul> <p><strong>r2pm</strong></p> <ul> <li>Honor R_SYS_DIRSEP in r2pm env var settings for Windows</li> </ul> <p><strong>ragg2</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2257366169" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22859" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22859/hovercard" href="https://github.com/radareorg/radare2/issues/22859">#22859</a> - saving returns w/ immediate string in args + tests</li> </ul> <p><strong>refactor</strong></p> <ul> <li>Fix some memory leak issues in libr/core/cbin.c flagged by coverity</li> <li>Replace RaxActions enum with a struct</li> <li>Fixing some coverity issues in libr/core/panels.c</li> </ul> <p><strong>scripts</strong></p> <ul> <li>Add unzip script example</li> </ul> <p><strong>search</strong></p> <ul> <li>Make search.verbose=false</li> </ul> <p><strong>shell</strong></p> <ul> <li>iX -&gt; idx, also refactor some i? lines on subcommand helps</li> <li>Fix i subcommand help messages</li> <li>Fix o</li> <li>Show ledec+bedec instruction decoding results from <code>?</code></li> <li>mal: manpage listing, markdown renderer, doc/ via man</li> <li>Add -k command that mimics r2 -k</li> <li>Show 'newabi' in r2 -v</li> <li>Show ASAN in -v options when compiling via <code>gcc</code></li> <li>Add help for the afii command</li> <li>Fix command macro parsing and calling and add another test</li> <li>Register command calls in the history logs</li> <li>Fix ftw flag tags, broken after the RStr.glob refactoring</li> </ul> <p><strong>test</strong></p> <ul> <li>Fix concurrency issue (improves <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/radareorg/radare2/commit/71f57c6cfc85ab201efe66b176dabab141982ceb/hovercard" href="https://github.com/radareorg/radare2/commit/71f57c6cfc85ab201efe66b176dabab141982ceb"><tt>71f57c6</tt></a>)</li> <li>Fix concurrency issue</li> </ul> <p><strong>tools</strong></p> <ul> <li>Rename rax2 -L to rax2 -X</li> <li>Rename rax2 -I to rax2 -i</li> <li>Rename rax2 -B to rax2 -z</li> <li>Rename rax2 -l to rax2 -Z</li> <li>Rename rax2 -X to rax2 -H</li> <li>Rename rax2 -i to rax2 -C</li> <li>Rename rax2 = to -b </li> <li>Rename rax2 -b to rax2 -l</li> </ul> <p><strong>visual</strong></p> <ul> <li>Fix VA Visual Assembler in debug mode when io.va is false</li> <li>Support live hexpairs input in the visual assembler</li> </ul> <p><strong>webui</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2235283254" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22818" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22818/hovercard" href="https://github.com/radareorg/radare2/issues/22818">#22818</a> - Add more mimetypes and avoid (null) from the webserver</li> </ul> <p><strong>zignatures</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2277884460" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22894" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22894/hovercard" href="https://github.com/radareorg/radare2/issues/22894">#22894</a> - Add z, to print zignatures in table format</li> <li>Implement 'z[j*] ' to show only 1 zignature</li> </ul> <p></p></details> github-actions[bot] tag:github.com,2008:Repository/4869294/5.9.0 2024-03-31T15:36:20Z 5.9.0 - Codename "Hyperborean" <h2>Release Notes</h2> <p>Version: 5.9.0<br> Previous: 5.8.8<br> Commits: 1316<br> Contributors: 65</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.0/radare2-5.9.0.tar.xz | tar xJv radare2-5.9.0/sys/install.sh"><pre>curl -Ls https://github.com/radareorg/radare2/releases/download/5.9.0/radare2-5.9.0.tar.xz <span class="pl-k">|</span> tar xJv radare2-5.9.0/sys/install.sh</pre></div> <h2>Highlights</h2> <details><summary>More details</summary><p> </p><h2>Authors</h2> <p><a href="mailto:apkunpacker@gmail.com">ApkUnpacker</a> <a href="mailto:armin.weihbold@gmail.com">Armin Weihbold</a> <a href="mailto:koyaan@users.noreply.github.com">Armin Weihbold</a> <a href="mailto:0x8008135@users.noreply.github.com">Azox</a> <a href="mailto:begasus@gmail.com">Begasus</a> <a href="mailto:chillerdragon@gmail.com">Chiller Dragon</a> <a href="mailto:128426715+dennis-doyensec@users.noreply.github.com">Dennis Goodlett</a> <a href="mailto:jesupnotdown+git@gmail.com">Dennis Goodlett</a> <a href="mailto:dirk.eibach@gmx.de">Dirk Eibach</a> <a href="mailto:davispuh@gmail.com">Dāvis Mosāns</a> <a href="mailto:erik.griese@yahoo.de">Erik Griese</a> <a href="mailto:mrmacete@protonmail.ch">Francesco Tamagni</a> <a href="mailto:revol@free.fr">François Revol</a> <a href="mailto:noreply+github@adaptivetime.com">GravisZro</a> <a href="mailto:dvertx@gmail.com">Hertatijanto Hartono</a> <a href="mailto:kacper.slominski72@gmail.com">Kacper Słomiński</a> <a href="mailto:lars@flip.re">Lars Haukli</a> <a href="mailto:26179473+Lazula@users.noreply.github.com">Lazula</a> <a href="mailto:Luc.Tielen@gmail.com">Luc Tielen</a> <a href="mailto:ltielen@nowsecure.com">Luc Tielen</a> <a href="mailto:luc.tielen@gmail.com">Luc Tielen</a> <a href="mailto:madghostek@gmail.com">Madghostek</a> <a href="mailto:25155631+MewtR@users.noreply.github.com">Mewt R</a> <a href="mailto:25155631+MewtR@users.noreply.github.com">MewtR</a> <a href="mailto:41313082+michaelortmann@users.noreply.github.com">Michael Ortmann</a> <a href="mailto:11234807+as0ler@users.noreply.github.com">Murphy</a> <a href="mailto:20112968+nathansrf@users.noreply.github.com">Nathan</a> <a href="mailto:nchatz314@gmail.com">Nikolaos Chatzikonstantinou</a> <a href="mailto:120188097+Omvpatil@users.noreply.github.com">Omvpatil</a> <a href="mailto:prodrigestivill@gmail.com">Pau RE</a> <a href="mailto:u202012160@hust.edu.cn">Pikachu</a> <a href="mailto:72725910+ramikg@users.noreply.github.com">Rami</a> <a href="mailto:mizunokizu@gmail.com">ReWithMe</a> <a href="mailto:me@terorie.dev">Richard Patel</a> <a href="mailto:github@roboschmie.de">RoboSchmied</a> <a href="mailto:pancake@nowsecure.com">Sergi Àlvarez i Capilla</a> <a href="mailto:sylvain.pelissier@gmail.com">Sylvain Pelissier</a> <a href="mailto:sandor.oroszi@onekey.com">Sándor Oroszi</a> <a href="mailto:822863+bqv@users.noreply.github.com">Tony O</a> <a href="mailto:105599724+TronciuVlad@users.noreply.github.com">Tronciu Vlad</a> <a href="mailto:v.balyasnyy@gmail.com">Vasilyy</a> <a href="mailto:65160922+Crispy-fried-chicken@users.noreply.github.com">Yiheng Cao</a> <a href="mailto:ysaxenax@gmail.com">Yuvraj Saxena</a> <a href="mailto:51972960+aemmitt-ns@users.noreply.github.com">aemmitt-ns</a> <a href="mailto:muralianiruddhan@gmail.com">ashamedbit</a> <a href="mailto:astraliaz@gmail.com">astralia</a> <a href="mailto:condr3t@protonmail.com">condret</a> <a href="mailto:dvertx@gmail.com">dvertx</a> <a href="mailto:64474767+gogolovefish@users.noreply.github.com">gogolovefish</a> <a href="mailto:68935141+junchao-loongson@users.noreply.github.com">junchao-loongson</a> <a href="mailto:imkyufie@gmail.com">kyufie</a> <a href="mailto:79937932+lasek0@users.noreply.github.com">lasek0</a> <a href="mailto:meme@users.noreply.github.com">meme</a> <a href="mailto:micronn@gmail.com">micronn</a> <a href="mailto:50387785+neo-one0873@users.noreply.github.com">neo-one0873</a> <a href="mailto:dalton@raptorpowersystems.com">overmyerD</a> <a href="mailto:pancake@nopcode.org">pancake</a> <a href="mailto:pancake@nowsecure.com">pancake</a> <a href="mailto:122955334+phix33@users.noreply.github.com">phix33</a> <a href="mailto:ripatel+git@jumptrading.com">ripatel-fd</a> <a href="mailto:111242479+solid-snail@users.noreply.github.com">solid-snail</a> <a href="mailto:syheliel@gmail.com">syheliel</a> <a href="mailto:48008331+aviciano@users.noreply.github.com">toni</a> <a href="mailto:nope">yep</a> <a href="mailto:102871671+zengwei2000@users.noreply.github.com">zengwei2000</a></p> <h2>Changes</h2> <p><strong>abi</strong></p> <ul> <li>Use RPluginMeta in RCryptoPlugin</li> <li>Use RPluginMeta in RFS</li> <li>Remove dead code</li> <li>Initial deprecation of the current RAnalPlugin</li> <li>Refactor show flags into single showMode bitset</li> <li>Change return type for r_bin_dwarf_parse_aranges</li> <li>Update signature of patch_relocs callback</li> <li>Make r_cons_grep_expression public, rm r_cons_grep_process</li> <li>Rename r_str_next_split -&gt; r_str_tok_next; make public</li> <li>Remove grep for 570 (all fixed), update older R2_580 to 590</li> <li>Rename REsil.address -&gt; .addr for consistency</li> <li>Remove several R2_590 ifdefs</li> <li>RArch now depends on REsil</li> <li>Use RPluginMeta in RArchPlugin</li> </ul> <p><strong>anal</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2102419539" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22552" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22552/hovercard" href="https://github.com/radareorg/radare2/issues/22552">#22552</a> - Fix variable access direction for arm64 store instruction</li> <li>Fix aac bug caused by anal.in on binaries with sections</li> <li>Add anfl command and anal.slow to bring back the old autoname functionality</li> <li>Improve sigdb file format detection</li> <li>Run .afna@@c:afla in aaaaa</li> <li>Implement <code>afba</code> like afla but for basic blocks</li> <li>Implement afla command to list function in the inverse call dependency order</li> <li>Parse len argument in aaex</li> <li>Initial support for xref sizes</li> <li>Use base64 in "ax," and also show ref size column</li> <li>Implement axt, - for table listing xrefs</li> <li>Implement axtf - list function xrefs</li> <li>Improve aan/afna/afns add json and use emulation</li> <li>Permit partial block reads on analsearch loops</li> <li>Remove noisy log message in aap</li> <li>Add scr.analbar config var to have progressbar without scr.demo</li> <li>Fix <code>ap</code> command using real fcn prelude info from arch plugin</li> <li>Implement <code>aax</code> command to make a function on each CALL xref</li> <li>Implement aaex command, like aae, but does not analyze any function</li> <li>Fix /rc, document argument handling and add test</li> <li>Improve JSON output for the afsvj command</li> <li>Implement <code>afsvj</code> command</li> <li>Implement <code>afs-</code> to delete a function signature</li> <li>Implement r_anal_function_del_signature</li> <li>Consider null bytes as invalid instructions too</li> <li>Support 'aaa' in frida:// targets</li> <li>Initial backtrace API and commands (abt)</li> <li>Another improvement for <code>aaaa</code></li> <li>Take invalid instructions in consideration for the bitfield decoding</li> <li>Implement aobv command for visual instruction decoding</li> <li>Show function colors in afl</li> <li>Plant the seed for the tlocal bool in RAnalOp</li> <li>Fix warning in aar when checking icod refs on unallocated memory</li> <li>Implement CL+ and CLf, show info in afi/afij</li> <li>Dont fall into calls surrounded by traps</li> <li>Better (more verbose) output for <code>aaaaa</code></li> <li>Add Cb - bind metadata type to draw reflines for data pointers</li> <li>Add progressbar in 'aaa' when scr.demo is set</li> <li>Show bb-&gt;esil in <code>ab</code> and <code>abj</code></li> <li>Add 'afbd' to emulate bb regstates in the correct order</li> <li>Add RAnalBlock.esil and abe command to manipulate it</li> <li>Initial support for D calling convention</li> <li>Add r_anal_function_get_graph</li> <li>Add two missing log lines for aaa</li> <li>Implement more swapped conditionals support in type propagation</li> <li>Refactor aaft to use less allocations for buffer</li> <li>Sort blocks only once in aaft</li> <li>Reuse more allocated memory during aaft</li> <li>Add test for a bug spotted in the aac command</li> <li>Cleanup rebasing refs during oo</li> <li>Add r_anal_xrefs_has_xrefs_at function</li> <li>Remove duplicate xrefs delete function</li> <li>R_API function to count xrefs at a specific address</li> <li>Cleanup xrefs code</li> <li>Optimize xrefs using swisstable</li> <li>Reimplement the a2f core plugin into an analysis one</li> <li>Analyze methods after parsing the C++ vtables</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820097748" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22100" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22100/hovercard" href="https://github.com/radareorg/radare2/issues/22100">#22100</a> - Dont compute disp refs when ptr is set</li> <li>Honor anal.jmp.ref in aar</li> <li>Compute depth and save it in the bb</li> <li>Save a bit of memory in xrefs implementation</li> <li>Fix timeout and move possible slow test</li> <li>Skipping empty blocks is now a warning</li> <li>Show color field in the afbj output</li> <li>Accept asm.bits=16/asm.os=android for syscalls + tests</li> <li>Reduce false positives when scanning for syscalls on thumb code</li> <li>Honor codealign, speedup syscall search emulation</li> <li>Add anal.imports to analyze them early in aa</li> <li>Honor RArchInfo.codealign in aar</li> <li>Honor 'rsym.' flag prefix</li> <li>Implement the abc- command to unset a bb color</li> <li>Minor optimization in r_anal_block_op_starts_at</li> <li>Use r_anal_ref_typemask() to sanitize xref types and update tests</li> <li>Add and use the new Indirect Code XREF type to improve code coverage</li> <li>Add the new r_anal_data_type() for better data type detection</li> <li>Smol ref-&gt;type masked improvements</li> <li>Add more function preludes for arm32</li> <li>Fix some missing xrefs in /re $$</li> <li>Handle 'asm.os=android' syscall as an alias for 'linux'</li> <li>More verbose and clearer output for abl</li> <li>Add RAnalFunction.traceCoverage() api and info in afi/afl/abi/..</li> <li>Minor bugfix/improvement when ninstr == 0</li> <li>Dont show function diff info when not diffing</li> <li>Don't add more instructions than the ones we can handle in the basic blocks</li> <li>Faster RAnal.bbTrace()</li> <li>Add afix subcommand to list function info + xrefs</li> <li>Add all-xrefs listings in 'afi' and 'afij'</li> <li>Optimize: reg 32 &lt;-&gt; 64 conversion iterates over gpr only</li> <li>Optimize anal.roregs</li> <li>anal.gp also sets the reg value</li> <li>Do not accept invalid xrefs (-1 &lt;-&gt; -1)</li> <li>anal.strings does not disable bin.strings</li> <li>RAnalValue no longer refs an RRegItem</li> </ul> <p><strong>analysis</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2102419539" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22552" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22552/hovercard" href="https://github.com/radareorg/radare2/issues/22552">#22552</a> - Fix variable access direction for arm64 store instruction</li> <li>Fix aac bug caused by anal.in on binaries with sections</li> <li>Add anfl command and anal.slow to bring back the old autoname functionality</li> <li>Run .afna@@c:afla in aaaaa</li> <li>Implement <code>afba</code> like afla but for basic blocks</li> <li>Implement afla command to list function in the inverse call dependency order</li> <li>Parse len argument in aaex</li> <li>Initial support for xref sizes</li> <li>Use base64 in "ax," and also show ref size column</li> <li>Implement axt, - for table listing xrefs</li> <li>Implement axtf - list function xrefs</li> <li>Improve aan/afna/afns add json and use emulation</li> <li>Permit partial block reads on analsearch loops</li> <li>Remove noisy log message in aap</li> <li>Add scr.analbar config var to have progressbar without scr.demo</li> <li>Fix <code>ap</code> command using real fcn prelude info from arch plugin</li> <li>Implement <code>aax</code> command to make a function on each CALL xref</li> <li>Implement aaex command, like aae, but does not analyze any function</li> <li>Fix /rc, document argument handling and add test</li> <li>Improve JSON output for the afsvj command</li> <li>Implement <code>afsvj</code> command</li> <li>Implement <code>afs-</code> to delete a function signature</li> <li>Implement r_anal_function_del_signature</li> <li>Consider null bytes as invalid instructions too</li> <li>Support 'aaa' in frida:// targets</li> <li>Initial backtrace API and commands (abt)</li> <li>Another improvement for <code>aaaa</code></li> <li>Take invalid instructions in consideration for the bitfield decoding</li> <li>Implement aobv command for visual instruction decoding</li> <li>Show function colors in afl</li> <li>Plant the seed for the tlocal bool in RAnalOp</li> <li>Fix warning in aar when checking icod refs on unallocated memory</li> <li>Implement CL+ and CLf, show info in afi/afij</li> <li>Dont fall into calls surrounded by traps</li> <li>Better (more verbose) output for <code>aaaaa</code></li> <li>Add Cb - bind metadata type to draw reflines for data pointers</li> <li>Add progressbar in 'aaa' when scr.demo is set</li> <li>Show bb-&gt;esil in <code>ab</code> and <code>abj</code></li> <li>Add 'afbd' to emulate bb regstates in the correct order</li> <li>Add RAnalBlock.esil and abe command to manipulate it</li> <li>Initial support for D calling convention</li> <li>Add two missing log lines for aaa</li> <li>Implement more swapped conditionals support in type propagation</li> <li>Add test for a bug spotted in the aac command</li> <li>Reimplement the a2f core plugin into an analysis one</li> <li>Analyze methods after parsing the C++ vtables</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1820097748" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22100" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22100/hovercard" href="https://github.com/radareorg/radare2/issues/22100">#22100</a> - Dont compute disp refs when ptr is set</li> <li>Honor anal.jmp.ref in aar</li> <li>Compute depth and save it in the bb</li> <li>Save a bit of memory in xrefs implementation</li> <li>Fix timeout and move possible slow test</li> <li>Skipping empty blocks is now a warning</li> <li>Show color field in the afbj output</li> <li>Accept asm.bits=16/asm.os=android for syscalls + tests</li> <li>Reduce false positives when scanning for syscalls on thumb code</li> <li>Honor codealign, speedup syscall search emulation</li> <li>Add anal.imports to analyze them early in aa</li> <li>Honor RArchInfo.codealign in aar</li> <li>Honor 'rsym.' flag prefix</li> <li>Implement the abc- command to unset a bb color</li> <li>Minor optimization in r_anal_block_op_starts_at</li> <li>Use r_anal_ref_typemask() to sanitize xref types and update tests</li> <li>Add and use the new Indirect Code XREF type to improve code coverage</li> <li>Add the new r_anal_data_type() for better data type detection</li> <li>Smol ref-&gt;type masked improvements</li> <li>Add more function preludes for arm32</li> <li>Fix some missing xrefs in /re $$</li> <li>Handle 'asm.os=android' syscall as an alias for 'linux'</li> <li>More verbose and clearer output for abl</li> <li>Add RAnalFunction.traceCoverage() api and info in afi/afl/abi/..</li> <li>Minor bugfix/improvement when ninstr == 0</li> <li>Dont show function diff info when not diffing</li> <li>Don't add more instructions than the ones we can handle in the basic blocks</li> <li>Faster RAnal.bbTrace()</li> <li>Add afix subcommand to list function info + xrefs</li> <li>Add all-xrefs listings in 'afi' and 'afij'</li> <li>Optimize: reg 32 &lt;-&gt; 64 conversion iterates over gpr only</li> <li>Optimize anal.roregs</li> <li>anal.gp also sets the reg value</li> <li>Do not accept invalid xrefs (-1 &lt;-&gt; -1)</li> <li>anal.strings does not disable bin.strings</li> <li>RAnalValue no longer refs an RRegItem</li> </ul> <p><strong>api</strong></p> <ul> <li>Implement RFile.newf()</li> <li>Expose call as as a public r_core_cmd_call_str_at</li> <li>Boolify the RCore.yank</li> <li>Deprecate r_bin_get_fields</li> <li>Make r_debug_num_callback internal and remove two R2_590</li> <li>Use RPluginMeta in RLangPlugin</li> <li>Rename RCons.chop() into .trim()</li> <li>Rename RStrpool.ansiChop to ansiTrim()</li> <li>RFlag.free() must return void</li> <li>Use RPluginMeta in RBinPlugins</li> <li>RBinPlugin.loadBuffer() -&gt; load() .. and checkBuffer() too</li> <li>Add .help() callback for the RCoreBind</li> <li>Keep RCons.strcat defines for backward compat</li> <li>Implement the new RAnal.cmd()</li> <li>Eliminate RBin.a2b()</li> <li>Deprecate r_anal_op_hexstr()</li> <li>Ship our own thread safe and portable r_str_tok_r in r_util</li> <li>Move the base36 api from .h to .c</li> <li>Delete unused r_cache from rutil</li> </ul> <p><strong>arch</strong></p> <ul> <li>Implement 'wao recj' for 'tbz/tbnz' arm64 instructions</li> <li>Fix assembling 'mov ax, bx' for x86-16</li> <li>Add Initial Support for assembling ARM MTE Instructions</li> <li>Fix type confusion in pyc</li> <li>Fix infinite loop exposed in iaito when selecting mcore</li> <li>Add support for compressed nops in riscv</li> <li>Add support for fslsp/QorIQ</li> <li>Fix some op types m680x</li> <li>Pre-fill op type depending on insn group info m680x</li> <li>Fill more op fields in m680x</li> <li>Strip some special chars for intel syntax in m680x</li> <li>Fix registers description for m680x</li> <li>List valid CPUs for m680x, specify endianness</li> <li>Add UB check in the loongarch decoder</li> <li>Add RArch.esilCb() and register a new op for x86</li> <li>Implement r_arch_find() and use it from CoreBin</li> <li>Fix arch.riscv.vs plugin (decoding always failed)</li> <li>Move the brainfuck arch platform description into a script</li> <li>Add missing space after comma in 6502 disasm</li> <li>Implement arch.platform eval var + nes scripts</li> <li>nds32: Fix esil for sethi, dummy BP for the regprofile and fix rcall/ret5</li> <li>Initial register profile definition for nds32</li> <li>Implement esil expressions for some nds32 instructions</li> <li>Add "intel" syntax support for the nds32 plugin</li> <li>Implement 'add r#, K' in the x86 assembler</li> <li>Initial support for nds32</li> <li>Update arch from Config while finding best matches</li> <li>Fix rasm2 -a arm.v35 tests on x86</li> <li>Define more op.type for pyc</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1806024703" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22061" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22061/hovercard" href="https://github.com/radareorg/radare2/issues/22061">#22061</a> - Add 'auipc' instruction for the RV64 assembler</li> <li>Properly define the conditional software interrupts</li> <li>Improve SPARC control flow and code coverage</li> <li>Fix bad esil on arm32 shift-reg instruction</li> <li>Uncomment the new R_ARCH_INFO enum replacing R_ANAL_ARCHINFO</li> <li>Handle xrefs from vector instructions on x86</li> <li>Migrate the LAST and final boss X86 plugin</li> <li>Unsigned capstone init option only for x86</li> <li>Improve plugin resolution</li> <li>Mark init, fini, and decode arch callbacks as const</li> <li>Remove global state from qjs plugins</li> <li>Fix division by zero when pcalign is 0</li> <li>Fix sparc.{cs|gnu} endian behaviour and add tests</li> <li>s390 b instruction in an UJMP because it depends on a reg</li> <li>Mark java tests as broken until the arch refactor is done</li> <li>Unify the invalid instruction behaviour</li> <li>Make all arch plugins const (better perf)</li> <li>Remove global state from arm gnu plugin</li> <li>Removed deprecated variable for gb plugin</li> <li>Migrate arm_cs plugin</li> <li>Migrate dalvik plugin</li> <li>Migrate 8051 plugin</li> <li>Migrate libr/asm/arch/include</li> <li>Migrate the mips.cs plugin</li> <li>Migrate the AVR plugin</li> <li>Migrate the arm.gnu plugin</li> <li>Migrate the gameboy plugin</li> </ul> <p><strong>asan</strong></p> <ul> <li>Fix oobread in the java disassembler</li> </ul> <p><strong>asm</strong></p> <ul> <li>Fix linenum error message when failing to assemble</li> <li>Use a hashtable fo the .equ rasm2 directive</li> <li>Null deref in rasm2</li> <li>Deprecate r_asm_op_get_buf and make r_asm_code_equ_get public</li> </ul> <p><strong>bin</strong></p> <ul> <li>Expose numeric reloc type for PE, NE, LE, BFLT, MACH0 and ELF in ir and irj</li> <li>Rebase LE objects independently</li> <li>Implement R_X86_64_DTPOFF64 reloc type for ELF</li> <li>Implement R_X86_64_DTPMOD64 reloc for type for ELF</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2204010506" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22742" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22742/hovercard" href="https://github.com/radareorg/radare2/issues/22742">#22742</a> - Implement R_X86_64_TPOFF64 reloc type for ELF</li> <li>Fix 'reloc conversion failed' on some ELFs</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2202335846" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22737" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22737/hovercard" href="https://github.com/radareorg/radare2/issues/22737">#22737</a> - Honor endianness in ih for elf + tests</li> <li>Fix LE sections sizes and add zerofills</li> <li>Fix handling of LE cross-page relocs</li> <li>Fix entry point field name discrepancy in .ih* between 32bit and 64bit ELF</li> <li>Support arm64 type 1026 relocs</li> <li>Patch relocs in LE</li> <li>Implement irqq and move the command handler out of the subcommand loop</li> <li>Do not report bad imports addresses in elf objects</li> <li>Better logging for unsupported arm64 elf relocs</li> <li>Initial import of the RBin.io plugin</li> <li>Improve uricheck to avoid bin.relocs.apply mess things up</li> <li>Support unlimited buffer size for PE format</li> <li>Fix kernelcache sections vaddr offset</li> <li>Fix rebasing of dyld cache pointers at page boundary</li> <li>Add support for iOS Simulator dyld caches</li> <li>Fix/respect bin demangle macho c++ bins v3</li> <li>Walk Mach-O exports from LC_DYLD_EXPORTS_TRIE too</li> <li>Update pyc magic detection</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2086476837" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22539" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22539/hovercard" href="https://github.com/radareorg/radare2/issues/22539">#22539</a> - Remove 2044 max hard limit in string scan</li> <li>Implement the ciE command to compare exports between two objects</li> <li>Add initial support for vsf dialect produced by C64 Debugger app</li> <li>Handle ^C when loading/filtering symbols just in case</li> <li>Use RBinName in RBinSymbol</li> <li>Support coff objects</li> <li>Fix security issues in coff plugin</li> <li>Support XCOFF entrypoint and imports via loader</li> <li>Fix how local symbols are matched to images in dyldcache</li> <li>Allow images to be repeated with different names in dyldcache</li> <li>Fix "alien dep" infinite loop carving deps in dyldcache</li> <li>Basic XCOFF32 section handling</li> <li>Support WinNT RISC COFF and AIX XCOFF32</li> <li>Support DWARF section names for XCOFF64</li> <li>Refactor ih outside the awful i loop, add ihh and fix ihq/ihj..</li> <li>Improve RBinField to hold and expose the value in the flag names</li> <li>Fix pf format size warnings in .ih* for ELF</li> <li>Use RBinName for RBinClass too</li> <li>Add support for list-of-lists in ObjC class parsing</li> <li>Fail loading dyldcache if not using dsc://</li> <li>Move dyld cache rebasing logic to io plugin</li> <li>Improved ia tests and trim trailing spaces in strings</li> <li>Refactor to use RBinName for RBinField(s)</li> <li>Use RBinPlugin.symbolsVec() in Kernelcache</li> <li>Handle R_KERNELCACHE_FILTER env in RBin.kernelCache</li> <li>Deprecate addrline2, it's only used internally</li> <li>Implement iSqq and iSSqq commands</li> <li>m68k is 32 bit</li> <li>Fix entry point determination and info for HUNK file parser</li> <li>Revert "Initial part of a large refactoring using RBinName, unified attributes</li> <li>Fix bin.limit for macho imports</li> <li>Initial part of a large refactoring using RBinName, unified attributes</li> <li>Handle Kotlin as an alias for Java in icc classdump</li> <li>Initial implementation of RBinName and RBinAttr</li> <li>Handle Swift demangling for __C. symbols</li> <li>Hide visibility string if empty and show more Swift super-classes</li> <li>Parse Swift super classes</li> <li>Parse Swift field types</li> <li>Fix symbol range bug in isq.</li> <li>Support symbolic symbols in the swift demangler</li> <li>Reintroduce RBinPlugin-&gt;{init/fini} for plugins that need to initialize a third party global runtime</li> <li>Initial implementation of iic and improved symclass</li> <li>Import safetiness symbol name database from iaito</li> <li>Show base address associated with the binobj in obj</li> <li>Handle more builtin types in the swift demangler and be more flexible</li> <li>Faster ASAN CI by improving parsing checks in LE bins</li> <li>Add C++ classdumper</li> <li>Fix warning spotted in latest gcc failing msvc demangler</li> <li>Prepend dynamically loaded bin plugins befor static bin plugins</li> <li>Implement <code>ick</code> to dump classes in k=v form</li> <li>Implement Swift formatter for <code>icc</code> and change some objc things</li> <li>Fix header miscalculation</li> <li>Introduce some memleaks in order to fix ownership later and avoid UAF now</li> <li>Add support for qdsp6 elf relocs</li> <li>Add test and avoid double path concats in some dwarfs</li> <li>Honor baddr in the dwarf parsing</li> <li>Some more code cleanup in the swift metadata parser</li> <li>Demangle Swift methods and support __s types</li> <li>Detect nds32 arch in ELF binaries</li> <li>Support demangling swift types</li> <li>Demangle Swift superclass names earlier and laterer in the popaline</li> <li>Don't push NULL into the klass-&gt;super empty list</li> <li>Add ic+/ic- to register new classes and methods</li> <li>Shrink dynstr section size to file bounds if needed</li> <li>Fix null deref in the ELF parser when dynstr section is too large</li> <li>Bring back the bin.cache, and warn about bin.relocs.apply too</li> <li>Support RVec in mangling/swift</li> <li>Demangle dynamic attributes for Swift</li> <li>Move dyldcache symbols to symbols_vec</li> <li>Fix uninitialized mach0 opts in dyldcache loading</li> <li>Fix type confussion bug in the RBin.loadLangs()</li> <li>Remove the boffset callback from the ninds and z64 plugins</li> <li>Remove init/fini from RBinPlugin</li> <li>Remove unnecessary arguments to RBin.loadBuffer()</li> <li>Fix early bail out in dwarf-only Mach-O symbol parsing</li> <li>Revert buggy "Fix ub in macho classparsing" and add test</li> <li>Take .got and .rela.plt into account as wordable sections</li> <li>Rename RBinFile-&gt;o =&gt; RBinFile-&gt;bo</li> <li>Fix visibility of r_bin_class_{new/free}</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1816919367" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22096" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22096/hovercard" href="https://github.com/radareorg/radare2/issues/22096">#22096</a> - Stop on zero vernext for ELF</li> <li>Optimize mach0 va2pa by using vec</li> <li>Don't load macho segments over and over, use vec</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="598309865" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/16531" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/16531/hovercard" href="https://github.com/radareorg/radare2/issues/16531">#16531</a> - vaddr of strings in kernelcaches</li> <li>Fix canary check in mach0 binaries</li> <li>Fix elf tests</li> <li>Use symbols_vec in the ELF parser</li> <li>Improvements on the rust and c++ mangling detection</li> <li>RBinSymbol api now works with RVec for mach0</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1813050972" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22080" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22080/hovercard" href="https://github.com/radareorg/radare2/issues/22080">#22080</a> - Segfault in xtr.sep64 parser</li> <li>Add support for PT_OPENBSD_NOBTCFI in the ELF parser</li> <li>Deprecate RBin.isString() API</li> <li>Initial public vector api for rbin</li> <li>Add RABIN2_NOFUNCSTARTS env var to speedup macho parsing ignoring the FUNCSTART info</li> <li>Handle bin.limit in ELF and support strings, imports, ..</li> <li>Warn when finding compressed dwarf sections</li> <li>Honor io.va in class/method/field listing</li> <li>Add bin.limit eval var and use it for macho</li> <li>Fix ELF variable scope UB issue causing asan CI to fail</li> <li>Introduce RBinImport.lsymbol and move the rsym. logic from core</li> <li>ElfObject now takes a user-defined base address</li> <li>ELF's .rel.plt is also a wordable section</li> <li>More debug logs and less strictness in the ELF parser</li> <li>Dont show the demangled relocs when no name in json</li> <li>Fix null deref in the dyldcache parser</li> <li>Use the internal RVector in mach0.vapa</li> <li>Rename internal function</li> <li>Import the bin.pcap plugin from extras</li> <li>Support bin details from non-arch bin files</li> <li>Use more overlay for relocs</li> <li>Make RBinSymbol.clone() API public</li> <li>The addr2line function, now also returns the column</li> <li>Unresolved elf symbols are now debug logs</li> <li>Use ut64 for bin bind offsets</li> </ul> <p><strong>bin"</strong></p> <ul> <li>Revert "Initial part of a large refactoring using RBinName, unified attributes</li> </ul> <p><strong>bug</strong></p> <ul> <li>Fix invalid macro identifiers in r_print</li> </ul> <p><strong>build</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2204543108" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22745" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22745/hovercard" href="https://github.com/radareorg/radare2/issues/22745">#22745</a> - Fix Android static builds and autodetect NDK on Ubuntu</li> <li>Honor --prefix in /sys/install.sh</li> <li>Fix static linking on macOS</li> <li>Add --disable-debugstuff to build without R_LOG_DEBUG, ^C and other stuff</li> <li>Less default plugins for the custom meson</li> <li>Fix regression in capstone 5.0.1 (--with-syscapstone)</li> <li>Support static linkages via pkg-config</li> <li>Add --without-syscapstone commandline flag, needed for asan</li> <li>Fix mrproper on BSD systems (max args for rm)</li> <li>Add support for cs5 and csnext</li> <li>Initialize xtensa_default_isa to fix clang's linker bug</li> <li>Honor nogpl for xtensa in the meson</li> <li>Use capstone-5.0 release tarball (instead of 4.0.2)</li> <li>Use realpath to force absolute path in sys/install.sh prefix</li> <li>LZ4 removal for make and meson, relates to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1175463106" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/19849" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/19849/hovercard" href="https://github.com/radareorg/radare2/issues/19849">#19849</a></li> <li>Use relative includes instead of assuming libr/arch/include</li> <li>Haiku have ptrace but not sys/ptrace.h</li> <li>Fix 'missing setsockopt' issue on HaikuOS</li> </ul> <p><strong>ci</strong></p> <ul> <li>Add copilot support for pull requests</li> </ul> <p><strong>config</strong></p> <ul> <li>PDB server list is now space separated instead of using semicolons</li> <li>Rename asm.usercomments to asm.cmt.user</li> <li>Check cons-&gt;line is there in <code>scr.demo</code> setter</li> <li>Introduce bin.relocs.apply config var</li> </ul> <p><strong>cons</strong></p> <ul> <li>Revert "Minor optimization by avoiding one unnecessary clearline in the dietline</li> <li>Minor optimization by avoiding one unnecessary clearline in the dietline</li> <li>Add log.cons option to log errors through the RCons buffer</li> <li>Add missing r_cons_canvas_goto_write</li> <li>Make it possible to use Enter to submit the command in dietline vi-mode</li> <li>fix minor bugs</li> <li>simplify code</li> <li>Implement vi horizontal motions (f/F &amp; t/T) + more di (delete in) vi commands in dietline</li> <li>Implement <code>~</code> (swap case) dietline vi-mode command + fix color bug in prompt</li> <li>Refactor <code>d</code> (delete) commands and implement <code>c</code> (change) commands in dietline vi-mode</li> <li>Fix word deletion bugs in dietline vi-mode</li> <li>Improve dietline vi-mode word motion commands (b, e, d)</li> <li>Make behaviour of some dietline vi commands closer to vim's</li> <li>Don't print empty lines via io.system</li> <li>Make r_cons_pal_parse to always return ansi + RColor</li> <li>Fix XML indent</li> <li>Initial support for sixel graphics</li> <li>VC and VVC rotate over 0,1,2,3 values in scr.color</li> <li>Support bold attribute for the scr.html filter</li> <li>Minor scr.demo improvements on startup</li> <li>Implement the golden platinum shiny prompt</li> <li>Fix ~{}~foo grepping indented json</li> <li>Rename gui.alt_background -&gt; gui.background2</li> <li>Fix RCons.pal varnames to make them all follow the same syntax</li> <li>Add <code>ec func_var_name</code> in the color palette</li> <li>Disable the RConsMark api because getCursor is too slow</li> <li>Add the monochrome theme</li> <li>Free cons context marks during deinit</li> <li>Better default colors that works for light and dark terminals</li> <li>Initial implementation of the RConsMark API</li> <li>Eliminate some globals</li> </ul> <p><strong>cons"</strong></p> <ul> <li>Revert "Minor optimization by avoiding one unnecessary clearline in the dietline</li> </ul> <p><strong>core</strong></p> <ul> <li>Use size or vsize consistently in iS.</li> <li>Fix iS. paddr vaddr confusion</li> <li>Add sd command to show the delta seek relative to different bases</li> <li>Faster RCoreCall via RCoreCmd</li> <li>Add more RCore.cmd_at() variants</li> <li>Remove global state in visual UI</li> <li>Refactor structure of metadata for core plugins</li> <li>Fix removing core plugins from Lc after L-</li> <li>Only have 1 generic qjs plugin</li> <li>Add cursor mark to ds_print_data_type</li> <li>Add cons mark for cursor in ds_print_show_cursor</li> <li>Add column info to print_meta_offset</li> <li>Add hello world text box on visual refresh</li> <li>Expose injprot value in bin_info</li> <li>Speedup plugin loading and startup times</li> <li>Add the new RCore.cmdCallAt() and cmdfAt() APIS</li> </ul> <p><strong>crash</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2216358347" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22767" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22767/hovercard" href="https://github.com/radareorg/radare2/issues/22767">#22767</a> - Some UB when malloc(0) in RBuffer api</li> <li>Dont use the COFF symtable if the initalization fails</li> <li>Fix segfault when loading a python rlang plugin after a qjs one</li> <li>Dim symbol and section count to avoid future coff issues</li> <li>Add null terminator in symbol name union, fixes two tests</li> <li>Add test for the fuzzed coff file</li> <li>Fix large offset passed to the pascal demangler</li> <li>Fix double free in the io.gprobe plugin</li> <li>Fix oobread on the inline metadata used in disasm</li> <li>Fix another oobread in the nds32 disassembler and add tests</li> <li>Fix index out of bounds in the nds32 disassembler</li> <li>Fix heap buffer overflow in the mach0 parser</li> <li>Fix oobread in dalvik disassembler</li> <li>Fix negative index and oobread in array in pyc</li> <li>Fix negative realloc in the ELF parser</li> <li>Fix 1 byte oobread in the h8300 by defining the archinfo details</li> <li>Fix 1 byte overflow in pyc parser</li> <li>Use the safe r_str_scanf instead of scanf to parse gdb profile</li> <li>Fix op_pos oobread crash in ollvm'd binary</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2061904224" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22523" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22523/hovercard" href="https://github.com/radareorg/radare2/issues/22523">#22523</a> - 1 byte oobread in the java disassembler</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1965363992" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22349" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22349/hovercard" href="https://github.com/radareorg/radare2/issues/22349">#22349</a> - oobread in xnu kernelcache</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1954592663" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22333" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22333/hovercard" href="https://github.com/radareorg/radare2/issues/22333">#22333</a> - Fix oob index in global variable for nds32</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1954595581" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22334" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22334/hovercard" href="https://github.com/radareorg/radare2/issues/22334">#22334</a> - oob index in global for nds32 causing segfault</li> <li>Improve the situation in the non-null terminated string handling in mach0land</li> <li>Fix oobread in the ELF parser. Spotted by clusterfuzz</li> <li>Fix null deref assert in pdj</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1775988759" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21970" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21970/hovercard" href="https://github.com/radareorg/radare2/issues/21970">#21970</a> - Null checks in the R_LOG api</li> <li>Fix crash in emu.ssa reproducible even when disabled</li> <li>Fix oobs in the java parser, use RLOG and stop earlier</li> </ul> <p><strong>crypto</strong></p> <ul> <li>Add json and hexpairs output to encryption modes in rahash2</li> <li>Support numeric seed/key values via rahash2 -S and honor endianness via -e</li> </ul> <p><strong>debug</strong></p> <ul> <li>Fix the fix for dmh after ood</li> <li>adapt get_main_arena_offset_with_relocs to different libc versions</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2165785632" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22667" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22667/hovercard" href="https://github.com/radareorg/radare2/issues/22667">#22667</a> - do not call drx() on non-intel chips</li> <li>Add new way to resolve main_arena</li> <li>Refactor resolve_glibc_version, improve libc regex</li> <li>Fix call to thread_set_state in armv7</li> <li>Fix armv7 build for xnu native</li> <li>Avoid failing reg read if conversion fails on xnu native</li> <li>Fix thread_set_state on arm64e</li> <li>Improve argument parsing for the dmp command</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2117144027" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22563" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22563/hovercard" href="https://github.com/radareorg/radare2/issues/22563">#22563</a> - fix 'cannot assemble' in dmp, using egg shellcodes</li> <li>Autodetect libc version and support manual specification</li> <li>Import the debug.evm plugin from radare2-extras</li> <li>Fix bad parsing, uaf and other crashes in the dts command</li> <li>dcco steps over the function call after finding the call</li> <li>Fix bitsize when listing regs via ar=</li> <li>Debug plugin fallbacks</li> <li>Add the missing bp.null plugin</li> <li>Assume sysgdb:// implies -d</li> <li>Add support for macos-x86-64 in sysgdb://</li> <li>Initial support for arm64 via lldb (local and remote) in sysgdb://</li> <li>No warnings when /proc/pid/maps is not available on remote gdb targets</li> <li>Revert "Dont dupe map file and name if not necessary</li> <li>Dont dupe map file and name if not necessary</li> <li>Prefix 0x hex values in drr</li> <li>Fix dptj and add dpt? help match</li> <li>Implement 'dpq' command to just show the current pid</li> <li>Add dbg.glibc.path eval var to override magic guessing</li> <li>dce is no longer a windows-specific command</li> <li>Refactor r_debug_trace_list</li> <li>Store tracepoints in vec</li> <li>Migrate rv32ima plugin</li> <li>Migrate gdb plugin</li> <li>Migrate winkd plugin</li> <li>Migrate qnx plugin</li> <li>Migrate bochs plugin</li> <li>Store current debug plugin session, migrate plugin</li> <li>Improve naming for callback functions to reduce confusion</li> <li>Add cleanup of plugins</li> <li>Redesign plugins to have user data</li> <li>Add RRegType "privileged" and use it from the gdb profile</li> </ul> <p><strong>debug"</strong></p> <ul> <li>Revert "Dont dupe map file and name if not necessary</li> </ul> <p><strong>diff</strong></p> <ul> <li>Analysis diffing warnings are now debug messages</li> <li>Implement EXPERIMENTAL <code>radiff2 -T</code> to analyze bins in parallel</li> <li>Handle one more level of -A in radiff2</li> </ul> <p><strong>disasm</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2125123250" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22576" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22576/hovercard" href="https://github.com/radareorg/radare2/issues/22576">#22576</a> - Add esil object in pdJ with detailed info</li> <li>Dont show asm.emu comments when asm.comments is off</li> <li>Rename asm.calls to asm.cmt.calls</li> <li>Fix glitch in asm.bytes.space</li> <li>Implement <code>pdsq</code> and <code>pdsfq</code> commands. Improve help message</li> <li>Fix glitch when asm.bytes.space+asm.bytes.align+asm.nbytes%2</li> <li>Improve asm.offset.relto only via pd</li> <li>Avoid double disasm in some situations</li> <li>Emulate previous basic block instructions when emu.bb is set</li> <li>Implement emu.bb and honor it in <code>pd</code></li> <li>More stable asm.indent, but still experimental</li> <li>Add asm.flags.inoffset</li> <li>Add asm.flags.prefix (true by default)</li> <li>Show basic block color even if asm.trace is false</li> <li>Show noreturn attribute in the function signature</li> <li>Add asm.lines.limit config variable to hide asm.lines if disasm is larger</li> <li>Fix glitch + tests asm.bytes.{align,space}</li> <li>Improved unaligned cases in the listings</li> <li>Add asm.trace.{stats|color} and better trace visualization in graph and disasm</li> </ul> <p><strong>doc</strong></p> <ul> <li>Update rax2 manpage and fix help</li> <li>Add r2pipe2.md RFC</li> <li>Extend the manpage reader to support more attributes</li> <li>Update manpage for rasign2</li> <li>Update ESIL manpage</li> <li>Update rafind2 manpage</li> <li>Update documentation for macOS/arm64e</li> <li>README: Fix unit tests target after <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/radareorg/radare2/commit/fd9f8d631fa4f9eca5a91695157354dd3f51acd0/hovercard" href="https://github.com/radareorg/radare2/commit/fd9f8d631fa4f9eca5a91695157354dd3f51acd0"><tt>fd9f8d6</tt></a></li> <li>Add r2diaphora reference in the readme</li> </ul> <p><strong>emulation</strong></p> <ul> <li>Implement arAj and show help in arA?</li> <li>Fix aesou - not stop on calls and properly parse argument</li> <li>abpe now runs the commands and old abpe is now abpe*</li> </ul> <p><strong>esil</strong></p> <ul> <li>Add the esil.forth plugin to support the basic ops for the language to work</li> <li>Initial implementation of the ESIL compiler in the ae! command</li> <li>Move esil2c from core to libr.esil</li> <li>New command 'aeae', like aea, but taking an esil expression as argument</li> <li>Add '= ' and ':= ' esil ops as a workaround for <code>ae</code> oneliners</li> <li>Implement dre/are to list regs in esil format</li> <li>Add loopcounts to ESIL trace</li> <li>Remove global state for old callbacks</li> <li>Reintroduce r_esil_plugin_remove to satisfy generic plugin management in core</li> <li>Fix esil_plugin_remove</li> <li>anal-&gt;esil can't be null now, improve default initialization</li> <li>Improve aesue feedback and add tests</li> <li>Fix 'ae 1,xmm0,=', bug in '=' esil op with 128bit regs</li> <li>Fix x86 XOR ESIL for 64bit registers</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1794765432" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22029" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22029/hovercard" href="https://github.com/radareorg/radare2/issues/22029">#22029</a> ESIL for REP[Z] RET</li> <li>Fix esil plugins by removing leftover and adding aeL command</li> </ul> <p><strong>fix</strong></p> <ul> <li>Fix mnemonic output in m680x plugin</li> </ul> <p><strong>fs</strong></p> <ul> <li>Expose ownership and permissions to the posix filesystem</li> <li>Show error when unmounting not mounted mountponts</li> </ul> <p><strong>globals</strong></p> <ul> <li>Remove globals from bin.avr</li> </ul> <p><strong>graph</strong></p> <ul> <li>Fix graph title not current</li> <li>Honor colors in graphviz output</li> <li>Add graph.bb.maxwidth eval var and VV[] keys to adjust it</li> <li>Use VisualMark in the interactive graphs</li> <li>Honor pal.title color in the interactive graph</li> <li>Add '%' key in the interactive graph to hud over function code</li> <li>Fix segfault and wrong graph layout in aegv</li> </ul> <p><strong>hash</strong></p> <ul> <li>Add missing authors for the crypto plugins, update manpage</li> </ul> <p><strong>io</strong></p> <ul> <li>Add dyld shared cache rebase info v5</li> <li>Fix potential double free in io_map_overlay and io_treebuf</li> <li>Bring seek error back to UT64_MAX in dsc</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1899561195" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22269" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22269/hovercard" href="https://github.com/radareorg/radare2/issues/22269">#22269</a> - RAP seek over 2GiB</li> <li>Support whole address space for IO</li> <li>Show error when user applies relocs on urified ios</li> <li>Remove unused undo field in RIOPlugin</li> <li>Fix r_io_v2p</li> <li>Revert "Large null:// allocation causing negative pointer issues on iobank</li> <li>Improve map tying support</li> <li>Move dyld cache rebasing logic to io plugin</li> <li>Add dsc:// io plugin for dyld cache</li> <li>Adjust map boundaries on RIODesc resize</li> <li>Assure map boundary sanity on creation</li> <li>Faster frida://0 startup times</li> <li>Add gprobe:// flash commands</li> <li>Properly handle gprobe:// Print-messages</li> <li>gprobe:// receiving is fixed, so checksums can be verified</li> <li>Make sure that gprobe:// data is completely sent before receiving</li> <li>Fix gprobe:// serial port setup, so no CR/LF conversion happens</li> <li>Implement :j for ihex:// (json info)</li> <li>Implement :i in ihex:// to generate a new ihex</li> <li>Add system callback for the ihex:// plugin to get the written ranges</li> <li>Fix infinite loop in io.ihex</li> <li>Honor <code>r2 -n</code> with frida:// targets</li> <li>Add x86-32 support to sysgdb://</li> <li>Initial import of the sysgdb:// plugin</li> <li>Implement r_io_bank_get_byname and the omnb= command</li> <li>Implement the new cyclic:// plugin</li> <li>om handles the '.' as an alias for the current fd</li> <li>Implement "o=num|flag" to change current fd</li> <li>Implement o** and om** to jsut get the flags</li> <li>Fix io.seek bug in self://</li> <li>Relax =+rap://ip/ (missing file) assert check</li> <li>Fix type of enabled field in io cache</li> <li>Refactor structure of metadata for io plugins</li> <li>Fix memory leak with cleaning up qjs io plugins</li> <li>Implement qjs bridge for r2frida via io-&gt;system</li> <li>Add r_io_bank_get_region_at and r_io_get_region_at</li> <li>Harden some makros</li> <li>Add map overlay support to r_io_bank_write_to_submap_at</li> <li>Add r_io_map_drain_overlay and r_io_drain_overlay</li> <li>Some hardening for r_io_map_write_to_overlay</li> <li>Deprecate RIORelocMap; Introduce RIOMap overlay</li> <li>Add wc--* command to purge all cache layers</li> <li>Redesigned IO cache with layers</li> <li>Fix bug in io_treebuf plugin</li> <li>Add r_io_{desc/fd}_system</li> <li>Switch to the new io cache implementation, remove old code</li> </ul> <p><strong>io"</strong></p> <ul> <li>Revert "Large null:// allocation causing negative pointer issues on iobank</li> </ul> <p><strong>js</strong></p> <ul> <li>Add JSON output to /e</li> <li>Honor cfg.json in axt and other a subcommands</li> <li>Honor cfg.json.num in pj_n too</li> <li>Upgrade r2papi to the latest 0.2.2 adding Process and Module objects</li> <li>Only show fields and methods json objects if not empty</li> <li>Improve Ldj and Lcj outputs</li> </ul> <p><strong>json</strong></p> <ul> <li>Add JSON output to /e</li> <li>Honor cfg.json in axt and other a subcommands</li> <li>Honor cfg.json.num in pj_n too</li> <li>Only show fields and methods json objects if not empty</li> <li>Improve Ldj and Lcj outputs</li> </ul> <p><strong>lang</strong></p> <ul> <li>To use r2pipe-ts we depend on nodejs, so ts scripts need node now</li> <li>Implement r2pipe on the r2js lang plugin</li> <li>Use the core api to run home scripts and handle more extensions</li> <li>Fix nim and typescript plugins</li> <li>Implement r2.callAt and speedup r2.call for the qjs</li> <li>Fix js warnings when R2_DEBUG_NOPAPI is set</li> <li>Expose the global 'ptr' function like in Frida</li> <li>Update r2papi.ts to 0.1.2: add new apis</li> <li>Add js example converting json zignatures into r2 scripts</li> <li>Add r2.syscmd and r2.syscmds for lang.qjs</li> <li>Support qjs.io.close callback</li> <li>Add initial support for writing IO plugins in QJS</li> <li>Refactor qjs code</li> <li>Allow N &gt; 5 qjs plugins</li> <li>RLangPluginInit now returns bool</li> </ul> <p><strong>optimization</strong></p> <ul> <li>Slight code improvement for init_ehdr</li> </ul> <p><strong>panels</strong></p> <ul> <li>Add 'Full Version' entry in the help menu</li> </ul> <p><strong>perf</strong></p> <ul> <li>Inline sdb.hash improve performance in hash</li> </ul> <p><strong>port</strong></p> <ul> <li>Fix MSVC Arm support</li> <li>Fix archos detection on AIX</li> <li>Portability fixes</li> <li>mangling/microsoft: Fix dollar in identifier</li> <li>AIX configure support</li> <li>Don't use /dev/stderr</li> <li>Fix lock_init sym collision on AIX</li> <li>Add AIX config support</li> </ul> <p><strong>print</strong></p> <ul> <li>Add colors and improve the pie chart rendering a bit</li> <li>Add <code>pf2</code> using util/format2.c as wip refactoring</li> <li>Fix hexdump with half rows filled and pairs=false</li> <li>Fix inter basic block <code>goto loc</code> in pdc</li> <li>Implement <code>afsv</code> command to visualize function signature with given args</li> <li>Implement pv1d vs pv1u</li> <li>Reduce cache misses in JSON parsing apis</li> <li>Implement pso in sync with /az to search strings constructed with code</li> <li>Implement pvd command (pv2d, pv4d), like pv, but in decimal</li> <li>Add support for 16 and 32bit pascal strings</li> <li>Implement p8d command to print bytes in decimal</li> <li>Implement psn command to print string until newline</li> </ul> <p><strong>r2pm</strong></p> <ul> <li>Fix r2pm on some windows (packages contain \r\n instead of \n</li> <li>Make R2PM_PLUGDIR point to the system directory in global mode</li> <li>Add support for R2PM_CONFLICT</li> <li>Dont load r2 plugins when called from packaging</li> <li>Add R2PM_LIBDIR env var</li> <li>Fix update requirements to make startup faster</li> <li>Make -U implicit when there's no dbdir cloned yet</li> <li>Don't reinstall pkg dependencies when not doing clean installs if thay are already there</li> <li>r2pm -t now tags tags/commits and it's now strict</li> <li>R2PM_SUDO + SUDO just in case</li> <li>Set library path for r2 prefix and r2pm prefix in r2pm -r</li> <li>Deprecate the wordish arguments in r2pm</li> </ul> <p><strong>r2r</strong></p> <ul> <li>Load plugins when running extra tests</li> <li>Add R2R_TIMEOUT env for r2r and use it from the CI</li> <li>Add missing error code checks in chdir calls</li> </ul> <p><strong>rax2</strong></p> <ul> <li>Add RPrint.binFromStr and RStr.binstr2bin and RStr.binstr2str</li> </ul> <p><strong>refactor</strong></p> <ul> <li>Renaming r_num_get_float to r_num_get_double</li> <li>Make clear that r_return* is a macro!</li> <li>elf_init: Clean up the code a little bit</li> <li>Use .inc.c in libr/core</li> </ul> <p><strong>reg</strong></p> <ul> <li>Implement 24bit regwrite support</li> <li>Add =TR to reference the thread register in the register profile</li> <li>Optimize r_reg_cond_from_string</li> <li>Add GP and RA register alias names</li> </ul> <p><strong>sdb</strong></p> <ul> <li>Fix undefined behavior in swisstable impl</li> </ul> <p><strong>search</strong></p> <ul> <li>Add support for globbing flags for <code>search.in</code></li> <li>Honor search.badpages in RCore.analSearchXrefs</li> <li>Add search.named option (disabled by default)</li> <li>Improve syscall search results on x86 (/as)</li> </ul> <p><strong>shell</strong></p> <ul> <li>Support using the question mark in rlang plugin calls</li> <li>Add base64 for CC (not only CCu)</li> <li>Add "b=" command as an alias for "b "</li> <li>Handle ^F and ^B in RCons.less</li> <li>Handle -jv and make that logic generic across all tools</li> <li>Make rahash2 -qc really quiet (report only via return code)</li> <li>Support internal files in the tac command</li> <li>Bring back the multiline macro support</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2158519308" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22656" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22656/hovercard" href="https://github.com/radareorg/radare2/issues/22656">#22656</a> - Handle quoted pipes</li> <li>Add scr.timeout covering the ^C blocks</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2157467535" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22652" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22652/hovercard" href="https://github.com/radareorg/radare2/issues/22652">#22652</a> - Handle ^C in pdj</li> <li>Improve help message for <code>afl,?</code></li> <li>Initial WIP implementation of pl</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2133841739" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22594" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22594/hovercard" href="https://github.com/radareorg/radare2/issues/22594">#22594</a> - Handle long flags in r_getopt as an alias for help</li> <li>Implement support for json and r2 output for %env</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2130583038" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22588" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22588/hovercard" href="https://github.com/radareorg/radare2/issues/22588">#22588</a> - Support multiple redirections in the same line</li> <li>Fix error and add missing help for <code>r2 -qc '?*~abcd' --</code></li> <li>afbt -&gt; afb,</li> <li>Refactor <code>ie</code> outside the subcommand loop</li> <li>Move 'ic?' help into a separate listing</li> <li>Add support for wide pascal strings</li> <li>Fix dc derivatives causing unintended seek</li> <li>Initial ic, ia refactor and make icc take lang as argument</li> <li>Fix <code>?*&gt;</code> dumping to screen</li> <li>Implement ~$$ for internal sort+uniq grep filter</li> <li>Port <code>iaj</code> fixing some invalid json bugs</li> <li>Fix iiqq confussion and start delooping the i subcommands</li> <li>Add afn* command</li> <li>0x command also saves seek history</li> <li>Verbose R2_ARGS for debugging purposes</li> <li>pdua now takes a math arg, not just a number</li> <li>Keep r2 short help under 80 columns</li> <li>Implement sfp and sff commands to seek nearest function or flag</li> <li>Fix popd warning when there's only 1 pushed folder</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1960326153" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22344" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22344/hovercard" href="https://github.com/radareorg/radare2/issues/22344">#22344</a> - Fix invalid json in <code>ax.j</code> command</li> <li>Hide the rasm2/rabin2/.. unrelated plugin loading errors</li> <li>Add afcj as an alias for afcfj</li> <li>Add help for arb?</li> <li>Fix code instead of help message for the yank command</li> <li>Add more emojis for <code>ls -e</code></li> <li>Fallback to 'o.' when running dpe without debugger</li> <li>Implement iE, command to table-query exported symbols</li> <li>Fix glitch iterating script files provided via -i</li> <li>Honor bin.lang in the icc command</li> <li>Recognize the 'yr' command as owned by r2yara</li> <li>Show bools as bools and ints as ints in <code>ej</code> json output</li> <li>Fix 'unknown subcommand' error in ?* .. aet?</li> <li>Add im* subcommand and honor bin-&gt;mem callback</li> <li>Add <code>obi</code> as an alias for <code>i</code></li> <li>Expand r2 -Vj output to include all plugins, thirdparty and other version info</li> <li>Implement 'Lbj' to list bin plugins in json</li> <li>Bring back the r2 -Lj, and fix -LLj</li> <li>Add scr.prompt.code to display return code in the prompt</li> <li>Add signed subcommand for the <code>pv</code> family</li> <li>List analysis plugins with the 'a:' command</li> <li>Implement missing Lb command</li> <li>Fix |H and temporal scr.html</li> <li>Add 'aet' +help, fix assert in 'r2 -d XXX' and RConfig.getB</li> <li>Support 'e key.?' syntax as alternative to 'e?key.'</li> <li>Fix <code>?vi [1:$$]</code> to read 1 byte from current offset</li> <li>Add ~&lt;&gt; cons filter to indent XML</li> <li>Reference abc command in the afbc help message</li> <li>abt-&gt;abp (path between bbs) and add the new abt for tracing tags</li> <li>Fix some bugs in the ls command parsing</li> <li>Fix 'ar=32' vs 'ar= 32' both are valid</li> <li>Fix autocompletion for pfc.</li> <li>Add file.anal times in ?T</li> </ul> <p><strong>shlr</strong></p> <ul> <li>Fix qjs MSVC support</li> <li>sdb-sync</li> <li>Improve quickjs portability</li> </ul> <p><strong>signatures</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1838542437" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22132" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22132/hovercard" href="https://github.com/radareorg/radare2/issues/22132">#22132</a> - Add support for loading zignatures in multiple formats</li> </ul> <p><strong>test</strong></p> <ul> <li>Fix running arch/debug specific tests in r2r</li> <li>Implement the NORUN directive for r2r</li> <li>Some more tests for the COFF bigobj binary</li> <li>Add 'F' in r2r to fix all tests, fix fgets usage</li> <li>Fix mnemonic output in m680x plugin</li> <li>Implement ENV directive for r2r</li> <li>Implement they REPEAT directive for r2r</li> <li>Use meson in the perf suite, add GHA scripts and 'make some'</li> <li>Add memory log parser</li> <li>Initial implementation of the benchmark suite</li> <li>Fix <code>cd test/db/cmd &amp;&amp; r2r .</code></li> <li>Document R2R_OFFLINE</li> <li>Fix return code when running r2r against .c files</li> <li>Accept .c files as argument to r2r</li> </ul> <p><strong>tests</strong></p> <ul> <li>Fix running arch/debug specific tests in r2r</li> <li>Implement the NORUN directive for r2r</li> <li>Add 'F' in r2r to fix all tests, fix fgets usage</li> <li>Implement ENV directive for r2r</li> <li>Implement they REPEAT directive for r2r</li> <li>Use meson in the perf suite, add GHA scripts and 'make some'</li> <li>Add memory log parser</li> <li>Initial implementation of the benchmark suite</li> <li>Fix <code>cd test/db/cmd &amp;&amp; r2r .</code></li> <li>Document R2R_OFFLINE</li> <li>Fix return code when running r2r against .c files</li> <li>Accept .c files as argument to r2r</li> </ul> <p><strong>thread</strong></p> <ul> <li>Current cmd.depth depends on core, not on the global cons context now</li> </ul> <p><strong>tools</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2189222279" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22698" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22698/hovercard" href="https://github.com/radareorg/radare2/issues/22698">#22698</a> - Implement rax2 -j flag for json output</li> <li>Rename rax2 -l to rax2 -n</li> <li>Rename rax2 -n/-N to rax2 -x/-c</li> <li>Rename rax2 -x to rax2 -X</li> <li>Support quiet json plugin listing in rahash2 via -qjL or -jjL</li> <li>Implement rahash2 -Lj to list plugins in JSON</li> <li>Fix rax2 -l behaviour</li> <li>Implement R2_ARGS environment</li> <li>Handle RARUN2_ARGS env var in rarun2</li> <li>Swap -a and -A in rasign2</li> </ul> <p><strong>util</strong></p> <ul> <li>Handle URL safe base64 decoding</li> <li>Implement the sub-beats computation in RTime.beats()</li> <li>Improve RStr.rwx permission string parsing</li> <li>Implement scansets support in RStr.scanf</li> <li>Initial import of our custom and safe r_str_scanf</li> <li>Fix <code>diff</code> command</li> <li>Fix r_print_hexdump() when called with RPrint *=NULL</li> <li>Fix bug in r_str_split_list</li> <li>Implement RRange.toString()</li> <li>Joyful RStringSplit.asVector()</li> <li>Swiss htuu / htpu / htsu</li> <li>Add last function to vec</li> <li>Fix issue with creating vec of pointer type</li> <li>Cleanup swisstable code</li> <li>Add cwisstable headers + support headers</li> <li>Add hacky implementation of r_graph_pdom_tree</li> <li>Fix domtree graph</li> <li>JSON is not happy with \x</li> <li>Allow append in vec to deep copy</li> <li>Rework vec macros to inline finalizer function</li> <li>Implement small vec optimization</li> <li>Refactor vec generate macro</li> <li>Do not sort vec if empty</li> <li>Fix memory leaks in diffing code</li> <li>Add more vector algorithms (partition, uniq, eraseback, ..)</li> <li>Add sort function RVec, const correctness</li> <li>Add find_index function to RVec</li> <li>Update find to take any value type for more general use</li> <li>Add find function to Vec</li> <li>Cosmetic patch</li> <li>Add r_graph_dom_tree</li> <li>Add new optimized vector implementation</li> <li>RFile.path() returns NULL if not found</li> <li>Get rid of the unused skyline data structure</li> </ul> <p><strong>visual</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2190267775" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22706" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22706/hovercard" href="https://github.com/radareorg/radare2/issues/22706">#22706</a> - Honor dbg.follow in F7/F8</li> <li>Follow r:SP in the stack panel</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2152450603" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/22640" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/22640/hovercard" href="https://github.com/radareorg/radare2/issues/22640">#22640</a> - improve sidepanels in limited space</li> <li>Show proper help in VT and support tab and body scroll</li> <li>Fix vbl and add vbL for the old one</li> <li>Handle [] keys in VT</li> <li>Add cmd.vprompt2 to run a command after the visual prompt</li> <li>Use pdr instead of pdf to show non-linear functions in Vv</li> <li>Fix regression in visual hex cursor</li> <li>Implement scrolling in current r2slide</li> <li>Fix visual marks commands: fV* and fV-#</li> <li>Unify the visual_find() code with graph and visual</li> <li>Implement VV% for the plain V%</li> <li>Integrate Cb with disasm asmq key hints</li> <li>Improve usability of Vdr - show disasm while renaming function names</li> <li>Make V/ update the highlights in realtime</li> </ul> <p><strong>vuln</strong></p> <ul> <li>Patch Escape Sequence Injection Bypass</li> </ul> <p><strong>write</strong></p> <ul> <li>Implement 'wao+' command and remove RCore.hackHelp()</li> </ul> <p><strong>zignatures</strong></p> <ul> <li>Add rasign2 -i to run a script before generating signatures</li> <li>Mangled function signatures for za</li> <li>Hide duplicated xrefs in zg</li> <li>Fix missing zignature xrefs, resolving source function name instead of flag</li> <li>Enumerate any kind of refs/xrefs not just call/code ones</li> </ul> <p></p></details> github-actions[bot] tag:github.com,2008:Repository/4869294/5.8.8 2024-01-15T02:56:04Z 5.8.8 <h2>Release Notes</h2> <p>Version: 5.8.8<br> Previous: 5.8.6<br> Commits: 192<br> Contributors: 11</p> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="curl -Ls https://github.com/radareorg/radare2/releases/download/5.8.8/radare2-5.8.8.tar.xz | tar xJv radare2-5.8.8/sys/install.sh"><pre>curl -Ls https://github.com/radareorg/radare2/releases/download/5.8.8/radare2-5.8.8.tar.xz <span class="pl-k">|</span> tar xJv radare2-5.8.8/sys/install.sh</pre></div> <h2>Highlights</h2> <details><summary>More details</summary><p> </p><h2>Authors</h2> <p><a href="mailto:dennis@doyensec.com">Dennis Goodlett</a> <a href="mailto:dennis@hurricanelabs.com">Dennis Goodlett</a> <a href="mailto:dvertx@gmail.com">Hertatijanto Hartono</a> <a href="mailto:Luc.Tielen@gmail.com">Luc Tielen</a> <a href="mailto:ltielen@nowsecure.com">Luc Tielen</a> <a href="mailto:11234807+as0ler@users.noreply.github.com">Murphy</a> <a href="mailto:condr3t@protonmail.com">condret</a> <a href="mailto:pancake@nopcode.org">pancake</a> <a href="mailto:pancake@nowsecure.com">pancake</a> <a href="mailto:122955334+phix33@users.noreply.github.com">phix33</a> <a href="mailto:74342662+167rgc911@users.noreply.github.com">rgc</a></p> <h2>Changes</h2> <p><strong>anal</strong></p> <ul> <li>Small improvement on tail call detection</li> <li>Check for noret destinations in afbr listings</li> <li>Consider zero pages as invalid code</li> <li>Dont enable debug tracing from type propagation</li> <li>Implement ahb-* missing command</li> <li>Make macos/ios targets inherit types from darwin</li> <li>Fix aod command for pickle arch</li> </ul> <p><strong>analysis</strong></p> <ul> <li>Small improvement on tail call detection</li> <li>Check for noret destinations in afbr listings</li> <li>Consider zero pages as invalid code</li> <li>Dont enable debug tracing from type propagation</li> <li>Implement ahb-* missing command</li> </ul> <p><strong>arch</strong></p> <ul> <li>Improve tricore.cs handling jumps/rets/movs/</li> <li>Fix ESIL MIPS64 NOR instruction</li> <li>Migrate java plugin</li> <li>Migrate i8080 with full refactor</li> <li>Fix max asm len in pickle</li> <li>Fix cs4 build of the sh arch plugin</li> <li>Honor endianness without messing with capstone initialization in ppc.cs</li> <li>Remove global state in ppc_cs plugin</li> <li>Migrate ppc_cs plugin</li> <li>Update to the latest capstone for new sh and tricore</li> <li>Remove global state in v850 plugin</li> <li>Remove global state from loongarch dis</li> <li>Remove globals/duplicate code in riscv plugin</li> <li>Remove global state in lua5.3 plugin</li> <li>Remove global state from 6502_cs plugin</li> <li>Remove global state from xtensa plugin</li> <li>Cleanup global state in riscv plugin</li> <li>Remove thread local state from m68k_cs plugin</li> <li>Remove global state in loongarch plugin</li> <li>Refactor z80 plugin to not have global state</li> <li>Migrate sparc_cs plugin</li> <li>Add more call level registers for i4004</li> <li>Dont abuse asm.bits in bin.pyc and honor asm.cpu</li> <li>Add support for 4bit registers</li> <li>Initial support for the Sharp SM5xx MCUs</li> </ul> <p><strong>asm</strong></p> <ul> <li>Improve adrp instruction assembler and add more tests</li> </ul> <p><strong>bin</strong></p> <ul> <li>Warn on unresolved symbols/relocs in ELF and better handle -1 addresses</li> <li>Parse more CodeSignature fields for mach0</li> <li>Parse CodeSignatureDirectory entries for mach0</li> <li>Faster Css using the api instead of Cz with tmpseek</li> <li>Use Css in ELF (instead of section.has_strings) to avoid flags</li> <li>Apply section formats in a second iteration</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1736823201" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21823" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21823/hovercard" href="https://github.com/radareorg/radare2/issues/21823">#21823</a> - tag static elfs as non libinjectables</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1206325438" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/19964" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/19964/hovercard" href="https://github.com/radareorg/radare2/issues/19964">#19964</a> - show relro:no even if no dyn section is found</li> <li>Add support for even more elf reloc types</li> <li>Add support for more elf reloc types</li> <li>Refactor elf get_import_addr checks</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1697761148" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21715" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21715/hovercard" href="https://github.com/radareorg/radare2/issues/21715">#21715</a> - Add baddr to the class info from DEX</li> <li>Add missing flags for the internal ELF symbol relocactions</li> <li>Check for PT_LOAD segments before fully reading elf phdr</li> <li>Iterate over vector i.s.o. list in elf entries</li> <li>Speed up loading of elf relocs</li> <li>Refactor even more parts of elf loader</li> <li>Refactor more of elf loader</li> <li>Refactor more elf loader code</li> <li>Use main=-1 instead of 0 before finding the symbol in mach0</li> <li>Handling ELF symbols with no name</li> <li>Refactor more functions in elf loader</li> <li>Refactorings for elf loader</li> <li>Add RBinInfo.libinjprot field for mach0 at least</li> <li>Infer asm.os from platform's LC_BUILD_VERSION</li> <li>Improve performance when loading mach0 classes</li> <li>Implement basic pdp11 binary parser and a bit better disasm</li> <li>Add support for more ELF SPARC relocs</li> <li>Implement ELF relocs for SPARC and MIPS and avoid duplicates</li> </ul> <p><strong>build</strong></p> <ul> <li>Update and improve r2docker as well as publish the new image into the hub</li> <li>Add r2pm build-arg to the r2docker with r2frida,r2ghidra,r2dec packages</li> <li>Install r2frida and use /usr as prefix for r2docker</li> <li>Apply fixes from the Termux package and update acr</li> <li>Add wasm to the default meson builds</li> </ul> <p><strong>ci</strong></p> <ul> <li>apt-get update before install in the syslibs job</li> </ul> <p><strong>cons</strong></p> <ul> <li>Faster ~? rcons filtering</li> <li>Improve the twilight theme</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1722889724" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21772" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21772/hovercard" href="https://github.com/radareorg/radare2/issues/21772">#21772</a> - Ensure RCons.raw after reading from user in ~/</li> <li>Early return on RCons.flush() when nothing to do</li> <li>Detect too large input strings in RCons.prompt</li> <li>Fix RCons.readCharTimeout()</li> <li>Remove globals from 2048</li> <li>Remove global state in stiv</li> <li>Fix ::pd and ::? glitch with (null) colors</li> </ul> <p><strong>core</strong></p> <ul> <li>Make fortune file selection random</li> <li>Make all the RCoreCmdStr functions R_MUSTUSE its return</li> <li>Refactor global state in vslides</li> </ul> <p><strong>crash</strong></p> <ul> <li>Fix UAF in 8051 analysis on fuzzed code</li> <li>Fix out-of-memory allocation on a fuzzed plan9 binary</li> <li>Fix oob write in dyldcache accel loading</li> <li>Store the vector index instead of a weak pointer for the ELF</li> <li>Prevent an oobread in the lua bin parser</li> <li>Fix UAF read in the LUA bin parser</li> <li>Fix UAF in RNumCalc</li> </ul> <p><strong>debug</strong></p> <ul> <li>Fix reading and parsing /proc/pid/maps from remote gdb on android</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1734660127" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21813" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21813/hovercard" href="https://github.com/radareorg/radare2/issues/21813">#21813</a> - parsing reg profiles from android-gdbserver</li> <li>Don't run dmh on macOS when not debugging</li> <li>Fix null deref in get_base_from_maps</li> <li>Add initial debug heap support for macOS</li> <li>Initial import of the rv32ima debug plugin</li> </ul> <p><strong>disasm</strong></p> <ul> <li>Implement asm.cmt.token to choose the comment prefix token</li> <li>Fix '*' cursor mark on some addresses</li> <li>Implement hint color for nicer disasm comments</li> <li>Implement asm.offset.focus to show addrs ofs interest</li> <li>Add ahi36 and asm.offset.base36=true</li> <li>Implement asm.bytes.asbits to display instruction bits in binary</li> </ul> <p><strong>egg</strong></p> <ul> <li>Initial support for arm64 eggs</li> </ul> <p><strong>esil</strong></p> <ul> <li>Fix null derefs and memleaks in {esil,debug}traces</li> <li>Improvements in the visual esil debugger and documentation</li> </ul> <p><strong>graph</strong></p> <ul> <li>Set terminal in raw mode before entering visual graph mode</li> </ul> <p><strong>io</strong></p> <ul> <li>Remove meaningless optimization leftover in io.cache</li> <li>Fix and prevent null assert on RIODesc fixing zip0://</li> <li>Fix hypothetical arbitrary code execution vuln in r_io</li> </ul> <p><strong>lang</strong></p> <ul> <li>Implement RLangPlugin.init for Go,Rust,Typescript and Zig</li> <li>Make RLangPlugin.init() actually define if can be instantiated</li> <li>Fix RCons.noflush issue when using '-i foo.c'</li> <li>Improve r2js module loading, honoring relatve and absolute paths</li> <li>Update r2papi.ts 0.1.1</li> <li>Support relative module resolution in qjs</li> <li>Fix alias marker parser in the qjs loader</li> <li>Handle .r2.js file extension</li> </ul> <p><strong>main</strong></p> <ul> <li>Move .inc files to .inc.c for editor support</li> <li>Remove global state and fix memory leak in rabin2</li> </ul> <p><strong>print</strong></p> <ul> <li>Fix invalid json on 'pfj x[1]z'</li> <li>Fix assert on null deref with the 'pf E' command</li> <li>Let 'pxr' follow tagged pointers</li> </ul> <p><strong>qjs</strong></p> <ul> <li>Handle multiple ../ imports</li> </ul> <p><strong>r2pm</strong></p> <ul> <li>Implement r2pm -t for timeless packages</li> <li>Fix r2pm when launching it from a deleted working directory</li> </ul> <p><strong>search</strong></p> <ul> <li>Implement Css (section string scan) and Csz (same as Cz)</li> <li>String search no longer requires a keyword</li> </ul> <p><strong>shell</strong></p> <ul> <li>Show log.level=? help message</li> <li>Merge all R*2_NOPLUGINS as R2_NOPLUGINS</li> <li>Ship and use our own manpage reader</li> <li>Implement <code>man</code> command for launching "man pages"</li> <li>Autocomplete -i command</li> <li>Fix help message for idp?</li> <li>Show capstone version in r2 -v</li> <li>Show build system used (meson|make) in r2 -v</li> <li>r2pm search is case insensitive</li> <li>Fix the r2p tool and add a test</li> <li>Fix help for ?:? and show its links with =!</li> </ul> <p><strong>shlr</strong></p> <ul> <li>Fix undefined behavior when reading java uints</li> </ul> <p><strong>tests</strong></p> <ul> <li>Implement r2r -g to run the tests associated with the files changed</li> </ul> <p><strong>tools</strong></p> <ul> <li>Implement rax2 -rS and update manpage</li> </ul> <p><strong>util</strong></p> <ul> <li>Add support for base36 numbers</li> <li>Remove global state in time.c</li> </ul> <p><strong>visual</strong></p> <ul> <li>Visual ESIL debugger improvements</li> <li>Improve and simplify Vv ascii art, and make it available from panels</li> <li>Call more setraw() to fix a recent visual regression</li> <li>Improve interactive config and color editors</li> </ul> <p><strong>windows</strong></p> <ul> <li>Fix stty windows warning</li> </ul> <p></p></details> github-actions[bot] tag:github.com,2008:Repository/4869294/5.8.6 2023-05-05T21:07:15Z 5.8.6 <h2>Release Notes</h2> <p>Version: 5.8.6<br> Previous: 5.8.4<br> Commits: 295<br> Contributors: 23</p> <h2>Highlights</h2> <details><summary>More details</summary><p> </p><h2>Authors</h2> <p><a href="mailto:50800396+AlexanderKucherov@users.noreply.github.com">AlexanderKucherov</a> <a href="mailto:51972476+CorruptedVor@users.noreply.github.com">CorruptedVor</a> <a href="mailto:mrmacete@protonmail.ch">Francesco Tamagni</a> <a href="mailto:132371000+Hripsimee@users.noreply.github.com">Hripsimee</a> <a href="mailto:ildar.sadykov2000@gmail.com">Ildar</a> <a href="mailto:45717260+IldarS2000@users.noreply.github.com">Ildar Sadykov</a> <a href="mailto:leommxj@gmail.com">Leopold</a> <a href="mailto:Luc.Tielen@gmail.com">Luc Tielen</a> <a href="mailto:ltielen@nowsecure.com">Luc Tielen</a> <a href="mailto:25155631+MewtR@users.noreply.github.com">Mewt R</a> <a href="mailto:25155631+MewtR@users.noreply.github.com">MewtR</a> <a href="mailto:74342662+167rgc911@users.noreply.github.com">R</a> <a href="mailto:sylvain.pelissier@gmail.com">Sylvain Pelissier</a> <a href="mailto:didib@users.noreply.github.com">Yedidyah Bar David</a> <a href="mailto:ysaxenax@gmail.com">Yuvraj Saxena</a> <a href="mailto:543984341@qq.com">Zhipeng Xue</a> <a href="mailto:melih.sahin@protonmail.com">echel0n</a> <a href="mailto:pancake@nopcode.org">pancake</a> <a href="mailto:pancake@nowsecure.com">pancake</a> <a href="mailto:74342662+167rgc911@users.noreply.github.com">rgc</a> <a href="mailto:support@r2c.dev">semgrep.dev on behalf of @trufae</a> <a href="mailto:nikhilkamblestudy@gmail.com">theNKCode</a> <a href="mailto:tsunekou1019@gmail.com">tsunekoh</a></p> <h2>Changes</h2> <p><strong>anal</strong></p> <ul> <li>Handle 'int 0x20' as eob on x86-16 (assume DOS)</li> <li>Fix null deref in arm32 calling conventions via 'aaef'</li> <li>Handle more noreturn functions</li> <li>RAnal.cur can be now set to NULL</li> <li>Fix aae logic for mem read xrefs</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1662029564" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21576" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21576/hovercard" href="https://github.com/radareorg/radare2/issues/21576">#21576</a> - Function stack frame size in case of FP register in a Thumb's PUSH</li> <li>Improved instruction mask using the new aobm and anal.mask</li> <li>Support big endian value search analysis (aav)</li> <li>Fix null deref in signatures when using corrupted analysis info</li> <li>Hide meaningless AnalOp fields in <code>ao/aoj</code></li> </ul> <p><strong>analysis</strong></p> <ul> <li>Handle 'int 0x20' as eob on x86-16 (assume DOS)</li> <li>Fix null deref in arm32 calling conventions via 'aaef'</li> <li>Handle more noreturn functions</li> </ul> <p><strong>api</strong></p> <ul> <li>Deprecate r_str_cmp()</li> <li>Rename R_CONST to R_TAG and add unit tests for them</li> </ul> <p><strong>arch</strong></p> <ul> <li>Migrate tms320 plugin</li> <li>Cleanup global state in mips gnu plugin</li> <li>Migrate mips gnu plugin</li> <li>Migrate chip8</li> <li>Handle the arch.decode default size and mnemonic on failure</li> <li>Migrate xcore plugin</li> <li>Migrate m68k_cs plugin</li> <li>Migrate 6502_cs plugin</li> <li>Migrate m68k_cs plugin</li> <li>Refactor global state in loongarch plugin</li> <li>Migrate loongarch plugin</li> <li>Handle RArch.getRegProfile() from RAnal.setRegProfile</li> <li>Fix the wrong plugin used after failed arch.encoding</li> <li>Rename arch.arm plugin 'arch.arm.nz'</li> <li>Use plugin name instead of arch name to fallback</li> <li>Propagate endian settings</li> <li>Honor RArch.setBits via RAnal.setBits</li> <li>Support fatmachos with slices using arch plugins</li> <li>Improve automatch plugin with encoder support</li> <li>Resolve ${arch}.nz as fallback when finding an assembler peer</li> <li>Remove '#' sign before immediates in the snes9x disassembler</li> <li>Fix 1 byte oobread in the wasm disassembler</li> <li>Migrate s390.cs and fix the abidiff suppression rules</li> <li>Migrate the ppc.gnu plugin</li> <li>Migrate m68k_gnu plugin</li> <li>Improve the riscv analysis</li> <li> <ul> <li>Fix esil emulation for riscv's jr/li/mv</li> </ul> </li> <li>Migrate S390 GNU plugin</li> <li>Dont use strtok in the riscv plugin</li> <li>Migrate the hppa.gnu</li> <li>Migrate the sparc.gnu plugin</li> <li>Improve brainfuck VM using ESIL and arch restrictions</li> <li>Migrate the brainfuck</li> <li>Remove unneeded line in meson build after plugin migration</li> <li>Migrate h8300 plugin</li> <li>Migrate the pyc plugin</li> <li>Migrate msp430 plugin</li> <li>Fix archinfo for v810</li> <li>Add wip archinfo and wip regs and make mcs96 an arch plugin</li> <li>Migrate ebc plugin</li> <li>Migrate lh5801 plugin + add missing regprofile</li> <li>Migrate the pdp11 plugin</li> <li>Migrate arc</li> <li>Expose the value of arm's ADD in op.val</li> <li>Implement <code>wao nop</code> for riscv</li> <li>Migrate arm.v35</li> </ul> <p><strong>asm</strong></p> <ul> <li>Implement 'call [rip+X]' for x86.nz and add tests</li> <li>Fix UB in signed type shift left on arm64 assembler</li> <li>Fix tb instruction for ARM assembler</li> </ul> <p><strong>bin</strong></p> <ul> <li>Fix double free in elf loader</li> <li>Fix memory leak in mach0 relocs</li> <li>Fix memory leak in xtr fatmach0 metadata</li> <li>Fix memory leak in elf loader</li> <li>Fix compile warnings for elf loader</li> <li>Improve handling of nindirectsyms for corrupt macho binaries</li> <li>Fix crash due to int overflow loading mach0</li> <li>Refactor / improve loading of ELF symbols + imports</li> <li>Shorten path on invalid fatmachos fixing a recent null precondition check</li> <li>Better use of preconditions and r_log in fatmach0</li> <li>Refactor loading of elf fields</li> <li>Refactor loading of elf libs</li> <li>Refactor elf loading of relocs</li> <li>Refactor even more loading of elf sections</li> <li>Refactor elf loading of sections</li> <li>Refactor mach0 loading of relocs</li> <li>Silent warning on empty dwarf blocks</li> <li>Unused var had a meaning in the xnu kernelcache parser</li> <li>Refactor loading of mach0 sections</li> <li>Conditionally parse mach0 start symbols</li> <li>Fix bug wrongly casting dyld/kernelcache to mach0</li> <li>Remove code, port dyld + kernel cache to new API</li> <li>Fix UAF in the p9 parser</li> <li>Refactor loading of mach0 symbols</li> <li>Refactor loading of mach0 libraries</li> <li>Implement review remarks for mach0 import parsing</li> <li>Refactor mach0 loading of imports</li> <li>Refactor string comparisons in macho parser</li> <li>Add demangled column in the symbol listing</li> <li>Add LC_AOT_METADATA parsing support for mach0</li> <li>Reuse recusion in c++ demangling with lower bounds</li> <li>Fix some oobread bugs in the ELF parser</li> <li>Initial steps to support column details in dbginfo</li> <li>Optimize dwarf parser reducing getsection for strp</li> <li>Remove global in the DWARF parser</li> <li>More ELF cleanups on the symbol allocation logic</li> <li>Minor cleanup in the ELF parser</li> <li>Fix Mach-O symbol parsing in dyldcache</li> <li>Blind ELF fixes</li> <li>ZeroPad addresses in iSq and iSSq</li> </ul> <p><strong>build</strong></p> <ul> <li>Fix some -fvisibility=hidden issues</li> <li>Fix <code>meson -Dnogpl=true</code> compilation</li> <li>Update to the latest wasi-sdk-20</li> <li>Fix R_SYS_ARCH name for native s390x</li> <li>Fix r2r build when doing static linking</li> <li>Fix SocketNotificationRetrieveEvents already defined issue</li> <li>Make sys/sanitize be aware of the memory sanitize check</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1594593850" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21375" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21375/hovercard" href="https://github.com/radareorg/radare2/issues/21375">#21375</a> also for linux-arm-64.sdb syscalls with meson</li> <li>getcpu is reserved by linux's sched.h</li> <li>meson support for smallz4, relates to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1175463106" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/19849" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/19849/hovercard" href="https://github.com/radareorg/radare2/issues/19849">#19849</a></li> <li>Use Smallz4 instead of liblz4 which is optional</li> </ul> <p><strong>ci</strong></p> <ul> <li>Add crosscompiled arm64 debian builds</li> <li>Add arm64, riscv64 and s390x qemu builds</li> <li>Move the tarball distribution code into dist/tarball</li> </ul> <p><strong>cons</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="649170432" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/17194" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/17194/hovercard" href="https://github.com/radareorg/radare2/issues/17194">#17194</a> - Fix 'e scr.pager=..' to set the internal pager</li> <li>Add greepy color theme (green + pink + white) glitch-style</li> <li>Add support for ""ec in theme files</li> </ul> <p><strong>core</strong></p> <ul> <li>Fixes the bfbug losing arch setup after <code>o malloc</code></li> </ul> <p><strong>crash</strong></p> <ul> <li>Fix double-free in r2pm when no python bin in path</li> <li>Fix oobread in /v</li> <li>Fix 2byte oobread in /a subcommands</li> <li>Fix null deref on null :: command via fuzzing</li> <li>Fix null deref on fuzzed thready command execution</li> <li>Fix null deref in unaligned arm thumb instruction via /ad</li> <li>Fix oom bugs in the XTAC parser</li> <li>Fix large memory allocations on corrupted LE binaries</li> <li>Fix infinite loop in the GNU C++ demangler</li> <li>Track recursivity calls in the HFS parser to prevent stack exhaution</li> <li>Fix oobread bug in asn1/pkcs7 parser</li> <li>Fix uninitialized field accesses on corrupted DEX</li> <li>Fix UB with uninitialized read in dwarf parser</li> <li>Fix infinite loading time in minidump file</li> <li>Fix unaligned pointer access in sha256</li> <li>Fix division by zero in the HFS parser</li> <li>Fix oobread segfault in the grub's HFS parser</li> <li>Fix ininite loop in the ext2 grub code (DDoS)</li> <li>Fix 8 byte oobread on pkcs7 parser</li> <li>Fix UAF in the dwarf parser</li> <li>Fix non-null-terminated string in dwarf</li> <li>Fix null deref in the dyldcache</li> <li>Fix oobread in swift field parser</li> <li>Fix 4 byte oobread in objc analysis on 32bit binaries</li> <li>Fix oobread in dwarf parser</li> <li>Fix oobread crash in the visual bit pixel editor</li> <li>Another dwarf null deref</li> <li>Fix oobread in the xcoff64 parser</li> <li>Fix an 1byte oobread in the pyc plugin</li> <li>Avoid large allocation in the elf parser</li> <li>Check for null pointers in uleb and dwarf</li> <li>Fix oobread in omu command</li> <li>Fix large allocation bug in the elf version parser</li> <li>Fix null derefs in the dwarf parser</li> <li>Fix oobread in the msvc demangler</li> </ul> <p><strong>dalvik</strong></p> <ul> <li>Fix two UB bugs doing left-shift on signed type</li> </ul> <p><strong>debug</strong></p> <ul> <li>Warn the user when using dd/dm/di without a child</li> <li>Fix 64bit column register listing glitch</li> <li>Allow 'dcu main' even if there's a 'db main' already set</li> <li>Implement dtj command to list debug traces in JSON format</li> <li>Fix null deref in dtd when the process is dead</li> <li>Fix status register in the regprofile for darwin-arm64</li> <li>Dont display the cpu flags if the arch doesn't support them</li> <li>Adjust bpcount and use typedefs instead of structs in bps</li> <li>Define RISCV breakpoint instructions</li> <li>Native debugger for OpenBSD and NetBSD on arm64</li> <li>Add cmd.step config var to run a command after every debugger step</li> <li>Partial fixes for better register profile and arch switching handling</li> </ul> <p><strong>diff</strong></p> <ul> <li>Initial implementation of the 'cgfa' command</li> </ul> <p><strong>disasm</strong></p> <ul> <li>Do not draw ref lines of invalid branches</li> <li>Fix asm.pseudo for arm64's stur instruction</li> <li>Implement pseudo for riscv's 'auipc' instruction</li> <li>Fix '\xff' strings issue in bsd-rv64/arm64</li> </ul> <p><strong>dwarf</strong></p> <ul> <li>Implement parsing optimization for dwarf5</li> <li>Store column information in the addr2line database</li> </ul> <p><strong>esil</strong></p> <ul> <li>Fix UB when shifting value too far left</li> <li>Fix bounds checks for ESIL and reg values</li> <li>Implement 128bit regstore esil emulation</li> <li>Dont emulate null instruction types, causing invalid analysis</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1655951164" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21564" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21564/hovercard" href="https://github.com/radareorg/radare2/issues/21564">#21564</a> - 128bit support via [16] and RReg for arm64</li> <li>Implement 'aoem' command to show memory refs via emulation</li> <li>Move the esil #! r2 command as an op instead of parse</li> </ul> <p><strong>fs</strong></p> <ul> <li>Add test and fix oobread in the hfs parser</li> </ul> <p><strong>graph</strong></p> <ul> <li>Improve color support in graphviz, still wip</li> </ul> <p><strong>hash</strong></p> <ul> <li>Add elf hash planned for r2-5.9.0</li> </ul> <p><strong>io</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1696020203" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21705" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21705/hovercard" href="https://github.com/radareorg/radare2/issues/21705">#21705</a> - check r_io_plugin_add return value and freed unused allocated memory</li> <li>Implement zip0:// uri handler</li> <li>Large null:// allocation causing negative pointer issues on iobank</li> <li>Support wcu command for new io cache</li> <li>Implement wcf command for new io cache</li> <li>Fix segmentation fault when listing cache entries before init</li> <li>Fix usage of cache in pde command</li> <li>Prevent multiple initializations of cache</li> <li>Fix cloning of cache</li> <li>Retain order of writes to cache during clone</li> <li>Fix list bug in new cache</li> <li> <ul> <li>Change written flag to a bool in new cache</li> </ul> </li> <li>Fix memcpy bug in the new cache</li> </ul> <p><strong>json</strong></p> <ul> <li>Fix wrong json key string (refs to name) in anal_axg</li> </ul> <p><strong>lang</strong></p> <ul> <li>Better typescript entrypoint support and fake r2pipe</li> <li>Support running typescript files without r2's Gmain</li> <li>frida-compile bundles can contain anything, we only interpret/load the .js ones</li> </ul> <p><strong>panels</strong></p> <ul> <li>Support JK scrolling (+-5 lines) in modals</li> </ul> <p><strong>performance</strong></p> <ul> <li>Branch prediction optimizations (3/3)</li> <li>Branch prediction optimizations (2/3)</li> <li>Branch prediction optimizations (1/3)</li> </ul> <p><strong>print</strong></p> <ul> <li>Improve RTable trailing spaces</li> <li>Fix trailing spaces in table</li> <li>Implement 'piE' command, like 'pie' but for bytes instead of ops</li> </ul> <p><strong>r2pm</strong></p> <ul> <li>Move and update r2docker into dist/docker</li> <li> <ul> <li>Update to Debian:11, add README for r2docker</li> </ul> </li> <li>Prefix tar flags with a dash for portability reasons</li> </ul> <p><strong>reg</strong></p> <ul> <li>Fix bounds checks for ESIL and reg values</li> <li>Add support for LE/BE 24 bit registers</li> <li>Fix RReg.setValue on 128bit registers</li> </ul> <p><strong>search</strong></p> <ul> <li>Faster aap on large empty maps</li> <li>Add search.badpage to customize badpage scan</li> </ul> <p><strong>shell</strong></p> <ul> <li>Better LA/Ll listings</li> <li>Implement the -L command</li> <li>Autocomplete -e inside r2</li> <li>Sync output from rax2 -r and r2's ? val</li> <li>Implement jq command as an alias for !jq</li> <li>Add build optimization and precondition check levels in -v</li> <li>Reuse RStr.version() from r2's '?V'/'-v'</li> <li>Show '(asan)' in r2 -v when runnin sanitized builds</li> <li>Implement 'uname -a' flag</li> <li>Add -v, -vj and the 'r2.' command as a short for js oneliners</li> <li>Add ?ee and ?ei command for stderr echos</li> <li>Always use the return value of RTable.query()</li> <li>Dont list symbols when using <code>is,:help</code></li> <li>Add rasm2 -N to mimmic the r2 -N flag</li> <li>Use r2 -NN from r2r and extend the env for rasm2/rabin2</li> <li>Use more R_LOG instead of eprintfs in some commands</li> <li>Fix null deref in dte</li> <li>Add -V command as an alias for ?V</li> </ul> <p><strong>signatures</strong></p> <ul> <li>Add experimental zign.mangled to not use demmangled symbol names</li> <li>Use "" command syntax for the z* output</li> <li>Filter zignature names before validation</li> </ul> <p><strong>util</strong></p> <ul> <li>Fix UAF in RStr.replaceIcase() spotted by coverity</li> </ul> <p><strong>visual</strong></p> <ul> <li>Experimental graph debugger layout</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1685320594" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21658" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21658/hovercard" href="https://github.com/radareorg/radare2/issues/21658">#21658</a> - Fix zoom mode glitch in panels</li> <li>Only run 'diq' in visual when cfg.debug</li> </ul> <p><strong>webui</strong></p> <ul> <li>Add r2bolt webui PoC</li> </ul> <p><strong>write</strong></p> <ul> <li>Implement wao recj for arm64</li> </ul> <p></p></details> github-actions[bot] tag:github.com,2008:Repository/4869294/5.8.4 2023-03-15T10:35:21Z 5.8.4 <h2>Release Notes</h2> <p>Version: 5.8.4<br> Previous: 5.8.2<br> Commits: 277<br> Contributors: 29</p> <h2>Highlights</h2> <details><summary>More details</summary><p> </p><h2>Authors</h2> <p><a href="mailto:jesupnotdown+git@gmail.com">Dennis Goodlett</a> <a href="mailto:jesupnotdown+git@hurricanelabs.com">Dennis Goodlett</a> <a href="mailto:mrmacete@protonmail.ch">Francesco Tamagni</a> <a href="mailto:romerojoseant@gmail.com">Jose Antonio Romero</a> <a href="mailto:54854023+jmaselbas@users.noreply.github.com">Jules Maselbas</a> <a href="mailto:jmaselbas@zdiv.net">Jules Maselbas</a> <a href="mailto:tsunekou1019@gmail.com">Koh M. Nakagawa</a> <a href="mailto:26179473+Lazula@users.noreply.github.com">Lazula</a> <a href="mailto:25155631+MewtR@users.noreply.github.com">Mewt R</a> <a href="mailto:mohamedlemineelhadj@outlook.com">MewtR</a> <a href="mailto:mohamedlemineelhadj@outlook.com">Mohamed Lemine Ould El-Hadj</a> <a href="mailto:11234807+as0ler@users.noreply.github.com">Murphy</a> <a href="mailto:dark.cancerbero@gmail.com">Murphy</a> <a href="mailto:me@0xmurphy.me">Murphy</a> <a href="mailto:prodrigestivill@gmail.com">Pau Rodriguez-Estivill</a> <a href="mailto:me@terorie.dev">Richard Patel</a> <a href="mailto:siguza@siguza.net">Siguza</a> <a href="mailto:sylvain.pelissier@gmail.com">Sylvain Pelissier</a> <a href="mailto:soeren+git@soeren-tempel.net">Sören Tempel</a> <a href="mailto:103068388+Teutates@users.noreply.github.com">Teutates</a> <a href="mailto:yaroslav.yashin@me.com">Yaroslav</a> <a href="mailto:ysaxenax@gmail.com">Yuvraj Saxena</a> <a href="mailto:543984341@qq.com">Zhipeng Xue</a> <a href="mailto:condr3t@protonmail.com">condret</a> <a href="mailto:39425646+icy17@users.noreply.github.com">icy17</a> <a href="mailto:37420872+ksen-lin@users.noreply.github.com">ksen-lin</a> <a href="mailto:meme@users.noreply.github.com">meme</a> <a href="mailto:pancake@nopcode.org">pancake</a></p> <h2>Changes</h2> <p><strong>anal</strong></p> <ul> <li>Support function arguments without a name</li> <li>Optimize RCore.analOp() lowers aa from 1m23 to 1m19</li> <li>Make aab even faster (39s -&gt; 32s)</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1582850009" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21340" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21340/hovercard" href="https://github.com/radareorg/radare2/issues/21340">#21340</a> - fix list of callrefs in afij</li> <li>Add some recently seen x86-32 preludes</li> <li>New 'aarr' command to reanalize all function refs</li> <li>Add support for DUP in esil_dfg</li> <li>Add fake =SN for gb to fix the missing =SN warning</li> <li>Implement esil-dfg support for POP</li> <li>Initial implementation of the aob/aobj commands</li> <li>Do not override anal.calls user settings in <code>aaa</code></li> <li>Use a visited check to speedup recursive reference analysis</li> <li>Invalid call from warning is now a debug message</li> <li>Handle missing LDURH on arm.v35</li> <li>Add refs column in aflt listing and fix refs&amp;xrefs counting apis</li> <li>Remove duplicated code adding a string reference during analysis</li> <li>Set refptr for Xtensa l32r opcode for better disassembly output</li> </ul> <p><strong>api</strong></p> <ul> <li>Introduce the new R_CONST macros</li> </ul> <p><strong>arch</strong></p> <ul> <li>Migrate cr16</li> <li>Migrate cris from anal to</li> <li>Update to the latest capstone for SH and arm64 improvements</li> <li>Move the riscv.cs plugin</li> <li>Improve v850 esil support</li> <li>Move the pic</li> <li>Move the anal.tricore</li> <li>Improve the NIOS arch plugin with regs, archinfo and invalid</li> <li>Move and improve the anal.alpha</li> <li>Move Vax plugin from anal</li> <li>Add Inferno Dis VM</li> <li>Move the bpf plugins</li> <li>Move anal.lm32</li> <li>Move the z80 plugin</li> <li>Add support for all-bits-set registers needed for LANAI</li> <li>Move the lanai plugin</li> <li>Fix the type used for the fini callback in r_arch_plugin_t</li> <li>Move the mcs96 plugin</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1575878632" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21325" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21325/hovercard" href="https://github.com/radareorg/radare2/issues/21325">#21325</a> - Do not assert when instantiating empty plugins</li> <li>Convert kvx analysis plugin into arch</li> <li>Add esil support for satadd, satadd_imm5, satsub and satsubr v850 instruction</li> <li>Handle wasm control flow errors better</li> <li>Wasm accept br out of if/else</li> <li>Refactor wasm into arch</li> <li>Move xtensa into the</li> <li>Initial re-import of the LUA bin parser and disassembler from extras</li> <li>Move the ws plugin and annotate the plans for 5.9</li> <li>Move or1k into the arch</li> <li>Add <code>evm.sdb.txt</code> with description</li> <li>Add esil support for mulh reg, reg v850 instruction</li> <li>Move anal.evm.cs into arch.evm</li> <li>Rename evm.cs to evm</li> <li>Add esil support for v850 stb, sth and stw instruction</li> <li>Add esil support for v850 ldb, ldh and ldw instruction</li> </ul> <p><strong>asm</strong></p> <ul> <li>Add more conditional branch instructions for the arm64 assembler</li> <li>Implement conditional branch instruction for the arm64 assembler</li> <li>Improve armass64 for tbz/tbnz to handle relative instructions</li> </ul> <p><strong>bin</strong></p> <ul> <li>Report errors when failing to patch relocs in the internal buffer</li> <li>Implement qword to better display patched relocs in macho</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1616300565" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21451" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21451/hovercard" href="https://github.com/radareorg/radare2/issues/21451">#21451</a> - Support IDREF in cf_dict parsing</li> <li>Apply macho relocs on the swizzled buffer if bin.cache is not set</li> <li>Find libswiftCore and libswiftDemangle in linux paths too</li> <li>Fix wrong check in dyldcache rebase v2 logic</li> <li>Add new fuzz.bin2 program and fix integer overflow for XTAC</li> <li>Prevent an oom in the macho when corrupted fields are involved</li> <li>Fix infinite loop in the xtac parser</li> <li>Fix oom in the LE parser</li> <li>Fix ELF parser hang on malformed .plt.got header</li> <li>Fix sign warnings in the elf parser spotted by msvc</li> <li>Fix absolute path resolution for dwarf source files</li> <li>Remove globals from the MSVC demangler</li> <li>Blindfix for some msvc demangling characters</li> <li>Fix Dis fuzz failure</li> <li>Add missing S_INIT_FUNC_OFFSETS definition for macho</li> <li>Add Inferno Dis VM</li> <li>Improve checks parsing dyldcache headers</li> <li>Fix missing types and paddr/vaddr issue in ihj</li> <li>Fix double free in class method handling</li> <li>Update dyld shared cache parser</li> <li>Better header checks for the MSX plugin</li> <li>Some fixes for the bin.msx plugin</li> <li>Add support for the XTAC file format</li> <li>Add XCOFF64 support</li> <li>Refix another null deref after <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/radareorg/radare2/commit/586af3fc6e16aeb53c54dc1ac67add8c8abc8b7c/hovercard" href="https://github.com/radareorg/radare2/commit/586af3fc6e16aeb53c54dc1ac67add8c8abc8b7c"><tt>586af3f</tt></a></li> <li>Improve code quality in some RBin plugins (1/n)</li> <li>Fix null deref when no signature is found</li> <li>Minor improvements to elf parse</li> <li>Fix memory leak when parsing DW_FORM_line_strp</li> <li>Use correct compilation directory for binaries that use DWARF before version 5</li> <li>Fix heap overflow in the swift parser</li> </ul> <p><strong>build</strong></p> <ul> <li>Add --with-new-io-cache configure and meson flags</li> <li>Use acr-2.1.0 new PKGCFG_DO to speedup pkg-config file generation</li> <li>Fix libdir and includedir in the pkgconfig templates with latest acr</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1594593850" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21375" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21375/hovercard" href="https://github.com/radareorg/radare2/issues/21375">#21375</a> - Generate .sdb files properly for syscalls with meson</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1578761637" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21332" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21332/hovercard" href="https://github.com/radareorg/radare2/issues/21332">#21332</a> - Add missing use_sys_openssl option for meson</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1553388851" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21287" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21287/hovercard" href="https://github.com/radareorg/radare2/issues/21287">#21287</a> - compilation with .c in path</li> <li>Clear SSL (C|LD)FLAGS if not willing to use SSL at all</li> <li>Fix 'no rule to make libcapstone.a' error</li> <li>Fix meson build with x86 option arch</li> <li>Check for linux/can.h at configure time</li> <li>meson: install rasign2.1 man page too</li> <li>Fixes for the offline tarball generation</li> </ul> <p><strong>ci</strong></p> <ul> <li>Abidiff shouldnt check internal structs like the capstone ones</li> <li>Remove broken github counters and introduce the sys/counters.sh</li> <li>Add pkg-config for macos-test</li> <li>Add pkg-config for macOS via brew</li> <li>Upgrade to abidiff 2.2</li> <li>Remove LGTM, it's no longer available</li> </ul> <p><strong>cleanup</strong></p> <ul> <li>Remove all char* casts in free</li> </ul> <p><strong>cons</strong></p> <ul> <li>Fix scr.html when using bold attribute in scr.color=1</li> </ul> <p><strong>core</strong></p> <ul> <li>Support R2_PREFIX env var to override compile-time PREFIX</li> <li>Use single quote instead of "" for RCore.call()</li> <li>Fix command injection bugs in patch scripts</li> </ul> <p><strong>crash</strong></p> <ul> <li>Fix oob in we command</li> <li>Fix null deref in omr with no maps</li> <li>Fix null deref in fuzzed omt command</li> <li>Fix uaf in r_asm_op_get_hex</li> <li>Fix UAF in y-;q and assert with 0 size functions</li> <li>Fix uaf caused by RRegItem.free instead of .unref</li> <li>Fix oom in the nso parser</li> <li>Fix uaf in xtac and check for more vector allocation failures</li> <li>Fix unchecked vector allocation in wasm</li> <li>Fix oom spotted in the wasm bin parser and other stylish things</li> <li>Fix segfault when saving a project with no write perms in home</li> <li>Fix oobread in dwarf5 parser</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1591704755" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21363" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21363/hovercard" href="https://github.com/radareorg/radare2/issues/21363">#21363</a> - null deref in the wasm disassembler</li> <li>Fix use after free in RStr.replaceAll()</li> <li>Fix null deref in aeg command</li> </ul> <p><strong>debug</strong></p> <ul> <li>Fix setting registers in linux/rv64</li> <li>Fix retrieving registers on Linux/RV64</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1577572220" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21329" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21329/hovercard" href="https://github.com/radareorg/radare2/issues/21329">#21329</a> - do not include the privileged registers from the gdb profile</li> </ul> <p><strong>disasm</strong></p> <ul> <li>Dont try to resolve strings on call destinations</li> <li>Fix instruction colors when '0' is at the end</li> <li>Deprecate the asm.minicols config variable</li> <li>Truncate invalid strings in disasm</li> </ul> <p><strong>dwarf</strong></p> <ul> <li>Add CLLf command as an alias for 'list' and fix @<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/i/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/i">@i</a></li> </ul> <p><strong>esil</strong></p> <ul> <li>Avoid &gt;64 bit shift left on 128bit registers</li> <li>Implement esil for arm64's brk and clarify TRAP usage</li> <li>Simplify the ESIL for x86 shift instruction</li> <li>Better nullchk and reduce dereferences in esil</li> </ul> <p><strong>globals</strong></p> <ul> <li>Remove 2 globals from arch.or1k</li> <li>Remove 1 global from arch.snes</li> </ul> <p><strong>io</strong></p> <ul> <li>Initial implementation of the io-write-cache command</li> </ul> <p><strong>json</strong></p> <ul> <li>iCj always renders valid json, fixing a warning in iaito</li> </ul> <p><strong>lang</strong></p> <ul> <li>Run the pending jobs in the qjs repl and expose r2pipe module</li> <li>Add fake 'r2papi' module for r2frida-compile scripts</li> <li>Implement ESM module loader for the QJS runtime</li> <li>Initial support for r_arch plugins via qjs</li> <li>Add support for NIM scripting on top of the QJS engine</li> </ul> <p><strong>magic</strong></p> <ul> <li>Add Inferno Dis</li> </ul> <p><strong>panels</strong></p> <ul> <li>Move Stack into Debug menu, and add Register columns output</li> </ul> <p><strong>print</strong></p> <ul> <li>Improve the pseudo-decompilation output for !x86 and inlined gotos</li> <li>Fix duplicated source lines in CLLf output</li> <li>Honor hex.offset + hex.header</li> <li>Initial support for custom bitmap images</li> </ul> <p><strong>projects</strong></p> <ul> <li>Add Pz[ie] command to import/export project in zip format</li> </ul> <p><strong>r2pm</strong></p> <ul> <li>Fix support for builddir-less packages</li> <li>mkdir home plugin directory</li> <li>Add R2PM_DIR directive needed for tarball/zip packages</li> <li>mkdir(R2PM_BINDIR) before pkg install, so packages dont have to mkdir</li> </ul> <p><strong>search</strong></p> <ul> <li>Magic depth starts at 0 now</li> <li>Remove global magic depth</li> <li>Honor esil.* options in RAnal.search</li> <li>Improve syscall detection in /as</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1582628268" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21339" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21339/hovercard" href="https://github.com/radareorg/radare2/issues/21339">#21339</a> - Fix syscall search when executed twice</li> </ul> <p><strong>shell</strong></p> <ul> <li>Fix help message when write fails (omp -&gt; omf)</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1595490334" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21380" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21380/hovercard" href="https://github.com/radareorg/radare2/issues/21380">#21380</a> - Refer to "? in /R for escaping chars</li> <li>Correctly align r_core_cmd_help_match output in inexact mode</li> <li>Update help message for ""? for ""@""</li> <li>Drastically reduce eUsage counter</li> <li>Fix signed integer treated as unsigned in the wX command</li> <li>Fix oobread in load_zign</li> <li>Fix assert in wd command</li> <li>Add ?Tj and get rid of all the eprintf("Usage in cmd.egg</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1605719889" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21412" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21412/hovercard" href="https://github.com/radareorg/radare2/issues/21412">#21412</a> - Implement segment iterator</li> <li>Add help message and improve the <code>ahs</code> command</li> <li>Add support for calling commands with a temporal seek</li> <li>Implement the 'wget' command to download files from http://</li> <li>Autocomplete file argument in <code>wff</code> command</li> </ul> <p><strong>test</strong></p> <ul> <li>Load the bin.types again from r2r</li> </ul> <p><strong>tools</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1578769644" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21333" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21333/hovercard" href="https://github.com/radareorg/radare2/issues/21333">#21333</a> - Update radiff2 manpage, add mermaid mode</li> </ul> <p><strong>types</strong></p> <ul> <li>Add some basic swift and objc function signatures</li> </ul> <p><strong>util</strong></p> <ul> <li>Return NULL on miss in r_file_path</li> <li>Move filter_shell and filter_quoted_shell into RName</li> </ul> <p><strong>visual</strong></p> <ul> <li>Honor stack.size in the Stack panel</li> <li>Compute the opcode operand index in the bit editor</li> <li>Handle 'R' key to refresh the slides from disk</li> </ul> <p></p></details> github-actions[bot] tag:github.com,2008:Repository/4869294/5.8.2 2023-01-23T17:06:35Z 5.8.2 - codename "Jonesy" <h2>Release Notes</h2> <p>Version: 5.8.2<br> Previous: 5.8.0<br> Commits: 172<br> Contributors: 17</p> <h2>Highlights</h2> <details><summary>More details</summary><p> </p><h2>Authors</h2> <p><a href="mailto:74850058+0x8ff@users.noreply.github.com">0x8ff</a> <a href="mailto:apkunpacker@gmail.com">Apkunpacker</a> <a href="mailto:jesupnotdown+git@gmail.com">Dennis Goodlett</a> <a href="mailto:fraserbcprice@gmail.com">Fraser Price</a> <a href="mailto:jmaselbas@kalray.eu">Jules Maselbas</a> <a href="mailto:mohamedlemineelhadj@outlook.com">MewtR</a> <a href="mailto:mohamedlemineelhadj@outlook.com">Mohamed Lemine Ould El-Hadj</a> <a href="mailto:oleavr@gmail.com">Ole André Vadla Ravnås</a> <a href="mailto:me@terorie.dev">Richard Patel</a> <a href="mailto:sylvain.pelissier@gmail.com">Sylvain Pelissier</a> <a href="mailto:vsbogd@gmail.com">Vitaly Bogdanov</a> <a href="mailto:condr3t@protonmail.com">condret</a> <a href="mailto:imkyufie@gmail.com">kyufie</a> <a href="mailto:meme@users.noreply.github.com">meme</a> <a href="mailto:soeren+git@soeren-tempel.net">nmeum</a> <a href="mailto:pancake@nopcode.org">pancake</a> <a href="mailto:pancake@nowsecure.com">pancake</a></p> <h2>Changes</h2> <p><strong>anal</strong></p> <ul> <li>Honor the micromips codealign, add missing =SN and cc</li> <li>Set indirect code refs from load instructions</li> <li>Make r_anal_optype_{to,from}_string use the same optypes array</li> <li>Rework of the function merging</li> <li>Add Plan 9 calling conventions</li> <li>Basic blocks are not modified if not initialized</li> <li>Add test for gb srcs/dsts json and valtype</li> <li>Fix multiple typos in ios-syscalls.txt</li> </ul> <p><strong>analysis</strong></p> <ul> <li>Make r_anal_optype_{to,from}_string use the same optypes array</li> <li>Rework of the function merging</li> </ul> <p><strong>api</strong></p> <ul> <li>Make r_str_casecmp() null-proof to fix weird crash on windows</li> <li>Implement RCore.cmdCallAt() + minor improve internal cmd calls</li> <li>Fix RFile.path() when $PATH contains no colon</li> </ul> <p><strong>arch</strong></p> <ul> <li>Add esil support for v850 ei and di instructions</li> <li>Add esil support for v850 reti instruction</li> <li>Add esil support for v850 stsr instruction</li> <li>Add esil support for v850 ldsr instruction</li> <li>Blindfix for a glitch in the v850 disassembler</li> <li>Simplify esil generation of v850 bcond instructions</li> <li>Add esil support for v850 setf instruction</li> <li>Improve v850 esil support and fix some related bugs</li> <li>Fix asm.cpu=? when using arch plugins</li> <li>Fix <code>rasm2 -a mips{.gnu} -b16 -e -c micro -d '4fe5'</code></li> <li>Move mcore into the arch</li> <li>Support micromips on both gnu and capstone plugins</li> <li>Move anal.propeller</li> <li>Add micromips cpu for the mips.gnu plugin</li> <li>Move nios2 away from anal</li> <li>Register RArch plugins to be loaded dynamically</li> </ul> <p><strong>asm</strong></p> <ul> <li>Implement .extern directive in rasm2, fix other directives</li> <li>Fix ARM assembler for blt, ble, cmn, tst, and teq instructions</li> </ul> <p><strong>bin</strong></p> <ul> <li>Fix null deref assert in the TE parser</li> <li>Fix unnecessary memory exhaustion in the elf parser</li> <li>Fix allocation crash in bin.symbols</li> <li>Support elf-micromips auto detection</li> <li>DWARF5 line header parsing</li> <li>License Plan 9 code as MIT</li> <li>Add Plan 9 line number information</li> <li>Fix load address of arm64 kernel</li> </ul> <p><strong>build</strong></p> <ul> <li>Do not depend on strcasecmp in libzip, build fail on Centos7</li> <li>Upgrade v35arm64 to fix non-c99 compilation</li> <li>Update to the latest tinycc in the CI</li> <li>Remove the need for ios-include.tar.gz</li> <li>Use an authorized API call for the abi job to increase the rate limit</li> <li>Remove condition on 'linux-static' job</li> <li>Integrate ABI diffing into CI scripts</li> <li>Add --with-ssl-crypto, rename --with-openssl to --with-ssl</li> <li>meson: Install various missing files</li> <li>Use fakeroot if available when packaging for debian</li> </ul> <p><strong>build,</strong></p> <ul> <li>Integrate ABI diffing into CI scripts</li> </ul> <p><strong>ci</strong></p> <ul> <li>Upgrade CodeQL actions from v1 to v2</li> <li>Update the SPEC file and build RPM packages in the CI</li> <li> <ul> <li>Update the SPEC file and build RPM packages in the CI</li> </ul> </li> </ul> <p><strong>crash</strong></p> <ul> <li>Fix infinite loop and null derefs when calling pd from pd in Cr</li> <li>Blindfix with a hack and a workaround to fix an UAF in Cr</li> <li>Fix an UAF in the visual bit editor</li> <li>Fix null deref segfault in Vd1</li> <li>Fix UAF in <code>oc</code></li> <li>Fix null deref in io.bank</li> </ul> <p><strong>debug</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="280720357" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/8992" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/8992/hovercard" href="https://github.com/radareorg/radare2/issues/8992">#8992</a> - Apply command line settings before initializing debug plugin</li> <li>Add required A0 register into x86 register profile provided by GDB</li> <li>Use proper type for the XMM register inside profile recieved</li> <li>Implement <code>dpt.</code> command to print the current selected process</li> </ul> <p><strong>disasm</strong></p> <ul> <li>Optimize RAnal.kind() as its called many times with a large buffer from <code>pd</code></li> <li>Bring back and improve the Cr command</li> </ul> <p><strong>doc</strong></p> <ul> <li>Reference abidiff's ci usage in doc/abi.md</li> <li>Reference doc/abi in DEVELOPERS</li> </ul> <p><strong>esil</strong></p> <ul> <li>Fix emulation of the arm64 <code>tst</code> instruction</li> </ul> <p><strong>fs</strong></p> <ul> <li>Improve json output for mlj - mountpoint type and delta</li> </ul> <p><strong>globals</strong></p> <ul> <li>Remove global in util/lib and just use RLogLevel</li> </ul> <p><strong>indent</strong></p> <ul> <li>Balance spacings in braces</li> </ul> <p><strong>js</strong></p> <ul> <li>Add experimental r2.cmd0 and r2.call0 for qjs</li> <li>Enable stack overflow check when recursive calls</li> <li>Improve error messages in the qjs repl</li> <li>Rename qjs's <code>dir</code> function to <code>dump</code></li> <li>Support loading/unloading multiple QJS plugins</li> <li>Update typescript compiler and move r2plugin into r2</li> <li>Fix undefined behaviour in quickjs when casting double to int64</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1511514468" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21205" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21205/hovercard" href="https://github.com/radareorg/radare2/issues/21205">#21205</a> - Missing object definition for aoj</li> <li>Fix undefined behaviour in double-&gt;int cast</li> <li>Extra checks and enforce the singleton core plugin</li> <li>Improve typescript entrypoint logic detection</li> <li>Initial support for javascript core plugins</li> <li>Upgrade r2papi-ts from 0.0.4 to 0.0.10</li> <li>Support typescript Main namespace and pass --allowJs</li> </ul> <p><strong>json</strong></p> <ul> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1511514468" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21205" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21205/hovercard" href="https://github.com/radareorg/radare2/issues/21205">#21205</a> - Missing object definition for aoj</li> </ul> <p><strong>lang</strong></p> <ul> <li>Initial implementation of lang.s assembly scripting</li> <li>R_TH_LOCAL two globals in RLang.c</li> <li>Reestructure lib dependencies, add lang.asm plugin</li> </ul> <p><strong>perf</strong></p> <ul> <li>Massage the bottleneck that was making r2dec super slow</li> <li>Some more likely hints in RCore.cmd from valgrind</li> </ul> <p><strong>print</strong></p> <ul> <li>Fix pA and pA? (/A was moved into /a)</li> <li>Implement <code>pvp</code> and <code>wvp</code> to print and write pointers</li> <li>Fix fortune message for #md5 and add ph: variant of "ph "</li> </ul> <p><strong>qjs</strong></p> <ul> <li>Add QJS_NOABORT option to avoid aborts</li> </ul> <p><strong>r2pm</strong></p> <ul> <li>Improvements for r2pm when getcwd is null</li> <li>Add R2PM_NEEDS and auto-install system build deps if possible</li> <li>Fix git check before cloning the repo</li> <li>Fix R2PM_DEPS first time issue</li> <li>Report better errors on first r2pm setup</li> <li>Initial experimental support for portable qjs packages</li> </ul> <p><strong>search</strong></p> <ul> <li>Implement tire algorithm in</li> </ul> <p><strong>shell</strong></p> <ul> <li>Fix assert in ph</li> <li>Initial skeleton integration with GNU/Poke</li> <li>Fix profiling RCore.cmdCall() via ?t""</li> <li>Add help message for the quote command <code>"?</code></li> <li>Implement LAj and LAq commands to list arch plugins</li> <li>Implement uname -h, -m, -b, -j ...</li> <li>Handle unknown subcommands for <code>t</code></li> <li>pdrj shouldnt be modifying the current seek</li> <li>Add -j command as an alias for js:</li> <li>Add the ability to run qjs scripts with <code>r2 -je</code></li> </ul> <p><strong>slides:xa</strong></p> <ul> <li>Improve r2slides with title, colors and 2 column mode</li> </ul> <p><strong>test</strong></p> <ul> <li>Update libfuzz build instructions</li> <li>Add the dwarf fuzzer program</li> <li>Add some test for ARM assembler</li> </ul> <p><strong>tools</strong></p> <ul> <li>Add R2_DEBUG_NOPAPI env var</li> <li>Show error when passing un-even hexpair to rasm2</li> </ul> <p><strong>visual</strong></p> <ul> <li>Fix (null) regression in visual bit editor's disasm</li> <li>Handle JK in bit editor to move 8 bytes fwd/backward</li> </ul> <p><strong>vuln</strong></p> <ul> <li>Fix ANSI Escape Sequence Injection vulns via DWARF</li> </ul> <p></p></details> github-actions[bot] tag:github.com,2008:Repository/4869294/5.8.0 2023-01-10T17:09:50Z 5.8.0 <h2>Release Notes</h2> <p>Version: 5.8.0<br> Previous: 5.7.8<br> Commits: 745<br> Contributors: 36</p> <h2>Highlights</h2> <details><summary>More details</summary><p> </p><h2>Authors</h2> <p><a href="mailto:74850058+0x8ff@users.noreply.github.com">0x8ff</a> <a href="mailto:axbndr@gmail.com">Alex Bender</a> <a href="mailto:xvilka@gmail.com">Anton Kochkov</a> <a href="mailto:25125141+iotaaxel@users.noreply.github.com">Axel Iota</a> <a href="mailto:37626476+DaKnig@users.noreply.github.com">DaKnig</a> <a href="mailto:dennis+git_swoops@hurricanelabs.com">Dennis Goodlett</a> <a href="mailto:dennis@hurricanelabs.com">Dennis Goodlett</a> <a href="mailto:gordon.zar@gmail.com">Ernest Deák (Tino)</a> <a href="mailto:mrmacete@protonmail.ch">Francesco Tamagni</a> <a href="mailto:huzh@nyu.edu">HighW4y2H3ll</a> <a href="mailto:horsicq@gmail.com">Hors</a> <a href="mailto:lars@flip.re">Lars Haukli</a> <a href="mailto:26179473+Lazula@users.noreply.github.com">Lazula</a> <a href="mailto:26800596+not-matthias@users.noreply.github.com">Matthias</a> <a href="mailto:mohamedlemineelhadj@outlook.com">MewtR</a> <a href="mailto:miles@bung.cc">Miles Liu</a> <a href="mailto:mohamedlemineelhadj@outlook.com">Mohamed Lemine Ould El-Hadj</a> <a href="mailto:me@0xmurphy.me">Murphy</a> <a href="mailto:oleavr@gmail.com">Ole André Vadla Ravnås</a> <a href="mailto:onemda@gmail.com">Paul B Mahol</a> <a href="mailto:pmeerw@pmeerw.net">Peter Meerwald-Stadler</a> <a href="mailto:quentin.kaiser@onekey.com">Quentin Kaiser</a> <a href="mailto:60626307+RHL120@users.noreply.github.com">RHL120</a> <a href="mailto:sylvain.pelissier@gmail.com">Sylvain Pelissier</a> <a href="mailto:sylvain.pelissier@nagra.com">Sylvain Pelissier</a> <a href="mailto:43109743+TheAllSeeingOwl@users.noreply.github.com">TheAllSeeingOwl</a> <a href="mailto:condr3t@protonmail.com">condret</a> <a href="mailto:itrooz@protonmail.com">iTrooz_</a> <a href="mailto:meme@users.noreply.github.com">meme</a> <a href="mailto:pancake@nopcode.org">pancake</a> <a href="mailto:pancake@nowsecure.com">pancake</a> <a href="mailto:82663397+MohamedX99@users.noreply.github.com">rax2</a> <a href="mailto:rhl120@protonmail.com">rhl120</a> <a href="mailto:schrotthaufen@invalid.invalid">schrotthaufen</a> <a href="mailto:schrotthaufen@users.noreply.github.com">schrotthaufen</a> <a href="mailto:singurty@gmail.com">singurty</a></p> <h2>Changes</h2> <p><strong>abi</strong></p> <ul> <li>RAnalOp.srcs,dsts are not pointers</li> </ul> <p><strong>anal</strong></p> <ul> <li>Working apt and add apl to list function preludes</li> <li>Rename axj to axlj, because axj is for jmp refs</li> <li>Introduce anal.tailcall.delta and use flags for better metrics</li> <li>Improve the tailcall detection logic</li> <li>Improve warning that only seems to happen when anal.nopskip is set</li> <li>Always show all the archinfo, even when not provided by the plug</li> <li>Dont show analysis progress on non-interactive shells</li> <li>Add esil.dfg.mapinfo and esil.dfg.maps config vars</li> <li>Some more improvements to esil_dfg</li> <li>Fix size returned from r_anal_op</li> <li>Fix warning in aflj when parsing vargarg signatures</li> <li>Add register computed const pointer support for esil dfg</li> <li>Add memory computed const pointer support for esil dfg</li> <li>Introduce R_ANAL_ESIL_DFG_TAG_{REG,MEM}</li> <li>Use treebuf io plugin as memory access backed for esil_dfg</li> <li>Fix pickle asm rejecting empty strings</li> <li>Do not recurse noreturn inspection when !addr or -1</li> <li>Generalize vector instruction types instead of following intel-specific</li> <li>Add /au to search for unknown destination jmp/call</li> <li>Add anal.noret and refactor anal.noret.refs</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1389100140" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/20827" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/20827/hovercard" href="https://github.com/radareorg/radare2/issues/20827">#20827</a> - Show srcs/dsts in aoj</li> <li>Fix <code>aae</code> argument parsing regression in and improve help</li> <li>Add support for stack-computed const pointers in esil_dfg</li> <li>Fix anal.a2f in aac</li> <li>Increase default anal.depth from 64 to 128</li> <li>Clarify which commands are used on each <code>aaaa</code> line</li> <li>Fix anal.depth usage when analyzing one basic block</li> <li>Loongarch analysis bug fixes (bl, race condition)</li> <li>Implement <code>aflxv</code> and <code>aflx?</code> commands</li> <li>Run /azq in aaaa</li> <li>Fix long1,long4 pickle opcodes</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1381643017" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/20798" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/20798/hovercard" href="https://github.com/radareorg/radare2/issues/20798">#20798</a> - Fix bx after add lr,pc,0 in arm32</li> <li>Fix null pointer in aflxj</li> <li>Implement aflxj</li> <li>Add noreturn column in afll</li> <li>Use RPVector in RAnalOp src/dst to support ldm/stm/simd</li> <li>Fix pickle arch thinking 0 is 64 bit</li> <li>Don't show the linearsize in the <code>afl</code> output</li> <li>Add anal.vars.newstack - configurable improved stack-relative var</li> </ul> <p><strong>analysis</strong></p> <ul> <li>Working apt and add apl to list function preludes</li> <li>Rename axj to axlj, because axj is for jmp refs</li> <li>Introduce anal.tailcall.delta and use flags for better metrics</li> <li>Improve the tailcall detection logic</li> <li>Improve warning that only seems to happen when anal.nopskip is set</li> <li>Always show all the archinfo, even when not provided by the plug</li> <li>Dont show analysis progress on non-interactive shells</li> <li>Do not recurse noreturn inspection when !addr or -1</li> <li>Generalize vector instruction types instead of following intel-specific</li> <li>Add /au to search for unknown destination jmp/call</li> <li>Add anal.noret and refactor anal.noret.refs</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1389100140" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/20827" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/20827/hovercard" href="https://github.com/radareorg/radare2/issues/20827">#20827</a> - Show srcs/dsts in aoj</li> <li>Fix <code>aae</code> argument parsing regression in and improve help</li> <li>Fix anal.a2f in aac</li> <li>Increase default anal.depth from 64 to 128</li> <li>Clarify which commands are used on each <code>aaaa</code> line</li> <li>Loongarch analysis bug fixes (bl, race condition)</li> <li>Implement <code>aflxv</code> and <code>aflx?</code> commands</li> <li>Run /azq in aaaa</li> <li>Add noreturn column in afll</li> <li>Add anal.vars.newstack - configurable improved stack-relative var</li> </ul> <p><strong>api</strong></p> <ul> <li>Make RReg refcounted</li> <li>Implement {ctz|clz}{32|64} RNum</li> <li>Define RPluginMeta and RPluginStatus</li> <li>Add new RCore.cmdCallf() helper function</li> <li>Merge RParse into RAsm</li> <li>Refactor RLang api to use the new design</li> <li>Fix null deref on wrong api usage for RCore.cmdStr</li> <li>Moving more logic between asm, arch, parse and anal</li> <li>RAnalEsil -&gt; REsil api refactor</li> <li>Deprecate reil and sysarch defines</li> <li>More refactorings and api redesigns in r_arch</li> <li>Remove eprintf calls in favor of R_LOG</li> <li>Implement RReg.clone()</li> <li>Deprecate r_str_dup() - related to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1427946463" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/20959" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/20959/hovercard" href="https://github.com/radareorg/radare2/issues/20959">#20959</a></li> <li>Rename RVector.len to RVector.length for consistency</li> <li>Remove the unnecessary RThread.CpuAffinity()</li> <li>Add portable NaN and INF defines for different float sizes</li> <li>Deprecate r_cons_eprintf and use R_LOG instead</li> <li>Rename RStr.home() to RFile.home() as part of the Plan</li> <li>Rename r_mem_memzero to r_mem_zero</li> <li>Prefer _tostring() instead of _to_string()</li> <li>Improve r_ref implementation with debugging support</li> <li>R_BIN_NM -&gt; R_BIN_LANG</li> <li>Implement thread-safe refcounting - but disabled by default</li> <li>Deprecate the unused RFList</li> <li>Implement r_str_ntrim() and speedup r_str_trim() with it</li> <li>Initial implementation of RString (30% faster than RStrBuf)</li> <li>Implement r_sys_getenv_asint</li> <li>Add r_cons_is_initialized</li> <li>Boolify r_core_yank_file_all() and fix shadow var bug</li> <li>Add r_file_is_executable and r_file_extension apis</li> <li>Fix UB bug when using r_vector random access</li> <li>Change R_LOG_INFO to R_LOG_TODO where suitable</li> <li>Merge rhash into rcrypto and improve apis</li> <li>Fix memory leak in r_str_list_join()</li> <li>Boolify and rename some methods and fields from RFS</li> <li>Add .author field in all the RLang plugins</li> <li>Add a public api for the yank-unset action</li> <li>Constify the help</li> </ul> <p><strong>arch</strong></p> <ul> <li>Add the arch.preludes() callback and new RSearchKeyword constructor</li> <li>Move anal.v850 to arch</li> <li>Fix counted string bug in pickle</li> <li>Fix negative unsigned cast in the xtensa disassembler</li> <li>Add RAnalOp.weakbytes() and move more analop apis to arch</li> <li>Move anal.xap into the arch</li> <li>Update tests and better arch.patch/modify callback</li> <li>Move anal.{6502,snes} into arch</li> <li>Kill RAsmOp, we can reuse RAnalOp in here</li> <li>Improve pickle disasm on invalid instructions</li> <li>Remove RAsmPlugin struct and add the 'aia' command to show archinfo</li> <li>Move the remaining asm plugins into the arch</li> <li>Minor plugin selection improvements</li> <li>Move asm.nasm into the arch</li> <li>Move asm.vasm into arch.any_vasm</li> <li>Assemble large pickle instructions</li> <li>Fix and move failing tests, reorder lib build</li> <li>Move the arm assembler plugin from asm to arch</li> <li>Temporary add RAnal as dependency for REgg</li> <li>Improve x86.nz assembler parsing and other bugs in rnum</li> <li>Initial implementation of the arch.any.as plugin</li> <li>Better handle of RNum errors for egg and arch.x86.nz</li> <li>Support reg+idx and idx+reg in x86.nz assembler</li> <li>Move the x86.nz plugin</li> <li>Fix asm.acur supporting arch, anal and asm plugins</li> <li> <ul> <li>Fix asm.acur supporting arch, anal and asm plugins</li> </ul> </li> <li>Move anal_riscv to arch_riscv</li> <li>Fix rasm2 -LLL using the new multi-bits macros</li> <li>Introduce RSysBits and its packing/checking macros</li> <li>Implement archinfo() in RAnal.Plugin.tms320</li> <li>Deprecate the unused RArchPlugin.esil field</li> <li>Use PJ to return the list of mnemonics <code>aoml</code> in arm.v35</li> <li>Move anal.rsp to the new home</li> <li>Move anal.v810 into arch.v810</li> <li>Move pickle from anal to arch and add it to meson</li> <li>Remove anal.malbolge and fix CI r_esil issues</li> <li>Move the 'sh' plugin to the new home</li> <li>Honor plugin name in rate matching for RArch.use</li> <li>Move jdh8 from asm/anal to arch</li> <li>Unify RArchOp into RAnalOp using common include files</li> <li>Fix RArchOp.refptr from bool to int</li> <li>Bump cs5 to support FNOP on m68k</li> <li>Wire-up RArch into RAnalOp</li> <li>Fix arm64 plugin to work well with latest arm64 changes in capstone</li> <li>Use the latest capstone5-next with updated aarch64 support</li> <li>Copy anal_amd29k.c to rarch</li> <li>Change arch plugin definition</li> <li>Add some more arch config vars</li> <li>Introduce arch.endian config var</li> <li>Instantiate RArch in anal</li> <li>Introduce RArchConfig-&gt;decoder</li> <li>Add R_LIB_TYPE_ARCH and i4004 arch-plugin</li> <li>First arch plugin (arch.null), implement basic lib api</li> <li>Start moving EVM analysis from extras to core</li> <li>First implementation of r_arch decoder api</li> <li>Introduce the new r_arch library, just the skeleton</li> <li>Add some r_arch api declarations</li> <li>Initial commit on RArch structs</li> </ul> <p><strong>asm</strong></p> <ul> <li>Deprecate more unused fields from RAsmPlugin</li> <li>Fix the parse.z80.pseudo plugin and add a test</li> <li>Remove the unused RAsm.binb</li> <li>Internal cleanup of asm.c, deprecate the disassembly callback</li> <li>Load cpu descriptions for multiarch plugins</li> <li>Fix rasm2 x86.nz for "xchg eax,eax" and add tests</li> </ul> <p><strong>bin</strong></p> <ul> <li>Fix JSON encoding of section addresses</li> <li>Add test for cwd source listing, CLL and list</li> <li>Add warning when loading DWARF5 files (not supported)</li> <li>Add test for the obm with CL, support noncwd paths</li> <li>Use <code>obm</code> when spotting a companion dwarf file on macOS</li> <li>Implement RBinFile.merge() and <code>obm</code> command to use it</li> <li>Initial implementation of the ob-- command to close the last binobj</li> <li>Autoload the dwarf companion file on macOS systems if available</li> <li>Use rabin2 -rO for raw dump operations</li> <li>Use glob expressions to specify section name to dump</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="466423851" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/14540" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/14540/hovercard" href="https://github.com/radareorg/radare2/issues/14540">#14540</a> - klass-&gt;super must be an RList instead of char*</li> <li>Support for Xbox 360 PE32 architecture (PPC BE)</li> <li>Fix wrong detection of <code>main</code> in elf-arm32</li> <li>Fix rabin2 -gj and add tests</li> <li>Add bin.types and disable by default for CI reasons</li> <li>Support loading Plan 9 kernels</li> <li>Use API instead of commands to autoload a pdb</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1446518501" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21020" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21020/hovercard" href="https://github.com/radareorg/radare2/issues/21020">#21020</a> - fix json format for rabin2 -jM when no main is found</li> <li>Expose section type for coff, elf and macho formats</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="813456764" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/18375" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/18375/hovercard" href="https://github.com/radareorg/radare2/issues/18375">#18375</a> - Only patch arm64 relocs when not initialized</li> <li>Add experimental bin.str.nofp config for less false positives</li> <li>Parse the PT_DYNAMIC elf section for the preinit pointers</li> <li>Fix validation check in xnu</li> <li>Initialize macho header pf definitions</li> <li>Speedup class bin loading with bin.filter=false</li> <li>Implement 'ic.' command</li> <li>Fix initial seek for Rosetta2 aot binaries</li> <li>Silent noisy warning in dwarfprocess</li> <li>Expose klass-&gt;super details for objc categories</li> <li>Include fields in the ic output</li> <li>Enable the swift metadata parser by default and import classinfo</li> <li>Add lang field for classes, symbols and methods, expose it via ic</li> <li>Warn about unpatched relocs when no bin.cache is set for macho fixups</li> <li>Add support for 32bit Mach-O fixups</li> <li>Expose the macho reloc fixups and use internal buffer for parsing</li> <li>Fix obf and add tests for it</li> <li>Fix Cd4[ invalid syntax used in macho _const section</li> <li>Expose the id_dylib macho command info into the bin kv</li> <li>Enlarge the c++ demangler stack limit to solve a warning</li> <li>Implement Dwarf.register identifier mapping for v850</li> <li>Infuse asm.cpu from the elf flags for v850 ELFs</li> <li>Remove asm.features, improve RBinInfo with flags and abi details</li> <li>Improve brainfuck detection to reduce false positives</li> <li>Implement dwarf.regName() for arm64</li> <li>Import the free pascal symbol demangler from rizin</li> </ul> <p><strong>build</strong></p> <ul> <li>Double lowerdash defines should be defined only by the compiler</li> <li>Fix and improve static build, faster libr.a with libtool if available</li> <li>Improve libr.a creation with <code>ar -rcT</code> instead of <code>ar -x</code></li> <li>Speedup tcc builds by not using -g</li> <li>Move esil one level up in libs.mk</li> <li>Update sdb to remove double include paths</li> <li>Fix compilation with -lcrypto</li> <li>Do not use macos-latest (macos-11 is fine for LTS)</li> <li>Update the capstone4 support to 4.0.2</li> <li>Fix zig's <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cinclude/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cinclude">@Cinclude</a> of r_th.h</li> <li>Add crosscompiling support with sys/zig.sh</li> <li>Do not install the v35 archives (-50MB) in <code>make install</code></li> <li>Fix capstone dynamic memory allocation setup issue</li> <li>Support sys/debian.sh crossbuilds</li> <li>Remove unused lc-printscan-long-double wasi flag</li> <li>Check if CWD contain spaces in sys/install.sh</li> <li>Add the acr --enable-threadsafety flag and the same for meson</li> <li>Fix meson infinite loop</li> <li>Disable libuv by default on meson and acr</li> <li>Change build order as long as now bin depends on fs</li> </ul> <p><strong>ci</strong></p> <ul> <li>Test r2 build with all sysdependencies enabled</li> <li>Upgrade al-cheb/configure-pagefile-action to the v1.3</li> <li>Run unit tests in parallel</li> <li>Upgrade github actions/checkout from v2 to v3</li> <li>Upgrade actions/upload-artifact from v2 to v3</li> </ul> <p><strong>cmd</strong></p> <ul> <li>Fix bugs in aeg command parser</li> </ul> <p><strong>config</strong></p> <ul> <li>Deprecate the use of comma in e: as stated in the r2580 prophecy</li> <li>Deprecate graph.web eval config var</li> <li>Remove the <code>file.offset</code> unused config variable</li> </ul> <p><strong>cons</strong></p> <ul> <li>Fix static themes listing</li> <li>Add support for statically compiled themes</li> <li>Fix Ctrl+Arrow dietline shortcut for word cursor</li> <li>Fix console history log path regression</li> </ul> <p><strong>core</strong></p> <ul> <li>Enable cmd.undo by default</li> <li>Rename many bin.<em>str evars into bin.str.</em></li> <li>Use XDG instead of R2_HOME_CACHEDIR and R2_HOME_HISTORY</li> <li>Initial support for XDG env vars and paths</li> <li>Fix RConfig.setB when the key doesnt exist</li> <li>Deprecate scr.seek configuration variable</li> <li>Initial implementation of R_LOG_TODO</li> </ul> <p><strong>crash</strong></p> <ul> <li>Fix segfault in <code>poa 1</code></li> <li>Fix integer overflow in fuzzed dwarf rendering in graphs</li> <li>Fix use-after-free after @@<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/e/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/e">@e</a> spotted by meme</li> <li>Fix UAF in <code>aaft</code> when the BB is removed during the loop</li> <li>Fix UAF on quit exposed by r2frida</li> </ul> <p><strong>crypto</strong></p> <ul> <li>Initial abi breaking changes in RCrypto/RHash</li> <li>Fix rahash2 -L listing full hash</li> <li>Initial work on the way RCrypto handles plugins</li> <li>Separate SM4 algorithm from plugin</li> <li>Implement the SIP hash algorithm</li> </ul> <p><strong>debug</strong></p> <ul> <li>Bring back the 'dms' command</li> <li>Fixed incorrect thread arena output</li> <li>IO uses PID to read from child, tid is just for regs</li> <li>Fix r2 -d foo\bar.exe and r2 -d bar.exe on windows</li> <li>Make RDebug.regRead() and regWrite() return bool</li> </ul> <p><strong>decompiler</strong></p> <ul> <li>Improve the outpuf of pdc by trimming the addresses of inline nops and colorize numbers</li> <li>Add colorization support to pdc output</li> </ul> <p><strong>disasm</strong></p> <ul> <li>Implement asm.bytes.align to justify them to the right</li> <li>Fix <code>char</code> auto-comment in <code>cmp</code> instructions</li> <li>Improve pseudodisasm for arm64</li> <li>Improve arm.pseudo when no function information is available</li> <li>Fix mips.pseudo shortpath when function is null</li> <li>Fix x86.pseudo shortpath when function is null</li> <li>Fix NULL function xrefs in pd</li> <li>Implement asm.flags.right option</li> <li>Add dummy parse.evm plugin to fix portability of test</li> <li>Add a dummy bpf pseudo plugin</li> <li>Add RParse.justify() to easily fix commas and spaces</li> <li>Better spacing in arm.pseudo parse plugin</li> </ul> <p><strong>esil</strong></p> <ul> <li>Initial support for threads in esil</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1454118860" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21052" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21052/hovercard" href="https://github.com/radareorg/radare2/issues/21052">#21052</a> - wrong emulation for pop rsp</li> <li>Move anal.esil into the new esil</li> <li>Add <code>aegb</code> command as an alias for 'aeg <code>pieq $Fi</code>'</li> <li>Add <code>aegn</code> command to combine N esil instructions into one dfg</li> <li>Use a function instead for the spaguetti code in all cmp esil opcodes -30LOC</li> </ul> <p><strong>globals</strong></p> <ul> <li>Remove one global variable in RCore.cmdEval()</li> <li>Remove two globals from RCons.cpipe</li> <li>Remove the 3 globals in anal.xtensa</li> <li>Remove 3 globals from anal.tricore</li> <li>Remove the 3 globals from anal.vax</li> <li>Remove 3 globals from anal.nios2</li> <li>Remove 3 globals from anal.arc</li> <li>Remove 3 globals from anal.sparc.gnu</li> <li>Remove 3 globals from anal.sh</li> <li>Remove 3 globals from anal.alpha</li> <li>Remove 3 globals from anal.lanai.gnu</li> <li>Remove 3 more globals from anal.pdp11</li> <li>Remove 3 globals from anal.hppa</li> <li>Remove 3 globals from anal.m68k.gnu</li> <li>Remove the 3 globals in anal.ppc.gnu</li> <li>Remove 3 globals from anal.cris</li> <li>Remove 4 globals from anal.mips.gnu</li> <li>Deglob 4 vars in the arm.gnu disassembler</li> <li>Remove 3 globals in s390.gnu</li> <li>Remove 10 more globals from analysis and capstone</li> <li>Remove 3 globals in ccarg analysis</li> <li>Remove all global variables from RCrypto</li> <li>Move colortable global into the RConsContext</li> <li>Remove global from utf8</li> <li>Remove the last global variable in libmagic</li> <li>Remove in_log_process global</li> <li>Remove global in bin.obj.reloc_patch</li> <li>Remove global variable in esil loop</li> </ul> <p><strong>graph</strong></p> <ul> <li>Initial work in graph.bubble for custom bg color in nodes</li> <li>Honor graph.layout in aegv too, instead of harcoding horizontal one</li> <li>Deprecate aegi and aggi, those were dupes for aegv and aggv</li> <li>Fix null deref in agg and avoid destructive manners of 'V ,'</li> </ul> <p><strong>help</strong></p> <ul> <li>Make the anal.depth warning more useful</li> </ul> <p><strong>indent</strong></p> <ul> <li>Balance spacings in braces</li> </ul> <p><strong>io</strong></p> <ul> <li>Initial implementation of the generic io-stream api</li> <li>Fix UAF in streaming io plugins when used with io.va=1</li> <li>Remove invocation of v layer cache in r_io_desc_read</li> <li>Start rewriting io_cache.c</li> <li>Kill r_io_read_at_mapped</li> <li>Initial import of the serial plugin</li> <li>Kill io-&gt;buffer</li> <li>Remove unused fcn declarations</li> <li>omfg runs omm if no map is set</li> <li>New o++ command to create and open a new file</li> <li>Add "reset" system command to treebuf io plugin</li> <li>Minor bugfix in treebuf io plugin</li> <li>Add treebuf io plugin</li> <li>Fix free-before-use on r_io_reopen of a rbuf:// fd/desc</li> <li>Handle reloc maps properly in r_io_map_remap and r_io_map_resize</li> <li>Fix reloc map memleak</li> <li>Add rio reloc maps</li> <li>[5.8.0] Disable the default io.basemap</li> </ul> <p><strong>json</strong></p> <ul> <li>Fix tj ttj tfj outputs</li> <li>Fix invalid json in tj command</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1377015890" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/20772" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/20772/hovercard" href="https://github.com/radareorg/radare2/issues/20772">#20772</a> - ihj rendering an invalid json because of pfj</li> </ul> <p><strong>lang</strong></p> <ul> <li>Make r2 -j work as a hashbang handler for qjs</li> <li>Enable BigNum in qjs</li> <li>Use r2papi 0.0.4 with base64 and R2Api is now known as R2Papi</li> <li>Add requirejs, simplify compilation and add js_ prefix to all the c files</li> <li>Add typescript support</li> <li>Minor improvements for js: with r2.call() and r2.cmdj</li> <li>Enable Bignum support to the QJS interpreter</li> <li>Import the alpha r2papi 0.0.2 api for qjs</li> <li>Integrate the qjs repl into the js: command</li> <li>Initial import of the interactive QJS repl</li> <li>Import the quickjs rlang plugin</li> <li>Implement py command and add stdin slurp support for js- too</li> <li>Add 'js' and 'js:' commands, as well as improve help for #!?</li> <li>Fix null deref in rlang</li> <li>Add "lua" as an alias for "#!lua"</li> </ul> <p><strong>leaks</strong></p> <ul> <li>Fix leaks in <code>pdc</code></li> <li>Fix more memory leaks in rbin and ranal for arm64</li> <li>Patch more leaks in the analysis and rbin</li> <li>Some safe memleaks related to analysis and registers refcounting</li> <li>Fix memory leak in dietline</li> </ul> <p><strong>lint</strong></p> <ul> <li>Enable the leading spaces linter rule and fix them all</li> <li>Use more tabs and add a (disabled for now) linter for it</li> </ul> <p><strong>logs</strong></p> <ul> <li>Redirect RLog messages into the Corelog</li> <li>Add base64 support to the <code>T</code> and <code>T*</code> commands</li> </ul> <p><strong>panels</strong></p> <ul> <li>Add <code>ve</code> command to set fg/bg colors for current panel</li> </ul> <p><strong>print</strong></p> <ul> <li>New RPrint.spinBar() API used from scr.demo for now</li> <li>Fix <code>pcc</code> trifids confussion issue</li> <li>New command <code>CLL</code> (aka <code>list</code>) show function source using addrline (dwarf) info</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1459826692" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21080" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21080/hovercard" href="https://github.com/radareorg/radare2/issues/21080">#21080</a> - Add cfg.codevar to change the <code>buffer</code> varname from <code>pc</code></li> <li>ASN.1 and x509: correct OCTET_STRING and Public key info parsing</li> <li>Add ASN1 Algorithm Identifiers for Edwards curves</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1437435061" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/20993" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/20993/hovercard" href="https://github.com/radareorg/radare2/issues/20993">#20993</a> - Correct ASN.1 BIT_STRING parsing</li> <li>Implement pcn command to print bytes as space separated numbers</li> <li>Add support for the swatch dot-beat internet time</li> <li>Workaround for "too large buffer" in formats</li> <li>px* is an alias for pc*</li> <li>Implement pFoj command</li> <li>Implement pFaj for asn1 json decoding</li> <li>Initial refactoring/cleanup of ASN1 parser api</li> <li>Add pFxj command to print x509 certificates in JSON format</li> <li>Add pFpj command to print PKCS7 files as JSON</li> <li>Fix issue in 'pdc' that was showing empty orphan nodes</li> <li>Implement new 'pcq' command, like pc, but inline-include-friendly</li> <li>Implement the new <code>pieb</code> command as an alias for <code>pie $Fi</code></li> <li>Fix read buffer overflow in pxq -272</li> <li>Implement pFbJ command with quiet and verbose json formats</li> <li>Implemen pFbj for json printing of protobuf</li> <li>Set hex.hdroff=true by default</li> <li>Implement pFAj to render android xml in JSON (abi break)</li> <li>Implement TSV output format for RTable</li> </ul> <p><strong>projects</strong></p> <ul> <li>Fix some problems when renaming projects</li> <li>Fix some bugs in projects</li> <li>Quote commit message to avoid git error when saving project</li> <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/radare/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/radare">@radare</a> Do changes in Px-&gt;Pc, Pc-&gt;PS* as planned</li> </ul> <p><strong>r2pipe</strong></p> <ul> <li>Check magic header before assuming an interpreted file is executable</li> </ul> <p><strong>r2pm</strong></p> <ul> <li>Fix assert in Str.Trim() when r2 is not installed</li> <li>Add support for tarball and zip packages</li> <li>Honor EDITOR in r2pm -e</li> <li>Remove all the references to the old r2pm.sh</li> <li>Implement R2PM_FAIL and mark it as deprecation for r2-5.9.x</li> <li>Implement r2pm -cp like it was in r2pm.sh</li> <li>Fix clean installations with r2pm -c</li> <li>Expose R2PM_SUDO and list R2PM_PREFIX in -H</li> <li>Handle -HH in r2pm for verbose env listing and remove unused R2PM_GITSKIP</li> <li>Fixes pull/install/uninstall on windows</li> <li>r2pm -Ui can be combined now and fix extras package building</li> <li>Honor R2PM_DBDIR env var</li> <li>Honor -f in r2pm -U to force clean the r2pm db</li> <li>Support XDG on r2pm and expose the PKG_CONFIG_PATH</li> <li>Expose R2_LIBEXT for r2pm packages</li> <li>Update r2pm manpage and add -q and -a flags</li> <li>Show package source with r2pm -d </li> <li>Implement r2pm -H to make more packages build</li> <li>Fixes parsing the GIT URL on some packages</li> <li>Test the new default native r2pm fix flushing and using RLOG</li> <li>Make R2PM_NATIVE the default and provide R2PM_LEGACY</li> </ul> <p><strong>r2r</strong></p> <ul> <li>Fix rvector assert when indexing empty ones</li> </ul> <p><strong>refactor</strong></p> <ul> <li>Move the RParse.cparse into RAnal.cparse</li> <li>Stop aeg from abusing agg</li> <li>Rename R_ANAL_ESIL_DFG_BLOCK_ to R_ANAL_ESIL_DFG_TAG_</li> <li>Rename EsilDFGRegVar to EsilDFGVar and introduce EsilDFGVarType</li> <li>Avoid using RArchConfig-&gt;big_endian</li> <li>Add addr_bits to RArchPlugins and make info and decode cbs cfg aware</li> <li>Add archcond api to rarch, some small cleanup in anal</li> <li>Make bitness, endianess and esil-support fields of RArchPlugin again</li> <li>Copy value.c and op.c from anal to arch</li> <li>Copy switch.c from anal to arch</li> <li>Add some more typedefs and enums to r_arch</li> <li>Rename r_arch_set_ to r_arch_config_set_</li> <li>Rename R_ASM_SYNTAX to R_ARCH_SYNTAX</li> <li>Simplify x86_cs BSR and BSF esil</li> <li>Use r_strbuf_replacef in anal_mips_gnu esil generation</li> <li>Use r_strbuf_replacef in anal_mips_cs esil generation</li> </ul> <p><strong>rvc</strong></p> <ul> <li>Initial refactoring of the version control api</li> <li>Move rvc from core to util</li> <li>Fix rvc.commit when non-interactive with a default message</li> </ul> <p><strong>scan</strong></p> <ul> <li>Fix crash in the swift metadata parser spotted by coverity</li> </ul> <p><strong>search</strong></p> <ul> <li>Fix JSON encoding of unsigned search values</li> <li>Fix /au after aeim</li> <li>Fix /w and /wi, add tests, minor code cleanup</li> <li>Add <code>r_anal_optype_index</code> to make /atl and /at use full listings of optypes</li> <li>Support space separated instruction types and family in /at and /af</li> <li>Improve json output for /asj and /atj</li> <li>Fix calling /re twice after ^C</li> <li>/az uses anal.in instead of search.in to improve scan results</li> <li>Make /az faster after aeim, skipping unrelated regions</li> <li>Fix last char bug in swift strings found with /az</li> <li>Add x86-64 support to /az</li> <li>Add flags under the asm.str flag prefix when doing /az</li> <li>Honor bin.minsz in /az is no argument is provided</li> <li>Implement /azq to search for assembly strings and add tests</li> <li>Implement the new /az command to find assembly constructed strings</li> <li>Superseed <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1304767973" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/20447" data-hovercard-type="pull_request" data-hovercard-url="/radareorg/radare2/pull/20447/hovercard" href="https://github.com/radareorg/radare2/pull/20447">#20447</a> - remove some magic globals</li> </ul> <p><strong>shell</strong></p> <ul> <li>Fix ?vi:123 and ?v:123 commands</li> <li>Print whatever is taken from io_system to rcons</li> <li>Fix runtime warning after leaving an rlang session</li> <li>Add "" command to run RCore.cmdCall()</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1482333886" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/21136" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/21136/hovercard" href="https://github.com/radareorg/radare2/issues/21136">#21136</a> - <code>o &lt;tab&gt;</code> autocompletion not working</li> <li>Show help when using invalid subcommand of afi</li> <li>Implement abo and afbo commands to list opcode offsets in function or bb</li> <li>Implement o-. command, add help for future o-$</li> <li>Expose RCore.cmdCall() and fix b64: command + add tests</li> <li>Show number conversion error messages in <code>?v</code> command</li> <li>Fixes for the line editor using live save/load with new RFile apis</li> <li>Implement <code>oe</code> command to open a file using cfg.editor</li> <li>Add quiet and table listing for lang plugins</li> <li>Implement Ll, Llq and #!?q commands for better rlang listing</li> <li>Fix <code>r2 /directory</code> behaviour</li> <li>Support $r:REGNAME syntax and document it</li> <li>Implement cmd.usr1 and cmd.usr2 to handle signals on unix</li> <li>Add #!qjs and #!tiny for autocompletion</li> <li>Fix behaviour of -a and -b flags (no arg= show current, append? for help)</li> <li>Rename the drm command to drv for consistency</li> <li>Add -s -i -f r2 commands</li> <li>Implement -a, -b, -c and -e commands in r2</li> <li>Add tabhelp exception for pf.</li> <li>Add r2 -LL to list core plugins</li> <li>Improve help message for f subcommands</li> <li>Take into account static themes when listing</li> <li>Add <code>ot</code> command as an alias for <code>touch</code></li> <li>Implement the ji: command as an alternative to ~{} without cons filtering</li> <li>Also handle (j) and (*), more syntax-consistent and add a test</li> <li>Implement (j for json output of macro commands</li> <li>Initial implementation of <code>?ie</code></li> <li>Add missing help for the '?i?' command</li> <li>Use RCoreHelp for /ca?</li> <li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1376411839" data-permission-text="Title is private" data-url="https://github.com/radareorg/radare2/issues/20760" data-hovercard-type="issue" data-hovercard-url="/radareorg/radare2/issues/20760/hovercard" href="https://github.com/radareorg/radare2/issues/20760">#20760</a> - Implement native gron via ~{=}</li> <li>Remove RPrintRowlog and use R_LOG isntead</li> <li>Allow changing number of saved input lines</li> <li>Implement log.source and log.origin</li> <li>Add the new ucu and ucd commands using the new core-undo apis</li> <li>Rename asm.{off} variables to asm.offset</li> </ul> <p><strong>syntax</strong></p> <ul> <li>Move the preincrement and void arg from tests to lint.sh</li> </ul> <p><strong>threads</strong></p> <ul> <li>Initial ref-counted RRegItems, needed for threadsafety</li> <li>Move the readahead logic to a local variable</li> <li>Guard more critical sections in cons and core</li> <li>Analysis now waits in background for the bin parsing to finish</li> <li>Add some RThreadLocks and start to use the critical sections</li> </ul> <p><strong>thready</strong></p> <ul> <li>Dont call RCore.seek() and read a new buffer in disasm</li> </ul> <p><strong>tools</strong></p> <ul> <li>rax2: corrects base64 encoding for null bytes</li> <li>Fix r2 -2</li> <li>Fix broken tests for long number conversion</li> <li>Fix base64 null byte decoding bug in rax2</li> <li>Implement rasm2 -LLL to list arch plugins</li> <li>Add Ls to list assemblers, and LA to list analysis plugins</li> <li>Bring back the r2 -t for parsing bin and analysing in background</li> <li>rarun2 supports multiple preload directives</li> </ul> <p><strong>util</strong></p> <ul> <li>Fix the XML parser</li> <li>shlr/yxml -&gt; libr/util/rxml - fork the abandoned yxml parser and expose it</li> <li>Add RStr.ansiStrip() and RStr.insert()</li> <li>Improve internal RBuffer API checks</li> <li>Add log error when pj depth limit reached</li> <li>Add R_SYS_BITS_12</li> <li>Introduce R_SYS_BITS_4</li> <li>Add :header and :noheader in RTable</li> <li>Fix crash in r_vector_shrink</li> <li>Minor COV fix in r_str_char_count</li> <li>Fix return type of r_str_char_count</li> <li>Add new RStr.replaceAll() api</li> <li>Use R_PRINTF_CHECK for r_strbuf_replacef</li> <li>Add r_strbuf_replace{f}</li> </ul> <p><strong>vc</strong></p> <ul> <li>Initial rvc refactoring and cleanup of the api</li> <li>Move rvc apis into callbacks</li> <li>Make ravc2 accessible via blob and r2 shell</li> </ul> <p><strong>visual</strong></p> <ul> <li>Use RAnalOp instead of RAsmOp in r_core_visual_bit_editor</li> <li>Fix issue with cursor disappearing towards the bottom of the screen</li> <li>Don't draw two cursors when too many bytes are on disasm panels</li> <li>Make j/k movement in panels' cursor mode more consistent with it's visual counterpart</li> <li>Don't skip byte when moving left/right in cursor mode (disassembly panel)</li> <li>Fix pdc glitching in panels</li> <li>Handle arrow keys in VT</li> <li>Handle JK0 keys in VT</li> <li>Honor cmd.vprompt and scr.notch in VT</li> <li>RStr.wrap() supports ansi and use it in VT</li> <li>Implement Tv command and use it from VT</li> <li>Fix the cache and other bugs in panels</li> <li>Override scr.maxpage in panels to avoid undesired prompts</li> </ul> <p><strong>wasm</strong></p> <ul> <li>Upgrade to the latest wasi16 sdk</li> </ul> <p></p></details> github-actions[bot]