Commit Graph

6278 Commits

Author SHA1 Message Date
Nibble
ee7e8c10ee * Fixed labels bug in r_asm 2009-04-20 13:26:29 +02:00
Nibble
a27d81e42b * Fixed build 2009-04-20 13:11:50 +02:00
pancake/fluendo
463e32a066 * Apply elektranox patch for the makefiles
- replace mkdir with INSTALL_.. thanks!
2009-04-20 13:02:04 +02:00
pancake/fluendo
4a33771947 * Fix segfault in r_file_slurp_random()
- Thanks elektranox
2009-04-20 12:31:12 +02:00
pancake/fluendo
52c4f25247 * Fix --without-debugger usage O:) 2009-04-20 11:57:36 +02:00
pancake/fluendo
bc1f1e5920 * Apply elektranox patch using INSTALL instead of cp
- Fixes installation permissions
2009-04-20 11:42:05 +02:00
Nibble
fec51758cc * Fixed infinite loop in asm_x86_olly when str == "" 2009-04-20 11:37:54 +02:00
pancake
76cf64671f * Oops merge 2009-04-19 23:30:15 +00:00
pancake
4238cb04c1 * Fix plugin perms (thanks elektranox) 2009-04-19 23:30:01 +00:00
Nibble
4e17e06687 * Fix build O:) 2009-04-19 23:43:43 +02:00
pancake
8ca9f366d0 * Added --without-debugger configure flag to disable the build of
io/p/ptrace and debug/p/dbg_ptrace plugins
* Added a global include/r_userconf.h generated by ./configure
  to use options defined at cpp level
2009-04-19 20:55:25 +00:00
Nibble
a9ad542ea6 * r_asm
- Added pseudo-instruction .arch
  - Improve label parsing
  - Dropped r_cmd dependency
* r_bin
  - Fixed string address issue
  - Minor fixup in elf_specs.h
* r_util
  - Removed '.' from isseparator
2009-04-19 20:09:07 +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
eb4b4b6f29 * Fix bugs in regset debug module
- Make radare2 core use the new register api
  - Needs more work, but it is at least usable :)
2009-04-16 23:42:31 +00:00
pancake
7c27588c13 * Sync x86 code analysis fixups from r1
* Fix some segfaults on the not-yet-used dbg.reg api
* Now uses .radare2rc
* Some R_APIzation in r_debug
2009-04-16 20:49:18 +00:00
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