- Allows to mount filesystems in virtual IO
- Only dummy ext2 plugin ATM
- Added 'm' command in r2 to manage mountpoints,
list directories and retrieve files
- Bonus: hacky version of grub/fs code to use it
as a standalone API. Plugins will use it
- API is quite simple and limited, read-only access
- Fixes 'dp*' when not running as debugger mode
- Added r_debug_pids () (sync vapi)
- Fix possible segfault if no anal given to dbg
* Some cosmetic fixups
* 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
* Added 'drb' command to show bytes of GPR
* Fix signature of r_print_hexdump and _hexpairs
* Enhace r_reg test case
* Fix swig/Makefile w32dist target
* Some alloca->malloc fixes for w32
* More error checking in r_sys_rmkdir
- Uses the new r_sys_mkdir_failed() api
- works on windows and posix
* Disable asm.dwarf when the plugin fails to init
- Displays a warning message
* Added 'e scr.cols=16'
- Determines the width of the hexdump (px, x)
- Used also by Visual mode hjkl dimensions
* Add example using bwdisassemble in swig/vapi/t/bwdisassemble.vala
* Add field len to RCoreAsmHit
* Update vapi's
* Fix memory leak in r_core_asm_strsearch()
* Fix several vala examples
* Fix r_list_iterator warning in vala
- 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
- use specific ptrace() calls in linux/freebsd to change regs
- hwbp are not yet working, just basic DRX get/set
- generic interface to handle hw bps in x86-32/64
- needs to import DR# handling code from r1
- Added help in 'b?'
* Added support for bit-collection registers
- eflags is now displayed as a string
- debug/p/debug_native.c needs a correct x86 flag string
* Fix segfault when listing empty register sets
* Show call decompilations under the opcode as a comment
* Rename RRegister as RReg
- Deprecate r_reg_init and use r_reg_new
- Rewrite the list.h dependency in r_reg in order to use r_list
- Fix some memory leaks
* Implement push/pop methods in RReg class
- add test case using it
- will be used for register diffing and tracing
* 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
* 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
- Parse local symbols
- Resolve non-lazy symbol pointers
- Set import type to FUNC or OBJECT
- Refactoring of get_imports
- Add field type to r_bin_mach0_{import, symbol}
* ptrdepth works right with code and data refs
* More work in x86im plugin
- Fill op.refs for more opcodes
- Next step is a massive refactoring using r_anal_value
* 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
- 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
- Analyze code in order to do syscall analysis
- Some fixes in r_vm to make it work
- Add 'av' command to interact with the virtual machine
- added r_str_subchr helper func in r_util
* Simplify some functions in core/cmd
* Move CF -> afs
- Add documentation for 'afs' command
- Accept numeric argument
- Add support for 'get' and 'set'
- Add cfg var anal.ptrdepth to define analysis depth for indirect references
- Add support for indirect references to /a (needs more testing)
* r_io
- Remove perror msg from r_io_read_i()
* r_anal
- Minor fixups in arm and x86 plugins
- Interrupt number is stored in aop->value
- Add dummy syscall table for osx/arm
- Fix identification of syscall table on iOS bins
* Fix rabin2 -z on MACH0 binaries
- 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
* support array types for function string serialization
* Fix undo seek when io->va is enabled
- Fix Vu and VU commands (must read after seek)
* Add patch from edu adding Start/End keys support in dietline
- Fix r_parse_x86_pseudo for att syntax
* Added r_anal_fcn_to_string() and get_var()
- vars now have array size and direction
* Some random fixes
- minor opimitzation in autocompletion (thx edu)
* Added Vtlr command to rename in visual tracked flags
- Modify stackptr on 'ret imm'
- Improve analysis of 'push ref' instructions
* r_bin
- Print a Warning message when a fat mach-o is opened
* Update TODO
* Some syntax fixes
* Some changes in the design of the vars in r_anal
* Remove 'CF' command and META_FUNCTION type
* Fix 'S' '*' mark when in debugger
- 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)
- this is a compiletime module dependency
- java needs to share constantpool between anal, asm and bin
* Added compile-time introspection POC macros in r_types.h.h
- All argc/argv responsability has been moved to the callback
- Makes the code simpler in r_line
- Do not bypass 70 column width in list of options
- Remove deprecated code
* Update compilation instructions for w32 in doc/windows
* Identify new osx binaries as mach0, not java
* io.va only works when there are configured sections
* Minor refactor in TODO file
* Display xref data (Cx/CX are broken atm)
* Added Vx command
* Compare flag names with ut64 hashnames (faster execution)
* Swap d->i and x->d print formats
* Hint in r_str_cmp
* 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
* 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
* 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
* Initial support for visual cursor with invert cons in 'pd' bytes
- Some changes in '*' and '/' keys in visual modes (+-16)
- '+/-' in visual cursor works as in r1 (inc/dec cursor byte)
* Rename 'zf' into 'zh' for header, not function
- 'zf' stands now for function signatures (args, types, ret, ...)
- Implemented in anal_reflines to skip call analysis for lines
* Set dbg.trace=true by default
* Display trace count and times in 'pd' (asm.trace)
- counter starts as 1, not 0 :)
* Added 'absolute' variable in RAnalValue (not yet used..)
- Defines the sign of the value (needs arch-dependent code)
* Sync TODO files
* Added 'S' key in visual mode (step over)
* Safer 'dcc' and 'dcr' commands using step over if necessary
- Skip current instruction (do not lock on calls, rets..)
* Implement step over functionality
* Update configure
* r_big
- Prepare big.c to add gmp code
- Implement r_big_{new, free} with libgmp
* r_anal
- Change the type of {bb,fcn}->fingerprint to RNumBig
* r_flags & r_core
- Add cmd 'af-*' which removes all flags
* More seek undo pushes in visual mode
* Added 'd' key in visual mode 'df' defines a function
* Huge repointerization in RCore
* Fix r_num_new() constructor
* 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
- Setups RCore, int or string types
* Added r_core_cast() static method
- Helper for swig magic
- Allows to cast C pointers into python instances
* Fix EOF issue in #!<lang>
* Fix and sync r2-swig vapis
* Fix flagSort command (fS)
- sort by name is now done by strcmp
- str_hash and str_hash64 are not enought
* Use r_cons in flag/t .. we must drop this dependency
* Add 'all-flagspaces' entry in Vt menu
- When switching back to visual mode, the
print mode is not lost
* Some code cleanup
- 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
- Cleaned up version from r1 code
- Build asm.csr and anal.csr by default
* Added 'dsu' command. step until
* Remove vala and swig checks in configure.acr
--HG--
rename : libr/asm/arch/csr/csr_disasm/dis.c => libr/asm/arch/csr/dis.c
rename : libr/asm/arch/csr/csr_disasm/dis.h => libr/asm/arch/csr/dis.h
* Merge r_trace into r_debug (RDebugTrace)
- Implement 'dt' command to manage debugging traces
- TODO: Track register values and memory changes
- Added dbg.trace and dbg.trace.tag
* Added r_sys_now() to retrieve ut64 value of current time
- Must check endianness issues
* Initial work trying to implement RPATH support to ELF
* Less flat command tree
- 'dt' is now 'dbt'
- 'dk' is now 'dpk'
* Some more random syntax cleanup fixes
* Say 'yes/no' instead of 'ok/fail' in check-langs script
- Implement 'dt' command
- Allows to list threads of specified pid or current one
- Only for linux atm
- Tricky non-intrusive way to get threads for pid
* libr/th/t/test.c is now helpful for debugging threads
* Threads are not stopped when the debugger breaks
- Some random changes.. with no success
- Grepping console buffer is not working
* Cleanup the 'ds' and 'dp' commands
- Implement 'dpa' to attach
- Allow to list childrens of pid
- Also list all attachable pids
* Fix segfault by leaking.. needs some cleanup
* Fix r_debug_reg_list (NULL) issue
--HG--
rename : libr/cons/filter.c => libr/cons/grep.c
- Integrated with core 'as' command. as? for help
- Display formatted parametters of syscalls
- Needs to fully implement this everywhere
- Syscall argument parsing is not yet complete (<4args)
- r_debug_arg_{set|get}
* Implement continue until syscall on Linux debugger backend
* Lot of syntax cleanup to use the new code convention
- Clean r_sign, r_search, r_syscall
* Define global R_SYS_ARCH, _OS and _BITS
- Handle asm.os and asm.arch to hook r_syscall plugins
- Display 8 or 16 zeros depending on asm.bits
- Added r_str_filter () to filter nonprintable chars
--HG--
rename : libr/search/stripstr.c => libr/search/strings.c
* Added 'dsl' command to step until next meta information
line is reached.
* Display file:line with context 5 with 'CL' command
- Fix r_file_slurp_line
* Added 'dcu' command to continue until an address
- bp,dc,bp-
* Added dbg.swstep to configure stepping debugger algorithm
* Add file.type. fixes warning. Defined by rabin2
* Load rabin2 in va format when debug or va modes are enabled
* Ask to kill the child before quitting
* cmd_quit is no longer calling 'exit'.
- Returns R_CORE_CMD_EXIT (-2)
- Return value can be captured at core->num.value
* Implement native kill as a debugger callback
* cmd.visual is now cmd.vprompt
* Add r_debug_reg_{get|set}
- Handle register name aliases
- Works only with ut64 type
* 'dr:eax' is now 'dr?eax'
* Lot of random syntax cleanups
* Refactoring in r_anal API for _aop() with addr and length
- Added ppc code analysis plugin
- sync in r_core
* cfg.ffio->io.ffio
* Add CMD type in r_lib
* Added SR register type
* More stuff is now working in osx-ppc debugger
* Random code cleanup
- 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
- Thanks! :)
* Added dummy r_socket_proc_* api
- Needs to be moved outside r_socket
- Added two non-working usage examples
* Add some checks and enhacements to the r_buf API
- Implemented in r_util.vapi
* R_APIfy the r_cache api
* Add missing methods in r_socket.vapi
* Update the README file in r_anal describing the
new design of r_anal..not yet finished
- Propagate @VERSION@ from ACR
- All *2 apps are now supporting a -V flag to show the version
* Fix .dr* command in r_core debugger
- dr now supports [regtype] [bitsize] arguments
- Check dr? for help
* Added some 8, 16 bit registers to the dbg.ptrace backend
- Just for testing :)
* Check build of the whole source tree
- test programs are now in ${prefix}/bin/libr-test
* Fix lot of warnings and bugs
* Simplify some code
* Some rapification
* Fix segfault in r_reg related to unallocated arenas
- New function r_reg_type_by_name() resolves string->id
* Fix help of rax2
* Minor cosmetic fixups
* Handle binmask==NULL in all _add methods of r_search
- Added empty declarations of reset() and kw_reset()
* Various random fixes in some vapis
- Remove plugin prefixes
- It was unnecessary complicated
- Remove unused code
- Some RAPIfication
- Rename _set( methods into _use(
- Simplify some string processing
- r_parse is working again
- Sync all those api changes in r_core
- External static plugin lists moved to .c
- Fix some cast-related segfaults in core
* Review the r_search API
- RAPIfication
- Allow to pass NULL as binmask
- Added TODO with some more ideas
* Some random warning fixups
* extern plugins defined in handle.c for asm, bin, .. cleaner
* RAPIfy the r_bininfo
* Initial implementation of Rarray Iterator
- Needs some tuning in core Vala..but it is ok for demos
- r_bin API is now using the Rarray iterator
- Added Vala test program for it
* Fix build of some test programs
* Added r_diff and r_bininfo VAPI files
- The APIs are inconsistent and untested. Proposals welcome
- Fix possible overflow in r_bininfo
* Initial implementation of pool.c
- Implements Memory.Pool class (Extracted from 'alt')
- Added test program
* 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
* Added cfg.debug config variable
* Fix the basic stuff for r.dbg.reg api integrated with core
* Failover into the plugin breakpoint implementation to support
non memory breakpoints like API ones or hardware ones
* Added initial non-working version of the gdbwrap debug plugin
- We need to design an IO plugin for gdbwrap too (or a way to
change the IO based on the debug plugin)
- Plugins needs to be synced
* Added x86nasm assembler backend to handle x86-64
- Not yet working. Pretty buggy :)
* Fix support of building static plugins for r_bp
- Statically link r_bp_x86 by default
* Implement ugly r_sys_cmd_str() command in r_util
* Add 'autogen.sh' to ease the use of 'acr'
- Added USERCC and USEROSTYPE configuration flags
--with-compiler : select a compiler from mk/
--with-ostype : select a target OS (not required for ming32 f.ex)
* Add language bindings APIs from radare1
- Fix some issues from the ruby language binding
- Checks if file exists before slurping and causing a ruby segfault
- Added language destructor (.fini pointer)
* Rename str_clean into r_str_chop
* Initial work on the port for ming-w32
* Show flags instead of bytes in disassembly (smart disasm)
* New r_sys_{get|set}env (for portability issues
* Added flags -i and -l to radare2
* Fix warnings and random code cleanup
* Added r_flag_get_i
* Fix some valgrind warnings
- The debugger+visual is now working more stable
* Comment 'strip -s' command in stripsyms.sh
- We need a better way to configure all this stuff (spp?)