<?xml version="1.0"?>
<rss version="2.0">
    <channel>
        <title>OpenRCE: Blog</title>
        <link>http://www.openrce.org/rss/feeds/blog</link>
        <description>OpenRCE: The Open Reverse Code Engineering Community</description>
                <item>
            <title>radare2 porting hackaton</title>
                            <pubDate>Sun, 12 Apr 2009 17:13:08 -0500</pubDate>
                                        <link>https://www.openrce.org/blog/view/1430/radare2_porting_hackaton</link>
                                        <author>trufae &lt;email-suppressed@example.com&gt;</author>
                                                    <description>I'm going to invoke a hackaton on radare2 for the next sunday (2009-04-19).&lt;br /&gt;
&lt;br /&gt;
Previous hackatons were organized without any defined objectives, but I&lt;br /&gt;
think we need to expose some points to do, to centralize the efforts and&lt;br /&gt;
stabilize the code for the release which is planned for 2009-04-25.&lt;br /&gt;
&lt;br /&gt;
The main points for this hackaton (feel free to do whatever else ;) are:&lt;br /&gt;
&lt;br /&gt;
- Porting radare2 to windows, freebsd, netbsd, openbsd, solaris&lt;br /&gt;
- Porting to sparc, mips, arm, powerpc, m68k&lt;br /&gt;
- Porting to other compilers (TCC, MSVC, MINGW32, ICC, Forte, ...)&lt;br /&gt;
- Fixing build issues for packaging on debian/gentoo/arch/nix/..&lt;br /&gt;
- Fixing gcc warnings&lt;br /&gt;
&lt;br /&gt;
The work on these points can probably expose endian issues, makefile&lt;br /&gt;
design bugs, non-portable/standard C code, casting problems, etc..&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lot of work has been done these days without many mails in the&lt;br /&gt;
list, and if you are not following the commits this mail will give&lt;br /&gt;
you feedback about the current state.&lt;br /&gt;
&lt;br /&gt;
elektranox is working on making radare1 to be included in the&lt;br /&gt;
Debian linux distribution. We are working together to fix the&lt;br /&gt;
lintian issues reported to avoid installation issues.&lt;br /&gt;
&lt;br /&gt;
As I have already told, radare1 is currently in a frozen state. All&lt;br /&gt;
the current work is done in the radare2 repository and only&lt;br /&gt;
minor fixups and build issues are going to change in radare1.&lt;br /&gt;
&lt;br /&gt;
New releases for both versions will be released next week during&lt;br /&gt;
the BS3C congress in Bilbo:&lt;br /&gt;
&lt;br /&gt;
 http://www.blindsec.com/jornadas/index.html&lt;br /&gt;
&lt;br /&gt;
There will be two talks about radare. One about practical debugging&lt;br /&gt;
sessions and another about binary manipulation using r_bin, r_asm&lt;br /&gt;
and r_anal (this one by Nibble). They will be in spanish.&lt;br /&gt;
&lt;br /&gt;
The talk I did a month ago in the Fiberparty (Barcelona) was recorded&lt;br /&gt;
and here's the media files to be downloaded (I would like to thank Graz&lt;br /&gt;
for the mirror).&lt;br /&gt;
&lt;br /&gt;
 http://mirror.radare.org/get/&lt;br /&gt;
&lt;br /&gt;
There is also a wmv encoded clip, but the theora one is at best resolution.&lt;br /&gt;
This talk is in spanish too.&lt;br /&gt;
&lt;br /&gt;
Nibble has been working in the analysis and binary modules of radare2&lt;br /&gt;
(r_anal and r_bin). The Java classfiles, ELF32/64 and PE32/64 binary formats&lt;br /&gt;
are now more stable and functional.&lt;br /&gt;
&lt;br /&gt;
r_asm can now assemble multiple opcodes in a single line and it has been&lt;br /&gt;
integrated together with some basic directive commands (.byte , ..) in&lt;br /&gt;
rasm2 and radare2. You will have to quote the wa command to concatenate&lt;br /&gt;
the opcodes in a single line:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; &amp;quot;wa nop;mov eax,33;int 0x80&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The r_anal module now handles the ascii-art reflines at the left of the disasm&lt;br /&gt;
output using the 'pd' radare2 command.&lt;br /&gt;
&lt;br /&gt;
We now have a new library called r_bininfo that implements an interface for&lt;br /&gt;
getting debugging information from binaries, The plugins will use libdwarf&lt;br /&gt;
and so on, to extract information from the r_io file.&lt;br /&gt;
&lt;br /&gt;
From my side I am working on r_bp that interacts with r_debug and its plugins&lt;br /&gt;
to manage a generic breakpoint database independently from the debugger&lt;br /&gt;
backend, so we will be able to setup multiple breakpoints for software/hw,&lt;br /&gt;
for read-write-exec, for a certain length at a memory offset. And then move&lt;br /&gt;
the process from the dbg-ptrace backend to the dbg-qemu and keep the&lt;br /&gt;
breakpoints working. Breakpoint expressions will be also handled from the&lt;br /&gt;
same module.&lt;br /&gt;
&lt;br /&gt;
The r_bp module will provide a plugin interface for extending software breakpoint&lt;br /&gt;
instructions for multiple architectures, endians, etc..&lt;br /&gt;
&lt;br /&gt;
The r_asm module now rsolves an available assemble() plugin if the current plugin&lt;br /&gt;
used only support disassemble(). Each asm plugin now exports information&lt;br /&gt;
about the architecture string suported and the supported register sizes.&lt;br /&gt;
&lt;br /&gt;
The Visual mode in radare2 is now more functional and usable, cursor usage can be&lt;br /&gt;
now used with the 'a' and 'w' commands to write assembled opcodes or hexpair&lt;br /&gt;
strings like in r1.&lt;br /&gt;
&lt;br /&gt;
We now have some basic metadata support in radare2, so we can add comments.&lt;br /&gt;
&lt;br /&gt;
I have added a basic binary tree implementation and it is currently used in r_flag&lt;br /&gt;
to accelerate the resolution of flags by offset.&lt;br /&gt;
&lt;br /&gt;
configure script accepts --with-compiler and --with-ostype flags to choose compiler&lt;br /&gt;
profiles and force operating system. I have fixed some basic issues for the mingw32&lt;br /&gt;
porting.&lt;br /&gt;
&lt;br /&gt;
There are more things done, but these are the most interesting ones.&lt;br /&gt;
&lt;br /&gt;
Enjoy&lt;br /&gt;
&lt;br /&gt;
</description>
                    </item>
                <item>
            <title>radare 1.2 and libr refactoring</title>
                            <pubDate>Mon, 26 Jan 2009 09:53:21 -0600</pubDate>
                                        <link>https://www.openrce.org/blog/view/1366/radare_1.2_and_libr_refactoring</link>
                                        <author>trufae &lt;email-suppressed@example.com&gt;</author>
                                                    <description>This is an stabilization release after the new year's 1.1 one. It fixes some&lt;br /&gt;
installation issues noticed by the gentoo maintainer.&lt;br /&gt;
&lt;br /&gt;
Dont expect too much new features in this version, We (nibble and me) have been&lt;br /&gt;
spending most of the time working on 'libr'. The full refactoring of radare into&lt;br /&gt;
a set of libraries reducing LOCs, adding test cases, removing warnings, adding&lt;br /&gt;
language bindings and the vala api.&lt;br /&gt;
&lt;br /&gt;
As always:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://radare.org/get/radare-1.2.tar.gz&quot;&gt;http://radare.org/get/radare-1.2.tar.gz&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://radare.org/get/changelog-1.2-short&quot;&gt;http://radare.org/get/changelog-1.2-short&lt;/a&gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
We plan to make a hackaton for libr in about two weeks. I will ping the mailing&lt;br /&gt;
again :)&lt;br /&gt;
&lt;br /&gt;
The reason for libr is that after two years of scratchy development we think the&lt;br /&gt;
base is well defined and now the task is a full rewrite from scratch trying to&lt;br /&gt;
refactor everything to keep the core simple and minimalistic but bypassing all the&lt;br /&gt;
limitations and ugly hacks we have faced during the development of the old 1.0 core.&lt;br /&gt;
&lt;br /&gt;
In a month we have refactored most of the old code into 20 libraries which can be&lt;br /&gt;
easily detached from each other to use in your own projects. Expect some licensing&lt;br /&gt;
changes for this library..GPL is not designed for libraries and LGPL is probably a&lt;br /&gt;
good option but we have to discuss about it. Because the base should be Free.&lt;br /&gt;
&lt;br /&gt;
We have managed to write some minimal implementations of the radare1 programs (rax,&lt;br /&gt;
rabin, rasm, radare...) as test programs inside libr (see src/libr fmi) they are&lt;br /&gt;
now 10-200 LOC =). Obviously they are incomplete and didnt support all the options&lt;br /&gt;
of the old ones, but this is just a question of time. radare2 will be built on top&lt;br /&gt;
of libr.&lt;br /&gt;
&lt;br /&gt;
Our plan is to continue working in the refactoring to provide a simpler user interface&lt;br /&gt;
but at the same time providing more features in less lines of code. Some basic&lt;br /&gt;
optimizations has been done, but major ones will be done when finished.&lt;br /&gt;
&lt;br /&gt;
Actually it's just a toy, but reusing the old code is pretty simple and the development&lt;br /&gt;
goes fast :) as always ;)&lt;br /&gt;
&lt;br /&gt;
You can find some vala code examples in src/libr/vapi/t like this one:&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------&lt;br /&gt;
using Radare;&lt;br /&gt;
&lt;br /&gt;
public class AsmExample&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(string[] args)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Asm.State st = new Asm.State();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;st.set_arch( Asm.Arch.X86 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;st.set_bits( 32 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;st.set_big_endian( false );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;st.set_pc( 0x8048000 );&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uint8 *buf = &amp;quot;\xcd\x21&amp;quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;st.disasm(buf, 2);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stdout.printf(&amp;quot;%s\n&amp;quot;, st.buf_asm);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
---------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
For 1.3 the plans are to have some core apps replaced by the new libr ones and get more&lt;br /&gt;
stuff done in libr with some more refined apis.&lt;br /&gt;
&lt;br /&gt;
Current libraries are:&lt;br /&gt;
&lt;br /&gt;
asm: assemble, disassemble, pseudodisassemble in multiple architectures&lt;br /&gt;
bin: parse elf32/64 and pe32 (pe64, mach0, class will be imported soon)&lt;br /&gt;
cmd: handles short and long radare commands&lt;br /&gt;
config: handles configuration hashtable&lt;br /&gt;
cons: multi-os access to console (ansi, html and plain text)&lt;br /&gt;
core: implements a radare instance&lt;br /&gt;
flags: handles offset marks&lt;br /&gt;
hash: checksumming, hashing and entropy calculations&lt;br /&gt;
io: wraps IO with backend plugins with support for maps, sections, undos and caches&lt;br /&gt;
lib: multi-os library for loading plugins&lt;br /&gt;
line: minimalistic multi-os replacement for readline&lt;br /&gt;
macro: the scripting macro engine of radare&lt;br /&gt;
print: multiple print modes (hexdumps, dates, formatted structures, etc..)&lt;br /&gt;
range: handle ranged list of elements&lt;br /&gt;
search: search engine with binary masks, strings (ascii, widechar), patterns, expanded aes, ...&lt;br /&gt;
socket: easy-to-use socket api&lt;br /&gt;
syscall: multi-os api for querying syscall information&lt;br /&gt;
util: cross-library utilities for strings, memory, numbers, mathematical expressions...&lt;br /&gt;
vm: standalone implementation of the radare vm for emulating any architecture&lt;br /&gt;
&lt;br /&gt;
vm, search, cons and io are not yet stabilized at api level. If you want to follow the&lt;br /&gt;
development, please pull the source from mercurial&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;hg clone http://radare.org/hg/radare&lt;br /&gt;
&lt;br /&gt;
Plans for 2.0 are:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- use r_lib as plugin loading api (plugins for all!)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- parrot bindings (no more scripting limitations)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- vala bindings (fearless graphical programming)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- switchable debugging api (use ptrace, mach, bochs, internal vm, etc.. seamlessly)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- distribute libr as binary modules for your projects.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- r_core_thread for multithreaded capabilities&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- lot of test cases&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- stabilize api&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- free beer :)&lt;br /&gt;
&lt;br /&gt;
Thanks to Nibble for the development and nopcode people for supporting my crazy talks&lt;br /&gt;
about radare scripting. mandingo for the betatesting and esteve for the pattern finding&lt;br /&gt;
algorithm fix :)&lt;br /&gt;
&lt;br /&gt;
Enjoy&lt;br /&gt;
</description>
                    </item>
                <item>
            <title>radare 1.1 - codename &amp;quot;pre2k9&amp;quot;</title>
                            <pubDate>Wed, 31 Dec 2008 15:04:34 -0600</pubDate>
                                        <link>https://www.openrce.org/blog/view/1334/radare_1.1_-_codename_&quot;pre2k9&quot;</link>
                                        <author>trufae &lt;email-suppressed@example.com&gt;</author>
                                                    <description>I'm glad to announce the release of radare 1.1, codenamed &amp;quot;pre2k9&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Here's the summary of the changelog from 1.0 to 1.1.&lt;br /&gt;
&lt;br /&gt;
I hope this release fixes all the building problems noticed by the&lt;br /&gt;
rpm and portage maintainers. I have also added a large list of&lt;br /&gt;
new feautres, commands and bug fixing.&lt;br /&gt;
&lt;br /&gt;
If you dont have anything to celebrate tonight (yeah today is the&lt;br /&gt;
longest year), enjoy the 12:60 second \o/&lt;br /&gt;
&lt;br /&gt;
Together with the 1.1 source code release I am also publishing the&lt;br /&gt;
mp3 of the chiptune session performed during the release of radare 1.0.&lt;br /&gt;
&lt;br /&gt;
Thanks to neuroflip for the music! Thanks to brainstorm, Nibble, Anderson,&lt;br /&gt;
and JFV for their contribs, ideas and opinions!&lt;br /&gt;
&lt;br /&gt;
I wish you a great entrance for this new year :)&lt;br /&gt;
&lt;br /&gt;
Source:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://radare.org/get/radare-1.1.tar.gz&quot;&gt;http://radare.org/get/radare-1.1.tar.gz&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Chiptune session of the 1.0 release:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://nopcode.org/get/neuroflip-radare1.0-sidparty-20081108.mp3&quot;&gt;http://nopcode.org/get/neuroflip-radare1.0-sidparty-20081108.mp3&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Changelog-1.1:&lt;br /&gt;
&lt;br /&gt;
* New bindiff engine (bindiff-ng)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Handles elf, pe and multiple arches and diffs disassm or hexdumps&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Supports context view like grep -C&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Color support&lt;br /&gt;
* Support to import/export filedescriptor information for processes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Integrated with process dumping and restoring debugger commands&lt;br /&gt;
* Analyze ranges can now give inverted results (boolean negation of ranges)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Ascii art output (ar%)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Trace analysis can be tagged to support multiple traces to be splitted&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;internally and use different colors for graphing and so on&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Full support for range analysis manipulation ('ar' command)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Can import information from debugger traces&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Traces can be displayed with dwarf (C code) or serialized assembly&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- trace.bps enables/disables the stop on breakpoints when tracing code&lt;br /&gt;
* Code analysis graphs can now be exported as .dot files for graphviz with 'ac.' command&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- / and * keys in grava window are used to rotate graph in Z axis.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- u and U keys are undo/redo seeks in grava window&lt;br /&gt;
* cmd.visualbind binds the 'b' key in visual mode to run a user defined command&lt;br /&gt;
* Fix !stepu command (until user code and until address)&lt;br /&gt;
* TouchTrace debugger tracing method now supports ranges&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Make dbg.regs2 show extended registers (segment registers on x86) same as !reg2&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Port touchtrace to mips and arm architectures&lt;br /&gt;
* Import ERESI's gdbwrap module&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Enables gdb-remote support to the radare debugger&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Added helper for connecting to vmware gdb remote&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- gdbwrap://ip:port&lt;br /&gt;
* Added initial test suite for the ruby bindings&lt;br /&gt;
* Initial port to CH3S NAS ARM5 Linux&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fix support for get/set registers with aliased names (pc,lr,..)&lt;br /&gt;
* Sync x86-64 fpu code with the i386 one on linux debugger&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fix !mp bug (xwr-&amp;gt;rwx)&lt;br /&gt;
* Added support for virtual and physical addresses&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Replaces outdated file.baddr with io.vaddr, io.paddr&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Globally and per section&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Makes ARM-WCE bins be loaded nicely&lt;br /&gt;
* Much more work on libr&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Added initial libr_syscall&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Lot of work on r_io&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Add some test cases&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- libr_bin now supports section resizing&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Refactoring for r_bin&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Sync with vaddr/paddr&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Interface for upcomming r_search&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Full r_cons and r_hash&lt;br /&gt;
* Support for function variables (arg, fastarg, local)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Handles tracking and automatic detection with code analysis&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- By default 'cmd.vprompt2'&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Handle variable type definitions (Cv) to setup int, float, char*, ..&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Handle variable access list (get/set) for each variable&lt;br /&gt;
* Added user-query command '&amp;lt;?' to ask values to the user&lt;br /&gt;
* Initial implementation of the virtual machine&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Supports 8,16,32,64 size read/writes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Pseudo opcode por portable architecture code emulation&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Supports conditional evaluable expressions&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Can emulate text files pieces or real code for x86 and mips atm&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Import information from/to the debugger&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Support for cached IO to avoid child process memory alteration&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Supports register aliases to define register dependencies like in x86&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Allows to define new opcodes based on a list of evaluation strings&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Real code is converted to evaluable strings using the PAS engine&lt;br /&gt;
* @@ iterator now supports file based (per line) foreachs with @@.filename&lt;br /&gt;
* Added dbg.contsc2 to stop every 2 syscall events or not&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- This can be used to choose to stop before or after executing a syscall&lt;br /&gt;
* Enhacements for the native console grep command syntax&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Lot of console buffer handling optimizations&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Now can highlight words with '*' keyword&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Also available with scr.grephigh&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Can grep lines and columns ~[0] ~#0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fixes some segfaults&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Support for negated greps ~!&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Can count number of lines with ~?&lt;br /&gt;
* Access to opcode metadata with variables $$F, $$l, ...&lt;br /&gt;
* Added repeatable format with math expressions for 'pm'&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- pm {ecx/8}xx @ esi&lt;br /&gt;
* Added quotable commands (prefix with '&amp;quot;') to skip shell pipes&lt;br /&gt;
* New write operation (wo) command to endian swap 2,4,8 bytes a memory block&lt;br /&gt;
* Fix olly assembler and disassembler bugs&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- asm.case can show assembly in lowercase or uppercase&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(olly disasm is now lowercase by default)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Use 0x on olly disasm to avoid confusions&lt;br /&gt;
* Added support for binary mask for write operations&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Defined as cyclic keys (wm ff00ff &amp;amp;&amp;amp; wx 909090)&lt;br /&gt;
* Support for conditional macro expressions. For example:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Added '()' command to 'break' macros&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fix recursive limits to avoid stack underflows&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Oneliners are now possible!&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;gt; (for-fun\()`C*~CF[3]#$@\)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;gt; (step-post-anal,?z`ao@oeip~type = cond, \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;??(),?eip==`ao@oeip~jump =[2], \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;??CC likely@oeip,??(),CC unlikely@oeip,)&lt;br /&gt;
* Symbols are now prefixed with &amp;lt;flagspace&amp;gt;.&amp;lt;flagname&amp;gt; instead of '_'&lt;br /&gt;
* Colorize jump target addresses when placing cursor on top of a branch op&lt;br /&gt;
* Bunch of minur fixups&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- New documentation for the book (added cheatsheet)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fix function length detection&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fixups on othe x86 code analysis module related to stack and vars&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fix installation problems found in 1.0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Make !bp autocomplete flags with readline&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fix some more warnings&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fix build on osx (intel and ppc)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- scr.seek is working again&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- asm.pseudo is working again too&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fix disassembler offsets on x86&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Allows to enable/disable undo operations ('u' command)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Added asm.profile=gas to support gas reassembling of code&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fix build for xrefs&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Added examples of macros and scripts&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Refactoring on much random places&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- 'f' suffix for 'p' command is now universal (to setup full function size)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;- Fix ^D exit issue for lua, python and ruby plugins&lt;br /&gt;
&lt;br /&gt;
* Much more ...&lt;br /&gt;
</description>
                    </item>
                <item>
            <title>Another invalid opcode representation</title>
                            <pubDate>Thu, 20 Nov 2008 08:46:24 -0600</pubDate>
                                        <link>https://www.openrce.org/blog/view/1312/Another_invalid_opcode_representation</link>
                                        <author>trufae &lt;email-suppressed@example.com&gt;</author>
                                                    <description>After the release of radare 1.0 somebody noted a bug in the disassembler, so we made some investigation and saw that udis86 is representing the&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;83 e4 f0 as&amp;nbsp;&amp;nbsp;&amp;quot;and esp,0xf0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and other disassemblers (olly, gnu objdump, ..) are representing it as:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;quot;and esp, 0xfffffff0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The problem is not directly related to udis86, because it is a missrepresentation of what intel really does at low level with this instruction.&lt;br /&gt;
&lt;br /&gt;
In the specs says that the 83 opcode should affect only the lowest byte of the register pointed by the second byte. If this operation is performed against EAX we can properly represent the instruction as &amp;quot;AND AL, 0xF0&amp;quot;, but neither EBP or&amp;nbsp;&amp;nbsp;ESP has partial access representations.&lt;br /&gt;
&lt;br /&gt;
The funny thing is that without having access to a part of a register following the intel syntax the cpu is able to do it, so I understand that this is a bug in the representation for all the disassemblers.&lt;br /&gt;
&lt;br /&gt;
Both ones are correct to me because they will act in the same way (maybe the olly,objdump) is more correct, but it does not matches the reality of the instruction.</description>
                    </item>
                <item>
            <title>radare 1.0 released</title>
                            <pubDate>Sun, 09 Nov 2008 16:49:24 -0600</pubDate>
                                        <link>https://www.openrce.org/blog/view/1303/radare_1.0_released</link>
                                        <author>trufae &lt;email-suppressed@example.com&gt;</author>
                                                    <description>Download source:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://radare.nopcode.org/get/radare-1.0.tar.gz&quot;&gt;http://radare.nopcode.org/get/radare-1.0.tar.gz&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Download the book:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://radare.nopcode.org/get/radare.pdf&quot;&gt;http://radare.nopcode.org/get/radare.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Slides about &amp;gt;1.0 TODO&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://radare.nopcode.org/get/rage1.pdf&quot;&gt;http://radare.nopcode.org/get/rage1.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Changelog from 1.0 beta to 1.0&lt;br /&gt;
&lt;br /&gt;
* Make valac optional to build the GUI&lt;br /&gt;
* Added asm.profile for disassembler flavours&lt;br /&gt;
* Lot of bugs fixed (segfaults, typos, errors, ..)&lt;br /&gt;
* Release of the book&lt;br /&gt;
* Added serial:// port IO plugin&lt;br /&gt;
* Added macros support '(' command, '.(' to call them&lt;br /&gt;
* Initial ruby API (thanks brainstorm)&lt;br /&gt;
* Fixes for sparc, mips and arm disassemblers&lt;br /&gt;
* Refactorize of the disassembler engine&lt;br /&gt;
* Added assembly string parser&lt;br /&gt;
* Giving initial asm.pseudo for x86 and mips&lt;br /&gt;
* Stabilize for the osx debugger&lt;br /&gt;
* Plugins are now loaded properly in OSX (.dynlib)&lt;br /&gt;
* Lot of refactoring on rabin (thanks Nibble!)&lt;br /&gt;
* Make Cs detect multiple strings (nibble)&lt;br /&gt;
* Added asm.stackptr showing stack information in functions&lt;br /&gt;
* Dewarnification&lt;br /&gt;
* Fixes on build/install system (thanks Timo)&lt;br /&gt;
* Make bindiff patching work with radiff -r | radare -w ..&lt;br /&gt;
* Fix file.insert&lt;br /&gt;
* Rabin: dietpe fixes for get_strings&lt;br /&gt;
* Fix bug in bdcolor for offsets&lt;br /&gt;
* Deprecate asm.follow use scr.seek instead&lt;br /&gt;
* Build ruby with ruby (integrate with waf+make)&lt;br /&gt;
* Apply patches for dietmach0 and osx debugger (thanks revenge)&lt;br /&gt;
* Make ruby plugin have a global Radare() instance in $r variable&lt;br /&gt;
* Fixed build for mingw32&lt;br /&gt;
* xc renamed to 'rax'&lt;br /&gt;
* Eval variables are now accessible with '$((file.baddr))'&lt;br /&gt;
* Lot of refactoring and code cleanup for Rabin (thanks nibble)&lt;br /&gt;
* Implementation of io_maps allowing multiple file open in the same virtual space&lt;br /&gt;
* Added 'IRA' perl scripts PoC decompiler based on objdump&lt;br /&gt;
* Allows multiarch decompilation by pipelines (just PoC)&lt;br /&gt;
* Rabin drops '-a' flag (already included in -I)&lt;br /&gt;
* Fix getregs for powerpc-linux&lt;br /&gt;
* Make 'VG' (Visual GUI) happy again with gtk-prefs&lt;br /&gt;
* Added asm.section&lt;br /&gt;
* Fix store/restore asm. flags for graph&lt;br /&gt;
* Fix code analysis bug for arm&lt;br /&gt;
* Port the debugger to powerpc32-linux&lt;br /&gt;
* Added brainfuck debugger plugin with tracing facilities and virtual mapped IO &lt;br /&gt;
* Added pseudo-opcode disassembler of brainfuck&lt;br /&gt;
* Lot of fixups for the metadata handling commands&lt;br /&gt;
* Make rabin extract strings properly in multiple file formats&lt;br /&gt;
* Make the code analysis detect push-based data references&lt;br /&gt;
* Added $$j $$f $$r (jump fail and ref) virtual variables for scripting code analysis&lt;br /&gt;
* Fix debugger bug for OpenBSD and NetBSD&lt;br /&gt;
* Added html-based version of the book&lt;br /&gt;
* Syscalls properly commented in disassembly&lt;br /&gt;
* Make -s flag be -e dbg.bep for debugger&lt;br /&gt;
* Add data-struct using Cm following the pm command syntax&lt;br /&gt;
* Native MACH-0 parser for rabin named as dietmach0&lt;br /&gt;
* Fixes for displaying data structures with 'pm' command&lt;br /&gt;
* Fixes for scr.filter - now supporting '?' chars as masks&lt;br /&gt;
* pm command now can define field names in structures&lt;br /&gt;
* Fixes for .ad* command (data analysis metadata import)&lt;br /&gt;
* Fix section privs for dietPE (nibble)&lt;br /&gt;
* Added sS command to seek to a section&lt;br /&gt;
* Added support for size based pointer references [8:0x8043] 1,2,4,8,16,32,64&lt;br /&gt;
* Pointer data references are now using cfg.bigendian&lt;br /&gt;
* Added nice keybindings for the visual mode (graph view)&lt;br /&gt;
* New default color theme for grava engine&lt;br /&gt;
* Added minimize button to each graph node&lt;br /&gt;
* Fix BSD issues for dietelf&lt;br /&gt;
* Show rva and offset symbols for diet-PE (Nibble)&lt;br /&gt;
* Fix add_call for the graph&lt;br /&gt;
* Drop tabs in arm gnu disaassembler&lt;br /&gt;
* Nice ctrl-shift+wheel for disassembler&lt;br /&gt;
* Added cmd.vprompt2 and cmd.vprompt3&lt;br /&gt;
* Major refactoring for dietPE (nibble)&lt;br /&gt;
* Add waf --with-sysproxy&lt;br /&gt;
* Make section_list mark your position like in !maps?&lt;br /&gt;
* Folding code is usable again&lt;br /&gt;
* Added 'S' command to handle section information in core&lt;br /&gt;
* Allows multiple base address for virtual sections&lt;br /&gt;
* Import maps and sections information here&lt;br /&gt;
* Added arch.aop=objdump&lt;br /&gt;
* Rename 'R' to 'g' (graph management command)&lt;br /&gt;
* Added radare_cmdf for printf like radare command call&lt;br /&gt;
* Added seek command using code analysis information&lt;br /&gt;
* Seek to call, seek to xref or seek to data reference&lt;br /&gt;
* Added 'ua' (undo all) and 'ur' (undo reset)&lt;br /&gt;
* Added '?x' command to get value only in hexa&lt;br /&gt;
* Fix socket_reading bug for serial:// and socket://&lt;br /&gt;
* Added inmunity debugger python remote plugin&lt;br /&gt;
* Added 'fi' command to interpolate flag positions and get ranges (carving)&lt;br /&gt;
* Make -p -d work together (debugger+project information)&lt;br /&gt;
* Added '$$' for here and '$$$' for opcode size at current seek&lt;br /&gt;
* Added opcode based seeking operations&lt;br /&gt;
* Unify project information&lt;br /&gt;
* Added documentation for the ero's python-bochs integration for radare&lt;br /&gt;
* Added lot of new commands for the the python-bochs debugger&lt;br /&gt;
* Support fo rbinary masks from file-based searchs&lt;br /&gt;
* Fix x86-64 debugger bug&lt;br /&gt;
* Remote python-radare api renamed to 'radapy'&lt;br /&gt;
* Add 'dtdumper' to kradare (Used for syscall kernel introspection)&lt;br /&gt;
* Addded scr.pal. eval variables to change color attributes&lt;br /&gt;
* Fix 64 bit support for remote IO plugin&lt;br /&gt;
* Fix segmentation in malloc:// io plugin&lt;br /&gt;
* Make rasm -E create 4-char based enumerations&lt;br /&gt;
* Added data reference support for the x86 code analysis&lt;br /&gt;
* Make OSX syscall tables handle 0x80 and 0x81 interrupts (not yet integrated)&lt;br /&gt;
* Added better x86-stack related code analysis&lt;br /&gt;
* Add search.align to only get results based on a certain value&lt;br /&gt;
</description>
                    </item>
            </channel>
</rss>
