Commit graph

420 commits

Author SHA1 Message Date
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