Commit graph

385 commits

Author SHA1 Message Date
pancake
4790375679 Random enhacements for RHex apis and relocs 2014-11-04 02:16:40 +01:00
pancake
c2b54c1344 Fix reloc addresses in .o files 2014-11-03 15:59:58 +01:00
pancake
7a1596ebbb Swap paddr <=> vaddr 2014-11-03 13:53:54 +01:00
Fedor Sakharov
6c3b502260 Re-implementation of relocations handling. 2014-11-03 13:43:49 +01:00
pancake
8e381135e4 Add Shdr and struct sizes, fixes for ELF64 with r2 -nn
- Remove debug printfs in 't'ypes
2014-10-16 03:46:58 +02:00
pancake
42232354a7 Add 'ai' - address info, Enhace 'ad' (support patterns and sequences)
- ai shows: exec,read,write,flag,func,stack,heap,reg
- Add r_reg_regset_get()
- Implement r2.cmdj in r2.js
2014-10-15 02:24:22 +02:00
pancake
9201d86558 Fix crash in elf parser 2014-10-11 01:25:45 +02:00
pancake
a4eefac793 More fixes for the ELF loader in get_libs() 2014-10-01 20:11:55 +02:00
pancake
664ae46dc5 Should fix #1457 - ELF rpath oob read 2014-10-01 19:59:50 +02:00
pancake
89c32e5d42 Check null ptr in elf 2014-09-30 12:07:29 +02:00
Maijin
a2693f982c Update elf_header parsing / pf with enum
Update elf_header parsing / pf with enum
2014-09-26 23:59:42 +02:00
pancake
5ff1de1068 Fix another ELF parsing crash (thanks @maijin for reporting) 2014-09-20 16:12:44 +02:00
pancake
4c4173769b Revert "Fixing the issue where file size exceeds size of an integer":
3adb00621b
e2afa84443
0761955fdb
17cc18fad0
135c62fb5d
2014-09-20 15:33:59 +02:00
pancake
143033b5d6 Add PE DOS header struct in r2 -nn (via maijin) 2014-09-20 13:27:54 +02:00
Fedor Sakharov
0592964fe9 propeller initial commit 2014-09-18 18:51:24 +02:00
Adam Pridgen
135c62fb5d Fixing *most* warnings related to the change in r_file_slurp 2014-09-17 22:37:54 -05:00
pancake
73743ae5ae Fix a regression in previous elf change 2014-09-17 15:19:40 +02:00
pancake
9be7cc789c Fix the rest of fuzzed elfs crashes 2014-09-17 13:28:30 +02:00
pancake
ae06dc24b5 Fix file2 and file3 fuzzed ELF files 2014-09-17 11:01:36 +02:00
pancake
dec5580bf4 Fix some ELF OOB crashes (thanks @maijin for reporting) 2014-09-17 00:09:00 +02:00
pancake
7fde96ea63 Add some header structs for MACH0 and fix some for ELF (rabin2 -rk '' related) 2014-09-08 12:20:50 +02:00
pancake
a8d3136bd3 Working demo for 'r2 -nn ..'. See 'pf.' and 'fs *;f' 2014-09-08 04:37:34 +02:00
pancake
4bcb57955f Initial test exposing elf headers into Sdb and fix crash in bin-any 2014-09-08 04:17:38 +02:00
pancake
a0570b4144 More fixes related to paddr/vaddr on PE/ELF/XBE 2014-08-15 12:47:05 +02:00
pancake
5a66d7a4d4 Fix #1203 - ELF64 symbol addresses. 2014-08-15 03:55:37 +02:00
pancake
332f21971a Initial fix to support loading TinyELFs (wip) 2014-08-09 23:53:13 +02:00
pancake
3dfadc0b30 Fixed several issues on PE/ELF/MACH0
- relocs, entry0 vaddr and baddr
- fix tiny.elf crash (null deref on *bin ptr)
2014-06-27 01:20:54 +02:00
pancake
a69f56ffe6 Fix all latest coverity issues except the rsa-find ones 2014-06-24 01:01:27 +02:00
tosh
eb6b86dd4b Some fix in the ELF parser
New functions used to prevent integer overflow when add, sub or mul
Fix an out of bound in r_buf_fcpy_at
2014-06-23 15:34:51 +02:00
pancake
8330ea59fc Fix stale pointer issue in RBinELF. Add r_mem_dup 2014-06-14 00:04:40 +02:00
pancake
2284b04f85 Oops. fix elf.nx 2014-06-05 15:55:19 +02:00
pancake
6883f74d57 Add info/elf.relro sdb instance 2014-06-05 15:38:33 +02:00
pancake
1686073c8b Implement RBinInfo.nx check for ELF (need tests) 2014-06-05 15:26:46 +02:00
pancake
79098f622e Add elf.relro sdb entry 2014-06-05 04:53:00 +02:00
pancake
c0750f62a8 List .rela.text relocations, still incomplete 2014-05-21 03:46:31 +02:00
pancake
796dedf83c Fix close(0) issue in rio 2014-05-21 01:46:01 +02:00
Anton Kochkov
bf9de18c63 Fix CID 1134993, 1135005, 1135004, 1134996, 1134995, 1135002 2014-05-19 06:03:41 +04:00
Adam Pridgen
ccd69e569e Fixing how virtual addresses are assigned to elfs 2014-05-15 00:02:41 -05:00
deeso
1fbc7f2168 Added load_bytes, Pushed curplugin down to RBinObj, Reworking the RBinFIle loading to accomodate RBinObj reworked how all bins are loaded. Needed to hack IO to make
this work with rbinfiles and rbinobjects.

Conflicts:
	libr/bin/bin.c
	libr/bin/p/bin_te.c
2014-05-13 21:54:18 -05:00
pancake
216c183b6e Remove tons of useless 'if (x) free (x)' 2014-05-09 17:40:28 +02:00
Anton Kochkov
c8d4e04792 Fix build 2014-05-02 14:21:59 +04:00
Anton Kochkov
8b25562c39 Fix CID 1135001 2014-05-02 13:46:51 +04:00
Anton Kochkov
b14b7df820 Fix CID 1135006 2014-05-02 13:38:35 +04:00
Anton Kochkov
dbff404a07 Fix CID 1135007 2014-05-02 13:34:02 +04:00
jvoisin
854bf7db87 Revert "Fix CID 1134998"
This reverts commit 44f5b35cb0.
2014-05-01 19:49:33 +02:00
jvoisin
44f5b35cb0 Fix CID 1134998 2014-05-01 19:27:53 +02:00
jvoisin
87c8cffeea Fix CID 1134996, 1135005, 1135002, 1134993 2014-05-01 19:13:52 +02:00
jvoisin
89f0ea4285 Fix CID 1135005, 1135004, 1134995, 61134996 2014-04-30 02:32:04 +02:00
Adam Pridgen
c3d6664756 Adding multi-bin support for files that contain multiple objects and lots of other fixes in libr/bin 2014-04-28 12:11:14 -05:00
Jann Horn
f092afa91f fix some of the biggest memory leaks that happen during startup 2014-03-26 22:29:06 +01:00
pancake
7634b8ca77 Bump sdb and fix possible segfault in elf 2014-03-06 00:39:54 +01:00
jvoisin
0121ad2da2 Fix shitload of memleaks on ELF 2014-02-05 20:42:37 +00:00
Roi Martin (@nibble_ds)
3f5ebd9d16 Fix #458 - Negative baddr
Fix r_bin_get_vaddr() (needs further testing due to changes in r_io)
2013-12-19 19:43:44 +01:00
pancake
05d7188a9a Fix dynamic format string functions
- s/r_str_dup_printf/r_str_newf/g
- Add r_strbuf_setf()
2013-12-04 00:20:52 +01:00
pancake
01ac786b5e Fix #297 - Error: read (shdr) on a crackme 2013-10-27 01:13:13 +02:00
Alberto Ortega
686ba6ccc0 Fixed segfault when malformed ELF 2013-10-18 23:51:56 +02:00
Alberto Ortega
1fba89085b Fix malformed ELF segfault, re-enable warning 2013-10-16 17:33:22 +02:00
Alberto Ortega
1e1f84c7c4 Fix segfault when loading malformed ELF, improve invalid sections loading 2013-10-15 11:39:17 +02:00
pancake
722659005d Better brainfuck and arm64 support. Fix some bugs
- Fix infinite loop bug in dietline using quoted commands
- Update brainfuck disassembler and analyzer
- Fix #232 - r2 error on corkami's standard.elf (missing strtab)
- Honor 'other' color palete
- Fix bug in disasm.c filtering flag replacements
- Removed '#' prefix for numeric arguments in aarch64 disasembler
- Fix infinite loop in '">"' command
2013-09-30 01:14:04 +02:00
pancake
cf78623a28 Fix #222 - Malformed ARM ELF causes segfault 2013-09-27 01:37:57 +02:00
Eduard Burtescu
5e096a4fd7 r_bin: new generalized relocs, with only arch-independent types.
Basic implementation for ELF relocs (x86, x64 and ARM).
2013-07-19 09:29:58 +03:00
Eduard Burtescu
4c90534f84 r_bin/ELF: don't ignore the r_addend field from Elf_Rela relocs. 2013-07-19 09:29:58 +03:00
Anton Kochkov
77e2c0c34a Fix ARCompact ELFs loading 2013-07-16 20:10:07 +04:00
pancake
e236f0cf5a Fix ELF regression issue 2013-07-15 18:07:42 +02:00
pancake
92b50950e4 Fix 'r2 -d ls /' launching program with arguments 2013-07-03 01:38:03 +02:00
pancake
de5889565c Fixes for ELF imports/symbols listing 2013-06-20 16:20:18 +02:00
pancake
3f1d3ba146 Better r_str_hash(), Fixes in CCa, Added ?h, Better rbin for BEOS bins
Identify Haiku binaries as 'beos' with noodle()
Fix CCa for non numeric offsets
Use sdb's r_str_hash() instead of old one (much less collisions)
Added ?h command to hash strings
CCa now appends instead of replacing comments
Do not mark as static if bin links to libs
2013-06-07 10:26:37 +02:00
pancake
afacfbeda4 Fix unitialized pointer in elf 2013-05-03 14:52:02 +02:00
pancake
eeceed230b Fix sizeof() operand mismatch warning (thanks fam) 2013-04-29 18:49:26 +02:00
pancake
89992670e1 Fix segfault in ELF parsing 2013-03-13 12:42:05 +01:00
pancake
6806c11792 Better ARM analysis, Fix blockread in V[0-9] 2013-03-08 12:58:03 +01:00
pancake
ba3ad8112a ELF parser more permissive, add 'fsr' and other fixes
Make ELF loader more permissive
Add 'fsr' to rename flagspaces
Fix parsing issue in 'yy'
Fix crash in r_num
2013-03-07 23:47:41 +01:00
pancake
a7925a8a4f Add aach64 (ARMv8) support to the ELF parser 2013-02-26 15:35:24 +01:00
pancake
2fa48384ad Fix some bugs reported by clang-analyzer 2013-02-08 11:42:46 +01:00
pancake
2365918652 Fix slow ELF loading and add anal hints support to projects
Fix slow ELF loading when shstr section was huge
Added 'ahj' command to list anal hints in json
Add 'ah*' and use it from r_core_project
Fix 'i*' command
2013-01-22 18:08:33 +01:00
pancake
38628b4e17 Fix ELF loader and segfault in disasm->hexdump 2012-10-17 12:13:23 +02:00
pancake
83cfbb2236 Add initial ARC code analysis module (branches)
ELF parser setups the proper ARC asm and anal
Fix segfault in the GNU ARC disassembler
2012-09-23 17:33:19 +02:00
pancake
850045c329 Fix many bugs noticed during the training course
Fixed ragg2 -e segfault
Fix use of ragg2 -p
Fix memleaks and null derefs in rio and rsocket
Fix some build warnings
Fix the segfaults found in the ELF parser
Dwarf parsing is only done if bin.dwarf is true
2012-09-22 20:32:19 +02:00
pancake
e46efa8a1d Initial implementation of r_bin_size (rabin2 -Z)
Changes in the disasm loop to support continuous fun
Fixes disasm after opcode payload
Added RConstr code in r_util (not yet used)
RBinSize implemented for elf, mach0 and plan9
Fix build
2012-08-23 12:46:55 +02:00
pancake
e365b90d5f Implement support for >- (pipe to editor)
Fix another race condition in the build system
Fix many null deref reported by clang-analyzer
Assume -w when running r2 with -d
2012-08-13 17:42:25 +02:00
pancake
1586c29785 Fix race conditions in makefiles and clean TODO 2012-08-10 15:59:37 +02:00
pancake
a94c9e4780 * Fix segmentation fault in the ELF parser 2012-06-05 18:56:20 +02:00
pancake
840550aa3a * Add asm.tabs for bearuty for free (enable by default?)
* Apply @l0gic patch for ELF parsing segfault
* Improve a lot the startup time by using r_file_mmap
* Fix build on osx
2012-01-26 03:18:45 +01:00
pancake
d02691b086 * Handle ^C in 'af' code analysis
* Fix parsing of ELF binaries generated by TCC
* Added iOS/arm register profile for the native debugger
* Swap endian of ptn date
2012-01-19 00:19:01 +01:00
pancake
d779162f07 * Apply @w_levin patch fixing memory leaks
- Use r_list in RBin (deprecate list.h) Thanks!
2011-12-13 14:00:22 +01:00
pancake
e40e54984e * Fix import elf parsing 2011-12-04 23:05:48 +01:00
pancake
e6ee9ef5d0 * Fix elf symbol parsing again 2011-12-04 22:12:54 +01:00
pancake
7c3339bbbe * Fix ELF parsing for symbols outside the .text section
* Do not use tabs in arm and csr disassemblers
* Clear colors in visual prompt V:
2011-12-04 21:02:09 +01:00
pancake
6de942e05d * Add RBinInfo->has_va
- Used to autoforce io.va after loading the bin
  - Fixes loading kernel modules and object files
* Fix loading strings on a object file without io.va
* Add install-rev.sh script
2011-11-29 15:29:50 +01:00
pancake
ee665da38e * Fix load of object elf files (kernel modules too)
- thanks Sebastian Reichel for reporting!
* Use O_BINARY in open() on windows
  - Will this fix the disassembler problems on w32?
2011-11-29 04:25:18 +01:00
pancake
3fd59fdbcd * Fix double-free segfault in elf parser on netbsd binaries.
* Fix bindings build
2011-11-15 20:58:08 +01:00
pancake
686e23c9d8 * Do not store opcodes in basic blocks (-40% mem usage in analysis)
* Fix some memory leaks in the elf parser
2011-11-15 09:56:22 +01:00
pancake
7b093a3ed5 * Fix all dangerous bugs reported by llvm-analyzer 2011-11-14 22:46:23 +01:00
pancake
88c8b08f7a * Fix various memory leaks (thanks Ender for reporting!)
* Add e dir.magic variable
2011-11-11 17:14:09 +01:00
pancake
063ec43194 * Use memmove instead of strcpy in overlapped dietline buffers
* Simplify ln -fs in install .. trying to make debian and openbsd happy
* Fix an out-ot-range bug in ELF parser
* Fix segfault when trying to create sections with an empty name
* Install python bindings only in site-packages
* Grep for go in supported.langs
2011-10-24 17:16:54 +02:00
pancake
89968a18b9 * Added linux-x86-32 support for elf-init/fini syms
- Yeah, this is a call for contribs
2011-10-20 19:52:19 +02:00
pancake
04cbf68819 * Fix segfault in elf (thanks @earada!)
* Make cg and cgo work
* Added r_anal_diff_setup_i()
  - Fixed bindings
2011-10-16 13:59:05 +02:00
pancake
d72d66f143 * Honor OSABI in elf for arm bins too 2011-09-14 17:18:40 +02:00
pancake
37fecf7c0c * Implement RBinCreate.elf-arm
* Fix uninitialized shstrtab segfault in r_bin_elf
* Do not create new objects unnecesarily in r_core_magic
* Handle length argument in pb command
* Fix ps command
* @@ now prefixes each line with the offset (useful for search)
  - can be problematic when used with macros
  > / lib
  > ps @@ lib*
* Huge refactoring in r_magic, now using the r2 coding standards
  - Use r_magic_new() and _free() instead of open/close
  - Reduced -1KLOC
2011-09-12 01:47:28 +02:00
pancake
1732541915 * Fix OS identification in ELF on r_bin
* Add missing OSABI definitions
* Fix r_str_case()
* Remove already defined or useless commented config code from r1
2011-09-08 15:10:46 +02:00
pancake
aebf800b8e * Lot of fixes in r_syscall api related to the use of RPair
- Fix segfault in OpenBSD (thanks vext01 for reporting)
  - Add openbsd-x86-64 syscall definitions
2011-07-02 10:14:46 +02:00
pancake
0d4faf652e * Set library version number for plugins
- Registers for which version of core was compiled
* Use tar --format=posix when GNU tar
  - Fixes the dependency on BSD systems
* Fix in doc/fortunes
* Fix this class pointer in asm_java
* Re-Fix uglily the bin_elf strtab issue (needs more work)
* Fix Vala regression in r_asm.vapi
2011-07-19 00:12:36 +02:00
pancake
28e5244064 * rax2 -s (without arg) uses stdin now
* Show help when no file given to rabin2 -O help
* Fix ELF strtab section read issue (workaround?)
2011-07-18 00:07:45 +02:00
earada
29a90901c8 * Add support for io.va mode in g/G visual keys 2011-06-26 23:41:34 +02:00
pancake
186cc56603 * Fix invalid free in r_bin_elf 2011-06-09 12:38:11 +02:00
pancake
b68a6811eb * Show out-of-range errors of bin_elf with eprintf
* Fix disasm output for strings
* Implement r_flag_free (less memory leaks O:)
2011-06-03 23:58:31 +02:00
pancake
a55ef74986 * More out-of-bounds fixes for the ELF parser
* Some fixes in the htflags code
  - There are still bugs, but it works better now
2011-06-03 18:54:12 +02:00
pancake
a6e46f4d2a * Fix some out of range index accesses in elf parsing
- Thanks Ripe for reporting
2011-06-03 11:16:08 +02:00
pancake
ac38d02ccf * Fix possible segfault in code analysis for x86
when the r_anal plugin is buggy
* Add main symbol resolution for r_bin_elf64/openbsd-amd64
* Fix bug in r_str_cpy
2011-05-25 01:39:35 +02:00
pancake
5b601d4c13 * Fix many possible malloc(0) bugs (Thanks Edd Barret for noticing!)
* Set cmd->nullcallback to NULL by default
2011-05-11 19:19:53 +02:00
pancake
a6a92aa73e * Honor --without-debugger
* Fix linking of r_anal_x86_simple plugin
* Fix some uninitialized vars reported by debian build system
2011-04-07 23:15:58 +02:00
Eloi Sanfelix
7c04f11226 Initial SH4 support 2011-03-29 14:55:41 +02:00
pancake
47b29fd69d * Fix previous commit (oops) 2011-01-23 18:44:38 +01:00
pancake
c6b37c3e26 * Fix r_bin_elf for ppc, avr and 68k binaries 2011-01-23 18:32:58 +01:00
pancake
421208a0c7 * Replace main for binsym in r_bin
* Added dummy commands for r_debug_fork/clone
2010-11-18 11:41:17 +01:00
pancake
e15ecf7e79 * Fix warning noticed by iphone-gcc
- Bug in the compiler?
2010-11-09 18:08:07 +01:00
pancake
0a294261aa * Many warnings fixed thanks to gentoo build and @astralia 2010-10-27 16:31:51 +02:00
Nibble
65bd1b53e9 * Fix block read in visual mode
* Use a more reliable way for fixing the got_offset issues
* Remove ELF_GOTOFF_MASK
2010-10-19 12:57:28 +02:00
Nibble
add2efee74 * Fix reloc offset resolution in r_bin_elf 2010-10-13 04:00:32 +02:00
Nibble
793dae395d * Massive refactoring of r_bin
- Add support for fatbins (currently only fatmach0)
  - Minimize creation of r_buffers
* rabin2
  - Add flag -A for listing archs
  - Add flags -a and -B for selecting arch
  - In the next commit -A and -B will be removed and -a will work
    with the following format:
    [-a arch bits] for selecting arch
	[-a] for listing them

--HG--
rename : libr/bin/p/bin_fatmach0.c => libr/bin/p/bin_xtr_fatmach0.c
2010-09-24 21:23:13 +02:00
Nibble
09f5ca50a6 * Minor fixup in r_bin_elf 2010-09-10 11:46:30 +02:00
Nibble
159165fa13 * Add vapi/t/reloc.vala
- Print address for each relocation entry
* Update r_bin.vapi
* Minor fixup in r_bin_elf_get_relocs()
* Update TODO
2010-09-10 11:32:49 +02:00
Nibble
5567da9538 * Add support for parsing relocs to r_bin
* Add flag -R to rabin2 to list relocs
* Implement reloc resolution in r_bin_elf for 32 & 64 bits
2010-09-10 11:11:38 +02:00
Nibble
28ef002c21 * Fill field 'ordinal' in elf symbols 2010-08-16 01:14:54 +02:00
Nibble
8ac0f9e734 * fix get_main for x86 elf64 2010-08-13 15:58:11 +02:00
Nibble
42f7b31d55 * r_bin_elf
- Fix resolution of imports in bins without section ".got"
2010-08-12 17:32:23 +02:00
Nibble
d094f42d2f * r_bin
- Fill RBinImport->size within bin plugins
  - Add field size to RBinImport
* r_bin_elf
  - Correct value of r_bin_elf_symbol_t->size for imports
* rabin2
  - Output af+ command in radare mode
* Update TODO
2010-08-01 11:02:55 +02:00
pancake
c73e43bf40 * Fix print_address function for mips disassembler
* Implement 'gp' register index inside .got section for get_main on mips
* Use more switch() in core/cmd.c
* Simplify some random code
2010-06-27 21:33:11 +02:00
pancake
9ceeae1f54 * Added refptr in RAnalOp
- Used only from ARM code analysis
* Implement ELF get_main for ARM ELF's
2010-06-02 23:36:05 +02:00
Nibble
2f43431e80 * r_bin
- Add r_bin_get_main
  - Implement get_main for elf32 & elf64
  - Rename RBinEntry to RBinAddr
* rabin2
  - Add flag -M to output main offset and va
* bindings
  - Update r_bin.vapi
  - Minor fixup in r_util.vapi
2010-05-30 06:06:25 +02:00
Nibble
6fa84400a6 * r_bin_elf
- New method to resolve the base address
  - Fix bug in bins with bin->ehdr.e_phnum = 0
  - Fix resolution of symbol address in relocatable bins
2010-05-29 17:11:41 +02:00
Nibble
2368a1e3b6 * r_bin_elf
- Fix section va bug
* r_anal
  - Store mnemonic in RAnalOp
  - Initial work on bindiff
2010-05-23 12:51:37 +02:00
Nibble
195c0417bb * Clean up r_bin_elf 2010-05-04 01:26:36 +02:00
Nibble
e6e0421ad9 * r_bin_elf
- Improve error handling for malformed elfs
  - More aesthetic fixes
2010-04-20 12:00:22 +02:00
pancake
46ab7ab8b0 * merge 2010-04-14 14:11:38 +02:00
pancake
7a753ac0cb * strnlen helper in format/elf/elf.c is now static inline
* Some random syntax cleanups
* Fixes some warnings in r_socket on w32
2010-04-14 13:28:56 +02:00
pancake
34435b1285 * Mental note: %lld/%llx does not exist on windows
- Use the macro PFMT64{xod} in case
2010-04-14 13:02:23 +02:00
pancake
74034be518 * Oops, fix import name length in ELF 2010-04-13 10:31:01 +02:00
pancake
ef5f65c2b8 * Fix ELF64 header identification
- This bug was causing bin_load fail sometimes
    on mingw32 and linux on elf32
* Check null pointer in r_file_slurp_range
* Fix compilation (oops)
2010-04-12 11:46:15 +02:00
pancake
4137587cb3 * Fix compilation under mingw32
- Linking fixed for r_sign and
* Fix some reads out-of-bounds in r_bin_elf
  - Use __strnlen instead of ELF_STRING_LENGTH
  - Some simplifications using macros
* Open plugins in radare2 found in '.' by default
  - Make w32 happy
  - Fix RLib for w32 and local plugin files
* Implement r_sys_cmd_str() for w32
  - Also r_sys_setenv()
* Fix printfs in lib/t example
* win7 syscall list is now default windows one
* Added 'r_sys_perror' to make it portable on *nix and w32
* Rename RLibrary into RLib
2010-04-12 02:22:52 +02:00
Nibble
c5396fbb10 * Fix cmd repitition (3x@offset)
* Fix seek to invalid offsets
* Improve r_anal graphs
2010-04-08 14:04:34 +02:00
Nibble
acba7af2b1 * Fix segfault in r_bin_elf 2010-04-07 11:08:43 +02:00
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
1b5966bf82 * Add support for mach0-64 to r_bin 2010-02-22 14:10:44 +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
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
5ef595db09 * Fix random segfaults with py bindings in r_bin 2010-01-04 18:55:35 +01: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
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
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
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
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