Implement io.buffer for fast IO (work in progress)
Rewrite util/cache.c and use it form io/buffer.c
Refactor util/ht.c and util/ht64.c to reuse code
Various minor fixes in RIO api
cache.c must be rewritten into r_buf for
Fix invalid wide string identification in 'ad' command
Temporal blocksize syntax ':' has changed to '!'
- x @ 1024!33
Fix overlapped IO sections handling
Add support for segmented address in temporal seek
Fix disassemlby to print more lines than blocksize
Add Sa to set/get per-section arch and bits configuration
Cache io->section and core->io->section to speed up the Sa
Update r_sys_arch*
Add dummy plugin in asm/rar
Fix lines of S=
Handle `!` with r_core_cmd_str_pipe
Fix 'afl' output
Add help for 'px' command
Add pxQ and pxW to show one word per line
Fix segmented io with maps and sections
Some test cases got fixed
Add test-r_anal.py
- Support negative integer values in rax2
- Fix column selection draw in r_print_hexdump
- Implement p=p and p=e commants
- Disallow visual insert if file is readonly
- Similar to pZ, but
- Honor -w flag to create file if possible
- Use new r_io_create() api
- Add scr.sparse to show hexdump in sparse mode
* Properly detect end of functions in visual
* Apply rudi_s patches for cache
* Show push flag information if available as a comment
* Clear screen after quiting Visual
* Remove unused function
* Upgrade configure script to acr 0.8.8
- Use proper --libdir LDFLAGS for OSX
- Honor CPPFLAGS
* Fix help msg of 'yt' command
* Use RList in r_io (rudi_s)
* Fix HOME/END keys in xrvt-unicode
* Add dummy install-cxx target in r2-bindings
- 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
- 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
* Add dummy 'dca' command. needs to be implemented
* Reload all symbol information when io.va changes
* Only print jumpkey references in visual mode
* Reduce the autoblocksize in visual for disassembly
- 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'
- 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
- 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 function variables sorted by delta
* Initial import of the io_gdb plugin
- Statically compiled plugin by default
- Use libgdbwrap
- Implements just raw IO read/write
- Needs more testing
* Initial implementation of /a command
- Search for code/data references using code analysis
* Add search.from and search.to eval vars and honor them in '/' command
- Using continue-until-opcode-type call
- Implemented continue-until-syscall in the same way
* Fix r_str_hash() algorithm to avoid colisions
* Added r_sys_bt()
* Handle function boundaries in 'pd'
* Reset stack_ptr=0 when leaving a function body
* Fix 'asm.bytes=false' (display flags as newlines)
* Fix 's+' and 's-' (seek redo, seek undo)
- Bindied in visual mode as 'u' and 'U' keys
- Added 's*' command to list seeking history
* Add dummy file.md5 eval var
- TODO: must be done by rabin2 and checked by project file
- Added doc/iocache with a usage session of 'wc' command
- Needs io.cache=true
- This is the replacement of the 'undo' feature of radare1
- Removed cache-related code from the r_vm module
- e io.cache=true
- Fixes support for overlapped changes
- Implement cache_list
- We can merge it to remove vm and undo writes with this
* Some code cleanup in vm
* Fix division by 0 bug notified by @ash
* Some random makefile cleanup
- Added endianness in r_bp
- Add breakpoints for mips and ppc
- Needs to be used from r_core (dbt?)
- Added dummy bp_watch api (WIP: needs access to r_reg)
* Merge r_range inside r_util
* Added BIT_{SET|CHK} helpers in r_types_base
- Define ST32_MAX
--HG--
rename : libr/range/range.c => libr/util/range.c
- Use 'asm.arch=ppc' in POWERPC by default
- Added r_io_mach for MACH microkernel debugging
- Compiled as static plugin by default
- Added darwin mach/ptrace stuff in debug_native
- Very ugly code.. needs some refactoring
- Add powerpc-OSX registers description map
- Added temporally .h files in debug/p/native
* Display verboser version message with 'r2 -V'
* More linking issues fixed for OSX
* Build gdbwrap debugger plugin
- Not yet usable
* Added R_SYS_OS R_SYS_ARCH and R_SYS_ENDIAN strings
* Deprecate DEBUGGER variable
- r_util is now bindable from swig !!
- Added test cases for r_util
- r_flist has been mirrored in C, to keep API consistent
* Rename RIO->seek into RIO->off
- There's a method with the same name
- Also rename list.h ->next and ->prev into ->n ->n
* Apply patch from whats fixing 'r_cmd_str' EOF for stdin (Thanks!!)
- Added test program to ensure stdin food works
* Allow '-f -' to rasm2 (assemble file from stdin)
* Added test case in python using RBin, RAsm and RCC to compile
and assemble a code to be injected in the given target program
- 'unowned string' is the correct vala type
- Depends on valaswig tip
- type checking is now more strict
* Build libr.so again for swig bindings
* Added test-r_bin.py
- Uses the mercurial's C algorithm for delta diffing
- Remove r_diff_lines .. do we need a line-level diffing tool?
- Remove -l flag from radiff2
* Rename RIo to RIO
* Added r_reg_arena_new () to simplify arena creation
- Some sanity fixes in r_reg arena.c
* Add -C in rasm2 to output in C string format
* Initial working implementation of r_debug_execute to inject code
in child process and restore memory and registers
- Returns %a0 register value in ut64
* Added 'c' command to r_core - to compare -- just dummy
- Will use r_diff
- if rdiff callback returns NULL, we must stop scanning
- old r_diff_buffers_delta is now named buffers_radiff
- Added test files in diff/t/{file1,file2}
* Added doc/plugins documentation file
* Fix ${EXT_SO} in bin/p and asm/p (dejavu?)
* Added dummy asm_gas r_asm plugin
* Various random syntax fixes
* Rename 'dbg.ptrace' to 'dbg.native'
* Added r_debug_io_bind () to sync dbg and bp io_bind
* r_debug_map_list is now in a nicer format
* Append ${EXT_EXE} in diff/t
* Add missing util/log.c and vapi/r_line.vapi
--HG--
rename : libr/debug/p/debug_ptrace.c => libr/debug/p/debug_native.c
rename : libr/debug/p/ptrace.mk => libr/debug/p/native.mk
- Fixes ruby warnings
- Follow java syntax conventions
- Helped to identify and fix bugs in many vapis
- Sync swig examples
- Add test-r_core.rb (ruby test for RCore)
* Some work in r_cons, some refactoring and cleanup
- scr.html is now working again
- w32 cons support should work now
- Rename r_cons_get_columns -> r_cons_get_size()
- But it needs more work
* Typedef all r_range, r_parse and r_anal structs
- Add missing r_lib.pc in configure.acr
* 'make' clean now removes the libr* in swig/${LANG}/
* Fix linking of r_core (r_bin not found)
* Lot of fixes for valaswig. libr, r_io and r_debug
are now usable from python/perl/ruby
- Fix many .vapi files
- Enhace the libr.pc
- r_hash.deps must be removed
- Depends on valaswig-head
- Many API rethink for the r_bp/r_reg/r_debug bizarre triangle love
- Support for recoil for software breakpoints
- Some debugging printfs.. next step, hardware and mmu breakpoints
* r_bp_restore is now used correctly from r_debug
- sw bps are written when returning to proces and erased when back to dbg
* Fix build of bp plugins on w32/osx
* Add support to 'repeat' commands from r_core
- 3ds ; same as 'ds&&ds&&ds' ; perform 3 steps
* Fix a memory leak in rBreakpointItem constructor
* Fix some possible segfaults in r_debug
* Fix double definition cause segfault in r_reg for r_reg_types array
* Fix rLibrary/r_lib typedef class name (fixes valaswig compilation)
- hg clone http://hg.youterm.com/valaswig
* typedef all structs as r_asm_item_t -> rAsmItem
- Sync typedefs with classnames for vala and valaswig interfaces
- Needs more work and testing
- C code keeps fully compatible
* New script to build valaswig bindings (swig/libr-swig.sh)
- Needs integration with 'make test'
- This will help to create a decent unit testing framework
to find bugs in bindings and enhace the design of APIs
from a centralized way keeping compatibility for all the
languages supported by swig (c#, python, java, ruby, perl, ..)
* Fix vala test programs build
- Perform statistics about XXX and TODOs
* Change signature of r_debug_mmu_
* Added io->cached_reads
* RAPIfy the r_lang
* Reviewing of the r_lib API
- Write the vapi file
- Check for null mallocs
* Fix build of r_reg
- Fix warnings in many places
* R_APIfication of r_anal
- Fix probable segfault in x86_bea
* Use macros to define plugin names
* Fix build of radare2, rasign2 and debug/t/main
* Call sundo_push() when io_seek
* Added toggles for seek and write undo levels
--HG--
rename : libr/sign/t/rasign.c => libr/sign/t/rasign2.c
- Promote the use of binary ORs
* Make r_io support cached IO
* Enforce rwx/seek by section information
- Optional by configuring io->enforce*
- Add cache.c
* section->comment => name
* Added resize callback on io pluings (not yet implemented)
* Populate r_io_lseek -> r_io_seek refactoring
* R_APIfy a bit the r_hash
* Also build hash/t/hello program
* Fix some warnings and build blockers
* Make rahash2 read from files (using slurp)
* Added r_buf API in r_util (interacts with r_io)
* Add initial template for r_io_bind
- Needs some more work
- Added desc.c to handle file descriptors (avoid dupped, register handlers, ..)
- Fix some bugs and optimize io paths
- Added resolution methods
- Maps are incomplete but better interfaced. Needs more work
- Added io/t/map.c test program (not yet working)
* Some fixups in many vapi files
- Fix broken ones (syntax parsing error)
- Complete them a bit more
* Initial working version of a demo of list.h vala interface
- Implemented as a Generic class
- Designed as an Iterator, so 'foreach' can be used to iterate
- Added example program iterating from vala and generating a list in C
- filedescriptor is only defined by r_io_set()
- the rest of functions just take one argument less
- there are not enought filedescriptor changes to force fd resolution all the time
* Fix memory leak in r_io_open
- Better error management
- Fix Makefile warnings in libr/io/p
* Added read_at and write_at helper functions
* Random indentation fixups
* Added shm.mk and malloc.mk
* More useless work for r_iter
- myfgets returns length(str)+1
- r_line fix for empty lines interpreted as EOF
* RAPIfication in io.c
* Fix the way to build the tests programs in io/t/{cat|read4}
* Fix non-static plugins build in r_debug and r_io
* Fix debug_ptrace - working with example but not in r2
* debug/t/main.c is now working correctly
* Massive R_APIfication in r_io and r_util
* Added r_io_read_i to read from memory as a ut64 in any endian
- read4.c example uses this new function
* Fix build of r_io static plugins
* Some more checks at random places in r_io (more stable)
- r_io_set_fd() simplifies fd and plugin setup
* Added |pid command for ptrace io plugin
* Added io->printf to avoid use of forced 'printf'
* Add more lib_types names. fixes probable segfault
* Added hg-ci hg-utils makefile target
- r_debug_ptrace is now static by default
* Some code cleanup and warnings removal
* Added hg-utils.mk and MKPLUGINS directive in user-config
* Initial implementation of dbg_gdb r_debug plugin
- Import ERESI's libgdbwrap from r1
* Add some missing files (asm/p/fastcall_mips.h, core/t/ragrep2.c)
* Added r_str_bool helper to get "true"/"false" from int
- Some minor hacks everywhere to glue
- 'dr' command runs '|reg' io-ptrace command (reg dbg stuff needs more work)
- '|reg' is a temporal command that prints x86-ptrace-linux registers
* Added debug visual print mode using && :)
- 's' key steps in debugger
* Added m and ' keys in visual (mark and goto mark) like in vim or r1 :)
- store/use seek addresses
* Make use of the cmd.prompt and cmd.vprompt magic
* Added debug handlers list with 'dh'
- dh ptrace called at init
- dp pid called at init too (hacky style)
* Added debug->wait method for the debug handlers
* Add 'fb' command to set base for flags
* Fix flag redefinition (f foo && f foo @ 33) now works
* Added s64 type (signed 64 bit integer)
* Fixed && and '"' special chars in commnad parsing
--HG--
rename : libr/debug/p/ptrace.c => libr/debug/p/dbg-ptrace.c
* Add 'var' in build liblist and 'vapi/t' for make clean
* Add ^C handler for r_cons. support for callbacks
* Add support for ./m ELF for example to interpret the output of commands
* Fix a bug in the regexp algorithm that can get into infinite loop
* Binmask can now contain non hexpair values
* Add '/m' search regexp matches using the new R_SEARCH_REGEXP algorithm
- Handle ^C in search loop..needs to use callback method
* Properly cleanup the flag names
* Added asm.bits and asm.os eval vars
* Added some random tips for debug in README
- Stupid snippets for import/export data between modules
- Register support requires a rethink
* Initial work on the integration of r_io_undo() api
- Previous commits has been reported in the ChangeLog file
- hg log has been lost (moved inside ChangeLog)
- Old radare1 repository has removed all the libr