For example given a plugin defined like this:
RIOPlugin r_io_plugin_foo = {
.name = "foo",
...snip...
};
#ifndef CORELIB
RLibStruct radare_plugin = {
.type = R_LIB_TYPE_IO,
.data = &r_io_plugin_foo,
.version = R2_VERSION
};
#endif
We will try to `free(&r_io_plugin_foo)`, which was not allocated on the
heap. Static io plugins are OTOH allocated like this, so we need to do
the same for dynamically loaded io plugins. However, this is not the same
across the different plugin types, so we need to special-case io plugins
here.
Initial implementation of anal hints (ah?)
Use anal hints in core/disasm. Needs more work
New data structure StrHT (string hashtable)
Simplify core/libs.c with cpp macros
Added r_cons_color() wip function for ansi256 consoles
RPrint no longer depends on r_cons
Sort 'a?' help commands
Add support for named print formats with pf$ command
Add support for 64 bit string pointers in 'pf' ('S')
Add r_print_mute and r_print_format_length functions
Bump r2 nodejs bindings version number
Merge r_print into r_util
* Initial working version of shellcodes inside r_egg
$ ragg2 -i x86.osx.binsh -b 64 -k osx -f mach064 -o a.out
ragg2 -L : list all plugins
ragg2 -i <shellcode-plugin> : select shellcode
ragg2 -r : show raw bytes
ragg2 -x : execute -- fails :(
* Use r_lib in r_egg
- User defined shellcode plugins can now be loaded on runtime
* Fix append_bytes in r_egg api
* Implement r_egg option_{get|set}
* Use working shellcode for x86.osx.binsh example (64bit)
* Update pkgconfig templates
* Add -D flag to rasm2 (show hex and asm)
--HG--
rename : libr/egg/p/x86_osx_binsh.c => libr/egg/p/egg_x86_osx_binsh.c
* 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
* 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
- Linking fixed for r_sign and
* Fix some reads out-of-bounds in r_bin_elf
- Use __strnlen instead of ELF_STRING_LENGTH
- Some simplifications using macros
* Open plugins in radare2 found in '.' by default
- Make w32 happy
- Fix RLib for w32 and local plugin files
* Implement r_sys_cmd_str() for w32
- Also r_sys_setenv()
* Fix printfs in lib/t example
* win7 syscall list is now default windows one
* Added 'r_sys_perror' to make it portable on *nix and w32
* Rename RLibrary into RLib
* 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
- Added dummy command **dummy** for testing purposes
- Initialize CMD dynamic plugins from r_core
* Fix bug in configure-plugins
- Generates bad config.mk and config.h when no static
plugins defined for a category.
- Added test program in Vala
* Added r_lang_define and r_lang_undef
- They are global on the module
- Each plugin should use lang_t
- *user must be deprecated
- radare2 debugger is now broken
- r_reg has grown a bit more
- Better separation of debugger elements
* r_bp now has r_bp_add_hw and r_bp_add_sw() calls
- Added minimal support for breakpoint handlers
- Import th0rpe's watchpoint expression parser engine
* iob moved from r_debug to r_bp
* Arch types has been moved into r_asm
- Soft compile time dependency
* Update pkg-config .pc files
- 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
* 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
- 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