Commit Graph

61 Commits

Author SHA1 Message Date
pancake
e5c83d6d26 * Do not pass CFLAGS when linking asm/t/fastcall
* Populate r_io_lseek -> r_io_seek refactoring
* R_APIfy a bit the r_hash
* Also build hash/t/hello program
* Fix some warnings and build blockers
* Make rahash2 read from files (using slurp)
* Added r_buf API in r_util (interacts with r_io)
* Add initial template for r_io_bind
  - Needs some more work
2009-09-08 01:08:46 +00:00
pancake
6c28274aa0 * Implement static plugins for r_io
- Prefix all plugins with 'io_' (like in the rest of libs)
  - Statify io_dbg and io_ptrace IO plugins
* Added _free methods for r_io and r_debug. Oops
* Initial dummy version of r_debug.vapi
* More stuff in the debug/t/main.c (not yet working)
* Better hg-miss missing file detection checks

--HG--
rename : libr/io/p/dbg.c => libr/io/p/io_dbg.c
rename : libr/io/p/ewf.c => libr/io/p/io_ewf.c
rename : libr/io/p/malloc.c => libr/io/p/io_malloc.c
rename : libr/io/p/ptrace.c => libr/io/p/io_ptrace.c
rename : libr/io/p/shm.c => libr/io/p/io_shm.c
2009-08-22 03:11:33 +00:00
pancake
a1f45dbf8a * Add support for static plugins to r_debug
- r_debug_ptrace is now static by default
* Some code cleanup and warnings removal
* Added hg-utils.mk and MKPLUGINS directive in user-config
* Initial implementation of dbg_gdb r_debug plugin
  - Import ERESI's libgdbwrap from r1
* Add some missing files (asm/p/fastcall_mips.h, core/t/ragrep2.c)
* Added r_str_bool helper to get "true"/"false" from int
2009-08-22 01:54:24 +00:00
pancake
65da25d4c0 * Implement STATIC PLUGIN support for r_parse
- Use the new 'asm-like' build system for r_parse plugins
  - Added new callback to 'assemble' parseable expressions
    into compilable asm code
  - Refactorize and remove warnings in parse_mreplace
* Added r_str_char_count() in r_util
* Some fixups in the fastcall code in r_asm

--HG--
rename : libr/parse/p/mreplace/mmemory.c => libr/parse/p/parse_mreplace/mmemory.c
rename : libr/parse/p/mreplace/mmemory.h => libr/parse/p/parse_mreplace/mmemory.h
rename : libr/parse/p/mreplace/mreplace.c => libr/parse/p/parse_mreplace/mreplace.c
rename : libr/parse/p/mreplace/mreplace.h => libr/parse/p/parse_mreplace/mreplace.h
2009-08-14 01:44:12 +00:00
pancake
bc1b1b976e * Initial implementation of r_asm_fastcall()
- VAPI sync
  - Used to get register N to call fastcalls (syscalls f.ex)
* Code analysis marked as 8-bit compliant
2009-08-14 00:37:18 +00:00
pancake
d62886064a * Fix memory leak and simplify the code of the CSR disassembler 2009-07-16 09:24:17 +00: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
Nibble
857df2088b * Fixed bug in r_bin_elf resolving imports
* Fixed 'rasm2 -o'
2009-06-11 14:28:35 +02:00
pancake
0f2503f781 * Sync local random changes with public repo
* Forwport of the 'Y' yesno issue of r1
* R_APIize r_util a bit more
* Added r_str_ansi_* helper functions
2009-05-20 12:41:04 +00:00
Nibble
438028a7ae * Added mdisassemble into r_asm
* Update r_asm vapi
2009-04-27 00:34:54 +02:00
pancake
3939dcf26f * Fix vmas assembler plugin license header
* Added set_subarch() method for r_asm plugins
  - Not yet used by any plugin
2009-04-23 10:31:55 +00:00
Nibble
499adab6f1 r_asm
- Remove some warnings from r_asm
  - Redefine parameters in several functions
2009-04-23 00:09:55 +02:00
pancake/fluendo
eaac73b314 * Apply skurz0's patch implementing psosvm architecture for r_asm 2009-04-22 20:17:49 +02:00
Nibble
f47b8c01e6 * r_asm
- Added pseudo-instruction .bits
  - Added asm_x86_nasm as static plugin
* r_bin
  - Added pe, pe64, elf64 and java as static plugins
2009-04-22 16:29:30 +02:00
Nibble
e37ca5367e * r_asm
- Added pseudo-instruction .org
  - .asciz renamed to .string
* r_core
  - Fixed r_bin format detection at opening
2009-04-22 00:42:18 +02:00
Nibble
0d5f0531e5 * r_asm
- Now instructions are splitted by '\n' '\r' and ';'
2009-04-21 13:39:33 +02:00
Nibble
656d9613ca * r_bin
- Minor fixups in r_bin_elf
* r_asm
  - Added multiline support to massemble
  - Fixed buf_hex generation in massemble
2009-04-21 12:11:07 +02:00
Nibble
ee7e8c10ee * Fixed labels bug in r_asm 2009-04-20 13:26:29 +02:00
Nibble
fec51758cc * Fixed infinite loop in asm_x86_olly when str == "" 2009-04-20 11:37:54 +02: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
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
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
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
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
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
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
99f284f358 * Some work for r_bininfo library
- Extend API to get file and line numbers from a virtual address
  - Added addr2line-like test program 'rabini'
  - Added 'addr2line' plugin
* Add r_file_slurp_line helper in r_util
* Added initial work to support multiple compilers (gcc only atm)
  - tcc support under development
  - Make HAVE_REGEXP be optional
2009-03-22 04:37:46 +00:00
Nibble
acc455109f * Several fixups 2009-03-10 12:21:46 +01:00
pancake
19fa55ba33 * Add random documentation for dynamic language plugins
* Properly installation of vapi files
  - Lot of fixtures to build a external hello world in gtk+vala+r_asm
  - default staticplugins for r_asm are:
    mips, java and x86_olly by default
  - Add r_util.vapi and make .pc file point to -lr_util
  - Use .deps to generate dependencies between vapi files
  - Fix r_asm.vapi (Added Asm.Aop struct)
    - add set(string) method
    - asm/disasm -> assemble/disassemble
* Fix warning + build in sign.c
  - Included in default build
* Fix segfault in r_lib with NULL in opendir()
* More fixtures for r_asm_plugin_*
  - use #ifndef CORELIB
  - drop 'static'
* Update README
2009-03-10 01:49:24 +00:00
Nibble
d51005f027 * Added 'static-plugin' feature to r_bin module
* Minor fixups in r_asm build
* Added missing IFDBG in lib.c
2009-03-09 13:03:42 +01: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
pancake
b2e785fc61 * Add 'static-plugin' feature to r_asm module
* Make rabin2 support 'arm' instead of 'asm_arm' for -a (autoprefix 'asm_')
* Some build fixtures
* Static plugins are configurable in libr/config.mk and libr/config.h
2009-03-08 23:49:15 +00:00
Nibble
8ff0d7e13c * Removed several warnings 2009-03-06 12:53:19 +01:00
Nibble
3d76339cec * Added java plugin for r_asm
* Added java assembly support in rasm2
2009-03-05 16:58:13 +01:00
pancake
f88fd507cd * fix r_asm and r_anal deps
* Initial import of depgraph.pl helper script to get the libr
  internal library dependencies graph with graphviz
2009-03-04 12:39:51 +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
1b71e0e52d * Fixed build O:)
* Removed warning from asm_x86_bea plugin
2009-02-20 16:29:12 +01:00
Nibble
bda701d02f * r_asm
- Removed warnings
  - Added error handling to rasm2
* r_lang
  - Fixed "print help" bug
2009-02-19 18:13:34 +01:00
Nibble
ab956379ea * Fixed plugin name length error in r_{asm, anal, lang}
* r_asm
  - asm_bea renamed to asm_x86_bea
  - asm_olly renamed to asm_x86_olly
  - Minor fixups in rasm2
* r_debug
  - R_ASM_ARCH_ renamed to R_DBG_ARCH_

--HG--
rename : libr/asm/p/asm_bea.c => libr/asm/p/asm_x86_bea.c
rename : libr/asm/p/asm_olly.c => libr/asm/p/asm_x86_olly.c
2009-02-19 16:41:51 +01:00
Nibble
10bac23574 * Fixed rasm2 init O:-) 2009-02-19 14:34:06 +01:00