Commit graph

920 commits

Author SHA1 Message Date
pancake
6e6dbf5b81 * Some fixes in code analysis
- Fix some issues for 64bit instructions in z0mbie dislen
* Fix EOF, ^D and terminal resize
  - Do not understand terminal resize as EOF
* Display rpathstrip lines to identify segfaults
* Implement 'ao' command to analyze opcodes
2010-03-26 17:01:25 +01:00
pancake
728bd1f817 * Fix w32 build 2010-03-25 10:18:59 +01:00
Nibble
dba665549b * r_bin_elf
- Fix bug with big endian
* r_num
  - Update r_mem_copyendian call
2010-03-19 00:36:28 +01:00
Nibble
49f977a696 * r_bin
- Add support for reading/removing rpath to r_bin_elf
  - Add r_bin_wr_rpath_del
  - Un-R_API r_bin_elf
  - Add rpathdel.c into bin/t/
2010-03-16 02:24:12 +01:00
pancake
76a22ef18e * Remove deprecated r_meta.pc
* Use RMemoryPool and RList in RSearch
  - Store hits in RList if no callback defined
* Fix constructor of r_mem_pool if alloc fails in init
* Remove unused file from search/ binparse.c
2010-03-15 10:46:41 +01:00
Nibble
8dbe94a86d * r_bin
- Fix bug resolving imports addresses
2010-03-14 06:19:28 +01:00
pancake
0b8683bb18 * Fix build 2010-03-12 19:51:07 +01:00
pancake
da9c4a21c4 * Remove debug printf in elf.c
* Oops. add missing trace.c
* Remove trash from old trace
2010-03-12 19:11:43 +01:00
pancake
3da650d4b1 * Write and install manpages
* Merge r_trace into r_debug (RDebugTrace)
  - Implement 'dt' command to manage debugging traces
  - TODO: Track register values and memory changes
  - Added dbg.trace and dbg.trace.tag
* Added r_sys_now() to retrieve ut64 value of current time
  - Must check endianness issues
* Initial work trying to implement RPATH support to ELF
* Less flat command tree
  - 'dt' is now 'dbt'
  - 'dk' is now 'dpk'
* Some more random syntax cleanup fixes
* Say 'yes/no' instead of 'ok/fail' in check-langs script
2010-03-12 18:46:11 +01:00
Nibble
ca66fe440d * r_util
- Fix r_buf_write_at
* r_bin
  - Some fixups in section resize (now is fully working)
  - Minor r_bin_wr_output refactoring
2010-03-11 13:18:49 +01:00
Nibble
423d6a75f4 * r_bin
- More work on r_bin write
  - Add elf & elf64 section resize
    Needs refactoring and split into basic operations
* rabin2
  - Rename flag -o to -O for operations
  - Add flag -o for output file
  - Add resize operation (-O r/.data/1024) for testing purposes
2010-03-11 02:14:34 +01:00
Nibble
bde38868c1 * Huge refactoring of r_bin using r_list instead of r_flist
- Reduce loc
  - Avoid double iterations
  - Allow to add/remove objects easily from r_bin_write
2010-03-10 11:01:38 +01:00
Nibble
7e80161b2c * Merge 2010-03-10 09:21:44 +01:00
Nibble
77f9377d1d * r_bin
- More work on write support
  - Initial API design
  - Fix typo in bin_write_elf.c filename

--HG--
rename : libr/bin/p/bin_wite_elf.c => libr/bin/p/bin_write_elf.c
2010-03-09 15:12:04 +01:00
Nibble
9b39b01bee * Add get_libs function to r_bin_elf 2010-02-25 12:53:00 +01:00
Nibble
63c42b92fc * r_bin_mach0
- Parse indirectsyms table
  - Resolve import address
2010-02-24 20:13:12 +01:00
Nibble
179bd0e8eb * Add get_libs to r_bin_mach0
* Minor fixups in r_bin_pe
* Add flag -l to rabin2 for listing linked libraries
2010-02-23 18:04:39 +01:00
Nibble
40e339d8e8 * Remove r_bin_meta_get_file_line (use r_file_slurp_line instead)
* Implement r_bin_mach0_get_info, supports:
  - Class
  - Wordsize
  - Endianness
  - Cputype
  - CpuSubtype
2010-02-23 13:41:03 +01:00
Nibble
a536777d35 * Add support for ARM to r_bin_mach0
* Update r_core using r_bin_meta_*
2010-02-22 20:10:52 +01:00
Nibble
581ba0e201 * r_bin_mach0
- Implement get_entry
  - Add function r_bin_mach0_addr_to_offset
  - Fix returned offsets
2010-02-22 19:43:35 +01:00
Nibble
02121858a7 * Fix r_bin_mach0_get_sections for mach0-64 2010-02-22 14:28:27 +01:00
Nibble
1b5966bf82 * Add support for mach0-64 to r_bin 2010-02-22 14:10:44 +01:00
Nibble
f3af308727 * Include r_bininfo features in r_bin
* Remove r_bininfo
* Add test bin/t/test_meta.c
2010-02-22 04:30:34 +01:00
Nibble
8d4172972d * r_bin
- Add field bits to RBinInfo
  - Make r_bin_*_get_arch compatible with r_asm
* rabin2
  - List sections before anything else
  - Add "e asm.bits x" to "rabin2 -ir" output
* r_flags
  - Remove r_flag_set_base
* r_io, r_core
  - Now r_io handles all the va related stuff
  - Execute rabin2 with the flag -v if io.va = true
2010-02-21 11:35:49 +01:00
pancake/fluendo
c02ef87ac2 * Add support to ARM for the debugger
- asm.arm plugin is now embedded into r_asm as static plugin
* Added register alias names for r_reg
  - Add register names for x86/32/64/arm
  - pc, sp, bp, a0, a1, a2, a3
* Do not build lua5.1 if no lib found
* Enable cfg.ffio in debug mode
* Some code simplification in r_asm
  - Fix a negative offset bug in elf on ARM binaries
2010-02-03 14:34:00 +01:00
Nibble
1721bdfe79 * r_buf
- Added R_BUF_CUR for reading at current offset
* r_bin
  - r_bin_java rewritten using r_buf
  - Removed unnecessary headers
  - Some minor fixes in r_bin_pe and r_bin_elf
2010-01-23 13:42:44 +01:00
Nibble
157c727d89 * More work on r_bin_pe 2010-01-22 20:38:41 +01:00
Nibble
b3db31bb9e * r_bin
- Huge refactoring of r_bin_pe
 - Minor fixups in r_bin_mach0
2010-01-22 17:33:56 +01:00
Nibble
f6fa35f9b6 * r_bin_elf refactoring using r_buf 2010-01-21 13:09:49 +01:00
Nibble
82a45fd94a * Remove debug messages from mach0.c 2010-01-19 22:44:57 +01:00
Nibble
5795654c51 * r_buf
- Add r_buf_fread for "format read" (needs a better name)
  - Fix segfault in set_bytes
  - Fix r_buf_read
* r_bin
  - Refactoring of r_bin_mach0 using r_buf and r_file
2010-01-19 22:41:45 +01:00
Nibble
ef7e7998f6 * Minor fixup in r_bin_pe 2010-01-16 19:23:34 +01:00
Nibble
68ec0834b4 * r_bin_pe
- Fix bug in parsing imports
2010-01-16 18:33:40 +01:00
pancake
eb99dd1203 * Many more fixes for the mingw32 port 2010-01-15 13:02:54 +01:00
Nibble
61480f889e * r_bin
- Add plugin bin_mach0 (initial support for sections, imports and symbols)
* r_bin_pe
  - Minor fixup
2010-01-15 02:08:38 +01:00
Nibble
ff60ddf329 * r_bin_mach0
- Fixups
  - Dummy get_entrypoints
2010-01-15 01:17:31 +01:00
Nibble
7a2b9fd0f4 * More work in r_bin_mach0
- get_symbols
  - get_imports
2010-01-15 00:08:39 +01:00
Nibble
38fa7b36b9 * More work on get_syms in r_bin_mach0 2010-01-13 19:09:06 +01:00
Nibble
28b137342f * r_bin_mach0
- Refactoring
  - Add get_sections to r_bin_mach0
2010-01-11 02:55:09 +01:00
Nibble
94df3a38f7 * Some work in mach0 plugin
* Fix r_util build
* Minor fixups in rasm
2010-01-10 14:13:41 +01:00
Nibble
5ef595db09 * Fix random segfaults with py bindings in r_bin 2010-01-04 18:55:35 +01:00
pancake/fluendo
6a576ba6ce * Sync java class fix from r1 2009-12-21 19:54:51 +01:00
pancake/fluendo
7dcd226438 * Apply Nibble patch fixing PE issues reported by matalaz 2009-11-24 17:12:50 +01:00
Nibble
33afde92a5 * Fixed bug resolving imports with PE bin 2009-11-16 14:08:47 +01:00
pancake
2ca850007f * Major refactoring of r_io (api has changed)
- filedescriptor is only defined by r_io_set()
  - the rest of functions just take one argument less
  - there are not enought filedescriptor changes to force fd resolution all the time
* Fix memory leak in r_io_open
  - Better error management
  - Fix Makefile warnings in libr/io/p
* Added read_at and write_at helper functions
* Random indentation fixups
* Added shm.mk and malloc.mk
* More useless work for r_iter
2009-09-02 00:10:51 +00:00
pancake
233e83323d * Autogenerate libr.pc.acr with 'make pkgcfg'
* Revert elf.h (was partially killed by zeroes)
2009-07-16 09:40:00 +00:00
pancake
1c3a319c53 * Added 'pkgcfg' directory with autogenerated .pc files
- 'make pkgcfg' does that automagically :)
* Implement r_mem_mem function in r_util
2009-07-16 00:30:20 +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
e55dbb5858 * r_bin
- More refactoring
  - Remove dupped code from Elf_(get_import_addr)
2009-07-08 02:06:27 +02:00
Nibble
2b48d630bf * r_bin
- more refactoring
  - r_bin_elf_imports and r_bin_elf_symbols unified into r_bin_elf_symbols
  - removed section_resize (needs to be rewritten)
2009-07-07 18:01:49 +02:00
Nibble
811f39c833 * r_util
- Add r_str_dup_printf
* r_bin_elf
  - Huge refactoring
    r_bin_elf_get_{imports, symbols} will be modified soon
    r_buf|r_io will be used, so 'swap-endian' and 'malloc-lseek-read' calls will be removed
    Need to rethink section resize (temporary disabled)
* rabin2
  - Refactoring
2009-07-05 16:49:47 +02:00
Nibble
857df2088b * Fixed bug in r_bin_elf resolving imports
* Fixed 'rasm2 -o'
2009-06-11 14:28:35 +02:00
Nibble
b8afe87259 * Fixed Elf64_Xword/Elf32_word bug in r_bin_elf 2009-06-03 12:58:18 +02:00
pancake
5208ebe90e * Minor syntax changes
* USE_BTREE is now optional in r_flags
  - better test case (but im still unable to reproduce the bug)
* Fix build (r_anal.h)
2009-05-28 10:57:30 +00:00
Nibble
5cc6b4769c * Fixed resize_section in r_bin 2009-05-05 23:49:40 +02:00
Nibble
1ad245a1ee * Fixed bug in r_bin_pe resolving imports 2009-04-30 13:46:29 +02:00
Nibble
3e9714d3f9 * Huge refactoring of r_bin_elf_resize_section 2009-04-29 18:56:30 +02:00
Nibble
0efabe19a8 * r_bin
- Added r_bin_get_fields
  - Added flag -H to rabin2 to list header fields
2009-04-24 12:12:15 +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
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
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
Nibble
a18996b41f * r_bin_pe
- Fixed exports bug
  - Little refactoring
2009-03-19 23:22:14 +01:00
Nibble
7e5f8de7eb * r_bin_elf
- Huge refactoring
* r_bin_pe
  - Initial work on pe32+ plugin
* r_bin_java
  - Use macro instead of ntohs
  - Minor fixups
  - Added dummy show_info function
* r_types
  - Types fixup
2009-03-19 22:04:50 +01:00
Nibble
f3983d9316 * r_bin
- Added generic string search support
  - Added class format autodetection
  - Minor fixup
2009-03-17 00:34:45 +01:00
Nibble
758b492739 * r_bin
- Removed unnecessary files
  - Added initial java support (baddr, entry, syms, strings)
  - Minor fixups in r_bin_{elf, pe}
  - Added rabin2 -z for strings (not working yet)
2009-03-16 21:07:31 +01:00
Nibble
a27a4b393c * More work on r_bin_java 2009-03-16 08:51:20 +01:00
Nibble
50fbf06b64 * r_bin
- rabin2 -p replaced by -f
  - Changed folder structure
  - Initial work in java plugin
  - Minor fixups

--HG--
rename : libr/bin/p/elf/elf.c => libr/bin/format/elf/elf.c
rename : libr/bin/p/elf/elf.h => libr/bin/format/elf/elf.h
rename : libr/bin/p/elf/elf64.c => libr/bin/format/elf/elf64.c
rename : libr/bin/p/elf/elf64.h => libr/bin/format/elf/elf64.h
rename : libr/bin/p/elf/elf_specs.h => libr/bin/format/elf/elf_specs.h
rename : libr/bin/p/mach0/mach0.c => libr/bin/format/mach0/mach0.c
rename : libr/bin/p/mach0/mach0.h => libr/bin/format/mach0/mach0.h
rename : libr/bin/p/pe/pe.c => libr/bin/format/pe/pe.c
rename : libr/bin/p/pe/pe.h => libr/bin/format/pe/pe.h
rename : libr/bin/p/pe/pe_specs.h => libr/bin/format/pe/pe_specs.h
2009-03-11 01:11:50 +01:00