Flag: Tornado! Hurricane!

Blogs >> trufae's Blog

Created: Wednesday, December 31 2008 15:04.34 CST Modified: Friday, January 2 2009 05:53.53 CST
Printer Friendly ...
radare 1.1 - codename "pre2k9"
Author: trufae # Views: 4486

I'm glad to announce the release of radare 1.1, codenamed "pre2k9".

Here's the summary of the changelog from 1.0 to 1.1.

I hope this release fixes all the building problems noticed by the
rpm and portage maintainers. I have also added a large list of
new feautres, commands and bug fixing.

If you dont have anything to celebrate tonight (yeah today is the
longest year), enjoy the 12:60 second \o/

Together with the 1.1 source code release I am also publishing the
mp3 of the chiptune session performed during the release of radare 1.0.

Thanks to neuroflip for the music! Thanks to brainstorm, Nibble, Anderson,
and JFV for their contribs, ideas and opinions!

I wish you a great entrance for this new year :)


Chiptune session of the 1.0 release:



* New bindiff engine (bindiff-ng)
  - Handles elf, pe and multiple arches and diffs disassm or hexdumps
  - Supports context view like grep -C
  - Color support
* Support to import/export filedescriptor information for processes
  - Integrated with process dumping and restoring debugger commands
* Analyze ranges can now give inverted results (boolean negation of ranges)
  - Ascii art output (ar%)
  - Trace analysis can be tagged to support multiple traces to be splitted
    internally and use different colors for graphing and so on
  - Full support for range analysis manipulation ('ar' command)
  - Can import information from debugger traces
  - Traces can be displayed with dwarf (C code) or serialized assembly
  - trace.bps enables/disables the stop on breakpoints when tracing code
* Code analysis graphs can now be exported as .dot files for graphviz with 'ac.' command
  - / and * keys in grava window are used to rotate graph in Z axis.
  - u and U keys are undo/redo seeks in grava window
* cmd.visualbind binds the 'b' key in visual mode to run a user defined command
* Fix !stepu command (until user code and until address)
* TouchTrace debugger tracing method now supports ranges
  - Make dbg.regs2 show extended registers (segment registers on x86) same as !reg2
  - Port touchtrace to mips and arm architectures
* Import ERESI's gdbwrap module
  - Enables gdb-remote support to the radare debugger
  - Added helper for connecting to vmware gdb remote
  - gdbwrap://ip:port
* Added initial test suite for the ruby bindings
* Initial port to CH3S NAS ARM5 Linux
  - Fix support for get/set registers with aliased names (pc,lr,..)
* Sync x86-64 fpu code with the i386 one on linux debugger
  - Fix !mp bug (xwr->rwx)
* Added support for virtual and physical addresses
  - Replaces outdated file.baddr with io.vaddr, io.paddr
  - Globally and per section
  - Makes ARM-WCE bins be loaded nicely
* Much more work on libr
  - Added initial libr_syscall
  - Lot of work on r_io
  - Add some test cases
  - libr_bin now supports section resizing
  - Refactoring for r_bin
  - Sync with vaddr/paddr
  - Interface for upcomming r_search
  - Full r_cons and r_hash
* Support for function variables (arg, fastarg, local)
  - Handles tracking and automatic detection with code analysis
  - By default 'cmd.vprompt2'
  - Handle variable type definitions (Cv) to setup int, float, char*, ..
  - Handle variable access list (get/set) for each variable
* Added user-query command '<?' to ask values to the user
* Initial implementation of the virtual machine
  - Supports 8,16,32,64 size read/writes
  - Pseudo opcode por portable architecture code emulation
  - Supports conditional evaluable expressions
  - Can emulate text files pieces or real code for x86 and mips atm
  - Import information from/to the debugger
  - Support for cached IO to avoid child process memory alteration
  - Supports register aliases to define register dependencies like in x86
  - Allows to define new opcodes based on a list of evaluation strings
  - Real code is converted to evaluable strings using the PAS engine
* @@ iterator now supports file based (per line) foreachs with @@.filename
* Added dbg.contsc2 to stop every 2 syscall events or not
  - This can be used to choose to stop before or after executing a syscall
* Enhacements for the native console grep command syntax
  - Lot of console buffer handling optimizations
  - Now can highlight words with '*' keyword
  - Also available with scr.grephigh
  - Can grep lines and columns ~[0] ~#0
  - Fixes some segfaults
  - Support for negated greps ~!
  - Can count number of lines with ~?
* Access to opcode metadata with variables $$F, $$l, ...
* Added repeatable format with math expressions for 'pm'
  - pm {ecx/8}xx @ esi
* Added quotable commands (prefix with '"') to skip shell pipes
* New write operation (wo) command to endian swap 2,4,8 bytes a memory block
* Fix olly assembler and disassembler bugs
  - asm.case can show assembly in lowercase or uppercase
    (olly disasm is now lowercase by default)
  - Use 0x on olly disasm to avoid confusions
* Added support for binary mask for write operations
  - Defined as cyclic keys (wm ff00ff && wx 909090)
* Support for conditional macro expressions. For example:
  - Added '()' command to 'break' macros
  - Fix recursive limits to avoid stack underflows
  - Oneliners are now possible!
  > (for-fun\()`C*~CF[3]#$@\)
  > (step-post-anal,?z`ao@oeip~type = cond, \
    ??(),?eip==`ao@oeip~jump =[2], \
    ??CC likely@oeip,??(),CC unlikely@oeip,)
* Symbols are now prefixed with <flagspace>.<flagname> instead of '_'
* Colorize jump target addresses when placing cursor on top of a branch op
* Bunch of minur fixups
  - New documentation for the book (added cheatsheet)
  - Fix function length detection
  - Fixups on othe x86 code analysis module related to stack and vars
  - Fix installation problems found in 1.0
  - Make !bp autocomplete flags with readline
  - Fix some more warnings
  - Fix build on osx (intel and ppc)
  - scr.seek is working again
  - asm.pseudo is working again too
  - Fix disassembler offsets on x86
  - Allows to enable/disable undo operations ('u' command)
  - Added asm.profile=gas to support gas reassembling of code
  - Fix build for xrefs
  - Added examples of macros and scripts
  - Refactoring on much random places
  - 'f' suffix for 'p' command is now universal (to setup full function size)
  - Fix ^D exit issue for lua, python and ruby plugins

* Much more ...

Blog Comments
wzzx Posted: Friday, January 2 2009 07:36.58 CST
Congratulations :D

Add New Comment

There are 31,272 total registered users.

Recently Created Topics
Reverse Engineering ...
let 'IDAPython' impo...
set 'IDAPython' as t...
GuessType return une...
About retrieving the...
How to find specific...
How to get data depe...
Identify RVA data in...
Question about memor...

Recent Forum Posts
Finding the procedur...
Question about debbu...
Identify RVA data in...
let 'IDAPython' impo...
How to find specific...
Problem with ollydbg
How can I write olly...
New LoadMAP plugin v...
Intel pin in loaded ...
OOP_RE tool available?

Recent Blog Entries
Breaking IonCUBE VM

Anatomy of a code tracer

IAT Patcher - new tool for ...

CryptoShark: code tracer ba...

Build a debugger in 5 minutes

More ...

Recent Blog Comments
nieo on:
IAT Patcher - new tool for ...

djnemo on:
Kernel debugger vs user mod...

acel on:
Kernel debugger vs user mod...

pedram on:
frida.github.io: scriptable...

capadleman on:
Using NtCreateThreadEx for ...

More ...

SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit