Commit Graph

846 Commits

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