Commit Graph

474 Commits

Author SHA1 Message Date
Nibble e5c37f89f6 * New implementation of r_array
* Huge refactoring of r_bin using r_array (not tested yet)
* Modify list.h in order to avoid collisions with c++ "new" keyword
* Random sanity fixes
2010-02-07 13:17:51 +01:00
pancake 822a33377b * Initial working implementation of the r_diff with delta in C
- 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
2010-02-05 12:21:37 +01:00
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 9c0e864daa * Merge 2010-01-19 22:43:01 +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/fluendo cfae42cb27 * Fix 'clean' and 'ruby' targets in swig/ 2010-01-19 19:53:03 +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 8e4364eb9a * Check for supported langs before using valaswig
- Uses valaswig-cc --test
2010-01-18 20:38:30 +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