Commit Graph

30002 Commits

Author SHA1 Message Date
Nibble 724d900e62 * r_asm
- Fixed initialization
  - Fixed assembly fallbacks
  - Removed dupped memcpy's in disassembly functions
  - Added the directive ORG to asm_x86_nasm
  - Refactoring
* rabin2
  - Added -L to list supported plugins
2009-04-14 15:21:19 +02:00
pancake 5f74c8068d * Move buf_hex memcpy in r_asm instead of dupped code in every plugin
- Plugins needs to be synced
* Added x86nasm assembler backend to handle x86-64
  - Not yet working. Pretty buggy :)
* Fix support of building static plugins for r_bp
  - Statically link r_bp_x86 by default
* Implement ugly r_sys_cmd_str() command in r_util
2009-04-13 22:47:02 +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 edebf8187e * Add rasm2 -L flag to list loaded asm plugins
* Make r_config_set_i restore old value if callback fails
2009-04-11 21:24:37 +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 44ecdbb636 * r_asm
- Added pseudo-instruction support using r_cmd
  - Added .byte
* r_util_str
  - Added r_str_trim
* r_cmd
  - Fixed r_cmd.h
2009-04-11 18:49:09 +02: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
Nibble 8744e9f86a * Fixed resize_section for ELF64 2009-04-08 00:47:40 +02:00
Nibble 5fc2e91777 * r_bin_elf
- Fixed "imports bug" in ELF64
    (needs more love ;)
  - More fixups in section_resize for ELF64
2009-04-07 22:46:36 +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
Nibble 57c0c88205 * Oops, type error in anal O:-) 2009-04-06 14:48:46 +02:00
Nibble 1b61512a72 * Added r_str_concatch
* Fixed reflines libc issue
2009-04-06 14:01:56 +02:00
pancake 5116358ce4 * Added few coding style rules
* Added btree_optimize and btree_hittest() incomplete functions
  - Just a PoC of the idea..with few test
2009-04-06 10:57:37 +00:00
Nibble a976816e30 * rasm2
- If '-l' value is greater than output length,
    output is padded with nops
2009-04-05 16:02:17 +02:00
Nibble a7fc1db4bb * rasm2
- Added -B and -l flags for binary input/output
  - Added support for assembling several instructions (separated by ;)
    e.g.: $ rasm2 "push eax; push ebx"
* r_asm
  - Fixed bug in asm_x86_olly
2009-04-05 15:23:36 +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/fluendo 741674206f * Fix build (fix r_core_cmd_foreach signature)
* Fix use of uninitialized variable in r_macro
2009-04-02 12:15:04 +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 71cfa4d5c3 * Fix getter for r_lib_types strings
- zzZZzZ sleepy bug!
2009-04-01 01:46:37 +00:00
pancake 60c3e46651 * Fix build again O:)
- Remove config.mk includes from config-user.mk
  - Fix sys.c missing include
* Added R_LIB_TYPE_LAST and implement a getter
* Add some missing license headers
2009-04-01 01:40:04 +00:00
pancake b0b25a6eea * Fix recursive include issue in build
- Oops O:)
* Some fixups at ACR level for allowing --without-vala flag properly
* Added empty r_sys_cmd() APIs for r_util
2009-04-01 01:30:36 +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
Nibble c4421c3c7f * Some changes in r_anal
* Fixed build
2009-03-31 22:05:18 +02:00
pancake/fluendo ae84fb0695 * Do not enable static debug by default 2009-03-31 17:19:31 +02:00
Nibble 1048ed5ab0 * Added Levenshtein distance algorithm in r_diff
* Added corresponding test case
2009-03-31 16:52:58 +02: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 45c29e7b2f * Integrate acr configure script with the makefiles
- Check for libewf and valac
* include config-user.mk from config.mk overriding config.mk options
2009-03-31 00:57:39 +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/fluendo 935d9c1517 * Import 'dummy' mercurial's bdiff (needs to be plugged) 2009-03-27 13:55:59 +01:00
pancake 3105b3f137 * Fix doc installation path
* Up config.mk version to 0.2b
* Cleanup TODO
* Initial implementation of r_cache (optimization for disassembler)
* Add readme for r_sign (some randome notes and ideas)
2009-03-27 11:28:25 +00:00