Commit Graph

21462 Commits

Author SHA1 Message Date
Nibble
161b7b745d * r_asm
- Fixed binary output of rasm2
  - Added R_ASM_BUFSIZE
  - vapi update
  - Added assemble test into asm.vala
2009-04-16 19:20:03 +02:00
Nibble
e2b855b6e4 * r_asm
- Added full label support (fixed bug with postdefined labels)
  - Removed some warnings in bea
  - Removed r_flags dependency
2009-04-16 18:03:51 +02:00
pancake
997446e5ab * Added r_hash_name_to_bits
* Initial implementation of rahash2 with md4 and md5 :)
  - No block bases hashing support yet. Just a POC
* Make asm.vala example work
2009-04-15 21:19:42 +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
Nibble
f87525173a * r_asm
- Added label support using r_flags
* r_util_str
  - Added macro isseparator
  - r_str_word_* functions use isseparator now
2009-04-15 14:37:18 +02:00
pancake
14ef1cf602 * Initial work on the register API for r_debug
- r_debug_reg and r_debug_regset
  - Handles dbg->newstate to force register sync
  - Only dbg.reg.read() for x86-32 and 64
* Added dummy copy of manpages (from old radare1)
2009-04-15 11:09:36 +00: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/fluendo
c19f08fdf0 * Oops fix build 2009-04-15 01:34:59 +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
Nibble
b5c9a13366 * r_asm
- Added pseudoinstruction .asciz
  - asm_x86_olly assembles the shorter opcode
* rasm2
  - Minor fixups and refactoring
* Misc
  - Added new quote into fortunes
2009-04-15 01:19:42 +02:00
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