- Do not find strings in binaries with no data sections
- Add program header section underlaying the rest of sections
* Do not newline when gotoxy'ng
- visual mode is now smarter
* New ? commands
- ?p = show physical address
- ?S = show section name for given address
* Initial refactoring in r_io to make section overlaps happy
- Those changes are experimental and can lead to problems
- Do not iterate prev
- Do not sort by offset
- add 'timeout' directive
- directives can now be passed in arguments
- support more than 3 args for launching
- show default config file in help
* Added test suite for r_egg
- Fix nested conditional and loops
- Some situations can result in broken code
- Code needs a huge cleanup
* Varioues fixes for x86.nz plugin to make r_egg happy
* Install python plugins into dist-packages only
- site-packages is not the right place
* Add R2_LIBDIR and R2_PREFIX constants
* Honor LIBDIR in sdbpath for r_syscall
* Fix rabin2 -h for -C
* Show similarity distance in radiff2 -C output
* Add -O flag to radiff2 to use diffops
* Diffing threshold for basic blocks and functions is now configurable
* Explicitly delete the asm object from the nodejs example
* Update manpages
* Added r2 -H for env and files help
* Add rarun2 -h
* Show assembler/disassembler features in rasm2 -L
* Add opcode 'mov dword [ebp-12],4' to x86.nz
- Make t/test.nz work with x86.olly (32bit only atm)
* Fix unknown os issue with tiny-pe files in r_bin
* Fix some plugin names build fails in mingw32
* MAGICPATH renamed to R_MAGIC_PATH
* Add another experimental way to generate gir files
- Added dummy test.js for nodejs
* Build python-dist in farm
--HG--
rename : man/rarc2-tool.1 => binr/old.rarc2/rarc2-tool.1
rename : man/rarc2.1 => binr/old.rarc2/rarc2.1
- Added breakpoint and code analysis plugins for bf
- *mem++ != mem[0]++
- Full register get/set support
- Support for step and continue-until-syscall
- Work in progress breakpoint support
* Added bfvm_reset() hooked to plugin->kill
* Enhacements in r_core and r_debug for better debugger support
- Added plugin->step_over delegate
- Fix segfault when accessing null r.file->fd->data
* Initial first working steps of the brainfuck debugger
* Add missing io.w32 plugin (untested)
- Plugins that doesn't work on current platform are not listed
- -D : enable debugger mode for non native debuggers
- -c cmd : execute a command before showing prompt
* Initial import of the bfvm (brainfuck virtual machine)
* Initial dummy implementation of the brainfuck debugger plugin
- Needs to be integrated with bfvm to work
* Added doc/brainfuck
- Experimental.. not yet ready for release
- Add rasm2 -F flag to specify input and output filters
$ rasm2 -F att2intel
* Add new att2intel r_parse plugin
- make mrproper required
* Initial implementation of RBinClass
- Only experimental and Java-specific atm
- Add rabin2 -C to display classes
* Optimize some r_str functions
* Use pw instead of px in debugger stack view
* Disable stackptr by default
* Add OSX-32bit debugger register map
- Fix support for debugging 32bit bins in 64bit OSes
* Implement r_egg_run() -- just in time execution
* Fix r_egg string construction and argument passing
- Still needs more work, but at least some hello worlds work
* Enhacements in r_egg library
- Add support for including files
- bla.r@include($PATH);
- Proper support for goto() keyword
- Add support to get and set environment variables (need more work)
- PATH@env(/bin);
- Fix /* */ comment parsing code
* rarun2 and rasc2 now depend on r_util
* Add r_mem_protect() as a wrapper for mprotect/VirtualProtect
* Fix segfault in java class parser
--HG--
rename : binr/rarun2/main.c => binr/rarun2/rarun2.c
* Add -O flag to ragg2 as an alias for -o a.out or -o <file> (without extension)
* Add rabin2 -M (get main) for Java Class files
* Add emit_trace (code tracer) for r_egg. useful to debug
- ragg2 -a trace hello.r
- Add emit->jmp() function pointer and emit->retvar
- many fixes in function calls and definitions
- Added support for 'break;' 'break();' and 'goto();'
- Added .ret variable as an alias for eax, rax or r0
- Show debug information in sdb format
- Fix null pointer segfault
- Still work-in-progress for proper debug info
* Some work on r_egg
- Fix windows and osx default syscall tables
* Export version number in vapi R2_VERSION
* Hide ccache error if not found in sys/install
- Remove r_core deps from rabin2
- Accessible via 'wp'
* Fix build check of test program in r_db
* Pass CFLAGS/LDFLAGS to sdb build
* Add rax2 -k to not change base
- x86_64 has been tested and works fine, but needs some love
- the arm mach0 (iPhone) is not yet tested, but the bin looks ok
* Install syscall sdb files into versioned directory in lib/radare2
* Honor bits in r_syscall_setup
- Initial work on RPair in r_syscall
- Not yet integrated, but design is mostly done
* Add r_str_split()
* Add python2 and python3 makefile rules in r2-bindings
* p= command is now an alias for !rahash2 -a entropy -b 512 $FILE
* Some work in the 'G' key in visual
* Fix zoom on io.va=1
* r_sys_getcwd now returns a heap ptr and its named to r_sys_getdir()
* Show invalid instructions in 'pd'
* Fix prompt for 'w' key in visual
* More work with RPair
- Looks like it's finally usable. Let's use it from r_syscall
- Update sdb from hg
- Enhace test program
* Show newlines in 'ps' command
- hello.r now is broken because of this use
- Ignore prefixed '$' in numeric values for r_egg
* Apply @capi_x's patch fixing a bug in 'wb' and rsc/msdn
- Added support for 'add|sub [reg+delta],n' opcodes in x86.nz
* Add emit_init() function pointer to fix entrypoint issues
- ebp has no valid value defined on entrypoints
* Use trim to avoid noisy chars in symbol names for egg/lang
* Properly handle osx/w32 os strings in r_egg
* Make string construction works in r_egg
* Initial work on while() constructs
- ATM only support for linux and osx
- Do not show asm when -f is passed
- Added 3 test programs for osx/linux in ragg2
* Add support for 'lea' opcode in x86.nz
- Support more 'mov [off], reg' opcodes
- Lot of new test cases in test.nz
* Fix some segfaults and parsing bugs in egg/lang
--HG--
rename : binr/ragg2/exithello.r => binr/ragg2/t/exithello.r
- Allow to create tiny binaries with r_bin
- ATM only MACH0 format for x86-32 is supported
$ ./rabin2 -a x86_32 -c mach0:31c040682a00000081ec04000000cd80 a.out
* Rename r_bin_set_arch{idx} to r_bin_select{idx}
- New API r_bin_create and r_bin_use_arch()
- Linux/arm with debugger support
- Debian package generation tools (no need for dpkg)
- Compilation instructions at doc/maemo
* Fix install in binr and libr
- Flags are now handled
* Added 'S.' command to show begin end and name of current section
* Implement 'sn' to seek to next opcode (alias for s+$l)
- Added $l variable
* Rename r2 flag -v to -q
-V flag is now -v (all flags in lowercase
* Remove -u flag in r2 (was not implemented, but not needed)
* Added ?v command
* Check if file exists in rarun2
* Fix cmd.vprompt
* Some fixes in io.undo
- Two test cases to check undo and redo ops
* Added 2 bugs in testsuite
- Added bin.strings eval key
* Fix range check for anal/meta
* Do not exit(1) when write error on console
* Added 'ad' command to analyze data
- Find trampolines from data to text f.ex
- Supports 32 and 64 bit archs
* flags/name moved to util/name
--HG--
rename : libr/flags/name.c => libr/util/name.c
- Should trick some silly antiviruses to stop claiming that
the w32 build is malware
* Unify the python-config-wrapper scripts
--HG--
rename : binr/rasc2/shellcodes.c => binr/rasc2/shellcodes.c.src
- Added enum for VIEW_{DELETED|SPECIAL} ...
- Implement support for listing deleted files for FAT.
- Experimental state
* Add 'fs.view' eval variable
- values normal, all, deleted and special
- only 3 letters are checked 'del' and 'spe' are ok
* Add missing include files
* Parse space separated words in rax2
* Added r_str_binstr2bin() helper function in r_util/str
- Converts binary string to raw bytes
- rax2 -b is the commandline frontend for this
- Autodetects underlying filesystem
- Auomatically mounts a /root partition
- Only support for 'HFS+' filesystem (as a test)
* Added 'oo' command to reopen current file
- In debugger mode re-forks the process
- r2 -d gdb://<host>:<port>
- register maps not yet implemented
- some basic step/continue should work in cfg.debug=true
- gdbwrap instance is shared between RIO and RDebug
* RDebug is now arch-sensitive
- Plugins describe which architectures and register sizes are supported
- Native debugger is restricted to local CPU
- Remote debugger (GDB) arch can be specified with -e asm.arch=arm
* Fix some random warnings
* Move R_ASM_ARCH into R_SYS_ARCH
- Helper functions to translate id to string and string to id
are now in util/sys.c (r_util)
- Move all R_SYS_* from r_util to r_types
- Endianness, OS, CPU and regsize is now 'global'
* Fix visual glitch in Vej and Vt
* Handle demangled names as comments
- in rabin2 and core->bin_load
- Needs to be a RAnalCall at some point
- bin_java calls the dummy r_bin_demangle_java
- Add R_BIN_NM_ANY enum
* Add asm.lbytes config to align disasm bytes to left
* Fix visual glitch in function boundaries
* Import upgraded versions of the idc2rdb scripts in doc/
- RCore.file_open() now accepts one more arg for offset
- Fix RIO api issues related to RIOMap and opening multiple files
- Fix infinite loop and simplify design
- Added test case to ensure it does not breaks
* Fix build of r_lang in OSX (thanks @capri_x)
* Remove debugging printfs
* io.ffio is now true by default
* Display TODO message in r2 -L
* Implement rax2 -s - and rax2 -
* Honor dbg->tid in many places
* Implement basic stuff for dbg->reason
- Only w32 and *nix atm
- Not yet displayed or used
- Added many new reason types in enum
* Fix w32 register map
* Handle attach:// in io_w32dbg plugin
* Implement w32 process and thread list
- You can now select the thread
> dp # list pids
> dp=1424 # attach to pid
> dpt # list threads
> dpt=580 # select thread
* Added dummy code to list windows
* Fix build of the r2 debugger on darwin-arm
* Implement list of threads and memory regions on darwin-arm
- just a draft, needs more work
* Add attach:// IO handler to mach plugin
* darwin does not needs -ldl
* Fix vm arch setup at startup
* Fix flag set in visual mode when cursor is enabled
* Filter string names before adding flags in r_bin_load
* Fix r_flag_name_filter (do trim)
* Fix r_sys_rmkdir
* Update TODO
- Refactor r_bin to work better with big fatbins
- Don't load all sub-bins in memory
Only load the fatbin and the selected sub-bin
- Add r_bin_set_archidx() and r_bin_list_archs()
- Update t/{rpathdel.c, test_meta.c}
* rabin2
- Use '-f str' to select sub-bin by name
- Deprecate ah and add anal.plugin
- e anal.plugin=? list available plugins
- Add the command 'ar' to handle refs/xrefs
- Remove old CX and Cx stuff
- Remove afg (done by af)
* r_anal (& r_meta)
- Remove refs/xrefs stuff from r_meta
- Handle refs from r_anal
- Add r_anal_ref_{add, del}
* rabin2
- Add 'e anal.plugin' to the output of rabin2 -Ir
* Improving rax2
- Support for many bases.
- Add -s flag for transform byte to bin (ej: "48454c4c4f" to "HELLO")
- Add -e flag for endian swap.
* New r_num_to_bits converts nums into binary representation.
- Add support for fatbins (currently only fatmach0)
- Minimize creation of r_buffers
* rabin2
- Add flag -A for listing archs
- Add flags -a and -B for selecting arch
- In the next commit -A and -B will be removed and -a will work
with the following format:
[-a arch bits] for selecting arch
[-a] for listing them
--HG--
rename : libr/bin/p/bin_fatmach0.c => libr/bin/p/bin_xtr_fatmach0.c
* Added r_list_foreach_prev()
* Add RSyscallPort to handle Hardware I/O ports
* Remove libr/TODO and refactor /TODO
* Link with 'ld' in rarc2-tool for nasm
- Some more fixes in the ARM emitter backend
- Single quoted strings are now supported, not filtered
- Fix math opcode names for ARM
- Added support for /**/ and // comments
* Fix makefile for test programs in rarc2/t
- Added simple hello world for tests in rarc2/t
* Add support for /**/ style comments in rarc2
* Fix libr2.a warning message
* Fix .string "" directive in rasm2
- Now works like in GAS. escape chars are handled
- and quotes are stripped
* More fixes for rarc2 on ARM
* Implement .fill directive in r_asm
* Added asm.profile in r_core
* Added r_str_bits as a helper to display register flags
- Still not yet usable, but
* Add .byte and .hex in r_asm as directives
* Add test case for r_word api
- Fix r_word_count()
* Also handle .globl (and .global) to keep GAS compatibility
- TODO: add .word .fill .align and others
* Add swig/go/test-r_bin.go for testing r_bin from go
* Fix build for r_bp and r_search bindings
* Rename enum VarType to VarClass in r_anal.vapi to avoid conflicts
* Add flag -R to rabin_cmd in r2 start up
- Fixes rarc ATT output format for x86
* Fix commandline flags parsing in rarc2
- Honor intel syntax with ".intel_syntax noprefix" header
- GAS can now compile att and intel syntax rarc2 output
* Handle .intel_syntax and .att_syntax directives in rasm2
* Add comments in anal_x86_x86im explaining how x86im parse the opcodes
* Implement analysis for more opcodes
* Rename R_ANAL_OP_TYPE_RCALL into R_ANAL_OP_TYPE_UCALL (more generic)
* Update anal_mips.c and r_anal.vapi
* Update TODO
- Move t/test_anal to binr/ranal2
- Add support for static/dynamic plugins
- Add flag '-B' for binary input
- Add support for ascci hexpairs
- Now input can be given through argv or stdin
- Output analyzed bytes
* r_asm & r_anal
- Improve output of r_*_list
--HG--
rename : libr/anal/t/test_anal.c => binr/ranal2/ranal2.c
- Deprecate the useless '|' one
* Added rap.loop config var to wait for connections in loop
* All data operations in rap are now bounded to RMT_MAX
* Protocol implementation compatible with r1
- Many endian hacks.. must take care of
* Use blocking operations for reading network packets
- RMT packet descriptions are in r_io
- io.rap plugin is now compiled by default.
$ rm -f plugins.cfg
$ ./configure-plugins
* Some syntax fixes in r_vm
* RCore.r_core_server() method uses r_io_is_listener() to wait for connections
* Some minor fixes in r_socket
- Add r_socket_read_block() fixes SIGPIPE and network issues
- Add field at to RAnalRef
- Set ref->at to the addrees of the opcode which does the
jump/call
- Set correctly the xrefs "from" address
* r_core
- Modify afl to accept an optional argument [fcn name] to
filter output by function
- Change afl output to group xrefs by type (code and data)
- Fill RBinImport->size within bin plugins
- Add field size to RBinImport
* r_bin_elf
- Correct value of r_bin_elf_symbol_t->size for imports
* rabin2
- Output af+ command in radare mode
* Update TODO
- Add -s flag to use att syntax instead of intel one
- Flag -A is the new -a (show selected arch)
- Some more work on the arm code generation backend
- Simplify some code (-58LOC)
- Finish manpage rarc2(1)
* Fix ^D using threaded load
* Only load rabin info when no project file exists
* r_core_project_open does not works on directories now
* Sync r_core.vapi
- Loads rabin2 information in a background thread
- Prompt is now much more responsive
- Fix segfault in null pointered var in RThread
* rabin2 load strings only from data sections if found
* Split r_core_prompt/exec (make it cooperative-thread-friendly)
* Check if file exists before launching rabin to avoid noisy messages
* Disable io.va when using the debugger
* io.va is now enabled by default (static-analysis-friendly)
- Fix string filtering
* Display string references for ARM (load indirections)
* Fix numeric indexing of branch references in visual mode
* Display '>' char for call instructions
* More work on RMeta
- unscape strings to avoid \n and \t
- handle correctly the 'Cs' command
- Add partial documentation for the rest of 'C' commands
- Rename characteristics into srwx
- Fix ref to binmain in the pe64 plugin
* r_bin_pe
- Rename section.characteristics into section.flags like in
the other formats
- Add r_bin_get_main
- Implement get_main for elf32 & elf64
- Rename RBinEntry to RBinAddr
* rabin2
- Add flag -M to output main offset and va
* bindings
- Update r_bin.vapi
- Minor fixup in r_util.vapi