- Add r_str_dup_printf
* r_bin_elf
- Huge refactoring
r_bin_elf_get_{imports, symbols} will be modified soon
r_buf|r_io will be used, so 'swap-endian' and 'malloc-lseek-read' calls will be removed
Need to rethink section resize (temporary disabled)
* rabin2
- Refactoring
- Flags '-x' and '-w' unified into '-o'
- '-w' is used to open file in rw mode
- More refactoring
* r_bin
- Added bin_dummy plugin
- get_strings works now with unknown formats
* 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)
* Fix help for ?$ -> ???
- New variables (sync with r1 are available)
- $$, $$$, $e, $j, $f, $r and ${..}
* Implement wf, wF and wt (but not wtf :P)
* Fix some minor warnings
* Added new slurp_hexpairs helper
- r_debug_reg and r_debug_regset
- Handles dbg->newstate to force register sync
- Only dbg.reg.read() for x86-32 and 64
* Added dummy copy of manpages (from old radare1)
- Make r_bp_enable return bp_item
- dbh: breakpoint handler plugins can now be listed and selected
- Added 'dbe' and 'dbd' commands to enable and disable breakpoints
* Added $s for filesize (like in r1)
* Added ? $? for help and ?$ alias
* Add r_bp as dependency for r_core in test programs (fix build)
* Use limits.h in io-ptrace to determine x86-32 or 64
* Fix a building bug in rules.mk
- Added pseudoinstruction .asciz
- asm_x86_olly assembles the shorter opcode
* rasm2
- Minor fixups and refactoring
* Misc
- Added new quote into fortunes
- 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
* Fix div0 bug in r_bp_getbytes()
* Show 'enabled' / 'disabled' attribute of breakpoints
* Implement dbg_read and dbg_write callbacks for r_debug
- Added r_debug_set_io() to setup the IO for r_debug
* 'db' command can now add and remove breakpoints
- Not yet written into memory. only managed
- Integrated with r_debug module
- Hardware breakpoints will be handled by the debug backend
- Breakpoints support software/hardware, lil/big endian, trace, enable/disable
- Plugin infrastructure adding software breakpoint templates
- Added x86 and arm software breakpoint plugins
* Some work on the 'db' command to manage debugger breakpoint
* Added empty dH to transplant process between debugger backends
- Managing breakpoints for the core
- Initial work on the support for breakpoints
for the r_debug plugins
* Adding some dummy work for context support in r_anal
* Make asm_set_bits check per-plugin supported bit sizes
- Now asm plugins have 'arch' and 'bits' attributes
- Used to setup default callbacks for undefined 'assemble' callback
- Also used to avoid setting asm.bits eval variable to invalid values
- We need a way to display all this data
* Added DEFAULT_ARCH in config.h to setup default arch to asm and anal
* Added r_config_set_i_cb()
- Make r_config_set restore value when callback is called and fails
- asm.bits now has a config callback
* Added _LAST in some r_anal enums
- r_cons_user_fgets() is a configurable function pointer
- Simplify build
* Initial import of r_sysproxy
- Directly copied from r1 (no api or anything working yet)
* R_APIze r_vm and r_print
* Make r_core_seek more consistent
* Move r_cons_progressbar() to r_print
* Rename visual 'x' -> 'w' (oops)
- 'a' and 'w' are now compatible with cursor mode
* Implement r_sys_usleep() on w32 and fix r_sys_sleep()
* Implement write support to r_io plugin dbg_ptrace
* Fix libtcc lang plugin compilation problem
* Use r_core_write_at instead of r_io_seek+r_io_write
* Implement 'wa' command.
- Integrated with visual mode (bind to 'a' key)
- Added 'x' key in visual to write hexpair strings
* Fix signature of 'assemble' function in r_asm (const u8 *)
* R_APIze r_config
- Added r_config_swap
- Fix a bug in r_config_set for bool types
* Some more rules in doc/syntax
* Some integration from r_core to r_meta
- CC command is now working to add and remove comments
- Make 'C' show help and 'C*' list metadata
- CF is semi working
* Show comments in disassembly 'asm.comments'
* Added 'e!' command to toggle a eval variable value
- e!asm.bytes ; for example
* Drop arrow-debugging in r_core_visual
- Added key ';' to add comments
- Do not 's eip' on debug
* Fix build of flags test program (thanks graz!)
* Added r_str_chop_ro (read-only string chopping)
- Added -B and -l flags for binary input/output
- Added support for assembling several instructions (separated by ;)
e.g.: $ rasm2 "push eax; push ebx"
* r_asm
- Fixed bug in asm_x86_olly
- ATM lives in r_util, but should be moved to btree.h at some point
Like the kernel's list.h does.
- No node tree path find optimization yet
* Integrate btree with r_flag API
- Accelerates the resolution of flags per offset
- At some point we will need to use paralel tree's to store all the
nodes optimized by different fields (name, offset, ...)
* Added test program for flags and btree algorithm
* Change the print format of flags in the disassembly
* 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
* Initial work on integrating the anal_x86_bea plugin
* Adds the concept of 'opcode families'
* Added 'cmdhit' from e cmd.hit
* Fix r_print_hexdump ascii column
* More R_APIziation
* Cleanup some warnings
* Added keyword index attribute to the keyword structure
- Directly ported from radare1 code
- Fixes a bug in r_cons
- Define 'noname' flagspace by default
* Fix a segfault in r_flag_spaces
* Change prop values order in radare2 -L
* 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?)
* More stuff in doc/release
* Added 'dk' for sending signals to processes in the debugger
- A bit hacky, but funny enought for testing
* Initial draft of the process-related API
- For handling tree's of processes with threads
* Fix a bug in dietline ('supr' key is working now
- Properly load all LIBR_PLUGINS from rabin2 too
- Maybe we will have to add a common stub for this
* Add r_bin_plugin_elf in the STATIC_PLUGINS list
* Add ii, iI, ie, is, iS, iz commands (accepts a * at the end)
- Wrappers to run rabin2 over the opened file
* Add -l flag to radiff2 (line diffing)
- Added -s flag to radiff2 (string distance)
- Move linediff test program into the test.c
- Use R_API for r_diff
- Use double for buffers_distance
- Fix -c flag (now we have modes and 'showcount' toggles)
- Remove config.mk includes from config-user.mk
- Fix sys.c missing include
* Added R_LIB_TYPE_LAST and implement a getter
* Add some missing license headers
- Make proper use of the config-user.mk
- Accelerate build by manually checking timestamps of bin/lib to objs/srcs
- Use '-MD' by default
- Lot of minor fixups done in multiple places
- Fix PREFIX/LIBDIR installation/loading problems for plugins
- Some segfaults has been fixed
- Use R_API in r_core and r_lib
* Add 'vm' to be build by libr by default
* Add 'libs.c' in core/ to manage plugins from core
- Added 'dir.plugins'
- Make '-e' and '-L' radare2 flags work
- Plugins are not loaded multiple times now
* Added r_lib_types string array containing plugin types strings
* Minor fixups in r_debug
- Properly check 'contsc' delegate
- Separate r_debug_wait()
* Rename dbg-ptrace into dbg_ptrace
--HG--
rename : libr/debug/p/dbg-ptrace.c => libr/debug/p/dbg_ptrace.c
* Make p/elf.mk STATIC_BIN_PLUGIN
* Add dummy 'undowrite' command
* Some random unuseful work on vapi's for bin+asm
- Still not usable, but compiles at least
* Add STATIC_DEBUG and RUNTIME_DEBUG config.mk variables
- Mirrored in C as R_DEBUG and R_RTDEBUG
- Defines IFDBG and IFRTDBG macros
- used in r_lib, checks for RLIB_RTDEBUG environment variable
* Added -f and -L flags to radare2
* Added initial dummy work on r_crypto module
- Added 'aes' algorithm
* Added EXTRA_TARGETS and EXTRA_CLEAN targets in makefiles
to build extra programs or libraries in a single directory
* Initial working stuff with hg's bdiff.c
- Working as a line based diffing tool. 'linediff'
- Added 2 files for testing linediff
* Prefix io plugins with io_
- Added ewf and shm io plugins
* Prefix lang plugins with lang_
* Up config.mk version to 0.2b
* Cleanup TODO
* Initial implementation of r_cache (optimization for disassembler)
* Add readme for r_sign (some randome notes and ideas)
- Extend API to get file and line numbers from a virtual address
- Added addr2line-like test program 'rabini'
- Added 'addr2line' plugin
* Add r_file_slurp_line helper in r_util
* Added initial work to support multiple compilers (gcc only atm)
- tcc support under development
- Make HAVE_REGEXP be optional
* The grepping algorithm in r_cons has been rewritten from scratch
- Grepped at memcat() which is the root entrypoint for console IO
- Faster than before (200 less LOC)
- Not yet working at all, but it is quite better than before
* Fix history bug when using @@
* Use return value of filtercmd function to not invoke children core_cmd
* Fix some random segfaults
- We have to grep stuff when inserting it, not when flushing
* Fix 'pd' command (initialize base address
* Initial import of the foreach @@ syntax sugar
- Basic flag support, allows @@= for lists and @@.() for macros
* Add 'g' and 'G' keys in visual
* Fix issues in the macro engine and usage
- Proper identification of dupped commands
- Split macro name and arguments in internal structures
- Chop last ')' to make () and (,) macros work happily
* Fix build of r_sign and a segfault in _free() method
- Add asm_arch and asm_parser callbacks
* Run config_init at the end of core init
* Do not force disassembler to be x86-only
- Add the disassembler initialization in config
- Detect invalid disassembling
- Only parse when asm.pseudo is enabled
- Add rasign test program for r_sign
* Minor code cleanup in cons
* Cleanup and sort commands in help message
* Make oobi input work as command interpreter
- Add r_core_cmd_buffer
* Some basic design workup for xrefs search engine
- Now build by default with the rest of libr
- drop read_at dependency for r_trace
* Some stuff has been moved from r_util to r_types
- max/min int values and so on
- eprintf lives there now
- Accepts a 2nd blocksize argument
- Fix algorithm used in r_core_seek_align to work with 'sa'
* Fix issue with 's+' and 's +' expressions
* Clean up some warnings + minor bugs
- implemented core_seek_align function
* Added '<' and '>' commands, but they are not yet working
- Should be renamed to 'sa' (seek aligned)
* Fix hexdump ascii column color issue
* Fix print/t/hex hexample
* Add some dummy floating stuff for r_util
* Use IFDBG instead of custom 'D' in util/num.c
- Now every callback gets a *user pointer
- Define full api in r_config.h with R_API
- Added scr.color in radare2
- Added po, pu, pU and pS print modes in r2
* Add r_print_unset_flags helper
* Fix urlencoding print mode
* Add test program for r_print_format
* Fix build O:)
* Add R_API directive in r_types
* Huge refactoring for r_print
- C code format
- formatted memory structures also working (not finished)
- unix, dos and w32 timestamps
- Added p->interrupt to break loong loops (should we think in a limit?)
- print formats that need processing returns the number of bytes processed
- if they return 0 is because they failed
- Much more simplified code than the one in r1
- Use p->printf instead of r_cons_printf (aim to independize from r_cons)
- Some basic support for color output
* Properly installation of vapi files
- Lot of fixtures to build a external hello world in gtk+vala+r_asm
- default staticplugins for r_asm are:
mips, java and x86_olly by default
- Add r_util.vapi and make .pc file point to -lr_util
- Use .deps to generate dependencies between vapi files
- Fix r_asm.vapi (Added Asm.Aop struct)
- add set(string) method
- asm/disasm -> assemble/disassemble
* Fix warning + build in sign.c
- Included in default build
* Fix segfault in r_lib with NULL in opendir()
* More fixtures for r_asm_plugin_*
- use #ifndef CORELIB
- drop 'static'
* Update README
* Fix parsing of 'f' command as help specifies (already done in r1)
- get size and offset as 2nd and 3rd args
* Do not hardcode flag size to '1' (use argument given)
--HG--
rename : libr/libr.pc => libr/libr.pc.acr
* Make rabin2 support 'arm' instead of 'asm_arm' for -a (autoprefix 'asm_')
* Some build fixtures
* Static plugins are configurable in libr/config.mk and libr/config.h
- Stripped down version based on the r1 implementation (ow yeah)
* Fix build of r_bin (oops)
- Now ERR() is a static inline function instead of a macro
- 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
* Added cmd_meta in r_core->cmd
* Cleanup data type range before adding new one in r_meta
- mix idea for meta+ranges (commented)
* Search -> initialize renamed to begin()
* Added memcmp_mask for r_util
* Fix crash issue in perl module
--HG--
rename : libr/search/xrefs.c => libr/search/old_xrefs.c
- Added test program that sets and gets metadata.
- It needs much more features and stuff
- Integration with r_core is mandatory! :)
- Hard simplification from the old r1 code
* Added r_str_concat and r_str_concatf in r_util
- Same state as in r1 or ruby-r2
- Added prompt() function pointer to override
the default language prompt if available
* Add -V flag to radare2
- Fix bug in foreach file open
- Fix help message for 'q' cmd
- Added initial cursor support
- Q also for quit
- Added visual prompt
* Added date.c
* Move cursor responsability to r_print
* Make r_cons_invert work also for noncolor terminals
* Added r_num_minmax_swap_i in r_util
* Initial implementation of the visual mode in core
* Added pc and ps print formats (c code and string)
* Added '/' command in core (search hexa and str)
* Add '-d' to radare2 test program
* New r_file_path to resolve file path thru $PATH
* 'make install' works everywhere
- 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