Commit Graph

421 Commits

Author SHA1 Message Date
pancake
c86e1c430f Lot of bugfixes for io and test suite
Anonymous macros are working again
Broken analysis functions are added too
Do not pipe to stderr
Fix parsing of comments and quoted commands
Fix oneliners
Add 'pz' (print ascii until zero) command
Show hits counter with searchhits
Fix IO when no maps and sections used
2012-08-13 13:16:06 +02:00
pancake
86c4f031d8 Implement visual diff and fix many bugs in r_io
Added 'cc' command to compare bytes with column hexdiff
Added r_print_hexdiff() public api
Added diff.from and diff.to eval configuration variables
Visual 'D' used to setup the visual diff offsets
Press 'c' to enable cursor in visual diff
Press '<tab>' to cycle between diff.from and diff.to
Use RCore's RNum from RConfig
Fix bug in r_core_read when io.va and sections used
Fix bugs in r_io_maps and io.va
Multiple files can now be opened and compared with mapping
2012-08-13 04:33:01 +02:00
pancake
1586c29785 Fix race conditions in makefiles and clean TODO 2012-08-10 15:59:37 +02:00
pancake
28428438f6 Lot of build fixes for --as-needed and mingw32
Fix z80 assembler
Add r_sys_truncate() for portability
Fail build if tests compilation is wrong
2012-08-10 11:35:38 +02:00
pancake
44ee3ce8d2 Initial working (again) version of gdb:// 2012-08-08 17:43:51 +02:00
pancake
a2ebdcb650 Fix memleaks, nullref and undef (clang-analyzer)
Fix multiple inclusions of mk files
2012-08-08 17:19:48 +02:00
pancake
41a230ddf7 Add p=?, rax2 suports negative values and more
- Support negative integer values in rax2
  - Fix column selection draw in r_print_hexdump
  - Implement p=p and p=e commants
  - Disallow visual insert if file is readonly
  - Similar to pZ, but
  - Honor -w flag to create file if possible
  - Use new r_io_create() api
  - Add scr.sparse to show hexdump in sparse mode
2012-07-06 02:17:44 +02:00
pancake
bc572ce3df * QNX/arm port (this is bb10 and playbook devices)
- no debugger support yet
2012-06-01 14:50:24 +02:00
pancake
637e8c92e5 * Fix MZ check() (fixes PE64+ id in r_bin)
* Add io->bits into RIO class
* OSX r_io debug now honors io->bits
  $ r2 -b 32 ls  # debug 32bit ls
  $ r2 -b 64 ls  # debug 64bit ls
2012-05-30 01:35:41 +02:00
pancake
057f1b8353 * Fix android farm build on osx 2012-03-31 03:54:44 +02:00
pancake
05a0196690 * Fix osx-x86-32 debug register profile
* Some struct->typedef renaming
2012-03-07 10:43:02 +01:00
pancake
34d41b897f * Fix lot of regressions in command parsing
* Fix nested command repeaters
* Add hardcoded limit for BB analysis (fix infinite analysis bug)
  - RAnal.Fcn now has a .depth field
* Fix some r_cons usage related issues in rcore
* Add 'pif' command. as in 'pdf' one resizes the blocksize
* Fix '#' command/comment again
* Fix r_io_read issue that was causing everything to go wrong
2012-02-27 02:02:44 +01:00
pancake
beac4bbc24 * More fixes in the code analysis loops
* Properly detect end of functions in visual
* Apply rudi_s patches for cache
* Show push flag information if available as a comment
* Clear screen after quiting Visual
* Remove unused function
2012-02-16 01:26:50 +01:00
pancake
5fc05667d6 * Apply rudi_s patches
- libr/core/cmd.c: # ignores the complete line.
  - libr/io/undo.c: Improve seek undo/redo.
2012-02-15 11:13:05 +01:00
pancake
d2b6828bab * Fix some warnings reported by the farm
* Do not prompt or clear screen when using V in batch mode
* Optimization in r_config_get_i
* Show expression in r_num_calc errors
* Fix parsing of $$+2 in r_num_calc
2012-02-15 00:17:31 +01:00
pancake
4efc2bfab7 * rudi_s: Add r_list_foreach_safe() which is safe when deleting elements 2012-02-14 18:10:52 +01:00
pancake
65d1dddfd1 * apply rudi_s patch fixing multiple bugs
- Fix uninitialized variables and other GCC warnings
  - Remove unused variables, fix invalid heap ops
  - ?p print error if VA is not
  - Fix invalid write in r_io_cache_read().
* add support for 'mov reg, [addr]' in x86.nz[32]
2012-02-12 23:45:04 +01:00
pancake
1947f0dece * Fix o- segfault
- Problem in r_io_desc_free called twice
* Compact ??? help
* Random indentation fixes
* Added support for binmask searches
  - /x 123456 ffc0e3
* Added BLOCK and BYTES in r_core_sysenv_begin()
* Hacky fix for autoblocksize with pw
2012-02-09 01:38:16 +01:00
pancake
fd6388de60 * Show error if no hud file found
* Fix 'o file 0xaddr' parsing issue
* 'om' now works without size (file size)
  - fixed help message
* Use xor'd byte in r_io_desc_new ();
2012-02-08 00:45:06 +01:00
pancake
227c985a08 * Added 'om' command to create, destroy and list IO maps
* Upgrade configure script to acr 0.8.8
  - Use proper --libdir LDFLAGS for OSX
  - Honor CPPFLAGS
* Fix help msg of 'yt' command
* Use RList in r_io (rudi_s)
* Fix HOME/END keys in xrvt-unicode
* Add dummy install-cxx target in r2-bindings
2012-02-07 01:51:56 +01:00
pancake
d2ac74699b * Honor r_io_map in r_io_read()
* Rename r2 -H as -hh
* Add r2 -m to specify the load map address
* r2 - is an alias for r2 malloc://512
* Add rxvt-unicode ansi keycodes for HOME/END (must test)
2012-02-07 00:44:46 +01:00
pancake
990d616e13 * Add 16 segment addressing mode
- e asm.offseg=true  : show in disasm
  - ? f000:1345        : calculate value
  - s c000:1400        : seek to segment:address
  - also supports 0xf000:0x123
  - segment is 32 bit instead of 16 #fun
* Add rudi_s patch to pass write_cache test
* Fix crash in r_io_free
* Move r_core_yank_to into yank.c
2012-02-05 01:14:09 +01:00
pancake
f6e36687ed ** Apply Simon Ruderich patch with few modifications
* libr/bin/bin.c: Temporary solution to fix malloc://
* libr/bin/t/test_create.c: Add missing return
* libr/bin/t/test_create.c: Fix gcc warning
* libr/core/cmd.c: Fix read from uninitialized memory
* libr/io/io.c: Fix uninitialized variable
* libr/print/print.c: Prevent invalid read
* libr/util/buf.c: Don't return free()d memory in r_buf_mmap()
2012-02-04 23:25:10 +01:00
pancake
62219c8dda ** Apply patch from Simon Ruderich (thanks!)
* Remove some unused variables.
* libr/core/disasm.c: Fix minor memory leak.
* libr/util/str.c: Cleanup r_str_home() and fix potential crash.
* libr/line/dietline.c: Cleanup r_line_hist_load, fix memory leak.
* libr/core/cmd.c: Fix read from uninitialized memory.
* libr/util/str.c: Add comment why r_str_cpy() was added.
* libr/io/p/io_malloc.c: Prevent read from invalid memory.
* Split -n into -n (no user settings) and -N (no analysis).
2012-02-03 20:52:20 +01:00
pancake
f03e8674db * Fix -n help message as reported by rudi_s
* Oops fix build again
2012-02-03 16:23:14 +01:00
pancake
aeb29106d7 * Build the ewf plugin if requested
* Fix valgrind warning thanks to Simon Ruderich
* Add mach0 ARM subtypes and fix parsing
2012-02-03 01:13:09 +01:00
pancake
0c5a3834f4 * Fix build
* Apply 7 patches from Simon Ruderich
  - Fixed some really tiny bugs. Cool!
2012-02-01 11:49:46 +01:00
pancake
370c4ceed5 * Some usability enhacements for the visual hud
* Do not load huge sections. crappy bins!
2012-01-31 03:34:23 +01:00
pancake
840550aa3a * Add asm.tabs for bearuty for free (enable by default?)
* Apply @l0gic patch for ELF parsing segfault
* Improve a lot the startup time by using r_file_mmap
* Fix build on osx
2012-01-26 03:18:45 +01:00
earada
ced7fca719 * Fix bugs reported by @vext01
- Fix io_malloc off by one
  - Fix ?v segfault in OpenBSD
* Now f and f+ commands use same parse code
2012-01-12 11:35:49 +01:00
pancake
997a6dbd14 * Apply patch from @w_levin fixing lot of memory leaks - Thanks! 2011-12-16 16:33:06 +01:00
earada
edaa98e192 * Use r_num_math in malloc io plugin
- Fix free when malloc fails
* Fix rasm manpage typo
2011-12-08 00:23:16 +01:00
pancake
f908b15fb5 * Fix android compilation
- Fix static build
  - Fix dupped symbols
* Fix all errors reported by clang-analyzer
  - Some null dereferences
  - Some uninitialized variable uses
* Fix all important warnings from the farm
  - Remove *all* uses of alloca
  - Fix many %llx format string portability issues
* Fix manpage typos reported by lintian (thanks sre)
2011-12-06 00:27:57 +01:00
pancake
a64b481125 * Fix and optimize w32 console
- Clear the whole screen, do not trash
  - Refactorize code from RCons into RConsW32
* Apply @earada's patch with minor fix for undo seek
* Ignore */+- in non-cursor visual and autoblock enabled
2011-12-05 15:21:13 +01:00
pancake
49b45b64ac * Fix undo and redo commands
* Fix some manpages typos reported by lintian
* Asm testcase now forces x86 arch and 32 bits
2011-12-05 08:27:16 +01:00
pancake
2646161b77 * Apply @earada's patch fixing undo/redo seek 2011-12-04 21:09:16 +01:00
pancake
bfb4a786d0 * S= now fits in 80 columns
* Do not show error when cannot get regs
* Fix w32 prompt issue in r_cons_clear_line()
2011-07-03 17:45:44 +02:00
pancake
048e9ea8ce * Fix some warnings related to alloca(), %llx and O_BINARY for w32
* sync sdb
* Add some more eval var descriptions
2011-11-29 12:28:02 +01:00
pancake
f1515c812b * Fix build 2011-11-29 09:46:41 +01:00
pancake
ee665da38e * Fix load of object elf files (kernel modules too)
- thanks Sebastian Reichel for reporting!
* Use O_BINARY in open() on windows
  - Will this fix the disassembler problems on w32?
2011-11-29 04:25:18 +01:00
pancake
2db05920e4 * Fix segfault in r_io when io->va = 0
* Fix overflow in r_cons
* Implement dtg with proper dot format output
* Use "f name 1 off" instead of "f name @ off" in dr*
2011-11-25 09:40:28 +01:00
pancake
7c2a6e63b4 * Initial implementation of r_debug_map_protect()
- Bind to dmp command
  - Only w32 + osx, needs more work
* Added new api r_graph
* Added dtc and dtg
* Some minor makeup in RList
2011-11-25 04:32:32 +01:00
pancake
d7f2c850be * Add initial native support for fat binaries in r2
- Select arch/bits with r2 -a and -b (old -b is now -B)
  - Kinda hacky, but works for osx-x86/32/64
  - Export offset information of fat bins
* Show flags in search output
* Disable interactive console in rabin2
* Do not comment int3 opcodes
2011-11-22 00:59:20 +01:00
pancake
31a11600c5 * Theorically fix the r_magic dirty sanchez bug
* Fix RIO seek undo with io.va
* Warn if file size != region size in dml
2011-11-16 10:06:34 +01:00
earada
242f9c56d8 * RIOUndo now uses r_list API
* List mount points in radare commands use new syntax
* asm.bits triggers syscall_setup
* Fix null pointer dereference in RCore.bin_load
2011-11-15 23:26:45 +01:00
pancake
7b093a3ed5 * Fix all dangerous bugs reported by llvm-analyzer 2011-11-14 22:46:23 +01:00
pancake
c16d61b370 * Add missing fs/types.h
* Fix many memory leaks in r_anal_{op,cond}
* Fix signature of r_fs_name()
2011-11-14 00:21:25 +01:00
pancake
75290251da * Add initial support for plan9 binaries
- supports x86, arm, ppc, sparc, mips
* Use r_cons in r_core_bin
* Fix link of rabin2
  - Use r_cons_flush()
  - Refix ehdr issue
* r_io_size() now ignores va
* Add R_SYS_BASE
* Move r_anal_get_fcn_get into fcn.c
* Some more fixes
2011-11-12 04:51:45 +01:00
pancake
95322945ab * Fix bug when redefining io sections
- Triggered by swapping io.va
  - Reported by @hteso
2011-11-03 23:34:18 +01:00
pancake
14f85bd76f * Import Glyn Kennington's patch for the build system
- Use absolute paths everywhere and simplify Makefiles
2011-11-03 11:49:50 +01:00
pancake
cb053b0cad * Add URL for agc graph
* Add r_line_get_prompt()
  - _set_prompt() uses strdup now
  - a bit slower but more consistent
* Use r_line from r_lang
  - Added history in #!<lang> prompt
  - Fix r_lang plugin init from r2-bindings-python-threads
  - Better help message in lang ? prompt
* Fix r_cons control+arrow issue
  - resets terminal as raw
  - History data is initialized if needed
* Fix sys/swig.sh for latest OSX-ports
* Add missing get_fcn_at() method in RAnal vapi
2011-11-01 04:37:13 +01:00
pancake
85f5829be6 * Make oxfoo1m3 crackme load correctly
- Do not find strings in binaries with no data sections
  - Add program header section underlaying the rest of sections
* Do not newline when gotoxy'ng
  - visual mode is now smarter
* New ? commands
  - ?p = show physical address
  - ?S = show section name for given address
* Initial refactoring in r_io to make section overlaps happy
  - Those changes are experimental and can lead to problems
  - Do not iterate prev
  - Do not sort by offset
2011-10-25 20:30:05 +02:00
pancake
ad7e542b38 * Add '?r' command to get ranged random numbers
* Fix help for 'w' command
* Fix some null dereferences in gdb debug plugin (thanks @iamnion)
* Apply zed's patch fixing 32bit ptrace on 64bit boxes
* Fix 0 mod issue in r_num_rand()
2011-10-25 18:58:12 +02:00
pancake
063ec43194 * Use memmove instead of strcpy in overlapped dietline buffers
* Simplify ln -fs in install .. trying to make debian and openbsd happy
* Fix an out-ot-range bug in ELF parser
* Fix segfault when trying to create sections with an empty name
* Install python bindings only in site-packages
* Grep for go in supported.langs
2011-10-24 17:16:54 +02:00
pancake
6a01556838 * Some fixes for the non-pic build 2011-10-20 02:31:49 +02:00
pancake
51d6e83c93 * Fix mingw32 build 2011-10-11 01:35:21 +02:00
pancake
42edc834d2 * Added maps for debug.bfdbg
- Implement dm* command
* Implement hex:// handler in io.malloc plugin
  - r2 hex://1020304090102030
2011-10-09 19:45:34 +02:00
pancake
13d24051b7 * Implemented assembler support for asm.bf plugin
* Added support for breakpoints in the brainfuck debugger
  - Fixed write delegate in io.bfdbg plugin
  - asm.bf is now compiled as static in core
2011-10-09 04:41:53 +02:00
pancake
a43068bde0 * brainfuck debugger is finally usable
- Added breakpoint and code analysis plugins for bf
  - *mem++ != mem[0]++
  - Full register get/set support
  - Support for step and continue-until-syscall
  - Work in progress breakpoint support
* Added bfvm_reset() hooked to plugin->kill
* Enhacements in r_core and r_debug for better debugger support
  - Added plugin->step_over delegate
2011-10-09 04:15:32 +02:00
pancake
c7cced5c67 * Use null fot unsupported plugins
* Fix startup segfault in r_reg doublefree
2011-10-08 23:39:06 +02:00
pancake
bb904490dc * r2 -D now accepts a dbg.backend (dh) argument
- Fix segfault when accessing null r.file->fd->data
* Initial first working steps of the brainfuck debugger
* Add missing io.w32 plugin (untested)
  - Plugins that doesn't work on current platform are not listed
2011-10-08 12:10:30 +02:00
pancake
9efe88a9ce * Fix offbyone in asm.brainbuck bug
* Fix some segfaults and issues in r_magic
* Use the libr/socket/http library
* Added r_io_http plugin
* Magic search is extremely slow
2011-10-07 01:16:45 +02:00
pancake
2a0b57d51d * Implement 'ax' command.
- Add r_anal_fcn_xref_{add|del} methods
* Some fixes for r_bin_dex file format
  - Properly name all fields and methods
  - Add entry support in java too
* Add default sections for dex and java class files
  - constant pool, code, data, extra
* Beautify 'S=' command
2011-09-28 02:48:03 +02:00
pancake
4e3358a522 * Fix farm 2011-09-26 02:10:25 +02:00
pancake
9884ce9db0 * Initial support for Android NDK build (fix build)
- Not yet runnable, but compiles against bionic
2011-09-25 06:57:13 +02:00
pancake
677a499440 * Add get_main() for mach0 (32,64)
* Proper use of arch/bits. debugger works fine now for osx-32/64
2011-09-22 09:52:00 +02:00
pancake
403aa4b36d * Fix ~40 off-by-one strncpy's 2011-09-18 20:41:36 +02:00
pancake
12816468f6 * Refactoring of the TODO tasks
* Add dummy 'dca' command. needs to be implemented
* Reload all symbol information when io.va changes
* Only print jumpkey references in visual mode
* Reduce the autoblocksize in visual for disassembly
2011-09-03 03:10:01 +02:00
pancake
12af78ccee * Fix build, reduce warnings and add some checks 2011-08-30 19:12:49 +02:00
earada
5264679543 * Allow system command over rap 2011-08-17 19:50:40 +02:00
earada
f950675a7b * Add SSL support to rap protocol (raps://) 2011-08-16 02:55:46 +02:00
earada
475a57aa48 * Add rap metainfo support
* Fix memleak at r_fs (Thanks @ajaragoneses)
* Add directory dump support at r_fs shell
2011-08-04 21:28:07 +02:00
pancake
627871eac2 * Fix build for GNU/kFreeBSD 2011-07-20 17:34:00 -04:00
earada
f7146bd0ef * Fix (Free|Net)BSD native debug and register definition
* Fix build on FreeBSD (Thanks capi_x)
2011-07-19 20:01:47 +02:00
pancake
0d4faf652e * Set library version number for plugins
- Registers for which version of core was compiled
* Use tar --format=posix when GNU tar
  - Fixes the dependency on BSD systems
* Fix in doc/fortunes
* Fix this class pointer in asm_java
* Re-Fix uglily the bin_elf strtab issue (needs more work)
* Fix Vala regression in r_asm.vapi
2011-07-19 00:12:36 +02:00
pancake
9be6f53757 * Bump release 0.8 - Codename thecakeisapie
* Fix uninitialized memory issue in r_block_resize()
  - Thanks vext01 for reporting
2011-07-15 18:13:00 +02:00
pancake
07b5b473c5 * Use OpenSSL (cflags/ldflags) from pkg-config 2011-07-13 19:22:38 +02:00
pancake
188560bf4b * Fix build and lot of warnings for w64 2011-07-13 18:55:16 +02:00
pancake
ca5e38d239 * Fix w32 and w64 build (r_fs/grub issue)
* Dont quit rax2 when reading from stdin until 'q' or ^D
* Minor fix in fortunes
2011-07-13 13:59:55 +02:00
pancake
7bcd23df0f * Fix static build (--without-pic --with-nonpic) 2011-07-13 10:14:30 +02:00
pancake
1e3739f902 * Fix build for ming-w64 2011-07-12 19:42:20 +02:00
pancake
edc7da8f7c * More strcpy/sprintf/strcat exterminations 2011-07-06 09:40:23 +02:00
pancake
510c08f4e4 * Do not use strcpy/strcat/sprintf
- There are still some 3rd party files that require update
  - Makes OpenBSD linking less verbose
2011-07-06 03:01:21 +02:00
pancake
ea98fe1bd6 * Various gcc-4.6 warnings fixed 2011-06-30 00:17:12 +02:00
pancake
aa236eb063 * Finally fix a segfault in the htflags implementation
- This was workarounded to work incorrectly
* Fix build on OSX of the dalvik plugin for r_asm
* Other minor random checks
2011-06-29 00:36:52 +02:00
pancake
b66a9cdd42 * Fix r_io_cache
- Added test/cachetest
2011-06-22 00:19:02 +02:00
pancake
f7f82ecbc0 * Implement support for handling av/repag and Function keys in r_cons
* Remove -u flag in r2 (was not implemented, but not needed)
* Added ?v command
* Check if file exists in rarun2
* Fix cmd.vprompt
* Some fixes in io.undo
  - Two test cases to check undo and redo ops
* Added 2 bugs in testsuite
2011-06-05 20:36:22 +02:00
pancake
535a2aa713 * r_asm_disassemble use _CONST_ut8* buffer now
* Split core/cmd.c into disasm.c and core/visual.c into vmenus.c
* Fix some warnings reported by valgrind
* Chop instructions disassembled by udis86
* Fix visual prompt display in debugger mode
* Added 'pdi' and 'pdf' commands
  - Used to print just instructions or lengths
  - Documented via 'pd?'
* Added initial work on a test suite for r2
  - Spot a crash!
2011-06-04 03:14:04 +02:00
pancake
ac0748de51 * Rewrite io_ptrace{read|write} to fix bugs on OpenBSD-amd64 debugger
- New code is shorter, more readable and bugs-free
* Added 'install' target for r2-bindings/gir
2011-05-26 20:55:11 +02:00
pancake
9c6d905c92 * Fix seek undo 2011-05-22 01:16:12 +02:00
pancake
98af858f6a * Fix some warnings and build on linux 2011-05-20 21:04:16 +02:00
Nibble
9c3dd26eb1 * Fix analysis in bins with sections with vaddr = 0 2011-05-13 12:24:17 +02:00
pancake
05f0e7e56b * Fix step in OSX debugger
* Avoid C99 stuff in anal_avr
* Escape string passed to "/ " search command
  - Fix return value of r_str_escape
  - Thanks Gerardo for noticing!
* Kill process before reopening in 'oo' command when cfg.debug=true
  - Fix segfault when RIOMach* is NULL after reopening
2011-05-12 20:28:44 +02:00
pancake
a96c41f8a8 * Fix ptrace read 2011-04-04 13:53:05 +02:00
pancake
bd017111d7 * Fix r2 -d gdb://
- compile debug_gdb plugin statically
  - fix filename construction path
  - /path after :port in gdb uri is now ignored
2011-05-06 17:14:31 +02:00
pancake
3f2677ab7f * Added initial untested support for native gdb debugger mode
- r2 -d gdb://<host>:<port>
  - register maps not yet implemented
  - some basic step/continue should work in cfg.debug=true
  - gdbwrap instance is shared between RIO and RDebug
* RDebug is now arch-sensitive
  - Plugins describe which architectures and register sizes are supported
  - Native debugger is restricted to local CPU
  - Remote debugger (GDB) arch can be specified with -e asm.arch=arm
* Fix some random warnings
* Move R_ASM_ARCH into R_SYS_ARCH
  - Helper functions to translate id to string and string to id
    are now in util/sys.c (r_util)
  - Move all R_SYS_* from r_util to r_types
    - Endianness, OS, CPU and regsize is now 'global'
2011-05-06 00:59:10 +02:00
earada
6eb3578025 * RSocket API refactor
* Fix RAnal vapi
2011-05-05 03:41:57 +02:00
pancake
64699f476b * Fix debugger on OSX x86-64
- dc  (works now)
  - dcu (continue until address) works
  - db  (breakpoints mostly works (sw only))
  - page permissions are not correctly restored yet
* Add new API to list threads from a process
2011-05-01 04:00:59 +02:00
pancake
020dd97a8b * Fix many segfaults discovered in OpenBSD
* Fix segfaults caused by read buffer overflow in x86im
  - use a 16 byte delta buffer in function and basic block analysis
* Fix r_list_delete segfault caused by an use-after-free bug
  - Thanks Edd Barrett for notifying :)
* Clean up many warnings reported by OpenBSD's gcc
* Reduce analysis depth to 50
* Fix OpenBSD syscall definitions and fix generator python script
2011-04-03 02:43:15 +02:00
earada
8d8faea38b * Use RList int io_sections
* Fix core_server return value
2011-04-19 14:43:48 +02:00
pancake
a16f3f27b4 * Implement S- command (remove sections)
- by index, offset or all (*)
* Fix block_read() issue with io.va
2011-04-19 00:59:16 +02:00
earada
450764d0c6 * Some fixes in the rap protocol 2011-04-17 20:58:32 +02:00
Eloi Sanfelix
128f6927a8 Removed eprintfs and warnings from io_gdb 2011-04-07 21:16:32 +02:00
Eloi Sanfelix
32e1b95440 * Generic gdb remote support
- Arbitrary number of registers
  - Arbitrary register size (1,2,4 or 8 bytes supported)
  - Added hw bp commands (not tested yet)
* Added system commands for io_gdb.c
  - Step, cont, regs (28 32bit regs now, platform-specific), bp (not always supported)
2011-04-07 20:49:05 +02:00
Eloi Sanfelix
1c29358245 Fixed io_write ignoring map select return value. 2011-04-07 09:35:03 +02:00
pancake
8b27aa6723 * Make io.gdb plugin work again
* Fix more unused var bugs
2011-04-06 12:26:19 +02:00
pancake
fd8545e76e * Fix some valgrind warnings 2011-04-06 11:35:18 +02:00
pancake
94e316b6fe * Do not build r_db
* Group bfd getl{16,32} helpers
  - fix build of sh-dis plugin
* Fix lot of warnings
* Port rap to use RSocket
2011-04-06 09:29:25 +02:00
pancake
075b495a5c * Implement basic register profile for OpenBSD
native debugger backend.
* Fix make symstall in BSD systems
  - PWD var looks like a linuxism
2011-04-02 20:03:00 +02:00
pancake
bbf8348e71 * Add another hack to fix build of debugger on BSD systems
- Not yet tested. Needs code cleanup too
2011-04-01 19:25:48 +02:00
pancake
bc18f03378 * Apply some patches reported by Edd in order to make OpenBSD build happy
- Not all patches applied, only the correct ones. needs some review
    in other BSD systems (NetBSD, FreeBSD, GNU/KFreeBSD, ...)
* Added R_BTW macro
2011-04-01 18:33:26 +02:00
earada
3f78d69a98 * Use getaddrinfo instead of gethostbyname (Thanks Adriana for the patch!)
* SSL Server Support:
- read and write can use SSL_bio functions
- Some random fixes
* Add serverssl test case
2011-03-27 17:44:27 +02:00
pancake
6485b55de4 * Honor console width in visual mode
- Fixes many glitches in disassembler and hex dumps
* Fix help for osx and w32 debugger IO plugins
2011-03-24 22:47:06 +01:00
pancake
a302d73eb4 * Clarify the DEBUGGER_SUPPORTED conditional in io/p_debug 2011-03-24 01:08:38 +01:00
earada
498e531479 * Initial import RSocket refactor
- Add SSL client support and testcase
* Update TODO
* Rename some r_hash structs to avoid openssl.h conflict
* io_rap plugin its broken now ... refactor time
2011-03-21 01:47:17 +01:00
pancake
d868fec5ba * Fix build of io_haret plugin
* Implement backtrace for OSX
* Fix build util/file.c for Solaris
  - Added doc/solaris
2011-03-13 21:00:46 +01:00
pancake
7df412ae25 * Fix build on W32
* Added --without-magic flag
2011-03-10 11:36:16 +01:00
Nibble
43b57a7102 * Fix io_ptrace write in 64bits
* Fix indentation of io_ptrace.c
2011-02-25 13:13:35 +01:00
pancake
4c66b9177a * Fix io-ptrace on 64bits
* ls command in ms shell now support path arguments
* cd now accepts .. as argument
* Fix access to subdirectories
* Fix nested mount directory resolution
* Added test scripts for r_fs
2011-02-25 03:17:20 +01:00
pancake
51bb76096f * Fix io->ptrace->write for !=4 lengths
* Add support for recursive and multiline magics
  - e magic.depth = 100
2011-02-25 00:23:58 +01:00
pancake
4fad96ecbb * Make r2-swig happy without valaswig
* Add r_io_raise() and use it in the 'o' command
  - Allow to raise the file handle priority
2011-02-16 09:29:09 +01:00
pancake
f950dcb33c * Add RIOMap in r_core_file_open
- RCore.file_open() now accepts one more arg for offset
  - Fix RIO api issues related to RIOMap and opening multiple files
  - Fix infinite loop and simplify design
  - Added test case to ensure it does not breaks
* Fix build of r_lang in OSX (thanks @capri_x)
* Remove debugging printfs
* io.ffio is now true by default
2011-02-12 01:52:41 +01:00
pancake
7bb5b2d46d * Many bugfixes in RIOMap handling and 'o' command
* Added util/bitmap (hashmap of bits)
2011-02-07 09:46:01 +01:00
pancake
ad027ba004 * Apply patchsets from Glyn Kennington (Thanks!)
- Added new method r_io_shift (start, end, move)
  - Added 'r' command (like in r1)
  - Fix parallel builds with -j>1
2011-02-05 12:51:37 +01:00
pancake
53587faf25 * Implement rap:// remote radare protocol support
- Fully compatible with radare1
  - Server  $ r2 rap://:9999
  - Client  $ r2 rap://127.0.0.1:9999//etc/fstab
* r_io has been refactorized to support client/server io plugins
  - Requires make clean
* Enhacements in Visual mode:
  - [] keys change scr.cols eval variable (hex columns)
  - Handle offscreen cursor and selection
  - Handle <0 seeking in visual mode
2011-02-05 00:20:28 +01:00
pancake
9c8aa28a9a * Some better help messages
* Added asm.lineswidth (fixed width for reflines)
* Added 'aoe' stub command
2011-02-03 09:31:50 +01:00
pancake
bc38178050 * Add support for multiline macro definitions 2011-01-27 09:31:52 +01:00
pancake
afb634f97d * Add support for ppc64 disassembler 2011-01-23 18:19:03 +01:00
pancake
3c2739a8c2 * Add ewf plugin using the new r_io plugin abi
* Fix io ptrace |pid and fix w32dbg for new r_io
2011-01-23 00:18:26 +01:00
pancake
f92ca2da8a * Fix r_io_redirect and debugger IO
- Get PID from inner struct instead of aliased by fd
2011-01-22 00:57:43 +01:00
pancake
61e3cd4e50 * Fix some warnings thanks to toys/makewarn :D 2011-01-21 15:05:55 +01:00
pancake
3ab9e61c22 * Do not show registers if sync fails
* More work on the io refactoring
2011-01-21 09:17:14 +01:00
pancake
bbda7ed61e * Much more fixes for the new r_io
- r_io_malloc plugin is now working
  - r_io_size now accepts only one argument
* Fix nullptr bug in r_fs
2011-01-21 00:21:32 +01:00
pancake
ed8d076cbe * Fix r2 -n, remove r2 -t
- Some more fixes related to r_io. still more stuff to do
2011-01-20 23:28:20 +01:00
pancake
39f77a430f * Huge r_io refactoring
- Many things are broken in this commit
2011-01-20 22:52:16 +01:00
pancake
74ff5af871 * Fix for r_io_resize -- needs merge with refactor 2011-01-17 15:28:40 +01:00
pancake
b8b87f050e * Initial working r_fs API with ext2 fs
- Support file reading and directory listing
* Fix build
2011-01-14 01:02:20 +01:00
pancake
16eefe9762 * Fix w32 mmap implementation for r_mmap api 2011-01-07 00:42:27 +01:00
pancake
13b04ecaf6 * Fix build for w32 2010-12-16 13:55:20 +01:00
pancake
b53ea8bec1 * Apply @earada patch
- Fixed redundant check in r_hex_str2bin
  - Initialize fd in r_io_new
  - Added Haret IO (WinCE app) plugin
2010-12-13 10:41:28 +01:00
Nibble
cfc6dcea96 * Fix io_ptrace read in 64bits 2010-11-19 11:09:49 +01:00
pancake
96797846e9 * Fix io_ptrace_read when memory error occurs
- Fixes graphs in debugger mode
2010-11-19 00:49:05 +01:00
pancake
4db5cded34 * Fix w32dist find command
* Display TODO message in r2 -L
* Implement rax2 -s - and rax2 -
* Honor dbg->tid in many places
* Implement basic stuff for dbg->reason
  - Only w32 and *nix atm
  - Not yet displayed or used
  - Added many new reason types in enum
* Fix w32 register map
* Handle attach:// in io_w32dbg plugin
* Implement w32 process and thread list
  - You can now select the thread
  > dp      # list pids
  > dp=1424 # attach to pid
  > dpt     # list threads
  > dpt=580 # select thread
* Added dummy code to list windows
2010-11-17 00:56:48 +01:00
pancake
dacab5e4bf * Initial implementation of r_debug_step_soft and _hard
- arm-darwin seems to not support stepping, mips follows
  - Delegate swstep responsability to r_debug api
* Implement set registers in arm-darwin
  - write in memory is not yet working
* Some fixes in memory regions list in arm-darwin
2010-11-11 03:13:44 +01:00
pancake
19c90096ff * Fix read registers in darwin-arm 2010-11-11 02:00:10 +01:00
pancake
cfa24e1879 * Add XML to ldid r2 debugger for iOS
* Fix build of the r2 debugger on darwin-arm
* Implement list of threads and memory regions on darwin-arm
  - just a draft, needs more work
* Add attach:// IO handler to mach plugin
* darwin does not needs -ldl
2010-11-11 01:09:27 +01:00
pancake
264f95a40e * Fix build in iOS 4.1 (darwin-arm)
- Honor CFLAGS everywhere
  - Use ut?? instead of uint??_t
* Add build instructions in doc/iphone
* Fix some out-of-range conditionals
2010-11-08 19:30:25 +01:00
Nibble
4ddde68f05 * Initial work on fixing bp&&dc&&dc
* Fix bug in io_ptrace when it writes to mem in 64bits
* Minor cosmetic changes in test_x86im
* Update TODO
2010-10-28 20:47:21 +02:00
pancake
0a294261aa * Many warnings fixed thanks to gentoo build and @astralia 2010-10-27 16:31:51 +02:00
pancake
8ed7004780 * Some fixes, null pointers and other beasts
found thanks to the python bindings
2010-10-26 18:24:14 +02:00
pancake
ead5ebdd32 * Oops. fix debugger attach 2010-10-13 01:00:39 +02:00
pancake
8f9dbbd0d1 * Remove some use of alloca()
* Fix lock when using 'r2 -d'
* Invalid program name results in error, not warning
2010-10-12 13:22:19 +02:00
pancake
dac5cf1b08 * Apply patching fixing various bugs on w32
- Some segfaults resolved and bugs identified
  - Thanks @mrgadix :)
2010-10-12 01:18:17 +02:00
pancake
d71fcd2708 * Do not show color prompt in windows
* Fix build on w32
* Finish the symgraph script
2010-09-24 19:04:33 +02:00
pancake
14f5a6a6fd * Cleanups in many TODO/READMEs 2010-08-26 12:18:30 +02:00
pancake
b07bf785be * Add the possibility to import/export regs from vm to debugger
* Parse rap:// in a different way, so we can now connect without
  opening any file. code is hardly simplified
2010-08-23 12:08:23 +02:00
pancake
eb0ce8208d * Initial implementation of '=' command
- Deprecate the useless '|' one
* Added rap.loop config var to wait for connections in loop
* All data operations in rap are now bounded to RMT_MAX
* Protocol implementation compatible with r1
  - Many endian hacks.. must take care of
* Use blocking operations for reading network packets
2010-08-23 06:39:23 +02:00
pancake
8f6bdc3560 * Add 'avrr' and 'avrc' commands to setup vm regs
* Many minor random fixes
* RVm api has an own architecture description file
  - r_vm_set_arch(vm, arch, bits);
  - add x86-16, x86-32, x86-64, arm-32
2010-08-23 00:48:44 +02:00
pancake
4d50a86855 * Initial implementation of the rap:// IO plugin
- RMT packet descriptions are in r_io
  - io.rap plugin is now compiled by default.
    $ rm -f plugins.cfg
    $ ./configure-plugins
* Some syntax fixes in r_vm
* RCore.r_core_server() method uses r_io_is_listener() to wait for connections
* Some minor fixes in r_socket
  - Add r_socket_read_block() fixes SIGPIPE and network issues
2010-08-22 21:42:08 +02:00
Nibble
4b052b53ee * r_core
- Add cfg var anal.ptrdepth to define analysis depth for indirect references
  - Add support for indirect references to /a (needs more testing)
* r_io
  - Remove perror msg from r_io_read_i()
* r_anal
  - Minor fixups in arm and x86 plugins
2010-08-19 02:30:12 +02:00
pancake
ddd67f7f3e * initial parsing of 'jns' in anal_x86.c
* Use RList in RIOMap
  - deprecate _list
2010-08-16 11:24:13 +02:00
Nibble
c1c8c32284 * r_core
- Fix 'S' and 'S='
* r_io
  - Add field 'debug' to r_io_t
  - More refactoring of io.va code
2010-08-16 01:50:01 +02:00
pancake
b7dbae4ebb * Display '*' in S= where you are
* Add note about the bug in io.va/-d/rabin2-r{v}S
* Fix rarc2/t
2010-08-15 21:30:59 +02:00
pancake
01fa57d832 * Merge old w32 build fix
* Add 'c' in '?' help message
* Import edu's RList-ification of RSearch patch
* Deprecate r_search_kw_list() method
* Fix build of r_socket_to_string() method on w32
2010-08-08 19:03:51 +02:00
Nibble
f853dab09f * More fixes on mingw32 build
* Update VERSION in swig configure script
* Update doc/windows
2010-07-24 12:44:19 +02:00
Nibble
344bcf16a6 * Fix build 2010-07-23 12:19:39 +02:00
pancake
e9a8a96661 * Implemented r_lits_sort() and r_list_add_sorted()
- Add function variables sorted by delta
* Initial import of the io_gdb plugin
  - Statically compiled plugin by default
  - Use libgdbwrap
  - Implements just raw IO read/write
  - Needs more testing
2010-07-22 01:14:13 +02:00
pancake
c36f43c55c * Check 'hg' before starting to build.sh
* support array types for function string serialization
* Fix undo seek when io->va is enabled
  - Fix Vu and VU commands (must read after seek)
* Add patch from edu adding Start/End keys support in dietline
  - Fix r_parse_x86_pseudo for att syntax
2010-07-13 01:00:36 +02:00
Nibble
89a63b5c3a * Fix segfault parsing imports in mach-o
* Simplify the output of the command 'S'
* Update TODO
2010-07-11 13:15:18 +02:00
pancake
182b7737cf * Remove deprecated documentation
* Some syntax fixes
* Some changes in the design of the vars in r_anal
* Remove 'CF' command and META_FUNCTION type
* Fix 'S' '*' mark when in debugger
2010-07-02 02:01:51 +02:00
pancake
236d78295d * Fix debug regs, memory read in w32 debugger
- Fixes some segfaults and null string issues
  - Simplify and clean code (still more work needed)
* TODO: updated
2010-06-28 14:12:34 +02:00
pancake
80fc77a8b4 * Fix w32dist segfault in plugin.dll
* Fix read registers in w32 debugger
  - seek do not seems to work
2010-06-28 02:12:35 +02:00
pancake
3fb6db9f11 * Fix segfaults in cons and debug for w32 2010-06-28 01:04:27 +02:00
pancake
39a8c23740 * Major refactoring in r_meta
* Added C! command that calls r_meta_sync()
    - put xref information inside function metaitems
    - reduces cpu usage
  - Fix some memory leaks
  - Add object lifecycle for r_list_item_t
  - Use RList instead of list.h
* Apply patch from edu fixing '+' key in visual (Thanks!)
* Fix segfault in osx printf ("%s", NULL) using r_str_get()
2010-06-28 00:43:07 +02:00
pancake
21d2531b7f * Fix segfault in java disassembler
* Update compilation instructions for w32 in doc/windows
* Identify new osx binaries as mach0, not java
* io.va only works when there are configured sections
2010-06-27 23:12:55 +02:00
pancake
e101e5023d * Fix build on mingw32 2010-06-27 22:14:06 +02:00
pancake
d47e67cdd1 * Fix build for osx-x86-32 2010-06-27 21:33:32 +02:00
Nibble
414f5a38bc * More fixes on build system
- 'make mrproper' now works like 'hg purge --all'
  - More fixes on 'make clean'
  - Remove some missing -Wl,-R
2010-06-15 14:10:42 +02:00
pancake
79e78ea47d * Fix ffio and io_ptrace return value when read error 2010-06-13 12:40:01 +02:00
pancake
ca8a2a9280 * Fix segfault in malloc:// IO backend
* Catch error in core to avoid future issues
2010-06-13 12:24:07 +02:00
pancake
c9a403cf71 * More work on 'at' command
* RRange ported to r_list (not yet tested)
* Fix r_cmd.vapi RCmdPlugin struct definition
2010-06-04 23:47:35 +02:00
Nibble
4235dd2a8e * Fix bug with static plugins
* Treat r_cons and r_line as singleton in r_core_init
* Move gdiff to r_core
* Fix libgmp support

--HG--
rename : libr/diff/gdiff.c => libr/core/gdiff.c
rename : libr/diff/gdiff.h => libr/core/gdiff.h
2010-05-28 02:44:51 +02:00
Nibble
cbdfc5ec77 * Fix io.va bug in r_io 2010-05-27 01:18:30 +02:00
Nibble
8ab4969851 * some more renaming 2010-05-27 00:57:25 +02:00
Nibble
4ead120e53 * Rename "handler" to "plugin"
* Rename */handler.c to */plugin.c
* Rename "handle" to "handler" in r_lib

--HG--
rename : libr/bp/handle.c => libr/bp/plugin.c
rename : libr/cmd/handle.c => libr/cmd/plugin.c
rename : libr/debug/handle.c => libr/debug/plugin.c
rename : libr/io/handle.c => libr/io/plugin.c
2010-05-26 18:25:35 +02:00
Nibble
5c35f6e359 * Rename {r_*_handle_t, R*Handle} to {r_*_plugin_t, R*Plugin} 2010-05-26 01:42:22 +02:00
pancake
d564c5a0fe * Implement 'dcc' and 'dcr' debugger commands
- Using continue-until-opcode-type call
  - Implemented continue-until-syscall in the same way
* Fix r_str_hash() algorithm to avoid colisions
* Added r_sys_bt()
2010-05-24 12:07:54 +02:00
pancake
11f5134c91 * Initial import of the procpid IO plugin 2010-05-21 19:05:53 +02:00
Nibble
1eec9fcc2c * r_io
- Fix lseek
* r_hash
  - Remove debug printf from t/hello.c
2010-05-21 01:34:35 +02:00
Nibble
7abcfe6852 * Refactoring
- Remove all init functions (included in _new)
  - Update vapi's (needs more work)
2010-05-20 17:40:58 +02:00
pancake
1940120f0a * Added fast keys to seek on jumps or calls '1'-'9'
* More seek undo pushes in visual mode
* Added 'd' key in visual mode 'df' defines a function
* Huge repointerization in RCore
* Fix r_num_new() constructor
2010-05-20 00:59:42 +02:00
pancake
b8e98f3a00 * Add bb_list() method to RAnalFcn class
* Handle function boundaries in 'pd'
* Reset stack_ptr=0 when leaving a function body
* Fix 'asm.bytes=false' (display flags as newlines)
* Fix 's+' and 's-' (seek redo, seek undo)
  - Bindied in visual mode as 'u' and 'U' keys
  - Added 's*' command to list seeking history
* Add dummy file.md5 eval var
  - TODO: must be done by rabin2 and checked by project file
2010-05-19 02:39:01 +02:00
pancake
193bdb886d * Initial work on w32dbg IO, fork and attach still incomplete
- Not yet linked with debugger backend
2010-04-14 23:56:27 +02:00
pancake
46ab7ab8b0 * merge 2010-04-14 14:11:38 +02:00
pancake
7a753ac0cb * strnlen helper in format/elf/elf.c is now static inline
* Some random syntax cleanups
* Fixes some warnings in r_socket on w32
2010-04-14 13:28:56 +02:00
pancake
34435b1285 * Mental note: %lld/%llx does not exist on windows
- Use the macro PFMT64{xod} in case
2010-04-14 13:02:23 +02:00
Nibble
b95e8ae265 * Fix bug in r_io_seek related to va 2010-04-11 13:48:16 +02:00
Nibble
bfba666c62 * Revert last commit O:) 2010-04-08 14:28:01 +02:00
Nibble
83dffd48ec * Fix r_io_seek issues when io.va = false 2010-04-08 14:19:07 +02:00
Nibble
c5396fbb10 * Fix cmd repitition (3x@offset)
* Fix seek to invalid offsets
* Improve r_anal graphs
2010-04-08 14:04:34 +02:00