Commit Graph

371 Commits

Author SHA1 Message Date
pancake
2e83fa67b8 Fix python bindings: do not use homonim methods and fields 2012-09-19 14:08:44 +02:00
pancake
be247348b5 Rename r_file_exist into r_file_exists 2012-09-06 08:59:13 +02:00
pancake
5c236fa0e3 Add mips pseudocode, anal.hasnext, fix anal bugs
Better mips analysis
Implemented mips pseudocode plugin
Change asm.parser in asm.arch callback
2012-08-31 11:45:06 +02:00
pancake
e46efa8a1d Initial implementation of r_bin_size (rabin2 -Z)
Changes in the disasm loop to support continuous fun
Fixes disasm after opcode payload
Added RConstr code in r_util (not yet used)
RBinSize implemented for elf, mach0 and plan9
Fix build
2012-08-23 12:46:55 +02:00
pancake
6ca052291a Add 'agv' command to view graphs with cmd.graph
In Visual mode it's executed by pressing 'V'
Fix a bug in RIO on OSX debugger
2012-08-14 03:21:31 +02:00
pancake
86c4f031d8 Implement visual diff and fix many bugs in r_io
Added 'cc' command to compare bytes with column hexdiff
Added r_print_hexdiff() public api
Added diff.from and diff.to eval configuration variables
Visual 'D' used to setup the visual diff offsets
Press 'c' to enable cursor in visual diff
Press '<tab>' to cycle between diff.from and diff.to
Use RCore's RNum from RConfig
Fix bug in r_core_read when io.va and sections used
Fix bugs in r_io_maps and io.va
Multiple files can now be opened and compared with mapping
2012-08-13 04:33:01 +02:00
pancake
9362041562 Huge RBin refactoring and fix mach0 section perms 2012-08-04 23:48:06 +02:00
pancake
afbda180d5 Add visual search and enhace search output
- e search.show = true # by default
- add keyword type (string, binary)
- visual search only works in cursor mode
2012-08-02 01:50:39 +02:00
Anton Kochkov
e43a1f921d Deep integration of complex types - build fixed 2012-07-22 12:41:53 +04:00
pancake
a50e9414b2 Oops. Fix build 2012-07-16 11:52:04 +02:00
pancake
c39d68ad3e Remove some outdated TODO/XXX comments
Add 'dbs' command to swap/toggle breakpoints
Bind debugger keys to key.fX visual bindings
Use --swig in r2-bindings. But still broken
2012-07-16 11:39:43 +02:00
pancake
c814a9f67a Initial implementation of dwarf debug_line parser
rabin2 -d a.out
2012-07-12 02:47:04 +02:00
pancake
41a230ddf7 Add p=?, rax2 suports negative values and more
- Support negative integer values in rax2
  - Fix column selection draw in r_print_hexdump
  - Implement p=p and p=e commants
  - Disallow visual insert if file is readonly
  - Similar to pZ, but
  - Honor -w flag to create file if possible
  - Use new r_io_create() api
  - Add scr.sparse to show hexdump in sparse mode
2012-07-06 02:17:44 +02:00
pancake
0ecca40e71 Bump node-ffi to 0.1 and fix some visual mode glitches
- npm install radare2.js
 - examples in r2-bindings/node-ffi/examples
 - Vn/N now moves between blocks
 - VG fixed for io.va
 - autoblocksize disabled forces visual screen clear
2012-06-30 20:51:18 +02:00
pancake
51ab3cf5ab * Force static builds for android
* Fix colors of cursor in print_hexdump
2012-06-26 16:20:30 +02:00
pancake
30354fefc8 * Implemented 'afe' and 'Sr' commands
* Show strings referenced by relative LEAs
* Fix ascii art in hexdump columns
* Unset cursor when quiting visual mod
2012-06-14 10:01:16 +02:00
pancake
aafff4a55a * Initial fix for regdiff colorizer
- dro is working again
* Dummy agt command (analyze graph to destination)
  - Still wip, requires some changes in r_anal api
* Handle ap? command
* Use core->dbg->bits in core_reg
* dbt - backtrace accepts an argument to redefine ebp
* Use r_core_seek_delta in visual (fix Vh = 0xFFFFF..)
2012-06-14 02:18:15 +02:00
pancake
fcac2336c9 * Notes: use 'ffi' instead of 'node-ffi'
* Minor fixes in rsearchc
2012-06-10 23:58:34 +02:00
pancake
a1a1519b92 * implement osx-x86-32/64 native cross debugging
* Add p= command to show the statistics graph
* Rename Vw to Vi (write->insert)
* Add dummy base85.c
* Various binding fixes (add test3.js)
* Fix socket.vala
2012-06-07 03:41:21 +02:00
pancake
33c914de7a * Visual keystrokes for dcu and dcr with cursor mode and sS
* Fix dcr (continue until ret)
* Add /x key:msk (':' separator)
2012-05-30 11:14:41 +02:00
pancake
810d9a3dbc * Put rax2 buf in .bss instead of the stack
* Add support for wide string dump in r_bin
* Fix detection of data section in PE
* Show error if temporary seek flag does not exists
* Fix wrong disassmbly with 'pd' (invalid)
2012-05-30 03:23:53 +02:00
pancake
1b2c8064ff * More split of core/cmd.c
* Fix 'dbc' argument parsing
* Fix V_q error message
* Remove unused code
2012-02-27 03:07:32 +01:00
pancake
68a5dcea14 * Do not show comment for nop arm opcode disasm
* Use mac->printf
* Fix javasm disassemble issue
* Use (* to list macros
* Refix clear00 in visual
2012-02-16 02:40:50 +01:00
pancake
beac4bbc24 * More fixes in the code analysis loops
* Properly detect end of functions in visual
* Apply rudi_s patches for cache
* Show push flag information if available as a comment
* Clear screen after quiting Visual
* Remove unused function
2012-02-16 01:26:50 +01:00
pancake
f41d41e9eb * Some fixes for the code analysis (still wrong, but at least ^C)
* Fix r_num_calc and all tests cases should run fine now
2012-02-15 11:11:25 +01:00
pancake
d2b6828bab * Fix some warnings reported by the farm
* Do not prompt or clear screen when using V in batch mode
* Optimization in r_config_get_i
* Show expression in r_num_calc errors
* Fix parsing of $$+2 in r_num_calc
2012-02-15 00:17:31 +01:00
pancake
65d1dddfd1 * apply rudi_s patch fixing multiple bugs
- Fix uninitialized variables and other GCC warnings
  - Remove unused variables, fix invalid heap ops
  - ?p print error if VA is not
  - Fix invalid write in r_io_cache_read().
* add support for 'mov reg, [addr]' in x86.nz[32]
2012-02-12 23:45:04 +01:00
pancake
1947f0dece * Fix o- segfault
- Problem in r_io_desc_free called twice
* Compact ??? help
* Random indentation fixes
* Added support for binmask searches
  - /x 123456 ffc0e3
* Added BLOCK and BYTES in r_core_sysenv_begin()
* Hacky fix for autoblocksize with pw
2012-02-09 01:38:16 +01:00
pancake
fd6388de60 * Show error if no hud file found
* Fix 'o file 0xaddr' parsing issue
* 'om' now works without size (file size)
  - fixed help message
* Use xor'd byte in r_io_desc_new ();
2012-02-08 00:45:06 +01:00
pancake
ce91c393d7 * Fix output of search command (fix regression test) 2012-02-01 22:54:12 +01:00
pancake
0c5a3834f4 * Fix build
* Apply 7 patches from Simon Ruderich
  - Fixed some really tiny bugs. Cool!
2012-02-01 11:49:46 +01:00
pancake
6ee952c388 * Fix make install for hud (thanks l0gic)
* Enhacements for the r_cons_hud
  - double-ESC to quit menu
  - tab and up/down arrows select row
  - first row is executed if enter is pressed
* Add ?y[ynkm] to
  - ?iy ?in     ask user with yesno dialogs
  - ?im msg     show message
  - ?ik         press any key
* Add hud.once eval var to run hud forever
* CC != CC*
2012-02-01 02:22:43 +01:00
pancake
370c4ceed5 * Some usability enhacements for the visual hud
* Do not load huge sections. crappy bins!
2012-01-31 03:34:23 +01:00
pancake
29166cc940 * Initial import of the hud input method for the visual mode
* Use '_' key in visual mode to enter in hud mode
* Support mach0 files with multiple sections with same name
* Fix parsing of commands with nested quotes
* rename ?z to ?l
* added new command ?y to get and set yank buffer contents to stdout
* ?i stores the input into the yank buffer now
* ?I accepts a file name as argument which is loaded as hud
* ?k used as key=value temporal storage
* Add calc.c .. plans are:
  - support proper parenthesis in math.c
  - support floating point arithmetics
2012-01-31 02:45:17 +01:00
pancake
f908b15fb5 * Fix android compilation
- Fix static build
  - Fix dupped symbols
* Fix all errors reported by clang-analyzer
  - Some null dereferences
  - Some uninitialized variable uses
* Fix all important warnings from the farm
  - Remove *all* uses of alloca
  - Fix many %llx format string portability issues
* Fix manpage typos reported by lintian (thanks sre)
2011-12-06 00:27:57 +01:00
pancake
a64b481125 * Fix and optimize w32 console
- Clear the whole screen, do not trash
  - Refactorize code from RCons into RConsW32
* Apply @earada's patch with minor fix for undo seek
* Ignore */+- in non-cursor visual and autoblock enabled
2011-12-05 15:21:13 +01:00
pancake
49b45b64ac * Fix undo and redo commands
* Fix some manpages typos reported by lintian
* Asm testcase now forces x86 arch and 32 bits
2011-12-05 08:27:16 +01:00
pancake
84b1aa5495 * Fix bugs reported by @vext01
- Fix search when offset+blocksize>filesize
  - Get filesize when requested
* Fix redraw of buffer in Vlll (thanks @earada)
2011-12-05 01:22:50 +01:00
pancake
50efb1091c * Do not clearline if no cons echo enabled
* Fill the whole screen in visual_write
  - Fixes unnecesary screen clears and trash
2011-12-05 00:29:24 +01:00
pancake
2646161b77 * Apply @earada's patch fixing undo/redo seek 2011-12-04 21:09:16 +01:00
pancake
7c3339bbbe * Fix ELF parsing for symbols outside the .text section
* Do not use tabs in arm and csr disassemblers
* Clear colors in visual prompt V:
2011-12-04 21:02:09 +01:00
pancake
f411aafd6c * Fix negative blocksize and printidx issues in visual 2011-12-02 14:41:17 +01:00
pancake
f566e70578 * Many ugly hacks to enhace w32 console
* Use io.va=1 on PE
2011-12-02 14:32:04 +01:00
pancake
a008a0676e * Enhacements for the visual mode 2011-12-02 02:13:49 +01:00
pancake
07620cd50c * Fix AT&T X86 disassembler when facing invalid instructions
- This bug was reported by @hteso
* Apply @earada patch hiding cursor in visual mode
* Honor asm.size config variable
2011-12-02 01:58:34 +01:00
pancake
51a2a25632 * Implement r_cons_clear_line()
- Use it from r_line
* Call r_cons_clear in visual mode when
  pressing any of these keys: B - /
2011-11-29 03:46:46 +01:00
pancake
7c2a6e63b4 * Initial implementation of r_debug_map_protect()
- Bind to dmp command
  - Only w32 + osx, needs more work
* Added new api r_graph
* Added dtc and dtg
* Some minor makeup in RList
2011-11-25 04:32:32 +01:00
pancake
48841a67be * Optimize visual mode 2011-11-25 00:22:44 +01:00
earada
21712cfbb9 * Use x1, x2, x3... to seek between xrefs in visual mode 2011-11-24 23:50:15 +01:00
earada
62c650b2a0 * Add graph.font=Courier eval var
* Use R_TRUE/R_FALSE instead of R_CORE_BIN_RADARE/R_CORE_BIN_PRINT
* Add notepad as windows editor by default
* Add 'T' menu at visual mode to show comments and anal info
2011-11-23 02:29:09 +01:00
pancake
76b68079ee * Handle int3 on x86 as a trap instruction instead of SWI
* Make 'fd' work without arguments
* Added r_flag_get_at () to handle deltas
  - Show it in visual title
  - Used by 'fd'
* Colorize trap instructions in bright red
2011-11-22 01:42:16 +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
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
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
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
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
earada
1f30cc1025 * Add vmenus-mounts option 2011-07-11 22:52:05 +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
earada
29a90901c8 * Add support for io.va mode in g/G visual keys 2011-06-26 23:41:34 +02:00
pancake
f35152b547 * Documentate 'g' and 'G' keys in Visual 2011-06-26 03:01:32 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Nibble
ddffdff8d2 * Rename r_asm_aop_* to r_asm_op_*
* Rename remaining r_anal_aop_*
2011-02-24 16:50:29 +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
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
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
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
5228d4eff0 * Autocomplete flags after '@'
* Fix some segfaults when core->file is NULL
* Some simplifications in dietline
2011-02-10 00:21:05 +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
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
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
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
earada
cf1d6a1d78 * Use RList in RFLags 2010-12-24 00:51:01 +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
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
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
cc4e664533 * Do not show cursor in visual mode when cursor is disabled 2010-10-08 00:48:07 +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
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
3abfbe418d * Swap file-offset order in visual prompt
* Fix build
2010-08-23 12:39:00 +02:00
pancake
19f072f3f5 * Import Vv command to visually analyze functions from r1 2010-08-22 19:07:03 +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
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
pancake
2039bbe3eb * Apply edu's patch implementing V[yY] and +- for blocks using woa/wos 2010-08-12 15:52:07 +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
f853dab09f * More fixes on mingw32 build
* Update VERSION in swig configure script
* Update doc/windows
2010-07-24 12:44:19 +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
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
a6840204b5 * Fix Vd command
- Added Cd command to define data
2010-06-30 02:44:24 +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
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
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
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
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
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
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
pancake
1940120f0a * Added fast keys to seek on jumps or calls '1'-'9'
* More seek undo pushes in visual mode
* Added 'd' key in visual mode 'df' defines a function
* Huge repointerization in RCore
* Fix r_num_new() constructor
2010-05-20 00:59:42 +02:00
pancake
b8e98f3a00 * Add bb_list() method to RAnalFcn class
* Handle function boundaries in 'pd'
* Reset stack_ptr=0 when leaving a function body
* Fix 'asm.bytes=false' (display flags as newlines)
* Fix 's+' and 's-' (seek redo, seek undo)
  - Bindied in visual mode as 'u' and 'U' keys
  - Added 's*' command to list seeking history
* Add dummy file.md5 eval var
  - TODO: must be done by rabin2 and checked by project file
2010-05-19 02:39:01 +02:00
pancake
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
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
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
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
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
a19c5c6197 * Added linux-arm syscalls
* Lot of syntax cleanup (reduce locs, unify syntax)
2010-03-08 12:45:22 +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
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
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
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
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
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
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
6c8c09b97a * Handle arrow keys in visual (thx whats) 2009-12-31 01:20:08 +01: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
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
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
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
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
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
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
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
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
dab6dacf50 * Refactoring of the r_print module
- State-aware now
  - Sync examples and r_core
2009-03-11 11:42:11 +00: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
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
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