Commit graph

4964 commits

Author SHA1 Message Date
Nibble
f0e1c8ef78 * rabin2
- Flag imports and symbols as fcn. under the namespace 'functions'
* r_core_anal
  - Flag analyzed function
  - Implement agf
  - Minor fixup (check if r_io_read_at returns blocksize)
* r_util
  - Fix r_str_word_getfirst
2010-03-03 14:35:18 +01:00
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
Nibble
92eb296f9f * More work on command 'af'
- now refs and xrefs are working
2010-03-03 12:35:23 +01:00
Nibble
f163a08aea * r_anal
- Add r_anal_fcn
* r_core
  - Implement 'af' subcommands
  - 'af @ [addr]' needs more work
2010-03-03 12:08:27 +01:00
pancake
010695c5b9 * Added 'dct' and 'dctl' commands for touchtrace
* Added r_file_basename helper
* Random syntax cleanups
2010-03-03 11:35:03 +01:00
Nibble
6ac646e0ae * Fix typo in the help message of cmd 'a' 2010-03-03 03:12:24 +01:00
Nibble
2c858d2b93 * r_core
- Reorganize help of cmd 'a'
  - Add commands:
    ab+ [addr] [size] [jump] [fail] ; Add basic block
    abl ; List basic blocks
    ab* ; Output radare commands
  - Minor fixups in ag (add r_cons_flush)
2010-03-03 03:03:01 +01:00
pancake
a74926c6d0 * Integrate backtrace into the debugging backend
* Add 'dcs' command to continue until syscall
  - Need syscall analysis
* Some tips for future enhacements in r_search
2010-03-02 11:18:49 +01:00
Nibble
1219a2ae40 * r_core_anal
- Avoid dupped graphviz code in partial graphs (ag [addr])
    (multiple arrows between nodes)
2010-03-02 01:04:17 +01:00
Nibble
f8055b5c6b * Merge 2010-03-02 00:31:30 +01:00
Nibble
ebb1b4d1da * r_core_anal
- Rename ac into ab
  - Add cmd ab- [addr] to remove bb data
  - Add cmd ag  [addr] to graph the specified bb and childs
2010-03-01 20:13:36 +01:00
Nibble
1038c46565 * r_core_anal
- Avoid bb overlapping
  - Code refactoring
* r_anal
  - Add r_anal_split and r_anal_overlap
2010-03-01 16:50:37 +01:00
pancake
8def2767f3 * Initial quick-and-dirty implementation of backtrace
- Using r_list and so on
* Add 'pm' print command using print_format()
* Change color of nops and end-of-block-split lines
* More random syntax fixes
2010-03-01 10:49:04 +01:00
Nibble
7f267f51ca * Fix build
- Remove references to r_bininfo from r_core.pc.acr
  - Remove r_bininfo.pc.acr
* r_core
  - Set 'asm.bytes = false' in graphs
2010-03-01 01:57:16 +01:00
pancake
2ce2f0ca5f * Properly manage Color_RESET from r_core
- Disassembly, flags, prompt are now colorized
  - Depending on type of opcode
* Added 'sr' command to seek to register
  - Simplify visual prompt to get 'pc' register
* More random code cleanup
2010-02-28 23:57:55 +01:00
pancake
9c0636e5ca * Fix return value of bin_meta_elf
* 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
2010-02-28 22:58:21 +01:00
Nibble
cbb5fe143b * r_anal
- Update build system
  - Fix analysis of bb longer than blocksize
  - Code cleanup
* build
  - Add anal plugins to plugins.def.cfg
2010-02-28 20:07:36 +01:00
pancake
8aae5e3d6c * Added patch from whats fixing the height in visual
- Handles WINCH signal in __UNIX__ to get size
  - Some code cleanup
2010-02-28 14:49:26 +01:00
Nibble
6f78ad9eca * Add var anal.depth
- Allows to define analysis depth. Default: 10
* Fix analysis algorithm
  - Split is working right, overlap is not yet considered
2010-02-27 19:12:06 +01:00
Nibble
6ff04b0869 * r_list
- Fix r_list_unlink
  - Add r_list_split and r_list_split_iter
* r_core_anal
  - Split basicblocks (only 1 entrypoint and 1 exitpoint)
* r_anal
  - Add field addr to RAnalysisAop
2010-02-27 15:56:07 +01:00
Nibble
ee4ef8fa91 * Fix BB analysis algorithm
* Add r_core_anal_graph function
  - Generates graphviz code from "ac" data
* Add command "ag" to r2 (Output graphviz code)
2010-02-27 11:56:41 +01:00
Nibble
a0c28f1394 * More work on r_anal
- Basic Block analysis is working
2010-02-26 21:00:03 +01:00
Nibble
54e804eec9 * Fix r2 build
- Add CFLAGS+=-DCORELIB in libr/cmd/Makefile
  - Add target all in r2rc/Makefile
* r_core
  - Add dummy command ac (stands for analyze code)
* r_anal
  - Reorganize code
  - Add function r_anal_bbs (not working yet)
2010-02-26 13:08:42 +01:00
pancake
f8fcba5d81 * Implement plugin support to r_cmd
- 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.
2010-02-26 00:37:49 +01:00
pancake
020686b86f * Implement r_str_argv()
- Use it from p/debug
  - Now is possible to debug programs with arguments
  - Added test program in util/t/argv
* Fix pd/pD
* Clean and fix the native debugger plugin
* More random code syntax cleanup
* Rename io plugin names without the deprecated 'io_' prefix
* Fix mk/stat-make.pl (missing ;)
2010-02-23 00:26:13 +01:00
Nibble
a536777d35 * Add support for ARM to r_bin_mach0
* Update r_core using r_bin_meta_*
2010-02-22 20:10:52 +01:00
pancake/imac
0efc6402ec * Fix disassembler (was depending on unitialized variable)
* Lock r_config instance
  - Add cmd.* eval vars
2010-02-22 04:25:35 +01:00
pancake/imac
edb48945b7 * Added DEFAULT_ARCH for mips and powerpc
* Refactoring in r_anal API for _aop() with addr and length
  - Added ppc code analysis plugin
  - sync in r_core
* cfg.ffio->io.ffio
* Add CMD type in r_lib
* Added SR register type
* More stuff is now working in osx-ppc debugger
* Random code cleanup
2010-02-22 04:02:13 +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
pancake
14f9fe8b65 * Autodetection of --with-ostype in configure.acr
- Rebuild configure script in ACR 0.8.1
* Random minor changes
2010-02-21 20:24:28 +01:00
pancake/imac
9890c6e8b0 * Fix build in OSX
- env.sh now also uses DYLD_LIBRARY_PATH
  - Fixes in ollyasm/dis to link with no global variables
    - Remove double definition of global _state
    - Same for asm_java
  - Split -shared and -Wl,-R into LDFLAGS_{LIB|LINKPATH}
    - Fixes linkage in osx
  - anal_x86_bea plugin now links correctly against BeaEgine.o
  - dietline is now #include'd from line.c
  - no debugger support yet
  - Do not externalize any variable. Some linkage does not support it
* Remove bininfo dependency .. aims to be merged into bin soon
* Added r_str_case() method to change to lower/upper case a string
2010-02-21 20:21:36 +01:00
Nibble
8d4172972d * r_bin
- Add field bits to RBinInfo
  - Make r_bin_*_get_arch compatible with r_asm
* rabin2
  - List sections before anything else
  - Add "e asm.bits x" to "rabin2 -ir" output
* r_flags
  - Remove r_flag_set_base
* r_io, r_core
  - Now r_io handles all the va related stuff
  - Execute rabin2 with the flag -v if io.va = true
2010-02-21 11:35:49 +01:00
Nibble
2f8f9efcee * Set cfg.va = false by default
* Fix disassembly of unknown opcodes
2010-02-18 19:43:23 +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
09ad7c5b0f * Do not use 'extern' variables outside modules
- Fixes build in OpenSolaris
* Fix build of some io plugins
2010-02-18 16:36:55 +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
pancake
e110ce46da * Oops. reapply revision 383 2010-02-12 03:17:32 +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/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
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
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
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
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
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
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
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
eb99dd1203 * Many more fixes for the mingw32 port 2010-01-15 13:02:54 +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
253892950d * Fix signature of r_cons_user_fgets
- ^D is now working in radare2 core_prompt ()
  - echo x | radare2 /bin/ls # is still broken
* Random code cleanup, rapification
2010-01-09 02:05:04 +01:00
Nibble
b1b7a981c4 * Minor fixups in rasm
* Update r_core to use r_asm_massemble
2010-01-08 21:23:54 +01:00
Nibble
1788030aa1 * Add missing include in core/cmd.c 2010-01-07 23:05:45 +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
ab190b6430 * Apply whats patch refactoring r_core_cmd and _subst
- Enables oneliners to run like
    > px 10 ; px | grep 7f; px > /tmp/a;
2009-12-31 01:27:03 +01:00
pancake
6c8c09b97a * Handle arrow keys in visual (thx whats) 2009-12-31 01:20:08 +01:00
pancake
f2305ffe22 * Fix syntax issue related to the last patch
- never define variables in the middle of a function
2009-12-30 11:05:11 +01:00
pancake
d8b5a660df * Apply patch from whats implementing '.!'
- Change spaces to tabs
  - Initial implementation of r_sys_cmd_str_full
    - support stderr slurping
2009-12-30 11:03:18 +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/fluendo
1ac990a330 * Fix build 2009-11-23 17:49:40 +01:00
pancake
8579a5b41f * Release version to 0.3
- Propagate @VERSION@ from ACR
  - All *2 apps are now supporting a -V flag to show the version
* Fix .dr* command in r_core debugger
  - dr now supports [regtype] [bitsize] arguments
  - Check dr? for help
* Added some 8, 16 bit registers to the dbg.ptrace backend
  - Just for testing :)
* Check build of the whole source tree
  - test programs are now in ${prefix}/bin/libr-test
* Fix lot of warnings and bugs
* Simplify some code
* Some rapification
* Fix segfault in r_reg related to unallocated arenas
  - New function r_reg_type_by_name() resolves string->id
* Fix help of rax2
2009-09-25 04:04:51 +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
42688da6ec * Rename some handle_set into _use() new syntax
* Make radare2 debugger interact with r_reg
  - Register profile is now provided by the r_debug plugin
  - |reg and dr works fine now
  - Fix reg_sync and reg_read for dbg_ptrace
* Clean some warnings
* Fix build
2009-09-20 02:16:14 +02:00
pancake
cfbb6574f7 * Initial implementation of the r_lang VAPI
- 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
2009-09-20 01:03:57 +02:00
pancake
a371f53a0f * Fix build of r_debug/r_core (little api changes)
* Initial import of the new design or r_reg
  - Needs to be implemented at all, but the big
    picture is here :)
2009-09-18 20:11:42 +02:00
pancake
91ad40d663 * Major unfinished refactoring for r_debug and r_bp
- 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
2009-09-14 00:37:28 +02:00
pancake
669ce0a815 * Initial r_io_bind'ization of r_bin .. not yet working
- Meld bind.c into io.c
* Some review in many r_debug code
* Added vapi for r_debug
2009-09-10 20:51:34 +00:00
pancake
f1c9c1e778 * Some malloc checks in _new() class constructors
- Fix warnings in many places
* R_APIfication of r_anal
  - Fix probable segfault in x86_bea
* Use macros to define plugin names
* Fix build of radare2, rasign2 and debug/t/main
* Call sundo_push() when io_seek
* Added toggles for seek and write undo levels

--HG--
rename : libr/sign/t/rasign.c => libr/sign/t/rasign2.c
2009-09-09 00:35:00 +00:00
pancake
e5c83d6d26 * Do not pass CFLAGS when linking asm/t/fastcall
* Populate r_io_lseek -> r_io_seek refactoring
* R_APIfy a bit the r_hash
* Also build hash/t/hello program
* Fix some warnings and build blockers
* Make rahash2 read from files (using slurp)
* Added r_buf API in r_util (interacts with r_io)
* Add initial template for r_io_bind
  - Needs some more work
2009-09-08 01:08:46 +00:00
pancake
2ca850007f * Major refactoring of r_io (api has changed)
- filedescriptor is only defined by r_io_set()
  - the rest of functions just take one argument less
  - there are not enought filedescriptor changes to force fd resolution all the time
* Fix memory leak in r_io_open
  - Better error management
  - Fix Makefile warnings in libr/io/p
* Added read_at and write_at helper functions
* Random indentation fixups
* Added shm.mk and malloc.mk
* More useless work for r_iter
2009-09-02 00:10:51 +00:00
pancake
624f5c68ea * Return "" instead of NULL when possible in core input
- myfgets returns length(str)+1
  - r_line fix for empty lines interpreted as EOF
* RAPIfication in io.c
* Fix the way to build the tests programs in io/t/{cat|read4}
2009-08-22 05:29:58 +00:00
pancake
1ee0247b94 * Fix build of core
* Fix non-static plugins build in r_debug and r_io
* Fix debug_ptrace - working with example but not in r2
* debug/t/main.c is now working correctly
* Massive R_APIfication in r_io and r_util
* Added r_io_read_i to read from memory as a ut64 in any endian
  - read4.c example uses this new function
* Fix build of r_io static plugins
* Some more checks at random places in r_io (more stable)
  - r_io_set_fd() simplifies fd and plugin setup
* Added |pid command for ptrace io plugin
* Added io->printf to avoid use of forced 'printf'
* Add more lib_types names. fixes probable segfault
* Added hg-ci hg-utils makefile target
2009-08-22 04:54:41 +00:00
pancake
a1f45dbf8a * Add support for static plugins to r_debug
- r_debug_ptrace is now static by default
* Some code cleanup and warnings removal
* Added hg-utils.mk and MKPLUGINS directive in user-config
* Initial implementation of dbg_gdb r_debug plugin
  - Import ERESI's libgdbwrap from r1
* Add some missing files (asm/p/fastcall_mips.h, core/t/ragrep2.c)
* Added r_str_bool helper to get "true"/"false" from int
2009-08-22 01:54:24 +00:00
pancake/fluendo
57415c2107 * Some code cleanup and add some more checks on r_bin (-15LOC)
* Added new type R_TRUFAE
2009-07-16 14:17:32 +02:00
Nibble
8c62412de6 * More type renaming
- s/s64/st64/
2009-07-08 13:56:04 +02:00
Nibble
94445e1540 * Change the name of some types
- s/u64/ut64/
  - s/u32/ut32/
  - s/u16/ut16/
  - s/u8/ut8/
2009-07-08 13:49:55 +02:00
pancake
0509263cbd * Initial import of r_db 2009-06-15 02:44:05 +00:00
pancake
5208ebe90e * Minor syntax changes
* USE_BTREE is now optional in r_flags
  - better test case (but im still unable to reproduce the bug)
* Fix build (r_anal.h)
2009-05-28 10:57:30 +00:00
Nibble
e37ca5367e * r_asm
- Added pseudo-instruction .org
  - .asciz renamed to .string
* r_core
  - Fixed r_bin format detection at opening
2009-04-22 00:42:18 +02:00
Nibble
4e17e06687 * Fix build O:) 2009-04-19 23:43:43 +02:00
pancake
8ca9f366d0 * Added --without-debugger configure flag to disable the build of
io/p/ptrace and debug/p/dbg_ptrace plugins
* Added a global include/r_userconf.h generated by ./configure
  to use options defined at cpp level
2009-04-19 20:55:25 +00:00
pancake
f9d51c3c9f * Do not force 's eip' in so many places
- '.' key makes
* Use workaround in r_flag_get_i() using the slow foreach loop
  - we need to fix the btree algo
2009-04-18 21:49:17 +00:00
pancake
ff8a7ecd58 * cleanup the TODO file
* 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)
2009-04-17 11:42:45 +00:00
pancake
eb4b4b6f29 * Fix bugs in regset debug module
- Make radare2 core use the new register api
  - Needs more work, but it is at least usable :)
2009-04-16 23:42:31 +00:00
pancake
7c27588c13 * Sync x86 code analysis fixups from r1
* Fix some segfaults on the not-yet-used dbg.reg api
* Now uses .radare2rc
* Some R_APIzation in r_debug
2009-04-16 20:49:18 +00:00
pancake/fluendo
29ed9ca8d3 * Added 'yt' command (yank to)
* 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
2009-04-15 20:24:19 +02:00
pancake/fluendo
123e84b4ba * Fix breakpoint management issues in r_bp
- 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
2009-04-15 12:01:12 +02:00
pancake
ad6644ecd9 * Added fixture for rules.mk library build
* 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
2009-04-15 00:29:01 +00:00
pancake
36771ea713 * rasm2 -h does not list plugins (use -L)
* 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
2009-04-12 23:10:22 +00:00
pancake
c6aa69fef1 * Initial pseudo-working implementation of the r_bp library
- 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
2009-04-12 22:46:44 +00:00
pancake
cdd80105cb * Initial dummy implementation of r_bp
- 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
2009-04-11 21:22:20 +00:00
Nibble
38b47d2481 * r_bin_elf
- Fixed error opening "sstripped" elfs
* r_asm
  - Added r_asm_massemble
    Assemble several instructions separated by ';'
* rasm2
  - Updated assembly using r_asm_massemble
* core
  - Updated 'wa' cmd using r_asm_massemble
2009-04-09 01:03:49 +02:00
pancake
c5303272d9 * Make r_cons independent from r_line
- 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()
2009-04-07 11:28:22 +00:00
pancake
c264147138 * R_APIize r_asm and r_var
* 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 *)
2009-04-07 00:26:41 +00:00
pancake
4494eac83f * Check for libtcc in acr to build or not r_lang_plugin_tcc
* 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)
2009-04-06 22:53:25 +00:00
Nibble
fd06adb922 * More r_anal_reflines fixups 2009-04-06 17:11:37 +02:00
pancake
d1d122d5d9 * Merge heads 2009-04-04 19:39:29 +00:00
pancake
8cb24fdc91 * Initial import of the binary tree search algorithm
- 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
2009-04-04 19:38:59 +00:00
pancake
1129f1a2fc * Remove documentation in the uninstall target
* 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
2009-04-03 11:11:17 +00:00
Nibble
f3d8941cd1 * r_anal
- Dropped param addr in r_anal_reflines_str
    Use r_anal_set_pc instead
  - Fixed asm.reflinesout behavior
* Fixed r_line build
* Fixed 'make install'
2009-04-03 13:01:58 +02:00
Nibble
dd01067f14 * Fixed bug in cmd.c O:-) 2009-04-02 15:15:16 +02:00
Nibble
d12e2bd16a * Removed expand option from reflines
* Added function spacer
* Fixed fortunes bug
* Fixed history bug
* Fixed r_line_hist_add
* Fixed eval list bug
2009-04-02 15:07:26 +02:00
Nibble
bacc40a6cd * Fixed r_anal reflines
* Added config vars for configuring it
2009-04-02 11:36:34 +02:00
pancake
3b95d5c605 * Another 700-LOC train-based commit
* 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
2009-04-02 10:23:32 +00:00
pancake
7a0860ec1e * Import Ve command (visual configuration, 'e') 2009-04-02 01:23:45 +00:00
Nibble
a09f365de5 * reflines partial fix 2009-04-02 01:09:38 +02:00
pancake
f14d72c7d1 * Implement r_core_visual_trackflags
- 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
2009-04-02 00:44:24 +00:00
Nibble
6791ef0f6b * More work on r_anal_reflines
* Fixed r_bininfo build
2009-04-02 00:41:10 +02:00
pancake
0b7ed2a6f0 * Fix segfault when using '&&'. Lost allocated pointer
* 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?)
2009-04-02 00:07:58 +00:00
pancake
70186e1120 * More R_API-zation
* 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
2009-04-01 22:44:43 +00:00
pancake
936db0db87 * Fix LIBDIR path issue for r_bin
- 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)
2009-04-01 10:41:42 +00:00
pancake
4c8f851485 * Applied minimalistic version of the Graz's patch adding history load/save
functionalities to radare2 command
* Set 'asm_x86' disassembler after loading the plugins
* Remove 'No file specified' message
2009-04-01 00:51:02 +00:00
Nibble
103d23cd48 * r_anal
- Added reflines support
  - Fixed anal_x86 code
  - Refactoring (removed r_asm dependency)
2009-04-01 00:32:26 +02:00
pancake
d41e40ba05 * Huge build system refactoring
- 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
2009-04-01 00:28:13 +00:00
pancake
9b947d793c * set STATIC DEBUG to 0
* 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
2009-03-31 10:55:26 +00:00
pancake
abec5b5457 * Oops in getopt 2009-03-31 00:50:36 +00:00
pancake
e76216e92a * Fix 'install' target (missing double '$')
* 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_
2009-03-31 00:50:02 +00:00
pancake
0caaaaf82b * Add 'tcc' lang plugin
* Implement lua lang plugin
* Rename 'CD' command to 'CL' (code lines takes more sense)
2009-03-27 09:47:19 +00:00
pancake
12af51655b * Fix installation of documentation
* Fix popen() fread-related bug in addr2line plugin for bininfo
* Add 'fo' command.
  - Installs the 'fortunes' file
* Add 'CD' command (show debug information of file using bininfo)
* Add scr.seek and cfg.fortunes config keys
  - scr.seek works in visual mode (cleanup debug visual mode)
  - cfg.fortunes runs 'fo' command at startup
2009-03-27 00:16:27 +00:00
pancake
a14d5f1656 * Tricky implementation of 'dm' command
* Fix 'dp' command
* Use execvp to run the program
  - Some changes in the parser for argv and so
2009-03-22 02:36:00 +00:00
pancake
448d76a5e7 * Fix lot of bugs with cons+grep for @@=`` or stuff like that
* 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
2009-03-21 22:59:35 +00:00
pancake
692cefa68b * Minor fixups 2009-03-21 02:17:43 +00:00
pancake
c673ede6b7 * Bug identified in cons with r_core_cmd_str identified
- 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
2009-03-20 21:05:12 +00:00
pancake
996f5ba9c4 * Run callback when defining keys in config
- 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
2009-03-17 22:06:50 +00:00
pancake
1d90ad7143 * Add constructor/destructor for r_anal and r_sign
- 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
2009-03-14 11:39:37 +00:00
pancake/fluendo
9526a34445 * Add ?z and ?t commands in r2
- ?z stands for strlen (zero length is true)
  - ?t stands for 'time profiling' for commands
    > ?t.(run-profiled-macro)
    > ?tpd 20
    > ?t33x 128
    ...
* Add r_prof stuff inside r_util
* Fix hexdump when color is disabled
2009-03-13 12:28:36 +01:00
pancake
d1c0b4620d * Initial implementation of 'sa' command
- 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
2009-03-12 22:19:58 +00:00
pancake
7d019caae3 * Remove '<' and '>' commands.
Just will use 'sa' in the future..must think, but atm keep it clean
2009-03-12 12:34:57 +00:00
pancake
9ca8e5b665 * Added '>' and '<' keys in visual
- 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
2009-03-12 12:30:32 +00:00
pancake
cfc2882d14 * Fix scrolling in visual (drop s eip in cmd.vprompt)
* Add cmd.visual that runs when entering in visual mode
2009-03-12 02:03:18 +00:00
pancake
d292b4fb6d * Fix api for config_set_cb
- 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:)
2009-03-12 01:42:35 +00:00
pancake
dab6dacf50 * Refactoring of the r_print module
- State-aware now
  - Sync examples and r_core
2009-03-11 11:42:11 +00:00
pancake
597312f494 * Fix generation and installation of the libr.pc pkg-config file
* 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
2009-03-09 13:08:53 +00:00
pancake
4ba2e545ae * Fix warn in javasm.c
* Fix asm_x86 makefile rule dup
* Fix build of x86_bea plugin
* Add asm.offset and asm.bytes in r_core
2009-03-09 02:03:32 +00:00
Nibble
9ecc5775a7 * r_bin
- r_bin_init splitted in r_bin_init and r_bin_set_file
* r_core
  - Fixed radare2
* r_parse
  - Fixed parse_mreplace build
* r_lib
  - Lazy dlopen by default
2009-03-08 18:29:21 +01:00
pancake
03a613e7d2 * Fix lot of warning messages 2009-03-06 00:00:41 +00:00
Nibble
ea44bb103a * r_anal
- Added initial anal_x86_bea plugin (op analysis using bea engine)
    'ao' command in radare2
  - Minor fixups
* r_asm
  - Modified r_asm_aop_t to fit r_anal requirements
  - Updated r_asm plugins
* r_parse
  - Removed several warnings from mreplace
  - Removed unnecessary includes
2009-02-26 15:15:19 +01:00
Nibble
801ed768fc * Added r_parse lib
* Added pseudo syntax poc to radare2 (asm.pseudo)

--HG--
rename : libr/parse/pseudo.c => libr/parse/p/parse_x86_pseudo.c
2009-02-24 15:58:21 +01:00
pancake
20e4696d50 * Added doc/changes-from-1.x
* Added r_core_yank* methods and 'y' command
  - Update help message
* radare2 is now handling -s and -b cmdline flags
* Fix r_print_hexdump
2009-02-18 13:10:59 +01:00
Nibble
23afb7eeb3 * r_asm
- Used plugin infrastructure
  - Huge refactoring
  - Added x86 plugin

--HG--
rename : libr/asm/arch/x86/asm.c => libr/asm/p/asm_x86.c
2009-02-18 01:49:26 +01:00
pancake
b20295c4ea * Initial working implementation of the debugger mode
- 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
2009-02-18 01:43:57 +01:00
pancake
0503639432 * Add initial 'fs' command to handle flag spaces
- Added the necessary stuff in r_flags
  - Flag size is now 64 bit size
* Some random and useless fixups for r_var
2009-02-17 10:59:26 +01:00
pancake
4fcf226269 * Lot of random work on multiple fronts
* 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
2009-02-17 00:09:40 +01:00
pancake/fluendo
1fd5c3118e * Fix build and some minor fixups 2009-02-16 19:59:54 +01:00
pancake
ac10ad7df1 * Added dummy xrefs
* 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
2009-02-16 11:24:45 +01:00
Nibble
d3643d52a6 * Minor fixups in r_anal 2009-02-16 03:13:51 +01:00
Nibble
f2a93116c9 * r_anal
- Redefined r_anal_aop
  - Fixed x86 plugin
* r_core
  - Added ao command (test)
* Fixed r_search Makefile
2009-02-16 02:12:02 +01:00
Nibble
26b5e48ede * r_anal
- Initial (non working) implementation
  - Added dummy and x86 plugins
* r_core
  - Added 'anal' command
* r_asm
  - Removed aop parser
2009-02-16 00:57:03 +01:00
pancake/fluendo
49b637328f * Added python language binding for libr-radare2
- 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
2009-02-11 13:31:26 +01:00
pancake
906cc45eda * Initial import of the ruby plugin for r_lang
- Imported mkruby and chkruby from r1
  - Some minor changes in r_lang for it
2009-02-11 15:04:30 -08:00
pancake
008112edba * Initial integrated implementation of r_lang in r_core
- Added two dummy plugins for r_lang (dummy and lua)
  - Accessible thru the '#!' command.
2009-02-10 15:56:20 -08:00
pancake
e8b70a1a0b * More work on visual core
- 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
2009-02-09 12:42:54 +01:00
pancake
9bd9cbe135 * Fix LIBR_PLUGINS in env.sh
* 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
2009-02-09 01:54:09 +01:00
Nibble
710adba920 * More Makefile refactoring and cleanup
* Minor cleanups in r_asm.h
* First work in r_anal
2009-02-06 18:22:27 +01:00
pancake
fcb58f1ff7 * Lot of makefile refactoring and cleanup
- Make use of some gnu extensions to make it cleaner
  - Fixes (mostly) build system
2009-02-06 13:17:51 +01:00
pancake
05b40f0e75 * Fix build issues - fix build order
* Plugin directory renamed to 'p'
* Add env.sh to enter into a "radare2 development shell"

--HG--
rename : libr/io/plugins/Makefile => libr/io/p/Makefile
rename : libr/io/plugins/README => libr/io/p/README
rename : libr/io/plugins/dbg.c => libr/io/p/dbg.c
rename : libr/io/plugins/malloc.c => libr/io/p/malloc.c
rename : libr/io/plugins/ptrace.c => libr/io/p/ptrace.c
2009-02-05 22:28:33 +01:00
pancake
c5e588e6e5 * Initial import of libr
- 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
2009-02-05 22:08:46 +01:00