354 Commits

Author SHA1 Message Date
Nibble
20bf435bad * Add flag -@ [addr] in rabin2 to show the section,
symbol or import which is at addr. Eg:
  $ rabin2 -i@ 0x004020c0 /bin/ls
  signal
2010-02-04 15:46:41 +01:00
pancake/arm
703ae61623 * Initial working implementation of r_debug_map_* API
- Little integration from r_core_cmd (dm show maps)
  - Uses RList. Allows user and system defined maps
  - Added backend implementation for BSD and Linux
  - mem.c -> map.c
* Fix some more random warnings
  - Rename rList into RList .. as it should be
  - Added r_list_unlink method
* Rename MALLOC_STRUCT as R_NEW ..shorter and smarter
  - Needs propagation

--HG--
rename : libr/debug/mem.c => libr/debug/map.c
2010-02-04 13:23:53 +01:00
pancake/fluendo
54c70fc87c * Added 'drn' debug register name command
- Used to retrieve cross-platform register names
    from specified role. (pc, sp, bp, a0, ...)
* Fix register roles in arm and enhace a bit more the
  r_reg_profile parser to handle some weird situations.
* Fix all build warnings related to libgdbwrap
* Added r_reg_get_name_idx .. this way {get,set}_name
  get the same parameters.
2010-02-03 18:15:31 +01:00
pancake/fluendo
3a3a9b03f3 * Add check for lua5.1 before building the lang plugin
* Fix segmentation fault in r_io_read
  - Only happening when debugging (4 byte overflow)
* Remove |reg command from r_io
2010-02-03 16:57:44 +01:00
pancake/fluendo
c02ef87ac2 * Add support to ARM for the debugger
- asm.arm plugin is now embedded into r_asm as static plugin
* Added register alias names for r_reg
  - Add register names for x86/32/64/arm
  - pc, sp, bp, a0, a1, a2, a3
* Do not build lua5.1 if no lib found
* Enable cfg.ffio in debug mode
* Some code simplification in r_asm
  - Fix a negative offset bug in elf on ARM binaries
2010-02-03 14:34:00 +01:00
pancake
f343c4d74f * Fix delta seeking (do not allow seeks <0)
* Out of file reads (padding) filled by 0xff
* Added r_sys_cmd () to wrap r_system()
* Fix debug registers command to display segment and flag registers
  - Some draft changes in r_debug (signal handling and backtrace)
* Fix warnings in r_line
* Many more indentation fixes
  - Added st32 and st8 basic types
2010-02-02 11:09:52 +01:00
pancake
2b819bba83 * Added 'o' command to open, close, list and map files
* Many syntax standarization fixes
* Clean up some warnings
2010-02-01 11:55:56 +01:00
pancake
a1ada7a036 * Import 'S' command from r1 into r_core
- Allows to manipulate r_io_section
  - r_io not yet tested to work with this
* Added cfg.ffio eval key in r_core to interpret unreadable
  blocks as filled with 'ff' (fakes real IO), useful for
  searchs, bypass IO errors and make visual seeking sweet
  - False by default
  - Does not supports partial reads, so it can fake if seeking
    on non-aligned memory addresses
* Added install-bins and install-test-bins target
  - Splitted from install
  - Install 'r2' as an alias for 'radare2'
2010-01-31 14:22:27 +01:00
pancake
f974fea7da * Many fixes in r_io and r_anal from r_core
- Reference code lines are displayed again
  - Optimize the open_as method of RIo
  - Do not use R_XXX_NAME() macros anymore. simplify!
  - Add 'ah' command to select the handler
* Do not allow to seek on unreadable addresses
  - Warns a lot but its better. More strict
* SEEK_END is now UT64_MAX. Fear
2010-01-31 02:30:59 +01:00
pancake
d5138a7c1d * Huge refactoring for r_cons and r_line
- Reduce the use of global variables by packing all them in a struct
  - Redesign the autocompletion method for r_line
    - Not yet finished, but so much refactoring out there :)
  - Using the singleton format (r_xxx_instance)
  - APIs has been cleaned up
  - Some bugs fixed
  - Syntax fixes

--HG--
rename : libr/cons/print.c => libr/cons/filter.c
2010-01-30 14:02:53 +01:00
pancake
8f3e91b9bb * Split install-includes from install: libr/ mk target
* Rename some enums in r_cons (C_ -> Color_)
  - Export colors in vapi and swig
* Initial dummy work with r_cons_instance singleton
  - Added _new() and _free() methods for r_cons
  - Redefine RCons structure
* Added r_cons python example
2010-01-27 01:50:26 +01:00
pancake
368aeaf974 * Some work to standarize r_cmd (R_API and _new)
* Move empty strsub.c to util/
* r_flags depends on r_cons (yeah, it shouldnt..)
  - just for tmp fun
* Fix some methods and declarations in r_bp and r_core vapis

--HG--
rename : libr/cons/strsub.c => libr/util/strsub.c
2010-01-26 14:06:41 +01:00
pancake
54bdfb22bd * Uppsercase classnames (rCore -> RCore)
- 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}/
2010-01-26 01:28:33 +01:00
pancake
bd84d7dfa0 * Add missing r_io.deps 2010-01-25 18:09:06 +01:00
Nibble
e4dd1cae7f * Fix segfault in radare2 due to last r_bin changes
* Add r_bin_init to the r_bin API
2010-01-25 17:54:32 +01:00
pancake
7ce3232747 * Build all pkgconfig files (fixes valaswig stuff)
* Split some install targets
* Fix segfault in r_anal when not setting any handler
* Rename R_ASM_SYN -> R_ASM_SYNTAX cprefix
  - R_ASM_*_NULL -> R_ASM_*_NONE
* Added nonworking scr.html eval key in r_core/config
* Add install-ruby target for swig bindings
* Use @VERSION@ in libr.pc.acr
* Lot of fixes for valaswig integration
2010-01-25 11:54:25 +01:00
pancake
e5b6d1582b * Add 'install-vapi' target in libr/Makefile
* 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
2010-01-24 23:47:18 +01:00
Nibble
56247931d9 * r_bin
- More refactoring ;)
  - Added dummy r_bin_load & r_bin_free
2010-01-24 15:35:28 +01:00
Nibble
08d5afd5c5 * Fix configure-plugins sort function
* Now r_bin is only using r_buf/r_file for file handling
2010-01-24 12:40:48 +01:00
Nibble
1721bdfe79 * r_buf
- Added R_BUF_CUR for reading at current offset
* r_bin
  - r_bin_java rewritten using r_buf
  - Removed unnecessary headers
  - Some minor fixes in r_bin_pe and r_bin_elf
2010-01-23 13:42:44 +01:00
Nibble
157c727d89 * More work on r_bin_pe 2010-01-22 20:38:41 +01:00
Nibble
b3db31bb9e * r_bin
- Huge refactoring of r_bin_pe
 - Minor fixups in r_bin_mach0
2010-01-22 17:33:56 +01:00
pancake
70f2a8f255 * Fix build for on x86-64
* Use ${MAKE} instead of 'make'
* Added 'install' target for swig python
2010-01-22 14:19:10 +01:00
pancake
8fbe0be140 * Add --without-pic configure flag to build radare2
without PIC code (only static libraries, and link binaries)
  - Fix linking order dependencies
* Fix some missing EXT_EXE
* Add some definitions to make debug_ptrace register work
  on Solaris and *BSD (no windows yet)
  - Some fixes for mips, x86, x86-64, arm and powerpc
* Initial import of rsc2
  - Added intel2att rsc2 sample script
2010-01-21 21:22:30 +01:00
Nibble
f6fa35f9b6 * r_bin_elf refactoring using r_buf 2010-01-21 13:09:49 +01:00
pancake
56678feaed * Initial working implementation of software breakpoints
- 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)
2010-01-21 02:38:52 +01:00
Nibble
82a45fd94a * Remove debug messages from mach0.c 2010-01-19 22:44:57 +01:00
Nibble
5795654c51 * r_buf
- Add r_buf_fread for "format read" (needs a better name)
  - Fix segfault in set_bytes
  - Fix r_buf_read
* r_bin
  - Refactoring of r_bin_mach0 using r_buf and r_file
2010-01-19 22:41:45 +01:00
pancake
41ba5c0104 * Add some missing ${EXT_EXE} in t/
* Implement write register support in debug.ptrace
  - Added many new commands related to registers to r_core
  - Allow to set register values
  - List register types
  - Display register values by type
  - Get value (f cureip @ `dr:eip`)
  - Added continue with signal method to r_debug API
  - drp : display register profiles
  - drp [file] : load register profile
  - Fixes in r_reg, r_io vapi and test program
2010-01-19 11:25:17 +01:00
pancake
5e3f145019 * Fix libr.a libr.so linkage
* Minor sort of TODO files
* Nicer output for make install
* Add socket/t/Makefile and fix test case
2010-01-18 22:14:19 +01:00
pancake/fluendo
d09720001f * Fix build of bea asm plugin
* Fix build of gdbwrapper debug plugin
* Fixes related to the r_iter -> r_array rename
  - rbin vapi is broken now.. waiting for major changes to sync
* Fix build of socket/proc on non-gnu systems

--HG--
rename : libr/util/iter.c => libr/util/array.c
rename : libr/util/t/iter.c => libr/util/t/array.c
2010-01-18 17:33:33 +01:00
pancake
b0a48c14de * Fix build of BeaEngine
* Rename r_iter into r_array
* Simplify r_list and add vala bindings
  - Test cases for C and vala

--HG--
rename : libr/include/r_iter.h => libr/include/r_array.h
rename : libr/vapi/t/iter.vala => libr/vapi/t/array.vala
rename : libr/vapi/t/array.vala => libr/vapi/t/bintest.vala
2010-01-18 13:45:02 +01:00
Nibble
ef7e7998f6 * Minor fixup in r_bin_pe 2010-01-16 19:23:34 +01:00
Nibble
68ec0834b4 * r_bin_pe
- Fix bug in parsing imports
2010-01-16 18:33:40 +01:00
Nibble
3d27913562 * Add mach-ex (fat mach-o extractor) into libr/bin/t/ 2010-01-15 19:50:35 +01:00
pancake
2a054f6bba * Added w32dist makefile target to generate a distributable zip
with .dll and .exe for w32
* Do not build libr.${LIB_AR} by default (problematic in some platforms)
* Lot of more fixes for building on w32 - Yeah i got the first build done!
  - Check radare.org/get/radare2-w32*
  - So many things are still broken for windows
  - Fixes some recursive and missing dependencies
  - LINK and LDFLAGS must be after $OBJ
2010-01-15 17:02:04 +01:00
pancake
65c744d67e * Fix build for linux-mips
* Add missing debug/t/Makefile
2010-01-15 16:24:06 -05:00
pancake
eb99dd1203 * Many more fixes for the mingw32 port 2010-01-15 13:02:54 +01:00
Nibble
61480f889e * r_bin
- Add plugin bin_mach0 (initial support for sections, imports and symbols)
* r_bin_pe
  - Minor fixup
2010-01-15 02:08:38 +01:00
pancake
3d667dbdd9 * Many bug fixes for the build. Oops 2010-01-15 01:56:43 +01:00
pancake
8ba7b6b043 * Many build fixes for mingw32
- See doc/windows
* Rename config.mk to global.mk
  - Avoid name collision (cascade includes in rules.mk)
* Added ${EXT_EXE} in some test program directories
* Split rules.mk into config.mk
  - Some scripts just need to get the environ (config.mk)
  - They dont need the rules

--HG--
rename : config.mk => global.mk
2010-01-15 01:32:28 +01:00
Nibble
ff60ddf329 * r_bin_mach0
- Fixups
  - Dummy get_entrypoints
2010-01-15 01:17:31 +01:00
Nibble
7a2b9fd0f4 * More work in r_bin_mach0
- get_symbols
  - get_imports
2010-01-15 00:08:39 +01:00
pancake
ba848ec5dd * Enhace the output of 'make sloc'
* Added test program for r_hash from python
2010-01-14 23:31:39 +01:00
pancake
f2c3cea367 * Drop bashisms from configure-plugins
* Fix signature for fastcall() in r_asm vapi
* Fix compilation of swig modules without having to install libr
* Fix compilation of swig language modules
  - New target dependency check for make
* Thanks graz for reporting!
2010-01-14 19:15:36 +01:00
pancake
882e3e28c6 * Added libr target to generate libr.a and libr.so
* Build libr_${NAME}.a by default (with PIC objects..)
* iter.h -> r_iter.h
* Initial import of r_list
* Fix name of io.debug plugin

--HG--
rename : libr/include/iter.h => libr/include/r_iter.h
2010-01-14 12:13:48 +01:00
pancake
b3bf9db87a * Store default plugins.cfg configuration in plugins.def.cfg
- Instead of the configure-plugins script
  - exit with 0
2010-01-14 00:12:41 +01:00
pancake
ee25485148 * rm plugins.cfg in mrproper
* Add mk/sloc.mk in config-user.acr
* Fix infinite loop read error issue in:
  - echo x | radare2 /bin/ls
2010-01-13 23:53:34 +01:00
pancake
3bc0212ee6 * Initial import of the 'configure-plugins' script
- accepts --static and --shared to setup which plugins
    you want to build statically in the library or dynamically
  - normalize .mk and plugin file names to adopt a single standard
  - WARNING: huge commit
* Added 'mk/sloc.mk' with 'sloc' target to count
  lines with sloccount everywhere (yeah!)

--HG--
rename : libr/asm/p/x86bea.mk => libr/asm/p/x86_bea.mk
rename : libr/asm/p/x86nasm.mk => libr/asm/p/x86_nasm.mk
rename : libr/asm/p/x86olly.mk => libr/asm/p/x86_olly.mk
rename : libr/config.h => libr/config.h.head
rename : libr/config.mk => libr/config.mk.head
rename : libr/debug/p/dbg_gdb.c => libr/debug/p/debug_gdb.c
rename : libr/debug/p/dbg_ptrace.c => libr/debug/p/debug_ptrace.c
rename : libr/debug/p/dbg_libgdbwrap/Makefile => libr/debug/p/libgdbwrap/Makefile
rename : libr/debug/p/dbg_libgdbwrap/README => libr/debug/p/libgdbwrap/README
rename : libr/debug/p/dbg_libgdbwrap/client.c => libr/debug/p/libgdbwrap/client.c
rename : libr/debug/p/dbg_libgdbwrap/gdbwrapper.c => libr/debug/p/libgdbwrap/gdbwrapper.c
rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-internals.h => libr/debug/p/libgdbwrap/include/gdbwrapper-internals.h
rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper-stddef.h => libr/debug/p/libgdbwrap/include/gdbwrapper-stddef.h
rename : libr/debug/p/dbg_libgdbwrap/include/gdbwrapper.h => libr/debug/p/libgdbwrap/include/gdbwrapper.h
rename : libr/debug/p/dbg_libgdbwrap/include/libaspect.h => libr/debug/p/libgdbwrap/include/libaspect.h
rename : libr/debug/p/dbg_libgdbwrap/include/libe2dbg.h => libr/debug/p/libgdbwrap/include/libe2dbg.h
rename : libr/debug/p/dbg_libgdbwrap/include/revm.h => libr/debug/p/libgdbwrap/include/revm.h
rename : libr/debug/p/dbg_libgdbwrap/interface.c => libr/debug/p/libgdbwrap/interface.c
rename : libr/io/p/dbg.mk => libr/io/p/debug.mk
rename : libr/io/p/io_dbg.c => libr/io/p/io_debug.c
2010-01-13 23:42:49 +01:00
Nibble
38fa7b36b9 * More work on get_syms in r_bin_mach0 2010-01-13 19:09:06 +01:00