Commit graph

4964 commits

Author SHA1 Message Date
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
earada
4874de4569 * Refactorize rabin2 functionalities into r_core_bin_info
- r_core_bin_info shows bin data from core
- rabin2, file_load and cmd_info now uses this new api
2011-11-12 04:20:22 +01:00
pancake
0f271a8bac * Added api to get opcode descriptions
- r_asm now depends on r_db (uses r_pair aka sdb)
  - r_asm_describe()
  - install opcode descriptions
  - Use ?d to get description of opcode (uses asm.arch)
* Add 'fl' command to get length of flag
* Fix some warnings in anal.sparc plugin
* Add new assembler directives
  - .int8 (alias of .byte)
  - .int16 (alias of .short)
  - .int32 and .int64
* Fix memory leak in r_core_disasm()
* Add accessors for RAnalFcn.{refs,xrefs,vars,bbs}
  - Updated bindings
2011-11-12 01:52:31 +01:00
pancake
b38552af6b * Only change va when needed 2011-11-11 21:15:47 +01:00
pancake
88c8b08f7a * Fix various memory leaks (thanks Ender for reporting!)
* Add e dir.magic variable
2011-11-11 17:14:09 +01:00
earada
2fadc048e7 * RBin suport new section_end flags
* Add some filesystem automount support
2011-11-11 17:56:21 +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
766cec4bb2 * Fix Fcn->refs bindings in r_anal
* Fix agc graph // cc @hteso
2011-11-02 13:39:38 +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
f5e374e235 * Make w32dist ship sdb and fortunes
* Add support for relative R2_PREFIX for w32
2011-10-24 12:07:12 +02:00
pancake
1f7f9dc036 * Enhacements for rarun2
- add 'timeout' directive
  - directives can now be passed in arguments
  - support more than 3 args for launching
  - show default config file in help
* Added test suite for r_egg
  - Fix nested conditional and loops
  - Some situations can result in broken code
  - Code needs a huge cleanup
* Varioues fixes for x86.nz plugin to make r_egg happy
* Install python plugins into dist-packages only
  - site-packages is not the right place
* Add R2_LIBDIR and R2_PREFIX constants
* Honor LIBDIR in sdbpath for r_syscall
* Fix rabin2 -h for -C
2011-10-24 04:35:42 +02:00
pancake
3534cde102 * Add r_debug_stop() and use it from bf plugin 2011-10-20 18:04:26 +02:00
pancake
3b9420fad8 * More stuff to make --with-sysmagic work 2011-10-18 18:12:17 +02:00
earada
4df1ec9a84 * Complete some config var options descriptions 2011-10-16 19:38:26 +02:00
pancake
04cbf68819 * Fix segfault in elf (thanks @earada!)
* Make cg and cgo work
* Added r_anal_diff_setup_i()
  - Fixed bindings
2011-10-16 13:59:05 +02:00
pancake
6c0318fa86 * Honor LIBDIR in syscall/d and magic/d
* Show similarity distance in radiff2 -C output
* Add -O flag to radiff2 to use diffops
* Diffing threshold for basic blocks and functions is now configurable
* Explicitly delete the asm object from the nodejs example
2011-10-14 10:09:53 +02:00
pancake
f94e93aa40 * invert offset colors in program counter address 2011-10-14 03:31:04 +02:00
pancake
b42e287156 * Fix typos reported by lintian
* bfvm.c changed license from GPL to LGPL
2011-10-13 01:00:07 +02:00
pancake
e9d1dcb4ec * Fix make w32dist
* Update manpages
* Added r2 -H for env and files help
* Add rarun2 -h
* Show assembler/disassembler features in rasm2 -L
* Add opcode 'mov dword [ebp-12],4' to x86.nz
  - Make t/test.nz work with x86.olly (32bit only atm)
* Fix unknown os issue with tiny-pe files in r_bin
* Fix some plugin names build fails in mingw32
* MAGICPATH renamed to R_MAGIC_PATH
* Add another experimental way to generate gir files
  - Added dummy test.js for nodejs
* Build python-dist in farm

--HG--
rename : man/rarc2-tool.1 => binr/old.rarc2/rarc2-tool.1
rename : man/rarc2.1 => binr/old.rarc2/rarc2.1
2011-10-12 03:24:19 +02:00
pancake
19b8fd3120 * Add new 'a' sub-commands:
ab : analyze bytes
  a8 : disassemble bytes
* Documentate 'ad' command
2011-10-11 02:13:15 +02:00
pancake
51d6e83c93 * Fix mingw32 build 2011-10-11 01:35:21 +02:00
pancake
f9fe34a2ea * Fix x86im code analysis plugin for 64bits
* 'pm' without arguments load magic files from MAGICPATH
* Add alias r_cons_puts () for r_cons_strcat
* Add 'wao' opcode. like the write hack plugin
  - added help for 'wa?'
  - needs refactoring to add support for !x86 archs
  - current supported commands are:
    nop, jz, jnz, un-cjmp, swap-cjmp
2011-10-11 01:21:38 +02:00
pancake
16866fe504 * Do not build asm.x86_as or asm.x86_nasm
- Deprecated as being problematic. x86.nz and x86.olly ftw
* Fix singleton crash in swig bindings
  - Requires valabind-tip
* Added 'wa*' and 'waf*' commands to show bytes instead of writing
2011-10-09 21:54:14 +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
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
ebb04f2e8f * Fix overflow in rasc2 (needs more work)
* Remove pragma pack(push) in x86im
* Remove analysis reference memory reads error messages
2011-07-03 01:51:20 +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
4ea6ee9873 * Add new flags to r2
- -D : enable debugger mode for non native debuggers
  - -c cmd : execute a command before showing prompt
* Initial import of the bfvm (brainfuck virtual machine)
* Initial dummy implementation of the brainfuck debugger plugin
  - Needs to be integrated with bfvm to work
* Added doc/brainfuck
2011-10-07 03:10:44 +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
098b1ba127 * Implement input and output filters for rasm2
- Experimental.. not yet ready for release
  - Add rasm2 -F flag to specify input and output filters
   $ rasm2 -F att2intel
* Add new att2intel r_parse plugin
  - make mrproper required
* Initial implementation of RBinClass
  - Only experimental and Java-specific atm
  - Add rabin2 -C to display classes
* Optimize some r_str functions
2011-10-05 02:38:37 +02:00
pancake
23936cfbe5 * Add an REgg instance into the RCore class
- Make r2 -P use the r_egg api instead of the oldie rarc2
2011-10-04 10:10:00 +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
3b8c1e1b32 * Add support for incremental hashing in rahash2
- Enables working with huge files
  - Use -B to per-block-hash
* Initial dummy for 'ax' command
* Add 'pdb' command
2011-09-27 10:27:13 +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
0eb0eabd19 * Do not dist w32 test bins
* rahash2 now depends on r_io
  - support for huge files is wip
* Handle offset in afl command
* Fix libs.mk syntax issue
2011-09-23 12:25:06 +02:00
pancake
b60af6d878 * Initial implementation of sys/farm
- add missing sys/gtk.sh
* Define TODO for 0.8.6
* Add URL attribute in dot graphs for 'ag' command
  - as requested by @hteso for bokken
* Empty graphs are now printing nothing to stdout
  - same as above
2011-09-23 00:16:29 +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
0217c146ef * Fix x86.nz -> push [esp+N]
* Use pw instead of px in debugger stack view
* Disable stackptr by default
* Add OSX-32bit debugger register map
  - Fix support for debugging 32bit bins in 64bit OSes
* Implement r_egg_run() -- just in time execution
* Fix r_egg string construction and argument passing
  - Still needs more work, but at least some hello worlds work
2011-09-21 19:51:09 +02:00
pancake
fcf67d5cd2 * Fix dup anal issue
* Added sys/farm/README
2011-09-20 09:44:17 +02:00
pancake
403aa4b36d * Fix ~40 off-by-one strncpy's 2011-09-18 20:41:36 +02:00
pancake
0cca23f7a5 * Fix anal vartypes definitions
* fcnstore working, results slower than with traditional method :(
  - disabled by default
* Fix R_BETWEEN signature
* Add /q to search for qwords
* scr.fkey = hit by default
2011-09-14 03:47:30 +02:00
pancake
e8af14966b * Import the r_regex api in libr/util/regex from OpenBSD source
- Added a r2-like API on top of it
  - Make RSearch and RMagic use this new api, so
* Only load default magicpath files when no file is passed to RMagic
* Initial work on r_listrange optimization in RAnal
  - #define USE_NEW_FCN_STORE
  - Still work-in-progress
* Implemented a RPoolFactory singleton api to accelerate
  allocations of little objects in the future
* Fix sys/mingw32.sh for osx
* Added sys/maemo.sh
2011-09-14 02:07:06 +02:00
pancake
7319208c8f * More visual fixes for the comments in disassembly
- Added asm.cmtright=true eval config variable
* Add missing r_magic.deps
2011-09-12 03:26:32 +02:00
pancake
4a3d7bc1db * Show comments at right of disasm if they fit in screen
- Added r_cons_get_column () api
* Fix ';' in visual (0 prefix)
* Update pkg-config files
* Fix sys/vala.sh
  - Use ccache if possible
* Add r_magic.vapi
2011-09-12 03:01:07 +02:00
pancake
37fecf7c0c * Implement RBinCreate.elf-arm
* Fix uninitialized shstrtab segfault in r_bin_elf
* Do not create new objects unnecesarily in r_core_magic
* Handle length argument in pb command
* Fix ps command
* @@ now prefixes each line with the offset (useful for search)
  - can be problematic when used with macros
  > / lib
  > ps @@ lib*
* Huge refactoring in r_magic, now using the r2 coding standards
  - Use r_magic_new() and _free() instead of open/close
  - Reduced -1KLOC
2011-09-12 01:47:28 +02:00
pancake
6afd85a447 * More work on the OpenBSD file(1)
- Fix a segfault bug (not exploitable)
  - Import some magic files and install
  - PREFIX"/lib/radare2/"R2_VERSION"/magic"
  - Output of 'pm' is easier to read now
  - Add pm? help message
* Remove all flags from previous search
* Handle ^C in /m search
* Autocomple ~ with tab (home)
  - Fix autocomplete filenames without '^[\.|/]'
2011-09-11 03:59:24 +02:00
pancake
323441c122 * Initial import of r_magic
- Imported code from OpenBSD trunk
  - Remove the elf part (-1KLOC)
  - Some refactoring in order to be more r2-like
  - fixed warning messages
  - readdir one can be dangerous /cc @vect01
  - Remove libmagic dependency
* Rename asm.case into asm.ucase
2011-09-10 01:30:03 +02:00
pancake
0357ddf18e * Move rapatch into r_core_rapatch (r2 -P)
- Remove r_core deps from rabin2
  - Accessible via 'wp'
* Fix build check of test program in r_db
* Pass CFLAGS/LDFLAGS to sdb build
* Add rax2 -k to not change base
2011-09-09 09:49:55 +02:00
pancake
1732541915 * Fix OS identification in ELF on r_bin
* Add missing OSABI definitions
* Fix r_str_case()
* Remove already defined or useless commented config code from r1
2011-09-08 15:10:46 +02:00
pancake
aebf800b8e * Lot of fixes in r_syscall api related to the use of RPair
- Fix segfault in OpenBSD (thanks vext01 for reporting)
  - Add openbsd-x86-64 syscall definitions
2011-07-02 10:14:46 +02:00
pancake
2c92c7d172 * Merge rapatch2 into rabin2 -p
* Honor bits in r_syscall_setup
  - Initial work on RPair in r_syscall
  - Not yet integrated, but design is mostly done
* Add r_str_split()
* Add python2 and python3 makefile rules in r2-bindings
2011-09-04 03:56:35 +02:00
pancake
56fb04bb79 * Say different error if -w is used in r2 and fails
* p= command is now an alias for !rahash2 -a entropy -b 512 $FILE
* Some work in the 'G' key in visual
* Fix zoom on io.va=1
* r_sys_getcwd now returns a heap ptr and its named to r_sys_getdir()
* Show invalid instructions in 'pd'
* Fix prompt for 'w' key in visual
* More work with RPair
  - Looks like it's finally usable. Let's use it from r_syscall
  - Update sdb from hg
  - Enhace test program
* Show newlines in 'ps' command
2011-09-04 02:34:54 +02:00
pancake
ed460fe2a4 * Initial import of external dependency sdb in r_db
* Fix segmentation fault in command = 033h
* Fix r_db for 64 bits
* Initial import of the RPair API on top of SDB
* Minor fix in r_num_get parser
2011-09-03 05:09:31 +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
3e8ce3e2b1 * Fix help for 'a' and ':' commands
* Add description to the dummy r_cmd command
2011-09-03 02:27:27 +02:00
pancake
a4af6bce2f * Close bug #43 -- show octal, binary and floating point value in '?' command 2011-09-02 17:13:24 +02:00
pancake
ebd84a998c * Add syntax sugar for search
- requires r_core and binr rebuilds
  - add search.flags=true
    - default behaviour of search command has changed
    - now store flags by default and displays last one
* Rename e+ to e??
  - Fix e? command.. it was busted by e?..
2011-09-02 03:45:50 +02:00
pancake
b50447489c * Fix segmentation fault in asm.lines=false
- Thanks @hteso for reporting!
* Various indentation fixes
2011-09-02 01:42:09 +02:00
pancake
12af78ccee * Fix build, reduce warnings and add some checks 2011-08-30 19:12:49 +02:00
pancake
b4a63953c7 * invalid instructions in x86 (udis86) should be length=-1 2011-08-30 00:42:18 +02:00
pancake
763289b4aa * Fix Bx1d issue in rax2
- Applied patch by flux. Thanks!
2011-08-29 00:43:20 +02:00
pancake
c006cc5c38 * Fix grep~
* Autocomplete ag* and . commands
* Add install targets in r2-bindings subdirs
2011-08-28 01:49:29 +02:00
pancake
47834e60bd * Do not calculate reflines if asm.lines=false
* Honor null callback in r_cmd
* Some enhacements in the r_config_description
* Implement cmd.repeat and add two commands to handle it
  - . and .. (allow to handle pyew-like newline)
* Add ia and ia* to show all binary information info
  - Use r_sys_cmd_str() instead of r_sys_cmd()
  - This fixes the bug of not able to interpret output of .i?*
* Some random minor code simplifications
* r_sys_getenv now returns an allocated buffer
  - Need some review to avoid memleaks
2011-08-27 20:25:37 +02:00
pancake
f6d5e9034a * Add r_core_prompt_loop()
* Add support for descriptions in configuration variables
  - Add e+ to list all descriptions
* sync vapis
* Fix zero end string in r_print_hexpair
2011-08-27 04:32:27 +02:00
pancake
6d5bef5976 * Use hg manifest in make dist
* Honor r_bin_use_arch arch and bits information for r_bin_create
* Implemented sC command to seek by comment matching
* Fix one byte Color_RESET in r_print
* Minor refactor in rasm newlisp example
2011-08-27 03:31:55 +02:00
pancake
efb113ce8b * Fix '// ?' pseudodecompiled issue
- Thanks l0gic for reporting!
2011-08-18 17:03:45 +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
pancake
1424bf9701 * Initial support for 'jb' opcode in x86.nz
- hello.r now is broken because of this use
  - Ignore prefixed '$' in numeric values for r_egg
* Apply @capi_x's patch fixing a bug in 'wb' and rsc/msdn
2011-08-11 17:41:24 +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
259d14940e * Implement R_SEARCH_DELTAKEY
- Accessible with /d search command
* Code cleanup in TinyPE
* Implement rasc2 -o
2011-07-26 09:34:10 +02:00
earada
25b590e21f * Implemented 'dd' command for UNIX and FreeBSD 2011-07-25 04:49:54 +02:00
pancake
5292c61a48 * Handle syscall name/number resolution in 'asl' and 'dcs' commands
- Thanks @pof for noticing! :D
2011-07-21 19:17:15 +02:00
pancake
486ee5351f * More libdir-ification (thanks sre)
* Bump and kidnap Debian's package description for Maemo pkg
2011-07-19 12:27:01 +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
188560bf4b * Fix build and lot of warnings for w64 2011-07-13 18:55:16 +02:00
earada
008dc76721 * Use native api to calculate md5/sha1 hashes
- Fix bug 29
2011-07-13 17:41:26 +02:00
pancake
a9a7e73519 * Fix double pdf (thanks vext01) 2011-07-13 12:21:56 +02:00
pancake
301073e7f1 * Fix pi and /c commands 2011-07-12 23:22:33 +02:00
earada
c880718f15 * Fix some warnings 2011-07-12 23:06:06 +02:00
earada
0d43c5422a * Enhacements in keybindings used in visual mounts menus
* Implement missing 'pf p' pointer format
2011-07-12 17:26:56 +02:00
earada
1f30cc1025 * Add vmenus-mounts option 2011-07-11 22:52:05 +02:00
pancake
b765565cc4 * Fix r_line autocomplete regreesion bug 2011-07-11 21:10:14 +02:00
pancake
7a79f92c82 * Fix pdi with no args
* Fix bug in dietline autocomplete
2011-07-07 02:04:42 +02:00
pancake
c47da60578 * Some fixes in r_syscall (thanks vext01!)
* Use x86.olly before x86.nasm
* Add r_asm_assemble_file() method
  - Accessible with 'waf' command
2011-07-07 00:53:08 +02:00
pancake
6abcfb962b * Add from/to arguments to search_preludes()
* Mostly fix the ming-w32 build
* Avoid using alloca()
2011-07-06 11:48:16 +02:00
pancake
77816183a0 * Added anal.prelude to specify an hexpair to find
* Added search/prelude API into RCore and Vapi
2011-07-06 01:40:14 +02:00
pancake
840190602c * Use strncpy instead of strcpy in asm and util
- Also avoid using sprintf and strcat
  - Some speedup and buffer overflows fixed
* Reimplement 'ap' command using the API
  - Fixes some issues related to nested console buffers
  - Faster and more reliable
* Use Color_ definitions instead of hardcoded values in r_print
2011-07-06 01:29:18 +02:00
pancake
9ed75b82dd * Fix osx-64 prelude (thanks @reversemode) 2011-07-05 17:24:05 +02:00
pancake
a45df6c14f * Split 'ap' in two cmd0s
* Add missing anal_all() in RCore vapi
2011-07-05 17:14:39 +02:00
pancake
61c9ea4aae * Fix CC- and CC-* (thanks vext01) 2011-07-05 00:37:17 +02:00
pancake
bebb19a5ce * Fix some warnings patch by @capi_x
* Added R_REFCTR macros
* Ignore prefixed 0x in hexstr2bin
  - Fixes issue in 'wo*' commands (thanks edd)
2011-07-04 23:23:06 +02:00
earada
a38c2ece6d * Initial parse of dex files
- Load strings and methods
* Fix command 'r' parser
* Fix visual 'g' command without sections defined
2011-07-04 18:54:41 +02:00
pancake
ed9a4c3584 * Use newer ACR fixing --mandir configure flag
* Fix help message for 'r' command
2011-07-03 12:58:19 +02:00
pancake
0af36f8e9d * Add help for P command in ? 2011-07-01 13:24:51 +02:00
pancake
17768b9de0 * Add DEVELOPERS file as noted by Edd 2011-07-01 13:22:13 +02:00
pancake
0528e66fda * Disable asm.dwarf until reimplemented
* Some more code cleanup in gdbwrap plugin code
2011-06-30 21:35:15 +02:00
pancake
6d0bd0c320 * Fix segfault noticed pd? in OpenBSD64 by Edd Barret
- Thanks!
2011-05-25 16:08:26 +02:00
pancake
9d3c3be03c * Implement dbg.follow (32 by default)
- follow program counter when pc > core->offset + dbg.follow
2011-06-29 00:54:49 +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
e1d569fbeb * use r_num_get in r_cons_grep
- Flags are now handled
* Added 'S.' command to show begin end and name of current section
* Implement 'sn' to seek to next opcode (alias for s+$l)
  - Added $l variable
* Rename r2 flag -v to -q
  -V flag is now -v (all flags in lowercase
2011-06-26 23:49:11 +02:00
earada
29a90901c8 * Add support for io.va mode in g/G visual keys 2011-06-26 23:41:34 +02:00
pancake
ef375bf85d * Fix macro definitions
* Handle asm.flags in core_disasm
2011-06-26 21:24:22 +02:00
pancake
868acc4059 * Added RBinBind type and logic
- Refactoring required to allow RAsm retrieve info from RBin
  - Will be used by dalvik and java disassemblers
2011-06-26 20:29:24 +02:00
pancake
7e8aba2198 * Fix segfault in file path autocompletion 2011-06-26 04:55:27 +02:00
pancake
814d220ac6 * Implement 'Cl' command to set sourceline comments
* Fix, implement and install rsc2
  - Added rsc2 srcline script
2011-05-25 15:43:54 +02:00
pancake
f35152b547 * Documentate 'g' and 'G' keys in Visual 2011-06-26 03:01:32 +02:00
pancake
10fdf33d64 * Fix segfault in core/print_disasm 2011-06-23 01:01:27 +02:00
pancake
b66a9cdd42 * Fix r_io_cache
- Added test/cachetest
2011-06-22 00:19:02 +02:00
pancake
b294ab6060 * Move 'pdi' into 'pi' to we can now 'pif' 2011-06-20 18:33:25 +02:00
pancake
f2d882c304 * Implement px'f' for all print formats.. needs some cleanup 2011-06-16 14:12:09 +02:00
pancake
d4be19b5dc * Added VdS command 2011-06-09 02:29:24 +02:00
pancake
46c7851ffc * Some fixes in the LEA/MOV memref analysis
* Stretch bytes and stackptr in disasm
* Fix string length in r_bin (\0 is counted)
  - hello is a 6 byte length string
* Fix 'Vds' to autodetect string length
2011-06-09 02:12:46 +02:00
pancake
4c0b8f437b * Added 'pw' and 'pq' commands to print 32bit and 64bit hex values
* Autocomplete 'dcu' argument
* Analyze [pc+delta] mov and lea opcodes on x86-64
  - Resolves indirect string pointers for ObjectiveC binaries
* Handle UCALL in dso
* Fix x86-64 register profile for OSX
* Implement r_mem_get_num()
* Various fixes in 'pf' command
2011-06-09 01:20:02 +02:00
pancake
a9a4c51132 Handle no size argument in CC command 2011-06-08 18:15:19 +02:00
pancake
1c035d4b52 * Use glob to check flags in @@
- Document @@ suffix
* Fix hexdump indentation when offset is >32bits
* Optimize glob for null needle
2011-06-07 17:53:15 +02:00
pancake
822eaa1499 * Add 'grep' test
* Fix -i flag
2011-06-06 01:07:27 +02:00
pancake
c1a7557959 * Handle environment variables in rarun2
* Added support for F12 key in r_cons
* Added key.f# eval vars to configure function keys in visual
2011-06-06 00:16:11 +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
6d7442730b * Slow but complete storage of project information
- put console in non-interactive mode when dumping project
  - functions, comments, references, ..
  - Added code analysis information
  - Avoid dupped comments
2011-06-04 13:29:15 +02:00
pancake
c9faf9f88b * Do not load strings if project is already loaded
- Added bin.strings eval key
* Fix range check for anal/meta
* Do not exit(1) when write error on console
* Added 'ad' command to analyze data
  - Find trampolines from data to text f.ex
  - Supports 32 and 64 bit archs
* flags/name moved to util/name

--HG--
rename : libr/flags/name.c => libr/util/name.c
2011-06-04 05:27:26 +02:00
pancake
9a3a586c6b * Add format and packet to 'i' 2011-06-04 03:51:33 +02:00
pancake
c8efea337e * Extend 'i' output 2011-06-04 03:40:44 +02:00
pancake
1f07786947 * Fix build 2011-06-04 03:23:12 +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
earada
dce671e091 * Fix f-* command
* C- now supports ranges
2011-06-04 01:36:31 +02:00
pancake
b68a6811eb * Show out-of-range errors of bin_elf with eprintf
* Fix disasm output for strings
* Implement r_flag_free (less memory leaks O:)
2011-06-03 23:58:31 +02:00
pancake
a55ef74986 * More out-of-bounds fixes for the ELF parser
* Some fixes in the htflags code
  - There are still bugs, but it works better now
2011-06-03 18:54:12 +02:00
pancake
a87f10cf56 * Fix security vulnerability loading shared libraries in ./
- Can cause code execution when running in the same directory
2011-05-25 00:43:28 +02:00
pancake
bf95651e69 * Fix DEX parsing segfault
* Fix possible segfault on newer glibc
* Fix some indentations and Visual hints
2011-05-24 15:25:52 +02:00
pancake
e0f8869e1b * Various minor visual fixups
* Add r_file_temp
2011-05-22 02:45:59 +02:00
pancake
2d0f551276 * Fix build with vala-tip
- static-struct/class is no longer supported
* Colorize call comments
2011-05-22 02:02:19 +02:00
pancake
9c84e94862 * Initial hacky implementation of s/ command
* e search.from is -1 by default
2011-05-22 01:36:23 +02:00
pancake
9c6d905c92 * Fix seek undo 2011-05-22 01:16:12 +02:00
pancake
9a26929858 * Implement inverse search /!x for example
- ./!x 00 # finds the first byte which is not 00 in hexa
2011-05-22 00:52:46 +02:00
earada
839bd60882 * Add mfs and mfo to search by name and offset
* Fix rafind2 build
2011-05-22 00:23:39 +02:00
pancake
6099a388f6 * Reimplement r_flag using RHashTable64
- Much faster (over ninethousand)
  - Must do the same for code analysis stuff
  - Added test case
* Implement r_str_glob ()
2011-05-21 21:05:21 +02:00
pancake
37464fa7f5 * Fix some glitches in r_cons_column
* Bring back the ';' prefix for comments
* Added sf/sF commands to seek next/previous scr.fkey
* Implement /i to search strings ignoring case
* Fix '@' invalid reads issue
* Added 'cmd.cprompt' for column prompt in visual
* Add 'search.kwidx' to store last search index count
* Added 'ee' to edit with cfg.editor the value of an eval variable
2011-05-21 15:45:43 +02:00
pancake
a6f48ded22 * Added CC! command to use cfg.editor to modify comment
- CC-* removes all comments
  - Many bugfixes in comment handling code
  - comments are now turqoise and have no ';'
* Added r_cons_column -- add support for columned text
  - Added r_cons_justify to align text to right
  - Added r_cons_memset as a helper
  - Vv menu displays options and list in left and disasm at right
  - Allow to rename functions
  - Added ':' prompt in Vv menu
* Initial implementation for s/ command (search+seek)
* Use core->num->value for 'p' command (number of bytes used)
* Implement /i to search ignoring case
* Help for e scr.fkey=?
* Added r_core_editor() helper
* Fix use-after-free in r_anal/meta
2011-05-21 14:27:46 +02:00
pancake
f36b18aa3e * Added search.count
* Check null pointer before r_list_foreach
2011-05-20 22:42:11 +02:00
pancake
233982c965 * Do not show useless error messages when child process is dead 2011-05-20 20:42:25 +02:00
pancake
a4b57487bf * Fix pkg-config-symstall
- Update all .pc files
* Fix 'pf d*' segfault
  - Show flag references in all 'pf' values
* Many bugfixes in vapis
  - Use nested namespaces instead of static classes
    - Static classes was deprecated in Vala some years ago
  - All bindings are working again
  - C++ support has been added
  - Guile is now compiled by default
* Added ./configure-langs to select which langs to use
  - Use --enable=python,perl or --disable=guile
2011-05-20 19:49:50 +02:00
pancake
acb7709bff * Fix OpenBSD python bindings
- Use -L$(pkg-config --prefix)/lib
  - Use -pthread when linking
* Many fixes in vapi bindings
  - Thanks eddyb!
2011-05-18 16:42:12 +02:00
pancake
ced931c235 * Check if configure was executed before make
* Added r_cons_set_cup() method to RCons api
  - Enable/Disable terminal scrolling by using the cursor
     addressing mode of the terminal.
  - Those escape codes are terminal specific and not portable
  - Added test program to display cup information
  - Thanks eddyb for noticing!
2011-05-16 01:47:01 +02:00
pancake
425fe596f4 * Fix many warning messages
* Initial implementation of r_debug_rap
* Implement 'dcu from to' (ranged stop point)
* Use RList in r_lib (list.h has been deprecated)
2011-05-13 10:22:28 +02:00
pancake
a3050fce7b * Implement r_fs_view() method to set visibility options for filesystems
- Added enum for VIEW_{DELETED|SPECIAL} ...
  - Implement support for listing deleted files for FAT.
  - Experimental state
* Add 'fs.view' eval variable
  - values normal, all, deleted and special
  - only 3 letters are checked 'del' and 'spe' are ok
* Add missing include files
2011-05-13 02:31:18 +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
earada
95e51548b6 * mg now support files and dirs
* Fix bin_fs build
2011-05-12 15:01:29 +02:00
pancake
09577a9246 * Initial import of the r_bin_fs plugin
- Autodetects underlying filesystem
  - Auomatically mounts a /root partition
  - Only support for 'HFS+' filesystem (as a test)
* Added 'oo' command to reopen current file
  - In debugger mode re-forks the process
2011-05-12 09:52:40 +02:00
earada
21891a992a * Add dir_dump and find functions to r_fs
* Update RFS vapi
2011-05-12 01:17:35 +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
f5666844e0 * Fix debugger for BSD systems (OpenBSD)
- contsc callback accepts a new argument
  - abi changed. must recompile libr/debug and libr/core
  - Deprecate dbgplg->archs
2011-04-03 16:38:24 +02:00
pancake
17189725d2 * Fix other use-after-free bugs related to r_list_unlink
- Use r_list_delete instead of r_list_unlink in various places
    - Some operations are now a bit faster
2011-04-29 13:55:27 +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
pancake
e4094a0cee * Fix RCore.read_at vapi and partial reads 2011-04-25 20:09:09 +02:00
pancake
ae2ee76dd9 * Fix r_fs_mount on delta != 0
- Show partition list offsets column aligned
2011-04-20 13:04:24 +02:00
earada
8d8faea38b * Use RList int io_sections
* Fix core_server return value
2011-04-19 14:43:48 +02:00
pancake
194bc4dafd * r_fs_mount returns boolean value for success 2011-04-19 10:04:06 +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
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
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
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
pancake
c8d1de0ad5 * Show cursor in disasm bytes when scr.color=false 2011-03-30 18:41:42 +02:00
pancake
c4c08c05dd * Fix strstr reported by Nicolai Stange 2011-03-29 17:30:06 +02:00
pancake
14148050fb * Obey return values in callback in r_config_set
* Add pZ[zoombytechar] command (as recommended by @hteso)
2011-03-29 14:29:33 +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
8ce2f8b88b * Fix console width chops
* Fix hexview glitch
* Added cfg.wseek (seek after write)
2011-03-25 14:54:30 +01:00
pancake
db63d59d92 * Show cursor when color and bytes=0 in visual disasm
- Fix INVERT color issue in b&w mode
2011-03-25 09:49:43 +01: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
3fbfd81721 * Added zoom.byte config callback and show help with e zoom.byte=? 2011-03-24 12:17:13 +01:00
pancake
66b4d7cf5e * Fix loading the proper reg profile when in debugger
* Fix r_reg profile parser for some EOF issues
2011-03-24 11:03:23 +01:00
pancake
daff6aff5d * Fix set_reg_profile callback in r_anal_arm
* Fix dupness issue between RDebug and RAnal sharing RReg
  - Move reg_profile string into inner RReg
* Remove vm.arch setup in rasm2 -ri
2011-03-24 00:54:09 +01:00
pancake
083d2faebd * Add memoization in r_print_zoom to speedup the work on big disks
* Added R_NEW0 macro to fill with zeroes
* Add documentation for [] keys in Visual mode
2011-03-23 19:19:23 +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
3d142e8ec1 * Initial import of the hashtable implementation of WayLand
- Kinda smart (150LOC)
  - Fork it for 64bit hash keys (make ht64 in libr/util)
* Make RConfig use the RHashTable to resolve by name
  - Code cleanup resulting in -30LOC
  - O(1) access to config variables (speedup!)
  - Make r_list_free and r_list_destroy take sense
2011-03-17 19:05:39 +01:00
earada
f28d12fe25 * Define PFX globally
* Limit block size in print command by cfg.maxbsize bytes (Thanks phr0nak)
2011-03-13 20:27:28 +01:00
pancake
40bb699f20 * Fix prjfile for absolute path 2011-03-10 21:38:56 +01:00
pancake
f564ced79e * Apply beautified version of the @capi_x patch 2011-03-10 14:29:54 +01:00
pancake
7dd8619477 * Add patch from @capi_x fixing segfault when refering an invalid fun var
* Do not override RANLIB with mingw one by default
2011-03-10 14:14:22 +01:00
pancake
35f8f1de0b * Apply Glyn patch fixing entropy fraction calculation
- Added documentation for pZ?
2011-03-08 13:02:02 +01:00
Nibble
864fd7aa7e * Move gdiff stuff to r_anal_diff
* Make r_anal_diff customizable by plugins
* Refactor r_anal and redesign API
* Add dummy methods for security patches evaluation in r_anal_diff
* Add functions:
  - r_anal_diff_fingerprint_bb
  - r_anal_diff_fingerprint_fcn
  - r_anal_diff_bb
  - r_anal_diff_fcn
  - r_anal_diff_eval
2011-03-06 15:21:13 +01:00
pancake
a365d5ef6b * Some fixes in the filtered reflines
* Implement 'Vta' keys to add flagspaces and flags
* Various r_line_set_prompt fixes in visual.c
* Add ':' as an invalid char for flags
2011-03-05 19:09:38 +01:00
Nibble
88be7aace4 * Fix asm.nbytes
* Fix overflow in r_print_hexpair()
* Fix bytes alignment
2011-03-04 02:10:25 +01:00
Nibble
f53e2ac332 * Fix quick jumps in Visual mode using chache
* Clean up build & remove libr.so target
* Update TODO
2011-03-03 16:52:51 +01:00
pancake
95053501d5 * Fix some warnings 2011-03-03 10:42:45 +01:00
pancake
f777210e30 * Added doc/dospart with list of partition types (mp)
* Use 'obs' instead of blocksize for JK visual keys
  - fixes scrolling issue in visual disasm
* Some more glitches fixed in visual disasm
2011-03-02 14:11:34 +01:00
pancake
782452add2 * Fix build and some glitches in visual disasm 2011-03-02 12:33:28 +01:00
pancake
b921a2af7d * Make r_core_magic be verbose or not
* Initial implementation of /p and /m search methods
  - Cleanup some code (-110LOC)
2011-03-02 11:45:20 +01:00
pancake
3f56ce5a95 * Move RMeta inside RAnal
- Get out of RCore! - rebuild required
* Fix cast after scaling entropy (Thanks Glyn)
* Fix indentation of function/nonfunction code
* Add 'f' and 'F' keys in visual mode to seek next/prev
  - between functions, flags and search hits
  - Use 'e scr.fkey' to configure the mode
* Fix prompt in visual mode for ':' key
2011-03-02 00:02:50 +01:00
Nibble
67e20135cc * Add support for more opcodes in anal_x86
- lea, leave...
* Update asm.decode with these changes
* Add var $o for core->io->offset
* Fix "function"|"loc" comments in disasm
* Fix p%
2011-03-01 19:16:29 +01:00
pancake
80a5cb0651 * Remove all references to r_meta as a separated library
- Initial merge into r_anal
  - Prefix R_META_* as R_META_TYPE_
  - Deprecate folder type and rename Cm->Cf (like in p cmd)
2011-03-01 19:06:22 +01:00
Nibble
1535b4c5c1 * Don't flag imports/symbols twice (also for functions)
* Remove unnecessary calls to r_flag_space_set()
* Show calls nicer in decode mode
2011-02-28 17:27:08 +01:00
pancake
6d5b22c29c * Fix entropy range 0-8 (Thanks Glyn)
- Use 0-255 in pZ
* Fix symstall for pkgconfig
2011-02-28 13:29:04 +01:00
Nibble
6d5d4f9b7e * Fix segfault in decode after 'aa' is executed 2011-02-28 09:21:58 +01:00
pancake
077ff4c36e * Some fixes in r_anal_reflines
* Implement r_cons->teefile (e scr.tee)
* Use filtered refline for comments and flags prefixes
* Many visual fixes in functions and reflines in 'pd'
2011-02-28 00:03:26 +01:00
pancake
d953cd9adf * Initial implementation of the java name mangling
- Added as comments before the method names
* Some fixes in r_bin_java
* Added r_buf(append/prepend)
* Show flags always in new lines
2011-02-27 20:30:41 +01:00
Nibble
268d6560ad * Complete analysis for more opcodes in anal_x86
* Decode more opcodes in r_anal_op_to_string
* Complete r_anal_value_to_string()
  - Output imm values
  - Fix segfault
* Remove dupped line from x86.mk
* Remove ref to "dummy plugin" from r_asm.h
2011-02-27 16:17:05 +01:00
Nibble
2863b456ed * Output error when 'wx' tries to write an invalid hexpair
* Rename R_ANAL_MAX_VARSUB to R_ANAL_VARSUBS
* Update TODO
2011-02-26 19:16:08 +01:00
Nibble
91addb3791 * Little refactoring of 'Cv'
* Show 'unk' instead of 0xff...ff for unkwnown calls/args
2011-02-26 14:58:54 +01:00
Nibble
e50fa3ca7d * Undefine functions with Vdu
* Remove unnecessary calls to r_core_cmd in Vdf
* Remove call to deprecated 'ab'
2011-02-25 20:38:55 +01:00
Nibble
7eefc3b582 * Fix bb analysis
- Remove depth checks, it makes sense only for fcns
* Update r_core vapi
2011-02-25 20:23:07 +01:00
pancake
5495f187a8 * /e is the new /m
* /m is for magic search
* Added ?x ?X ?s ?i and ?e
2011-02-25 11:45:05 +01:00
pancake
e557d9a385 * Drop 'r_cons.h' from r_fs
* Fix visual glitch in Vej and Vt
* Handle demangled names as comments
  - in rabin2 and core->bin_load
  - Needs to be a RAnalCall at some point
  - bin_java calls the dummy r_bin_demangle_java
  - Add R_BIN_NM_ANY enum
* Add asm.lbytes config to align disasm bytes to left
* Fix visual glitch in function boundaries
* Import upgraded versions of the idc2rdb scripts in doc/
2011-02-25 04:19:30 +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
Nibble
ddffdff8d2 * Rename r_asm_aop_* to r_asm_op_*
* Rename remaining r_anal_aop_*
2011-02-24 16:50:29 +01:00
Nibble
332524e120 * Rename r_anal_aop_* to r_anal_op_*
--HG--
rename : libr/anal/aop.c => libr/anal/op.c
2011-02-24 14:06:49 +01:00
pancake
0b3f6c6ffb * mo is now flag friendly
* Added vala test script to find special ops
* Add r_core_disassemble helper
* Remove r_vm.h
* Do not reset cursor when quitting visual zoom mode
2011-02-24 09:40:19 +01:00
pancake
9efa5a50cb * Fix cmd.vprompt
* Simplify some functions in r_bin
* Added support for x86-64 for the 'ap' command
* Added dummy function calls for r_bin_demangle()
2011-02-23 20:53:56 +01:00
pancake
be7307338b * Rename 'pm' as 'pf' (print formatted data)
* pm is the print magic command
  - uses libmagic .. used for templatting data
* Added 'psp' command to print pascal strings
2011-02-23 19:11:39 +01:00
Nibble
d9483833c9 * Remove zfs from r_fs 2011-02-23 17:39:24 +01:00
Nibble
f3c32e3c17 * Remove references to r_vm
* Don't build r_vm
* Deprecate cmd 'av'
2011-02-23 17:27:59 +01:00
Nibble
9845881b25 * Add commands:
- 'Cv-' 0x0ff for deleting var renames
  - 'Cv*' for listing var renames in rad mode
2011-02-23 15:38:23 +01:00
Nibble
8546c2d61b * Initial implementation of cmd 'Cv' for renaming vars
* Add r_parse_varsub() to r_parse
* Add config variable 'asm.varsub'
* Minor fixup in core/anal.c
2011-02-23 15:17:06 +01:00
pancake
1c2526c1da * Add 'p=' command 2011-02-23 13:25:41 +01:00
earada
4c72f5f082 * Zoom out in cursor mode
* Fix dalvik goto opcodes
* Initial import of the dalvik anal plugin
* Fix 'ms' mount a non-exist root
2011-02-23 03:01:26 +01:00
pancake
dc3d11d7d5 * Fix segfault in r_cons_memcat
* Add yp command and document yt
* Add p6d and p6e to decode and encode base64 strings
* Remove vm.* config vars
* Fix RNum evaulation for $ variables
* Implement r_fs_posix
2011-02-23 02:10:28 +01:00
pancake
130d088a2c * Implement /A - search for AES expanded keys
* Added /w command to search for wide strings
* Add 'mo' command to show offset and size of given file
  - cd libr/fs/p/grub ; make fs  # to test
* Drop hardcoded list of partition types in cmd_mount
* Fix r_fs_read for files bigger than 512 bytes
2011-02-23 00:54:40 +01:00
pancake
2290969c05 * Added udf and iso9660 filesystems
* Fix msdos partition type info
* Show all supported partition types in 'mp' command
2011-02-21 15:32:42 +01:00
earada
4cb8868ecc * Add filesystem prompt using ms command (Thanks Adriana)
* Add r_str_chop_path support for ../
2011-02-18 18:22:51 +01:00
Nibble
fc9d5f2dca * Filter loc's in 'afl' output 2011-02-18 13:38:37 +01:00
Nibble
5c1d473b69 * Fix segfault in r_list_destroy()
* Fix Build
2011-02-18 10:58:17 +01:00
earada
15ca02a355 * Fix chop in r_fs mount, dir and open 2011-02-18 01:43:31 +01:00
pancake
c348fe7a8a * Add install-doc-symlink (install fortunes!)
- thanks ash for reporting
* Some indentation fixes in printzoomcallback
* Fix r_flags.vapi
2011-02-17 01:22:15 +01:00
earada
c089297bd8 * Add print zoom mode 'pZ'
* Visual zoom mode 'z'
* r_print now uses RIOBind
* Add r_flag_space_get
2011-02-17 00:58:54 +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
Nibble
8cf6516d0d * Speed up 'k' in visual
- Use cache instead of bwdisasm
2011-02-15 16:19:18 +01:00
Nibble
6aea3ed907 * Implement 'pd -n' for backward disassembly
* Use bwdisasm in visual.c for 'k'
2011-02-15 12:31:32 +01:00
pancake
8d60673253 * Autocomplete 'o' and '.' with filename in filesystem
- Leaks a lot.. but mostly works :)
2011-02-13 01:37:02 +01:00
pancake
13b4c2d9f1 * Added 'pb' command to print in binary form
* Added 'ap' command to search and analyze function preludes
  - x86 only atm.. just as a PoC
2011-02-12 12:54:26 +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
Nibble
affc72e255 * Minor fixup in 'ag' (print also syms) 2011-02-11 17:11:31 +01:00
Nibble
2a477ce8b7 * More refactoring of r_core_anal_*
- Remove ugly pbb
* Add support for global diff graphs
* Fix global graphs
2011-02-11 16:56:38 +01:00
Nibble
9a20ce63b2 * Fix command 'cg' 2011-02-11 15:42:38 +01:00
Nibble
9acb486f7b * Enable string analysis on init 2011-02-11 11:38:47 +01:00
Nibble
800e3a9076 * Update vapi's to the new changes in r_anal 2011-02-11 11:37:28 +01:00
Nibble
f3f094117a * Huge refactoring of r_anal code and API 2011-02-11 11:22:43 +01:00
pancake
e4e77b2c75 * Autodetect required column width to fit in screen
* Add 'pd' in autocomplete and clean some warnings
2011-02-10 00:55:30 +01:00
pancake
5228d4eff0 * Autocomplete flags after '@'
* Fix some segfaults when core->file is NULL
* Some simplifications in dietline
2011-02-10 00:21:05 +01:00
Nibble
c16f6d7777 * Sort basic blocks after analysis
- Make diffs more accurate if split is enabled
2011-02-09 22:51:25 +01:00
Nibble
ead4e9502f * Simplify type assignment in r_anal
* Include fcn type in 'rabin2 -r' output
2011-02-08 00:15:12 +01:00
Nibble
cc9cefa74e * Some refactoring of r_anal
- Add fcn types for syms and imports
  - Filter bindiff matches by type (speed up analysis)
  - Assign the right fcn type in bin_load
* Fix segfault in r_anal
  - Solve bug with unknown opcodes + graph splitting
* Update more vapi's
2011-02-07 17:43:50 +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
64c4e5c014 * Fix various bugs in r_lang api
- Use RList instead of kernel's list.h
* Initial import of 'vala' plugin
  - Allows to write Vala/Genie scripts
2011-02-06 14:10:16 +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
b6ff556b75 * Enhace some help messages (.?)
* Added search.prefix "hit" by default.
* search.asmstr is now boolean and true by default
  - Affects /c opcode search command
* Add much more autocompletion hints for commands
* Fix tabulation of list of available options in r_line
2011-02-05 02:21:40 +01:00
pancake
387e82728a * Fix offscreen cursor with <0 seeks in Visual mode 2011-02-05 00:36:51 +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
Nibble
5742b10641 * Remove remaining fastcall stuff from r_asm
* Fix build for bindings
2011-02-04 18:34:20 +01:00
Nibble
7de9646195 * Merge 2011-02-04 14:07:56 +01:00
Nibble
1d83a7ba25 * Some optimizations in r_anal
- bb's are included in fcn struct
  - analyze bb's and fcn's all together
* Update some vapis
* Fix build
2011-02-04 14:03:59 +01:00
pancake
8924841072 * Some more work on r_core_sysenv*
- fix api, but still not using BLOCK or so
* Fix help for ??? and !?
* Upgrade swig/configure.acr to 0.6.9
2011-02-04 11:30:08 +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
fdd8ed6bc1 * Use r_reg API from r_anal in order to retrieve info for r_syscall
* Hacky support for software interrupts in anal.x86im plugin
* Added 'B' key to toggle automatic blocksize
2011-02-03 00:57:29 +01:00
pancake
1f1a36c817 * Initial implementation of the r_anal_aop_execute api
- It's like r_vm, but using r_anal
  - r_vm is going to be deprecated
* Added r_mem_set_num()
* Remove deprecated asm/t/fastcall example
* Fix warnings in r_syscall_regs
  - Integrated with r_syscall_use()
  - Fix r_syscall_reg() out of bound bug

--HG--
rename : libr/syscall/regs.c => libr/syscall/fastcall.h
2011-02-03 00:20:39 +01:00
pancake
1f953579ea * Fix build 2011-02-02 13:23:44 +01:00
pancake
965a577af2 * More work on the r_anal/r_syscall refactoring for calling conventions 2011-02-02 13:05:48 +01:00
pancake
bc38178050 * Add support for multiline macro definitions 2011-01-27 09:31:52 +01:00
pancake
4eeb7b1331 * Nicer inc method for visual key
* Clean warnings in r_search test programs
2011-01-27 01:12:02 +01:00
pancake
edd47d4229 * Fix visual glitches when hexdump and code are mixed
- Fix scrollup/scrolldown using new core->inc var (yay)
2011-01-27 00:45:16 +01:00
pancake
cec3935b00 * Fix r_cmd_macro '(' command now works 2011-01-26 23:40:16 +01:00
pancake
af7cfafc0d * Initial api for r_anal_cc (calling conventions)
- Not yet implemented, just a draft
* Added initial AVR cpu code analysis plugin
2011-01-26 21:54:39 +01:00
pancake
c79c75c9e7 * Use adaptative blocksize as reported by rvalles
- Only affects disasm and hexdump in visual mode
2011-01-23 17:48:31 +01:00
pancake
9cd07bd9d2 * Added r_cons_resize() and _interrupt() RConsEvent callbacks
- Use _resize() from visual mode, so redrawing is now cleaner
* Minor bug fixes
2011-01-23 13:12:16 +01:00
earada
2fd808e19b * Fix rafind2 build
* jk visual commands seeks an opcode size
2011-01-21 10:21:04 +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
d0af9bcc66 * Added support for listing MSDOS partitions
- Other partition types (leeched from GRUB) will be added soon.
  - Added 'mp' command to display partitions
* Clean warns and fix some bugs in the grub code
2011-01-14 14:41:56 +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
ca432e3f04 * Initial import of the 'r_fs' API
- Allows to mount filesystems in virtual IO
  - Only dummy ext2 plugin ATM
  - Added 'm' command in r2 to manage mountpoints,
    list directories and retrieve files
  - Bonus: hacky version of grub/fs code to use it
    as a standalone API. Plugins will use it
  - API is quite simple and limited, read-only access
2011-01-12 00:01:06 +01:00
earada
0eaceff162 * Fix function asciiart in r_print_disas
* Add mmap & mmap_free windows support
2011-01-02 14:39:25 +01:00
Nibble
5b9fd63c1f * More work on gdiff
- Follow basic blocks instead of diffing fcn->addr+fcn->size
    vs fcn2->addr+fcn2->size
* Remove unused r_core_anal_graph_fcn
* Fix build
2010-12-24 16:58:27 +01:00
Nibble
2e26e35584 * Add bb list into RAnalFcn structure
* Analyze bbs per function
* Remove gdiff from radiff2 temporary (deprecate?)
  - Meanwhile ragdiff2 should be used
* Update TODO
2010-12-24 13:27:20 +01:00
earada
cf1d6a1d78 * Use RList in RFLags 2010-12-24 00:51:01 +01:00
pancake
ecf0988c21 * Use 'native' debugger backend by default
- Fixes 'dp*' when not running as debugger mode
  - Added r_debug_pids () (sync vapi)
  - Fix possible segfault if no anal given to dbg
* Some cosmetic fixups
2010-12-22 01:23:35 +01:00
pancake
29a870a269 * Minor cosmetic sugar fixes in CODE XREFs
* Some more fields into r_io vapi
2010-12-15 11:32:39 +01:00
pancake
ef9e96c03d * Some cosmetic fixes in 'pd' 2010-12-13 00:49:33 +01:00
Nibble
058631a555 * Only compare fcns by name if it begins with "imp.", "sym.", "fcn.imp." or "fcn.sym."
- Avoid problems with functions named fcn_offset
2010-12-09 16:04:55 +01:00
Nibble
c2da7cf5a2 * Compare fcns with the same name first in gdiff 2010-12-07 16:52:33 +01:00
Nibble
2bb73ba631 * Add getter r_anal_get_fcns()
* Install python bindings also in dist-packages
* Update and fix some vapis
2010-12-06 16:26:21 +01:00
Nibble
28d0a62430 * Change gdiff API so it takes 2 core's as args
* Don't output diff info and vars in 'afl' for loc's
* More refactoring of gdiff
2010-12-06 03:34:44 +01:00
Nibble
ea73472ee6 * Add optimization in gdiff based on function size boundaries
- Makes bin diffing 5 times faster
2010-12-05 19:43:12 +01:00
Nibble
92baebdadd * More optimizations in gdiff
* Fix af* output
2010-12-05 10:44:27 +01:00
Nibble
a0ae2c2286 * Show detailed info for diffing in afl output
* Create struct RAnalDiff and move diff related fields inside
* Move {RAnalFcn, RAnalBlock}.diff from int to RAnalDiff*
* Add r_anal_diff API
2010-12-05 08:46:56 +01:00
Nibble
b3e34d3270 * Free fingerprints in gdiff when they have been used 2010-12-04 19:49:13 +01:00
Nibble
e88482e1b7 * Remove DEBUG messages from gdiff 2010-12-04 15:25:45 +01:00
Nibble
c254af504f * More optimizations in gdiff
* Fix the usage message of radiff2
2010-12-04 15:24:39 +01:00
Nibble
f50fc41794 * Huge refactoring of gdiff using Levenshtein distance and binmasks 2010-12-04 15:14:53 +01:00
Nibble
fc11acc128 * More work in var analysis
* Put RAnalVar->type and RAnalVar->dir together
2010-12-03 13:52:11 +01:00
pancake
96c998fe78 * Fix XREFs and xdot graph output 2010-12-01 23:30:00 +01:00
Nibble
f55fb1accf * Fix r_anal_var_add() call in cmd.c 2010-11-29 20:11:49 +01:00
pancake
8aded92fa6 * Added C stub for plugin.vala
- Major cleanup in vapi/t Makefile
* Fix a format string bug in flags
2010-11-29 10:22:38 +01:00
Nibble
717713c3b2 * Rename cmd 'a' to 'aa' (analyze all) 2010-11-27 15:03:00 +01:00
Nibble
0ffefbc320 * Modify cmd 'a' to analyze all the fcn's and bb's of the bin 2010-11-27 04:20:19 +01:00
Nibble
ed33751a8e * Add cmd 'a [@ addr]'
- Helper for af+ab (analyze functions and basic blocks)
* 'a?' shows analysis help
2010-11-26 13:13:45 +01:00
Nibble
5c986e4464 * Fix bug calling r_anal_fcn_add() 2010-11-23 20:16:43 +01:00
Nibble
7e8b8a9900 * Show /* func: */ or /* loc: */ in disassemble
* Filter fcn searchs by type (reduce pd time)
* Add arg 'type' to r_anal_fcn_find()
2010-11-23 19:55:31 +01:00
Nibble
e4832f435d * Distinguish betwen fcn's (call refs) and loc's (jmp refs)
* Show fcn type and code xref type in 'afl' output
  - C for calls, J for jmps
* Add optional argument 'type' to command 'af+'
  - l for loc's, f for fcn's (default)
* Add argument 'type' to r_anal_fcn_add()
* Add field type to RAnalFcn and enum RAnalFcnType
2010-11-23 17:15:33 +01:00
Nibble
b3cd57f573 * Add arg reftype to r_core_anal_fcn()
* Add R_ANAL_REF_TYPE_CALL and R_ANAL_REF_TYPE_NULL to RAnalRefType enum
* Set type R_ANAL_REF_TYPE_CALL to call refs during opcode analysis
* Fix bug in r_core_anal_fcn() increasing performance
2010-11-23 14:05:23 +01:00
Nibble
60f54b6969 * Add r_core_anal_fcn_cc() in r_core for Cyclomatic Complexity calc
* Add command 'afc'
* Add fields 'ncalls' (number of calls) and 'conditinal' to RAnalBlock
* Set anal.split=true by default
2010-11-22 15:14:54 +01:00
pancake
75ac253a23 * Fix segfault in r_core_read_at 2010-11-22 01:27:20 +01:00
Nibble
1f8d80e37c * Zero out UCALL and UJMP opcodes in r_anal_strmask()
* Add imports to functions with name fcn.imp.* in r_core_bin_load()
* Fix bug in cmd 'zg', truncate ouput file
2010-11-21 19:01:41 +01:00
Nibble
71978e186f * More optimization on the analysis loop
* Add config_analsplit_callback() in anal/config.c to set RAnal->split
* Add field split to RAnal struct
  - Avoid unnecessary call during BB analysis
* Set the default anal depth to 100
* Take into account internal calls in xref analysis
* Rename anal_x86_x86im to anal_x86 and make it the default anal plugin
* Rename anal_x86 to anal_x86_simple (x86.simple)

--HG--
rename : libr/anal/p/anal_x86_x86im.c => libr/anal/p/anal_x86.c
rename : libr/anal/p/anal_x86.c => libr/anal/p/anal_x86_simple.c
rename : libr/anal/p/x86_x86im.mk => libr/anal/p/x86.mk
rename : libr/anal/p/x86.mk => libr/anal/p/x86_simple.mk
2010-11-20 16:47:15 +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
421208a0c7 * Replace main for binsym in r_bin
* Added dummy commands for r_debug_fork/clone
2010-11-18 11:41:17 +01:00
pancake
a4f1627681 * Fix build (thanks @earada) 2010-11-17 21:40:55 +01:00
pancake
6d515cc1a8 * Update and reorder TODO tasks
* Added r_file_mmap() functions in r_util
* Do not hash files bigger than 10MB
* Fix abspath() return value and signature
2010-11-17 21:15:34 +01:00
pancake
0aafe05b45 * Step now accepts pid+tid
* Fix attach in w32 debugger
  - use dpa and get first thread by default
* Mark with asterisks the selected pid/thread (dp/dpt)
* Fix reg_write in w32
2010-11-17 02:31:56 +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
1a02d7b403 * Implement r_core_search_cb() method
* Added boolt and ut8p macros (looking for better names)
2010-11-15 11:06:10 +01:00
pancake
49ab1886c2 * Fix branch analysis in arm thumb
* Various unnecessary syntax changes
2010-11-14 16:38:17 +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
pancake
9dc6a049b1 * Fix make -j for paralel builds
- use hacky 'waitfordeps.sh' helper script
  - speed up the build process
* Do not build libr2.so by default
  - Do not generate library archives (.a)
  - Fix build dependencies in vm/p/plugins.h
* Added --with-nonpic
  - Enable the .a generation
2010-10-29 03:10:10 +02:00
Nibble
35dc03713d * Bypass bp in the remainder continues
* Disable stop_all_threads temporarilly
  - Only step once in bypassbp()
2010-10-28 21:20:44 +02: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
5d107aa50c * Fix build
* Fix soname for libr2.so
2010-10-28 13:12:14 +02:00
pancake
63be7d8070 * Use relative symlinks in versioned libs
* Add r_meta stuff inside r_anal api
2010-10-28 12:10:21 +02:00
pancake
98cc88700d * Added much more detailed vapis
- Enhaces API support for valaswig bindings
  - I'm probably breaking the build
2010-10-28 00:55:07 +02:00
Nibble
37db11ac74 * Fix r2 initial seek in non-debug mode 2010-10-28 00:19:10 +02:00
Nibble
c2dd0f1126 * Minor optimization in r_core_prompt()
- Avoid the use of r_config_get_i
* Apply pancake's patch
  - fix cmd 'bp' with flags
2010-10-27 19:00:45 +02:00
Nibble
a3ff1f5261 * Fix initial seek in debug mode to pc (use sr pc)
* Complete 's' help
* Fix dietline echo in 'r2 -v' mode
  - Add cb for scr.prompt
2010-10-27 17:45:53 +02:00
pancake
668ef5dd80 * Install plugins in versioned directory
${PREFIX}/lib/radare2/${VERSION}
2010-10-26 23:19:08 +02:00
pancake
89680b63f0 * Fix eflags parsing for x86-32/64 debugger
- added ?f and ?b commands to parse bits and flags
2010-10-26 21:00:54 +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
Nibble
b41f4b5380 * Use '[27m' (invert off) instead of '[0m' in r_cons_invert
* Fix colorize in visual mode (pd view) when cursor is enabled
2010-10-23 21:40:58 +02:00
Nibble
c79afe3568 * Add var vm.arch
* Fix vm arch setup at startup
* Fix flag set in visual mode when cursor is enabled
* Filter string names before adding flags in r_bin_load
* Fix r_flag_name_filter (do trim)
* Fix r_sys_rmkdir
* Update TODO
2010-10-23 14:27:13 +02:00
pancake
431e626680 * Fix $$$ variable
* Do not set io.va twice
2010-10-22 01:16:32 +02:00
pancake
f7dd1dd66f * Build w32 python bindings in build.sh
* Added 'drb' command to show bytes of GPR
* Fix signature of r_print_hexdump and _hexpairs
* Enhace r_reg test case
* Fix swig/Makefile w32dist target
2010-10-19 22:17:58 +02:00
pancake
a25065fa75 * Honor print->cols in visual {j,k} 2010-10-19 13:17:25 +02:00
Nibble
65bd1b53e9 * Fix block read in visual mode
* Use a more reliable way for fixing the got_offset issues
* Remove ELF_GOTOFF_MASK
2010-10-19 12:57:28 +02:00
pancake
bbdf96a97d * Some work on the analysis of the cursor bug 2010-10-18 11:38:52 +02:00
pancake
9313a158d6 * Added compilation support for python bindings on Windows
- Documented in doc/windows
* Use single linked list pointer in rbin->rcore
  - Thanks @earada :)
2010-10-18 00:00:17 +02:00
pancake
9f7040dbf8 * Fix warnings in asmserv on windows
* Some alloca->malloc fixes for w32
* More error checking in r_sys_rmkdir
  - Uses the new r_sys_mkdir_failed() api
  - works on windows and posix
* Disable asm.dwarf when the plugin fails to init
  - Displays a warning message
* Added 'e scr.cols=16'
  - Determines the width of the hexdump (px, x)
  - Used also by Visual mode hjkl dimensions
2010-10-17 23:03:54 +02:00
pancake
5d946a8b21 * Apply some fixes for w32
* More nullptr checks
  - Fix 'drp'
* Fix build
2010-10-14 19:01:14 +02:00
pancake
93e69bab0e * Fix null pointer issue related to r_syscall and r_core 2010-10-14 17:06:09 +02:00
Nibble
bfbd12ed3c * Don't add symbols as functions before analyze them
* Update and simplify gdiff
2010-10-13 18:51:10 +02:00
pancake
d607e969bc * Fix division by zero in VM code when using ATT syntax
- use intel syntax when running VM code from disasm loop
2010-10-13 18:07:55 +02:00
Nibble
11e8d6a1da * Fix va issue in dbg mode 2010-10-13 01:23:27 +02:00
Nibble
17542ef3de * More work on r_bin and r_util vapi's
* Minor aesthetic fix in core/file.c
2010-10-12 07:08:03 +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
35adb1690d * Apply fix in rbin->core integration from @earada 2010-10-12 01:16:39 +02:00
pancake
b716077518 * merge 2010-10-11 17:12:08 +02:00
pancake
f1e46a88f6 * Do not run .!rabin2 from r_core
- Use internal APIs to load binary information
  - Startup time reduced about 2-3 times
  - Thanks @earada for this patch!
2010-10-11 17:11:43 +02:00
Nibble
f29444ab20 * r_core
- Add var asm.functions to show/hide function analysis in disasm
  - Take into account asm.{xrefs, functions} in disasm
* vapi's
  - Add bin to RCore in r_core.vapi
2010-10-09 19:13:10 +02:00
Nibble
b3ac5bd4d4 * r_core
- Add helpers r_core_disassemble_instr() and r_core_disassemble_bytes()
* bindings
  - Fix go detection
  - Update r_core.vapi
2010-10-09 13:54:08 +02:00
pancake
1fc70da3c9 * Analyze cmp/ldr/str opcodes in arm thumb
* Minor work to fix the cursor issues
2010-10-08 11:10:25 +02:00
pancake
cc4e664533 * Do not show cursor in visual mode when cursor is disabled 2010-10-08 00:48:07 +02:00
Nibble
44eff205c1 * r_core
- Fix DATA in disasm
  - Correct the number of lines showed with 'pd n'
* Update r_core vapi
2010-10-07 13:02:07 +02:00
Nibble
124aa07a96 * Add r_core_asm_bwdisassemble for backward disassemble resolution
* Add example using bwdisassemble in swig/vapi/t/bwdisassemble.vala
* Add field len to RCoreAsmHit
* Update vapi's
* Fix memory leak in r_core_asm_strsearch()
* Fix several vala examples
* Fix r_list_iterator warning in vala
2010-10-06 18:04:47 +02:00
pancake
f99e946b9b * Initial import of rasc2 (copypasta from r1) 2010-10-04 19:43:40 +02:00
pancake
e8f8e72896 * Added r_bin_get_object() to cache binary information
* Initial work in r_core_bin_load()
  - Integrating rabin2 inside core
2010-10-04 10:55:43 +02:00
Nibble
a1d0887ca8 * Fix build (update core/anal.c with the last changes in r_bin)
* Implement extract in rabin2
2010-10-04 04:01:25 +02:00
pancake
ee39ba239a * Add 'FS' #define for w32 and *nix
* Add support for thumb mode ARM disassembler
  - Workaround a warning in r_vm for arm-16
* More work on drx.c, but still not integrated
2010-10-04 00:42:11 +02:00
pancake
8081f02601 * Fix uninitialized variable in rabin2
* Fix null pointer handling in rbin when no xtr plugin found
* Initial draft code for the x86 debug registers implementation
* Fix avr* command
2010-10-01 11:10:59 +02:00
Nibble
e02c81ddf1 * r_core
- Minor fixup in r_core_asm_strsearch
* vapi
  - Add asmsearch.vala
  - Some updates
2010-09-30 20:55:20 +02:00
Nibble
df9434b1ec * Make r_core_asm_strsearch more API-friendly
- return RList of RCoreAsmHit's
  - Add helpers for list handling
* Add type RCoreAsmHit
* Show hit code as comment with '/c', eg:
    [0x00402350]> "/c jmp e; ret"
    f hit0_0 @ 0x004078e8   # jmp eax; ret 0xffbc;
    f hit0_1 @ 0x00409416   # jmp ebx; ret 0x8b48;
    f hit0_2 @ 0x0040ded4   # jmp ecx; retf ;
* Update r_core vapi
2010-09-30 19:25:47 +02:00
Nibble
4369761655 * Fix typo in printf 2010-09-28 19:57:02 +02:00
Nibble
7d1303292e * r_anal
- Fix segfault in anal_x86_x86im (64bits)
  - always show analysis warnings
* r_core
  - Fix /a output
2010-09-28 18:52:46 +02:00
Nibble
697490a661 * r_core
- Implement 'ar' commands
  - Show XREFS in disassembly
* r_anal
  - Add r_anal_xref_get
2010-09-28 18:05:31 +02:00
Nibble
eb811bbf08 * r_core
- Deprecate ah and add anal.plugin
  - e anal.plugin=? list available plugins
  - Add the command 'ar' to handle refs/xrefs
  - Remove old CX and Cx stuff
  - Remove afg (done by af)
* r_anal (& r_meta)
  - Remove refs/xrefs stuff from r_meta
  - Handle refs from r_anal
  - Add r_anal_ref_{add, del}
* rabin2
  - Add 'e anal.plugin' to the output of rabin2 -Ir
2010-09-28 13:58:03 +02:00
Nibble
e5bc46da65 * Update r_anal with the changes introduced in r_bin 2010-09-24 21:30:33 +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
124786c1ac * Added 'drd' command to show only modified regs
* Added r_list_foreach_prev()
* Add RSyscallPort to handle Hardware I/O ports
* Remove libr/TODO and refactor /TODO
* Link with 'ld' in rarc2-tool for nasm
2010-09-24 16:45:56 +02:00
pancake
eb6dbb2245 * Initial draft implementation of hardware breakpoints
- use specific ptrace() calls in linux/freebsd to change regs
  - hwbp are not yet working, just basic DRX get/set
  - generic interface to handle hw bps in x86-32/64
  - needs to import DR# handling code from r1
2010-09-24 05:41:54 +02:00
pancake
84dd63b743 * Add 'bf' command to change block size based on flag size
- Added help in 'b?'
* Added support for bit-collection registers
  - eflags is now displayed as a string
  - debug/p/debug_native.c needs a correct x86 flag string
* Fix segfault when listing empty register sets
2010-09-24 04:09:39 +02:00
pancake
46aa9f5f7e * Implement stacked register storage
- Add support for register diffing
  - Colorize modified registers are step/cont
  - Add command 'dro' to show old register values
  - requires make clean
2010-09-23 20:42:35 +02:00
pancake
022e6c96f0 * Add pt command for print times (Thanks @earada for the patch)
- pt prints times in unix format
  - ptd prints times in dos format
  - ptn prints times in ntfs format
* Add cfg.datefmt in global config to define the format output of 'pt'
2010-09-23 12:59:54 +02:00
pancake
1356a9bdd1 * Highlight destination offset when cursor on jmp/call in visual
* Show call decompilations under the opcode as a comment
* Rename RRegister as RReg
  - Deprecate r_reg_init and use r_reg_new
  - Rewrite the list.h dependency in r_reg in order to use r_list
  - Fix some memory leaks
* Implement push/pop methods in RReg class
  - add test case using it
  - will be used for register diffing and tracing
2010-09-18 02:51:17 +02:00
pancake
1b1599c6df * Support for some push/pop arm opcodes with 2 regs
* More fixes for rarc2 on ARM
* Implement .fill directive in r_asm
* Added asm.profile in r_core
* Added r_str_bits as a helper to display register flags
2010-09-14 11:22:31 +02:00
pancake
183dffcd6b * Fix push immediate opcode analysis in basic x86 analysis
* Import simple arm assembler
* Some fixes for the brainfuck disassembler plugin
2010-09-08 19:49:34 +02:00
Nibble
59ac6a7c8b * Refactoring of /a
* ptrdepth works right with code and data refs
* More work in x86im plugin
  - Fill op.refs for more opcodes
  - Next step is a massive refactoring using r_anal_value
2010-09-08 11:52:10 +02:00
pancake
14f5a6a6fd * Cleanups in many TODO/READMEs 2010-08-26 12:18:30 +02:00
pancake
984b5c4d16 * Apply edu's project patch
- CC now ask for size, like the rest of r_meta_add commands
  - Project tracks meta, xrefs and sections information and actual offset
  - Visual add comment patched to use new r_meta_add comment with size
  - Documented C* in r_meta help.
2010-08-26 04:19:12 +02:00
pancake
df9cc8983c * Try to fix r_io_bind segfault in 64bit boxes 2010-08-26 01:35:32 +02:00
pancake
72065de10a * Initial hacky implementation of RAnalCall in 'pd' 2010-08-25 12:35:08 +02:00
Nibble
98a09ecd52 * ranal2
- Add stackop2str() and optype2str()
  - Output op type
* r_anal
  - Fix fcn analysis
  - Remove test_anal.sh
2010-08-25 02:27:42 +02:00
Nibble
c83d11ffd4 * r_asm
- Update udis86 to git head
* r_anal
  - Print more fields in test_anal
* r_socket
  - Rename socket_udp_connect to r_socket_udp_connect
* Fix build
2010-08-24 19:59:19 +02:00
pancake
c6a115c602 * Import 'rtr.c' from r1 in order to implement '=' command
* Add missing r_socket_udp_connect()
2010-08-24 11:58:09 +02:00
pancake
8f6192738c * Apply patches from edu (Thanks)
- Fix '#' command
2010-08-24 04:09:12 +02:00
pancake
3edaed0067 * '|' at the beggining of command is an io pipe instead of console pipe
* r_line uses ansi code to clean line instead of drawing spaces
2010-08-23 19:13:19 +02:00
pancake
3abfbe418d * Swap file-offset order in visual prompt
* Fix build
2010-08-23 12:39:00 +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
pancake
19f072f3f5 * Import Vv command to visually analyze functions from r1 2010-08-22 19:07:03 +02:00
pancake
3c8ddce624 * Import more r_anal_var stuff from r1
- Implemented 'af[aAv]' command.
  - In r1 this command is 'CF[aAv]'
  - Variable contents are not displayed yet
2010-08-22 18:41:57 +02:00
pancake
675b04e7cd * Integrate r_vm into r_core
- Analyze code in order to do syscall analysis
  - Some fixes in r_vm to make it work
  - Add 'av' command to interact with the virtual machine
  - added r_str_subchr helper func in r_util
2010-08-22 17:56:50 +02:00
Nibble
5b9d174fbc * r_anal
- Add test_anal (to speed up the development of analysis plugins)
  - Add test_anal.sh (helper)
* r_core
  - Remove debug msg from the output of cmd 'i'
2010-08-20 21:47:58 +02:00
pancake
b6cc9ca1ba * Merge r_meta inside r_anal
* Display filename in title line of Visual mode

--HG--
rename : libr/meta/README => libr/anal/README.meta
rename : libr/meta/meta.c => libr/anal/meta.c
rename : libr/meta/t/test.c => libr/anal/t/test_meta.c
rename : libr/meta/type.c => libr/anal/type.c
2010-08-20 00:36:22 +02:00
pancake
82d8b0f336 * Implement r_core_sysenv_update()
* Simplify some functions in core/cmd
* Move CF -> afs
  - Add documentation for 'afs' command
  - Accept numeric argument
  - Add support for 'get' and 'set'
2010-08-19 20:28:25 +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
Nibble
283c2efef9 * rabin2
- Add flag -n to filter by {symbol, import, section} name
* r_core
  - dmi accepts argument symname
  - more work on cmd parsing
2010-08-17 13:15:18 +02:00
Nibble
37fdce78f8 * Minor fixup O:) 2010-08-17 01:56:49 +02:00
Nibble
f41acb4729 * r_core
- Fix ."raw cmd" to interpret raw cmd output
  - Fix .cmd~str to interpret grepped output
* r_cons
  - Add r_cons_filter() to apply cons filters (grep, html...)
* Update TODO
2010-08-17 01:27:24 +02:00
Nibble
f841376cc8 * r_core
- More work on dmi
  - Don't flag symbols without any output
  - Output human readable format with 'dmi'
  - Output radare commands with 'dmi*'
2010-08-16 16:07:45 +02:00
pancake
3287f8d64d * Filter string to avoid escaped commands execution (r_str_unscape)
* More chars filtered in rabin2 -z (flag ..)
* Parse PLT in order to find matching ordinal in rgot.vala
2010-08-16 14:58:10 +02:00
Nibble
6727897e73 * rabin2
- Add flag -b to set a custom baddr
* r_core
  - Add command 'dmi' to flag the symbols of a given lib in memory
2010-08-16 14:35:15 +02:00
pancake
14516c7e9c * Implement 0x2e and 0x64-0x67 conditional jmp opcodes on x86
* Stop parsing commands at '#' char (comment)
* strclean command strings before executing them (fixes some issues with spaces..)
* V: is now honoring cursor position in cursor mode
2010-08-16 13:59:48 +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
Nibble
e22bdf0c79 * r_util
- Add r_str_ansi_filter() for removing ansi codes
    in a given string
* r_cons
  - Remove ansi codes before doing grep, avoid problems
    with colors
2010-08-13 01:18:06 +02:00
pancake
2039bbe3eb * Apply edu's patch implementing V[yY] and +- for blocks using woa/wos 2010-08-12 15:52:07 +02:00
Nibble
8768a18a88 * r_core
- Add support to '/c' for "multiple instructions" search
    with search.asmstr=1
  - Move r_core_asm_search functions to core/asm.c
  - Fix typo in r_core_anal_search()
2010-08-12 14:54:24 +02:00
pancake
3ced8a528c * Initial work on function_from_string parser for r_anal
- CF? for testing
2010-08-12 12:19:25 +02:00
Nibble
b218d39420 * Implement '/c' for 'search.asmstr=1' 2010-08-11 19:10:47 +02:00
Nibble
16f6c7a392 * r_asm
- Handle errors in x86_nasm plugin
* r_core
  - Minor fixup in debug message in '/c'
2010-08-11 18:29:15 +02:00
Nibble
02251522ea * r_core
- Add cmd '/c' for searching asm code
  - Add config var search.asmstr
* build
  - Minor fixups in "make mrproper"
2010-08-11 17:48:02 +02:00
pancake
8a3c845627 * Implement @:blocksize syntax for commands
* Some reordering of the TODO
2010-08-10 12:34:10 +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
38b4665bb1 * visual mode
- Fix flickering while keeping pressed s or S (step, step over)
  - Prompt "Press any key" after using ':'
* r_core
  - Group refs under CODE & DATA in afl output
  - Remove command CF (use af+ instead)
2010-08-06 17:19:09 +02:00
Nibble
dd310e4352 * Fix bug in r_parse_filter (thx edu!) 2010-08-02 19:34:23 +02:00
Nibble
a7750b3204 * r_anal
- Add field at to RAnalRef
  - Set ref->at to the addrees of the opcode which does the
    jump/call
  - Set correctly the xrefs "from" address
* r_core
  - Modify afl to accept an optional argument [fcn name] to
    filter output by function
  - Change afl output to group xrefs by type (code and data)
2010-08-02 12:42:59 +02:00
Nibble
d094f42d2f * r_bin
- Fill RBinImport->size within bin plugins
  - Add field size to RBinImport
* r_bin_elf
  - Correct value of r_bin_elf_symbol_t->size for imports
* rabin2
  - Output af+ command in radare mode
* Update TODO
2010-08-01 11:02:55 +02:00
Nibble
2251f089fa * Fix bug analyzing fcns
* Update TODO
  - stackptr is correctly handled in 'ret n' instructions
2010-07-31 20:00:54 +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
pancake
894202db16 * Fix creation of ~/.radare2/rdb and r2 -p (Thanks edu!)
* Re-run ./configure-plugins if .def.cfg is newer than .cfg
* Documentate build instructions of the TestRBin.java
* Sync TODO and ChangeLog
2010-07-23 01:15:03 +02:00
Nibble
216973b29c * Fix bug regading false positives with z/
* Fix r_mem_cmp_mask
* Update TODO
2010-07-21 17:11:06 +02:00
Nibble
f5ad5c138a * Fix z/ ranges 2010-07-21 12:59:11 +02:00
pancake
1ab4a426da * Fix some bugs reported by edu in the signature module
* Minor updates in TODO
2010-07-21 11:12:24 +02:00
pancake
53843bb8ab * Added static version of 'sw' in doc.sw/sw
- main repo only works in cgi mode..
* Fix 'z*' command
  - Display bytes when listing 'zb'
* Drop unused 'RList*' from RSignItem
* Add missing definition of r_flag_rename
2010-07-21 00:05:33 +02:00
pancake
e2192f185e * Fix segfault in r_sign caused by an off-by-one
* Use r_flag_item_rename() to avoid wrong flag hash indexing
  - Based on edu's patch (thanks!)
2010-07-20 23:25:15 +02:00
Nibble
67478d4bfb * Fix bug flagging analyzed functions
* Add libopenssl to configure report
* Update TODO
2010-07-17 15:50:09 +02:00
pancake
c84ba4b076 * Display cursor information in visual prompt when enabled
* Partial support for visual selection of bytes in disassembly
2010-07-16 11:28:16 +02:00
pancake
9587e5ac9a * Implement #md5 #md4 #sha1 #sha256 #sha512
* Fix r_print flags in visual
* Fix r_debug_trace_pc
* Import some macros from bithacks.h
2010-07-16 00:02:33 +02:00
pancake
2f09509630 * Fail when binr build fails somewhere
* userconf R2_VERSION
* Implement some more # hashing algorithms
2010-07-15 13:34:53 +02:00
pancake
87841fbe15 * Fix build
* mrproper runs clean too
2010-07-13 11:48:26 +02:00
pancake
a2ab58dbe6 * Implement 'Ct' command to manage anal_var_types
* Minor todo cleanup
* Use more PFMT64
2010-07-13 10:56:56 +02:00
pancake
28f3d983e6 * Fix build and support unset breakpoint command 2010-07-13 01:22:44 +02:00
pancake
773c2549ad * Initial implementation of callback commands for r_bp
- Added 'dbc' command to configure them
* Check breakpoint stop everywhere
2010-07-13 01:20:57 +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
pancake
67ad35187b * Refactor TODO
* Added r_anal_fcn_to_string() and get_var()
  - vars now have array size and direction
* Some random fixes
  - minor opimitzation in autocompletion (thx edu)
* Added Vtlr command to rename in visual tracked flags
2010-07-12 21:37:40 +02:00
pancake
bafedbd021 * Display error when 'nasm' is not installed
* Autocomplete flags for 'fr' command
2010-07-12 19:27:05 +02:00
Nibble
db75fd66ce * Fix 'asm.syntax' bug 2010-07-12 18:15:53 +02:00
Nibble
14b3479658 * r_anal
- Modify stackptr on 'ret imm'
  - Improve analysis of 'push ref' instructions
* r_bin
  - Print a Warning message when a fat mach-o is opened
* Update TODO
2010-07-12 17:17:31 +02:00
pancake
87512b23b0 * Apply r_parse fixes from edu to support more than one numeric
to flag replacment and avoid 0x0 substitutions
* Implement 'fr' command
* Add autocompletion for /a
2010-07-12 14:46:43 +02:00
pancake
2a9fecfe86 * Added 'build.sh' farm script
* Implement r_log api
* Fix issues in swig bindings
2010-07-12 00:50:00 +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
1fd4f51f66 * Fix segfault in 'pd' command, thanks edu!
* Fix r_bin.vapi
2010-07-08 14:24:07 +02:00
pancake
07d55075ae * Add openbsd|netbsd|freebsd to the list of automatic ostypes
* Do not allow to build if shared object extension is not defined
* Remove the use of R_META_FUNCTION in r_core (this was breaking the build)
  - Now takes the information from the r_anal->fcns
  - Uses the new function r_anal_fcn_find()
* The 'pdf' command now prints the whole function independently of your
  offset. This also simplifies a bit the r_print_disasm function.
2010-07-03 03:35:26 +02:00
pancake
cc35fbf14f * Added file.desc
* Cx/CX is not working again, needs more love
* Implemented 'pdf' .. needs review
2010-06-30 11:59:52 +02:00
pancake
a6840204b5 * Fix Vd command
- Added Cd command to define data
2010-06-30 02:44:24 +02:00
pancake
5f10d6ba64 * r2 -n does not load rabin2 information
* Implemented search.align
  - Affects RPrint->addrmod and RSearch->align
* Use r_search_reset() instead of r_search_new()
* typedef RConfigCallback
* r_sys_bt renamed to r_sys_backtrace
2010-06-30 02:30:07 +02:00
pancake
bc2c79ee8d * Use RList in r_bp
- vapi updated
* Generalize the use of PrintfCallback typedef
  - used in r_bp and handled by r_cons in r_core
2010-06-30 01:13:09 +02:00
pancake
664732593c * Fix autocompletion in r_line
- All argc/argv responsability has been moved to the callback
  - Makes the code simpler in r_line
  - Do not bypass 70 column width in list of options
  - Remove deprecated code
2010-06-29 01:18:30 +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
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
c73e43bf40 * Fix print_address function for mips disassembler
* Implement 'gp' register index inside .got section for get_main on mips
* Use more switch() in core/cmd.c
* Simplify some random code
2010-06-27 21:33:11 +02:00
pancake
456fb16e90 * Add autocompletion for 'e', 's', 'f' and '?' commands
- Some more stuff must be deprecated in r_line
* Export FILE environment variable in r_core_file_open
2010-06-25 19:47:47 +02:00
pancake
989082a699 * Hacky fixes for Cx/CX xrefs in 'pd' and r_meta
- rmeta now uses m->printf from r_cons (grep-friendly)
2010-06-25 18:00:17 +02:00
pancake
255191c670 * Some more work on r_cons_grep
* Minor refactor in TODO file
* Display xref data (Cx/CX are broken atm)
* Added Vx command
* Compare flag names with ut64 hashnames (faster execution)
* Swap d->i and x->d print formats
* Hint in r_str_cmp
2010-06-25 11:22:14 +02:00
pancake
e14bbdf6e2 * Fix ^w in r_line
* Initial implementation of /a command
  - Search for code/data references using code analysis
* Add search.from and search.to eval vars and honor them in '/' command
2010-06-25 00:21:22 +02:00
pancake
7ff20e59db * Add -t flag to launch rabin2 in a thread
* Fix ^D using threaded load
* Only load rabin info when no project file exists
* r_core_project_open does not works on directories now
* Sync r_core.vapi
2010-06-24 23:14:12 +02:00
pancake
37c3e25664 * RCore now depends on RThread
- Loads rabin2 information in a background thread
  - Prompt is now much more responsive
  - Fix segfault in null pointered var in RThread
* rabin2 load strings only from data sections if found
* Split r_core_prompt/exec (make it cooperative-thread-friendly)
2010-06-23 17:30:16 +02:00
pancake
5748a66278 * Fix segfault in stepover in non-debugger mode
* Check if file exists before launching rabin to avoid noisy messages
* Disable io.va when using the debugger
* io.va is now enabled by default (static-analysis-friendly)
2010-06-22 20:27:14 +02:00
pancake
255504b79c * Added initial aop_to_string() method for RAnal
- accessible via asm.decode
* Add more 'Vd' keys (data, code, string, ..)
2010-06-21 11:55:48 +02:00
pancake
00214c95ef * Add 'C-*' command to unset all metadata 2010-06-21 02:05:23 +02:00
pancake
ade05c9aeb * Display some string references on x86
* In 'pd' display strings as text, not opcodes
* Added 'Vdu' command to undefine metadata and flags on cursor
* Better support for visual cursor
* Added f-@ command to undefine flags at given address
* Fix parse of C* commands
* Added C- and C[xXsSm..]- to unset metadata
* Disable cursor when quitting visual mode
2010-06-21 01:58:45 +02:00
pancake
ace71e8be4 * Load string flags into r2
- Fix string filtering
* Display string references for ARM (load indirections)
* Fix numeric indexing of branch references in visual mode
* Display '>' char for call instructions
* More work on RMeta
  - unscape strings to avoid \n and \t
  - handle correctly the 'Cs' command
  - Add partial documentation for the rest of 'C' commands
2010-06-21 00:48:06 +02:00
pancake
4f8fc7d926 * Added traced field in RAnalBB
- Display 'traced' flag in 'abl' command
* Initial work on 'dd' command (filedescriptors)
  - API defined, not yet implemented or used
2010-06-18 11:09:19 +02:00
pancake
123faacd3c * Implement r_anal_cond_eval() and r_anal_value_to_ut64() functions
- Code seems to work and basicblock conditionals can be evaluated
  - Show 'match' result in 'abl' command
  - Wrong namespace
2010-06-18 00:53:47 +02:00
pancake
c8da941768 * Very early work on r_anal_call api
* Initial support for visual cursor with invert cons in 'pd' bytes
  - Some changes in '*' and '/' keys in visual modes (+-16)
  - '+/-' in visual cursor works as in r1 (inc/dec cursor byte)
* Rename 'zf' into 'zh' for header, not function
  - 'zf' stands now for function signatures (args, types, ret, ...)
2010-06-17 17:55:39 +02:00
Nibble
9e49939dab * Revert wrong "bb memory leak" fix (again xD)
- RAnalBlock must keep a list of the analyzed opcodes
  - Those RAnalOp are not freed because they are added to this list
2010-06-17 10:04:51 +02:00
pancake
23ad3d2415 * Added asm.linescall=false (default)
- Implemented in anal_reflines to skip call analysis for lines
* Set dbg.trace=true by default
* Display trace count and times in 'pd' (asm.trace)
  - counter starts as 1, not 0 :)
* Added 'absolute' variable in RAnalValue (not yet used..)
  - Defines the sign of the value (needs arch-dependent code)
* Sync TODO files
2010-06-17 02:22:50 +02:00
pancake
882d7efa7b * Add more 'cmp' opcodes support in analysis for x86
* memref now specifies the size of pointer
  - this is serialized as a cast (char) ..
  - no sign support yet
2010-06-17 01:48:51 +02:00
pancake
e36ef11025 * Initial working basic block conditional decompilation
- Only 'test' opcode for x86 is currently supported (just for testing)
  - analysis backend generates RAnalValue's for each argument
  - compiles a cmp+cjmp into a RAnalCond class
  - de/serializes the RAnalCond into an evaluable string
  - Make anal api more stable
* Fix a memory leak in anal_bb
* Reassign anal->reg into dbg->reg
  - Replicate dbg->reg into dbg->anal->reg
  - Such nasty cascade assignation..
2010-06-16 21:44:19 +02:00
pancake
a580ff4fa8 * Initial implementation of the subclassed RLFList class
- Implements a serialized RFList inside a RList container
  - Allows faster scans on contents
* Initial import of the RAnalCond/Value code
  - Not yet usable..just refactoring..
  - Handle null pointers in reg classes
* Added not-yet-working emit_arm.c for r2rc tool
2010-06-16 09:42:46 +02:00
Nibble
a129564c1c * r_anal
- Don't free appended aop's
  - Set bbc->cond = NULL in printed bbs list
2010-06-15 16:19:20 +02:00
Nibble
19dfb38b23 * r_core
- Fix segfault (pancake)
* Build
  - Remove rpath stuff
  - Simplify Makefiles
  - Add rafind2 to binr/Makefile
  - Add symstall to binr and r2rc
  - Fix minor deinstall issues
2010-06-15 13:10:46 +02:00
Nibble
1c59267c88 * Fix segfault in cmd 'agd offset' 2010-06-14 19:35:44 +02:00
Nibble
8718f7aad9 * Merge 2010-06-14 18:30:31 +02:00
Nibble
68aeb6f92a * Add targets clean & mrproper to binr/Makefile
* Use r_list_free instead of r_list_destroy in r_anal
* Some minor fixups in r_anal
2010-06-14 18:29:52 +02:00
pancake
d3c0819cc7 * Some fixes in make all/clean
* Initial work on RAnalCond
2010-06-14 16:20:54 +02:00
pancake
4bd719546c * Implement RAnalRef as a struct instead of a hacky ut64 pointer
- Support data and code reference specification
* Also handle 'jmp' as code references
2010-06-14 00:57:40 +02:00
pancake
0006bf0564 * Fix segfault and infinite loop in 'dct' command 2010-06-13 12:51:44 +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
f0cca138db * Fix 'bx lr' and 'ldr pc,[pc,#]' code analysis for arm
* Added 'ata' command to specify a list of valid traceable adddresses
* some initial work on r_db.. iterators not yet supported
2010-06-13 11:59:17 +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
pancake
b7c554b24a * Some linkage fixes for binr/
* Added 'at' command (not yet implemented at all)
  - Some refactoring in r_debug_trace code
  - Remove deprecated r_trace.h
2010-06-04 00:56:44 +02:00
pancake
8a40844199 * List cmd plugins when ':' command is executed
- Added ->desc field in RCmdPlugin
2010-06-03 11:53:42 +02:00
pancake
9ceeae1f54 * Added refptr in RAnalOp
- Used only from ARM code analysis
* Implement ELF get_main for ARM ELF's
2010-06-02 23:36:05 +02:00
Nibble
097edd11c6 * Add support for non-splitted graphs
* Add config var anal.split
* Fix segfault in r_anal & r_big
* Fix r_anal split algorithm
* Minor fixup in bb type assignment
* Fix partial graphs generation
2010-06-02 19:17:47 +02:00
Nibble
fcc6b8d013 * Add flag -M to rabin2 at radare2 startup and cg
* Add r_asm_mdisassemble_hexstr
* Update r_asm.vapi
2010-05-30 13:00:21 +02:00
Nibble
e9e8740a62 * Build
- update pkgconfigs
  - dont run rpathdel on tests
  - build r_crypto
* Bindings
  - Fix vapis (add missings headers r_list.h, r_types_base.h)
2010-05-29 14:04:50 +02:00
pancake
eb05e6a6b2 * Move all the r2 programs into binr/
- Little cleanup of the build system
2010-05-29 03:30:36 +02:00
Nibble
8d2d0e0806 * r_core
- Fix bug in r_core_anal_graph_nodes (s/printf/r_cons_printf/)
  - Use r_str_chop_ro to get 'cg' filename
* r_diff
  - Reimplement graphdiff using r_core functions
* r_config
  - Fix t/Makefile using -l instead of .o's
2010-05-28 10:17:24 +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
083ebe4832 * r_core
- Fix segfault in r_core
* r_bin
  - Minor fixup in r_bin_load
  - Move plugin pointers to r_bin.h
2010-05-27 19:58:54 +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
a2ede77d20 * hash md5 and sha1 by default
* add RCore.io in vapi
* Add RIO.va in vapi
* Fix collision of VarType in RAnal
2010-05-25 01:42:57 +02:00
Nibble
79ce1c14ad * r_diff
- Add flag '-v' (va) to radiff2
* r_core
  - Launch 'radiff2 -g' with '-v' if 'io.va = 1'
2010-05-25 01:49:46 +02:00
Nibble
ee844c4625 * r_anal
- Allow to add overlapped functions
* r_core
  - Remove r_core_anal_fcn_add, it's the same that r_anal_fcn_add
* r_diff
  - Add 'af@entry0' to gdiff analysis
2010-05-25 01:31:52 +02:00
pancake
eaf11fb341 * Fix off-by-one segfault in PE RBin parser
* Fix creation of home directories
2010-05-24 20:02:33 +02:00
pancake
5152da2e93 * 'sr' also pushes into the seek history
* Debugger print mode with seeking support
  - Fix V? message
2010-05-24 19:38:13 +02:00
Nibble
c9b90d93e1 * r_diff
- Fix 'radiff2 -g'
* r_core
  - Remove debug messages
2010-05-24 19:08:38 +02:00
pancake
497cf959a7 * Added r_core_project_info
- Implemented 'Ps, Po and Pi' commands
  - Allow to open a project file without givin the path to file
  - Store and check changes in file.sha1 and file.path
* Do not load libraries twice in r_core
* Implement -r flag to rahash2 to export data in radare commands
  - Sync help message
2010-05-24 18:51:01 +02:00
Nibble
f65de2d925 * r_diff
- Add r_diff_gdiff (initial import of the graphdiffer)
	Next step is remove the mnemonics array and use a hash function
	The bb_diff function will change too :)
  - Add flag -g to radiff2
* r_core
  - Add cmd 'cg [file]' for graphdiffing
  - Add cmd 'agd [file]' for output graphdiff results
  - Modify r_core_anal_graph() for supporting graphdiffs
* r_util
  - Implement more r_big functions
  - Make other more gmp-like
2010-05-24 18:35:08 +02:00
pancake
76e52fdeb0 * Added install-symlink (0.3s vs 3s) faster install for devel
* Added 'S' key in visual mode (step over)
* Safer 'dcc' and 'dcr' commands using step over if necessary
  - Skip current instruction (do not lock on calls, rets..)
* Implement step over functionality
2010-05-24 17:51:51 +02:00
Nibble
4f236eded5 * r_anal
- rename R_ANAL_BB_DIFF_* to R_ANAL_DIFF_*
  - add field diff to RAnalFcn
  - Allow r_anal_{bb,fcn}_set to edit an existing one
* r_core
  - Output diff state with afl, abl, af* and ab*
  - Allow to change the diff state with af+ and ab+
2010-05-24 13:57:49 +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
7902cb417f * Initial import of r_big - big integer api
* Handle cfg.bigendian in core->assembler
  - fixes powerpc big endian disassembler
2010-05-24 01:31:22 +02:00
Nibble
934112d2b7 * r_anal
- Fix bb->type resolution
  - Use bb->type as flag
* r_core
  - Mofify ab+ to accept more than one type
2010-05-21 19:20:42 +02:00
Nibble
ee92530330 * r_anal
- Fill aop type
  - Update r_anal_bb and r_anal_bb_add accordingly
* r_core
  - Add field type to ab+
    'h' = head, 'b' = body, 'l' = last, 'f' = foot
2010-05-21 18:23:01 +02:00
Nibble
cd58dd21e8 * r_cmd
- Add r_cmd_free
* r_core
  - Inc/Sub stackptr in the next opcode
* vapi
  - Minor fixup in r_core.vapi
2010-05-21 12:42:17 +02:00
pancake
02c11613ec * Clean TODO files
* Rename refactorization in RAnal
  - Fix compilation of vala test programs
  - RAnalBB -> RAnalBlock, RAnalAop -> RAnalOp, ...
  - sync vapis
2010-05-21 01:46:26 +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
92dee96dad * Added op_str() and op_anal() helpers in RCore class 2010-05-20 09:29:39 +02:00
pancake
afdaba5fc3 * Double check quit operation when debugging 2010-05-20 01:17:16 +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
Nibble
7184530c8a * r_anal
- Add 'st64 stackptr' to RAnalAop
    (avoids pb with 'push imm' where aop.value=imm and simplifies code)
  - Fix stackframe analysis detecting reg size
  - Update old x86 plugin
* r_core
  - Little refactoring of stackframe stuff
2010-05-19 03:55:20 +02:00
pancake
d73e6e0b72 * Load plugins from ~/.radare2/plugins instead of ~/.radare/plugins
* Fix fcn_bb_list() method declaration in r_anal.vapi
* Fix warnings and add assembler declaration in r_core vapi
2010-05-19 03:02:18 +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
Nibble
22a6063852 * r_core
- Add config var asm.stackptr
  - Print the size of stack frame in disasm view
2010-05-18 19:38:47 +02:00
pancake
1ea43bbc10 * Commit initial vala plugin in swig/vapi/t/plugin.vala
- Many fixes in r_core, r_lib, r_cmd and r_anal
  - Needs patched vala head with #618933
    https://bugzilla.gnome.org/show_bug.cgi?id=618933
* Fix RCmd plugin handlers user data pointer
2010-05-18 00:20:24 +02:00
Nibble
8ff37cd30b * r_anal
- Add r_anal_strmask
  - Add nopcode (opcode count) to RAnalAop
* r_util
  - Fix constant types in r_types_base
* Add r_anal stuff to TODO
2010-05-16 14:04:08 +02:00
Nibble
5e0b5c5e4c * Fix jmps in anal_x86_x86im
* Fix bug in r_hex_bin_truncate with negative values
* Add new limits into r_types_base.h
2010-05-07 13:00:52 +02:00
pancake
329ea07ec1 * Add doc.sw documentation (wip)
* Add missing parenthesis in p command's help
* Some code enhacements for r_sys_cmd_str_full
2010-05-03 21:24:58 +02:00
Nibble
9ae4ba7cc8 * Remove hardcoded stuff from 'ao'
* Initial working version of x86im plugin
  - graphs can be generated using the plugin
  - basic code analysis is working too
  - Next step is adding support for some missing opcodes
* Fix x86im makefile
2010-05-03 19:52:27 +02:00
pancake
f74a844ed3 * Fix segfault in 'wa' (thanks ash for reporting!) 2010-04-15 00:29:42 +02:00
pancake
64acd4eeae * Fix segfault in rotate print modes (thanks ash!) 2010-04-14 22:55:28 +02:00
pancake
c552863cef * Initial refactoring work for 'pd' and 'pD' commands
- Colorize bytes and offset when scr.color=true
  - Still needs to be moved to r_print
  - Needs cleanup, optimization and simplification
2010-04-14 22:28:45 +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
pancake
f194be07c9 * merge 2010-04-12 11:46:36 +02:00
pancake/n900
e5121e2ccc * Fix link of r2 binary 2010-04-12 03:05:21 +02:00
pancake
4137587cb3 * Fix compilation under mingw32
- Linking fixed for r_sign and
* Fix some reads out-of-bounds in r_bin_elf
  - Use __strnlen instead of ELF_STRING_LENGTH
  - Some simplifications using macros
* Open plugins in radare2 found in '.' by default
  - Make w32 happy
  - Fix RLib for w32 and local plugin files
* Implement r_sys_cmd_str() for w32
  - Also r_sys_setenv()
* Fix printfs in lib/t example
* win7 syscall list is now default windows one
* Added 'r_sys_perror' to make it portable on *nix and w32
* Rename RLibrary into RLib
2010-04-12 02:22:52 +02:00
pancake
9add8fe3d9 * Add 'dpf' command to set pid=core.file.fd
* When cfg.debug=true use dbg.backend ("native")
  and select core.file.fd.. this simplifies use
2010-04-11 01:46:07 +02:00
pancake
96bf343a4b * Added doodle results in main TODO file
* Added r_flags.vapi in r2-swig
  - Add example usage
  - Add missing r_core.deps
    - There are some bugs there while accessing inner fields of RCore :/
2010-04-09 17:13:35 +02:00
pancake
373a3db8b7 * Implement r_lang_setup for python
- Setups RCore, int or string types
* Added r_core_cast() static method
  - Helper for swig magic
  - Allows to cast C pointers into python instances
* Fix EOF issue in #!<lang>
* Fix and sync r2-swig vapis
2010-04-09 15:57:22 +02:00
pancake
d468580c3c * Fix one-byte overflow in r_cons_memcat
* Fix flagSort command (fS)
  - sort by name is now done by strcmp
  - str_hash and str_hash64 are not enought
* Use r_cons in flag/t .. we must drop this dependency
* Add 'all-flagspaces' entry in Vt menu
  - When switching back to visual mode, the
    print mode is not lost
* Some code cleanup
2010-04-09 13:24:40 +02:00
pancake
db3aa272b0 * Add 0xeb (short jmp) in modify asm x86 plugin
* Add help for 'fs' command
* Added 'fS' command to sort by offset (fSo) or name (fSn)
  - Current r_flag_sort breaks the linkedlist
2010-04-09 11:32:17 +02:00
pancake
f5bf177c60 * Implement r_asm_modify
- wA command is used to Alter opcodes (move to r_anal?)
  - allows to modify various opcode instructions
* Add search.distance config variable
2010-04-09 00:52:38 +02:00
pancake
f499ca67e7 * Added 'f' type of signature
- Used to determine function preludes
  - On x86: "zf prelude 5589e5"
    - we can probably merge this type into a formattable
      zignature named
  - Remove old code in sign.c
2010-04-08 18:48:39 +02:00
Nibble
9207ece839 * Fix segfault printing big buffers
* Modify r_anal_reflines_str to return char*
2010-04-08 18:29:46 +02:00
pancake
a358d38e50 * Added support for binarymask hexpairs to search and signatures
> s 0&&./x 6c..62&&p8 3@@hit
  > zb function 89e55383ec....38 # binary mask inline
  - works like r_hex_str2bin, but converts binary mask and keyword
* RSign now uses r_cons_printf from core.
* FunctionPrintf typedef to bypass some warnings
* Added r_mem_eq
2010-04-08 18:01:45 +02:00
pancake
df10a0df95 * Implement command 'zg' to generate zignature files 2010-04-08 16:20:41 +02:00
pancake
b860a73afd * Initial working implementation of the signatures
- Support raw search
  - Allow to check for each analyzed function
    .zc@@fcn
  - Added 'zc' and 'zp' commands
  - Remove 'az' commands
2010-04-08 15:48:53 +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
pancake
f2563a7509 * Export 'srwx' perms of sections in rabin2 -rS
- Handled by 'S' command
* Added dummy 'z' command to handle zignaturez
  - Added more dummy 'az' commands
  - RCore now depends on RSign
* Some refactoring and speedup in _update method of RSearch
  - Added support for distance search (maybe buggy and incomplete atm)
  - Fix binary mask for keywords after previous commit
* Added 'r_str_rwx*' helper functions in r_util
2010-04-08 12:29:47 +02:00
Nibble
d8cb940a9d * Initial refactoring of r_anal & r_core 2010-04-07 13:43:50 +02:00
pancake
68cb13b0a6 * Do not ask to save project when project file is ""
* Clean and refactor of the TODO
2010-04-07 11:07:59 +02:00
pancake
508e4f596a * Other random cleanup/fixes 2010-04-06 18:21:41 +02:00
pancake
29ad58473f * Fix 'e foo' output
* Fix io.ffio warnings
* Fix '.' key in visual mode (sr pc)
* Various 64bit related fixes
* Various fixes in r2-swig
  - Needs valaswig from hg (update)
  - r_config and
2010-04-06 14:23:12 +02:00
pancake
929fb8cc2d * Refactor SearchKeyword API
- simplified and cleaned one
  - sync codes using it
2010-04-06 13:02:21 +02:00
pancake
c98674bd01 * Drop m68k from asm/p/Makefile
* Fix import/export of flags by project file
  - Unset flagspace restriction
  - Do not use '@' .. faster :)
* Add r_sys_write into r_util vapi
2010-03-31 01:06:26 +02:00
pancake
a28fa26e53 * Store flags and config variables in project file
- add header comment before every data
* Added r_str_write and r_str_writef to simplify code
* Some code cleanup in config and project code
2010-03-31 00:30:25 +02:00
pancake
3be83621cb * Initial implementation of -p flag to handle projects
- ~/.radare2/rdb
  - Added r_sys_mkdir()
* Remove the command length limitation in r_core_cmd_file
2010-03-31 00:03:59 +02:00
pancake
49edd0649c * Implement 'wc' command to list, commit and reset cache changes
- Added doc/iocache with a usage session of 'wc' command
  - Needs io.cache=true
  - This is the replacement of the 'undo' feature of radare1
  - Removed cache-related code from the r_vm module
2010-03-30 23:12:19 +02:00
pancake
b6a1d6e865 * Added support for cached IO
- e io.cache=true
  - Fixes support for overlapped changes
  - Implement cache_list
  - We can merge it to remove vm and undo writes with this
* Some code cleanup in vm
* Fix division by 0 bug notified by @ash
* Some random makefile cleanup
2010-03-30 17:37:15 +02:00
pancake
6e6dbf5b81 * Some fixes in code analysis
- Fix some issues for 64bit instructions in z0mbie dislen
* Fix EOF, ^D and terminal resize
  - Do not understand terminal resize as EOF
* Display rpathstrip lines to identify segfaults
* Implement 'ao' command to analyze opcodes
2010-03-26 17:01:25 +01:00
pancake
7dd096fa27 * Bump revision to 0.4.5
* Implement 'c' command like in r1 (two missing cD && cc)
* Add missing signature in r_core.h
* r_io_t is now RIO in r_io.h
2010-03-26 11:59:28 +01:00
Nibble
95ca8e110d * r_core_anal
- Fix command 'ag'
2010-03-25 11:40:06 +01:00
pancake
728bd1f817 * Fix w32 build 2010-03-25 10:18:59 +01:00
pancake
3027c4b18b * Added scr.prompt that can be disabled with -v flag in r2
* Use r_str_home instead of handcrafted sprintf
* Fix infinite loop when stdin eof occurs
2010-03-24 11:35:41 +01:00
pancake
a5d4166cf5 * Fix compilation of r_lang vapi for valadoc
* Fix valadoc visualization and update radare.org/vdoc
* Added 'agc' command to draw graphviz graph of calls
* Remove some unused flush calls in various 'ag' commands
2010-03-24 01:24:27 +01:00
pancake
4f3c5f1ea5 * Added 'asm.middle' disabled by default
- Enables the support to bypass anti-disassebly tricks
* Fix write support for non-plugin IO backends
  - Fix read of non-full blocks
2010-03-23 23:26:59 +01:00
pancake
bf1ab7da0c * Merge 2010-03-23 12:30:29 +01:00
pancake
ea5413f760 * Added csr code analysis plugin
- Cleaned up version from r1 code
  - Build asm.csr and anal.csr by default
* Added 'dsu' command. step until
* Remove vala and swig checks in configure.acr

--HG--
rename : libr/asm/arch/csr/csr_disasm/dis.c => libr/asm/arch/csr/dis.c
rename : libr/asm/arch/csr/csr_disasm/dis.h => libr/asm/arch/csr/dis.h
2010-03-23 12:30:04 +01:00
Nibble
297dcb4c90 * r_core
- Remove r_macro dep from core/Makefile
2010-03-23 09:53:13 +01:00
Nibble
df128e027f * Minor fixup O:) 2010-03-21 11:09:29 +01:00
Nibble
633387c2a4 * Remove rpathdel call from build
* Set va = 0 in debug mode
2010-03-21 07:40:31 +01:00
pancake
6d6ede7ee6 * Disassemble branch-in-the-middle instructions
- Uses reflines code analysis to get some hints
* Rename RAnalysis into RAnal
2010-03-19 12:00:04 +01:00
pancake
3b326d6a41 * Cleaner disassembly output with asm.bytes and
asm.nbytes options
* Sort config keys
2010-03-19 04:27:11 +01:00
Nibble
21868d3b6c * r_parse & r_core
- Rename asm.symsreplace to asm.filter
* r_core
  - Add command 'aga' to output address-graphs
* build
  - Strip binary rpath before install
2010-03-19 04:32:42 +01:00
pancake
e8ba45c6b0 * Do not run bin->meta_get_line if out of bounds
* Command '.' is used to repeat last command
* Forbidden 'dcu 0'
2010-03-19 04:02:23 +01:00
pancake
0266e3338e * Use radix 10 in ollyasm like in intel syntax
* Add asm.nbytes to limit number of bytes to be displayed
2010-03-19 03:06:53 +01:00
Nibble
456976cc40 * rabin2
- Add flag '-m [addr]' to show source line at addr
* r_core
  - Add env 'asm.symreplace' to replace offset by flag name
* r_debug
  - Fix segmentation fault
* r_parse
  - Add r_parse_symreplace to replace offset by its flag name
2010-03-19 02:49:30 +01:00
pancake
b8c3a23892 * Rename dbg.dwarf into asm.dwarf
- Display source lines at right of opcodes
* Rename asm.reflines* into asm.lines*
  - asm.lineswide = false by default
2010-03-19 01:45:52 +01:00
pancake
668a77f7ee * Initial import of the vAVR Atmel disassembler
- Works, but has not yet been tested with real code
  - Code analysis not yet implemented
  - Compiled by default
2010-03-19 00:51:16 +01:00
pancake
d6125712b5 * Add some missing methods in some vapis for valaswig
* Merge r_macro inside r_cmd
  - Rename RCommand to RCmd
* Propagate LIL_ENDIAN in userconf.h.acr
* Simplify configure script in swig/
  - valaswig is now mandatory
* Add 'st.fastcall' examples.

--HG--
rename : libr/macro/macro.c => libr/cmd/macro.c
2010-03-18 22:22:21 +01:00
Nibble
e834fc9c9b * r_anal
- Fix aop->addr asignment in plugins
* r_core
  - Add commands 'agl' and 'agfl' that output graphs with meta-data
2010-03-15 19:47:26 +01:00
pancake
3da650d4b1 * Write and install manpages
* Merge r_trace into r_debug (RDebugTrace)
  - Implement 'dt' command to manage debugging traces
  - TODO: Track register values and memory changes
  - Added dbg.trace and dbg.trace.tag
* Added r_sys_now() to retrieve ut64 value of current time
  - Must check endianness issues
* Initial work trying to implement RPATH support to ELF
* Less flat command tree
  - 'dt' is now 'dbt'
  - 'dk' is now 'dpk'
* Some more random syntax cleanup fixes
* Say 'yes/no' instead of 'ok/fail' in check-langs script
2010-03-12 18:46:11 +01:00
Nibble
d69f391175 * r_core_anal
- Avoid duplicated functions
2010-03-12 16:52:20 +01:00
Nibble
9af6794cec * Rename MALLOC_STRUCT into R_NEW and deprecate it. 2010-03-12 13:35:10 +01:00
Nibble
e12bcd1f3b * r_core_anal
- List vars in 'afl' output
* r_anal
  - Add r_anal_var_type_to_str
  - Use hex delta in var names
2010-03-12 11:07:05 +01:00
Nibble
d05b0fedf4 * r_anal
- Initial work in var analysis
  - Move r_var into r_anal
* r_var
  - Removed

--HG--
rename : libr/var/var.c => libr/anal/var.c
2010-03-11 17:19:33 +01:00
pancake
b65fbeb772 * Add some missing function signatures
- Fixes some warnings
* Select thread that returns the wait()
  - Useful for multi-threaded or multi-process debugging
2010-03-11 01:04:59 +01:00
pancake
7572171516 * Add dbg.stopthreads configuration variable
- Stop all threads by default when a breakpoint is handled
2010-03-11 00:51:32 +01:00
pancake
f00bf9495e * Implement basic thread list and attach support
- Implement 'dt' command
  - Allows to list threads of specified pid or current one
    - Only for linux atm
  - Tricky non-intrusive way to get threads for pid
* libr/th/t/test.c is now helpful for debugging threads
* Threads are not stopped when the debugger breaks
2010-03-11 00:29:36 +01:00
pancake
a19c5c6197 * Added linux-arm syscalls
* Lot of syntax cleanup (reduce locs, unify syntax)
2010-03-08 12:45:22 +01:00
Nibble
7e5e81e3cd * r_list
- Fix r_list_foreach
* r_anal
  - Move p/arm.h to arch/arm/arm.h
  - Add arm.mk to p/Makefile
* r_core_anal & r_anal
  - Refactoring using r_list_foreach

--HG--
rename : libr/anal/p/arm.h => libr/anal/arch/arm/arm.h
2010-03-08 12:31:14 +01:00
pancake
1341620c73 * Rename cons/filter.c to grep.c
- Some random changes.. with no success
  - Grepping console buffer is not working
* Cleanup the 'ds' and 'dp' commands
  - Implement 'dpa' to attach
  - Allow to list childrens of pid
  - Also list all attachable pids
* Fix segfault by leaking.. needs some cleanup
* Fix r_debug_reg_list (NULL) issue

--HG--
rename : libr/cons/filter.c => libr/cons/grep.c
2010-03-08 00:18:58 +01:00
Nibble
420acc3ff3 * Add dummy local-var analysis stuff to r_anal
* Check return value of r_anal_set_bits in asm.bits callback
2010-03-07 14:00:26 +01:00
Nibble
bf2a8120ea * r_core
- Set r_anal bits in asm.bits callback
* r_core_anal
  - Improve xref resolution
* r_anal
  - Fix infinite loops in r_anal_bb and r_anal_fcn
  - Some code cleanup in bea plugin
  - More improvements in code analysis
* r_bin
  - Mark symbols as functions in r_bin_pe
* rabin2
  - Print 'af+' commands and 'fcn.' flags for all functions
    in -rsi output
2010-03-05 18:55:39 +01:00
Nibble
cacfd691c3 * Fix xref issues in functions with size=0
* Fix "Invalid command" in foreach (@@)
* Fix set arch+bits
* Update r_bin test in python bindings
2010-03-05 13:18:44 +01:00
Nibble
ac957c4f32 * r_core_anal
- Print unconditional jumps arrows in blue
* Reorganize bindings tests

--HG--
rename : swig/test/perl/bin.pl => swig/perl/test-r_bin.pl
rename : swig/test/python/bp.py => swig/python/test-r_bp2.py
rename : swig/test/python/num.py => swig/python/test-r_num.py
rename : swig/test/ruby/bin.rb => swig/ruby/test-r_bin.rb
2010-03-05 11:06:07 +01:00
pancake
13774c2bd5 * More fixes for busybox tr
* Initial blind implementation of w32 debugger
  - r_cons now handles ^C in w32 console
  - not yet tested, just blind code typing
* Implement 'dp' command to list processes (pids)
  - Implemented RDebugPid stuff
  - dp=394 # is used to attach
  - dp 0 # to list all attachable pids
  - dp # list current used pid
* Added not-yet-implemented threads() callback in RDebugHandle
* Fix r_list_free callback handler
* Fix again the 'dr=' command :/
* Cleanup the help of 'd?' and 'dm', 'dp'
* Use -O2 by default ?
2010-03-05 01:49:12 +01:00
pancake/fluendo
d431b3721b * Fix build of debugger on non-x86-32 (oops)
* Fix difference between EOL and EOF (-1, -2) in dietline
  - Fixes prompt issues in r2 shell
* Display 16 0s in 64bit registers
  - Fixes dr= in 64bit debugger
  - Fix double-newline issue in dr=
2010-03-04 12:43:16 +01:00
pancake
c307258ebb * Implement 'dr=' command to print regs in columns
- Use it in visual debug mode
2010-03-04 02:11:54 +01:00
pancake
fcbcc00d1e * Huge refactoring on r_syscall
- Integrated with core 'as' command. as? for help
  - Display formatted parametters of syscalls
  - Needs to fully implement this everywhere
  - Syscall argument parsing is not yet complete (<4args)
    - r_debug_arg_{set|get}
* Implement continue until syscall on Linux debugger backend
* Lot of syntax cleanup to use the new code convention
  - Clean r_sign, r_search, r_syscall
* Define global R_SYS_ARCH, _OS and _BITS
  - Handle asm.os and asm.arch to hook r_syscall plugins
  - Display 8 or 16 zeros depending on asm.bits
  - Added r_str_filter () to filter nonprintable chars

--HG--
rename : libr/search/stripstr.c => libr/search/strings.c
2010-03-04 01:46:25 +01:00
Nibble
be3c941d30 * r_core
- Add command "sb" seek aligned to bb start
  - Nice 'abl' and 'ab*' output
  - Fix 'af+' parsing
2010-03-03 18:05:24 +01:00
pancake/fluendo
4941781bd7 * Full implementation of the 64bit register profile for linux
* Simplify debugger plugin arch/bits info
* Display 64bit registers with 'dr'
  - Padding with 16 0's instead of 8
2010-03-03 14:48:17 +01:00
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