93 Commits

Author SHA1 Message Date
pancake/fluendo
ef9224263a * Fix segfault in r_bp_get_bytes when used in loops
* Fix RRange vapi definition
* Remove dctl command. (dct with no argument)
* Add watch.o in bp/Makefile.. lacks implementation
2010-03-03 13:34:38 +01:00
pancake
b4e5318705 * Exterminate r_range references and fix build 2010-03-03 02:45:55 +01:00
Nibble
f3af308727 * Include r_bininfo features in r_bin
* Remove r_bininfo
* Add test bin/t/test_meta.c
2010-02-22 04:30:34 +01:00
pancake/imac
dfd884db74 * Initial steps to make osx-ppc debugger work
- Use 'asm.arch=ppc' in POWERPC by default
  - Added r_io_mach for MACH microkernel debugging
    - Compiled as static plugin by default
  - Added darwin mach/ptrace stuff in debug_native
  - Very ugly code.. needs some refactoring
  - Add powerpc-OSX registers description map
  - Added temporally .h files in debug/p/native
* Display verboser version message with 'r2 -V'
* More linking issues fixed for OSX
* Build gdbwrap debugger plugin
  - Not yet usable
* Added R_SYS_OS R_SYS_ARCH and R_SYS_ENDIAN strings
* Deprecate DEBUGGER variable
2010-02-22 02:42:29 +01:00
Nibble
d1d3dd0e4c * Fix some tests in vapi testsuite
* Update vapi syntax
  - static delegate -> delegate + [CCode (has_target="false")]
* Comment out deprecated rarray stuff in r_types.h
2010-02-20 18:40:54 +01:00
Nibble
71ae9afdc4 * Remove r_types_os and add r_types_base instead
- Now bindings are fully working
* Update r_bin vapi
* Fix r_bin example for python bindings
2010-02-20 18:24:45 +01:00
Nibble
cdf7939df0 * Split r_types.h in r_types.h and r_types_os.h
* Add asm.x86 to the list of static plugins
* Add r_bin to libr.deps
2010-02-20 15:28:21 +01:00
Nibble
47410d8bcd * Add r_sys_getcwd (get current working directory) in r_util
* Add field "file" into r_bin_getinfo
* Fix r_bin vapi
2010-02-19 19:59:22 +01:00
Nibble
fd02a34bc4 * rva is working, but needs more work
* Add S cmds to the output of rabin2 -rS
* Fix cmd 'S' (sections)
* Fix r_io_ptrace
* Add some missing signatures into r_util.h
2010-02-18 18:58:28 +01:00
pancake
d6f95d33c3 * Lot of fixes in the vala/swig wing
- r_util is now bindable from swig !!
  - Added test cases for r_util
  - r_flist has been mirrored in C, to keep API consistent
* Rename RIO->seek into RIO->off
  - There's a method with the same name
  - Also rename list.h ->next and ->prev into ->n ->n
* Apply patch from whats fixing 'r_cmd_str' EOF for stdin (Thanks!!)
  - Added test program to ensure stdin food works
* Allow '-f -' to rasm2 (assemble file from stdin)
* Added test case in python using RBin, RAsm and RCC to compile
  and assemble a code to be injected in the given target program
2010-02-15 22:59:26 +01:00
Nibble
3d3bf594af * Rename r_array to r_flist (RArray to RFList)
* Add ruby test for r_bin
* Remove old r_array stuff from r_types.h
* Fix swig/Makefile to install ruby libs into ruby1.8 libdir too

--HG--
rename : libr/include/r_array.h => libr/include/r_flist.h
2010-02-12 11:45:22 +01:00
pancake
648f8ebe23 * Fix 'const char*' issue in valaswig bindings
- 'unowned string' is the correct vala type
  - Depends on valaswig tip
  - type checking is now more strict
* Build libr.so again for swig bindings
* Added test-r_bin.py
2010-02-12 00:43:11 +01:00
Nibble
d1aceaaa80 * Use valaswig-cc -x for generating bindings (iterator support and so)
* Remove deprecated r_bin.i.experimental
* Define r_array functions in r_array.h as inline static (list.h like)
* Minor fixups in some vapis and headers
* Update python examples
* Exclude problematic libs from swig/rules.mk (temporary)
2010-02-11 15:03:10 +01:00
pancake
4bbe54c148 * Added dummy flag -r in radiff
- Needs merge code from ired/bdiff
* Fix build of various vapi/t files
2010-02-10 00:09:48 +01:00
Nibble
3796793590 * Add r_bin.deps
* Remove debug stuff from r_bin
* Remove outdated r_array stuff from r_util vapi
* Minor fixup in r_bin vapi
2010-02-08 01:36:52 +01:00
Nibble
4d9be45bae * Update r_bin and r_util vapis
* Fix vapi/t/bin.vala in accordance with r_bin.vapi
* Minor aesthetic fixes in util/t/array.c
2010-02-08 00:50:59 +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
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
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
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
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
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/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
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
28adb73802 * Hard simplification of the swig build system
* Add swig dependencies to the default build
* Check for valaswig and swig at configure time
* Some random vapi fixes
* Upgrade to acr 0.8
  - Add --without-valaswig flag to disable the build
    of the python/perl/ruby bindings
2010-01-12 19:57:33 +01:00
pancake
e7392e64db * Remove parser stuff from r_asm in .vapi and .h definition 2010-01-12 02:19:16 +01:00
pancake
c326db2e77 * Integration with valaswig for many libraries
- typedef function pointers in r_search (rSearchCallback)
  - hide R_API stuff as it should in many .h files
  - typedef classes in rCore, rSearch
* Add perl, ruby, python examples for r_asm and r_bp
  - Many other libraries are compiled by default
* Adapt r_asm vapi to the current C api (massemble returns rAsmCode)
  - dynamically allocatable string buffer
* Rename seek->offset to avoid collisions
2010-01-12 02:12:18 +01:00
pancake
e60fbaf7ee * Fix signature for r_bp.list ()
* Add swig/TODO describing some steps for it
2010-01-11 12:22:00 +01:00
pancake
1838890d0f * Makefiles are now more silent (speed up)
- Test programs are compiled once now
  - Libraries are linked once
  - remove ${BIN} ${LIBSO} ${LIBAR} from .PHONY
* Add typedef for rBininfo
* Some useless and random work for rList
2010-01-09 01:14:37 +01:00
pancake
2a67cf96f8 * Add r_bin_load and rBinObject (dummy atm)
- draft for the new r_bin api
* Rewrite r_iter API to be consistent with Vala and GLib concepts
  - Added r_iter_init
  - Add test case to check r_iter from C and Vala using static
    and allocated lists and syntax-sugar iterators
2010-01-08 13:25:03 +01:00
pancake
ec4673b6e1 * Fix build of libr/vapi/t and some bugs in vapis
* Fix some minor random warnings
2010-01-07 22:26:03 +01:00
pancake
ba0fcc1d03 * Some more work on valaswig integratio
* Add perl backend bindings for swig/
* Add minimal (one test) test suite for py/pl

--HG--
rename : swig/t.py => swig/test/python/num.py
2010-01-04 13:11:48 +01:00
pancake
eb0793c2b1 * Huge code cleanup and refactor for valaswig
- Some APIs has changed (r_hash)
  - Vapis have been reviewed
  - And more
2010-01-04 01:25:52 +01:00
pancake
692f5bbb54 * Fix segfault in quit command (thanks whats)
* Minor fix in r_bp vapi
2009-12-30 10:56:41 +01:00
pancake
82eb30ad04 * Huge code refactoring to adapt interfaces for valaswig
- hg clone http://hg.youterm.com/valaswig
* typedef all structs as r_asm_item_t -> rAsmItem
  - Sync typedefs with classnames for vala and valaswig interfaces
  - Needs more work and testing
  - C code keeps fully compatible
* New script to build valaswig bindings (swig/libr-swig.sh)
  - Needs integration with 'make test'
  - This will help to create a decent unit testing framework
    to find bugs in bindings and enhace the design of APIs
    from a centralized way keeping compatibility for all the
    languages supported by swig (c#, python, java, ruby, perl, ..)
* Fix vala test programs build
2009-12-24 03:17:53 +01:00
pancake
78dbab76d6 * Added basic working example in swig-python for r_util
* Add _write and _puts methods for r_socket api
  - fgets -> gets
  - fix r_socket_printf
* More random fixes
* typedef all structures in r_util
2009-12-22 13:27:43 +01:00
pancake
3e16537306 * Make r_socket VAPI Object-Oriented
- Update socket vala example
  - Build it with --profile=posix (needs vala-head)
2009-10-12 22:30:27 +02:00
pancake
deb263a5fb * Apply whats's patch fixing r_search for stripstr
- 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
2009-10-12 17:41:52 +02:00
pancake
648189f21f * Drop PFX in debug plugin names
* 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
2009-09-24 19:46:32 +02:00
pancake
9442317413 * Major refactoring patch
- 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
2009-09-24 12:29:05 +02:00
pancake/fluendo
dd2501b188 * Fixed ralist and rarray interfaces and macros
- No clean free or checks done yet, but they are
    now both working
* Use classes with no ref/unref to make vala code nicer
* Fix build of some test programs (fixed -L)
* Remove dummy Foo from r_util (moved to t/list.vapi)
2009-09-22 19:23:49 +02:00
pancake
fe38663f0b * Added 'reg' into the default module list
- Fixed a syntax error in r_reg
* Fixes build
2009-09-22 15:02:50 +02:00
pancake
35c078584c * Fix build of r_debug
* 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
2009-09-22 13:27:33 +02:00