Commit graph

45 commits

Author SHA1 Message Date
pancake
7b0622f85d Fix latest covs 2016-08-01 14:46:17 +02:00
pancake
f2ac0a1d52 Enhance ignore call warning message and minor refactor in mach0 entitlements parser 2016-07-28 11:33:53 +02:00
Álvaro Felipe Melchor
f1236563f3 Refactor RBin.Xtr to speedup dyldcache extraction
* Refactoring RBinXtr API.
* Cache sub-fat bins in sdb to save memory.
* Fix the error while loading sub-bins of different archs.
* more work into xtr to fix the remaining tests
2016-07-27 11:01:57 +02:00
Álvaro Felipe Melchor
b7cc6c04d7 LDID parse signature in mach0 binaries
* added iC command to show signature info

in the case of mach it shows entitlements

* added rabin2 -OC to get signature info from binary

* change swap to r_read_bleX new API

* change eprintf to r_cons_printf

* add const char in plg->signature
2016-05-09 23:42:28 +02:00
Damien Zammit
af0a865d9f WIP - Totally remove host endianness dependence
- Adds endian aware functions
- Removes references to host endian
- Uses binary detected endianness else tries LE and restricts by RAsmPlugin
- Fixes gdb debugger endianness when debugging BE qemu gdbserver

Signed-off-by: Damien Zammit <damien@zamaudio.com>
2016-05-04 23:42:17 +10:00
pancake
1b88200e31 Add support for 'interpreter' in RBin, ELF and MACH0 2015-10-22 02:13:26 +02:00
pancake
366ba23b30 Fix ab88f42f9b mach0 crash (reported by @revskills) 2015-10-21 23:46:41 +02:00
Álvaro Felipe Melchor
748564683e Fix #3518 2015-10-20 23:52:34 +02:00
pancake
2353737e17 Fix #2602 - Detect Canary and Go in MACH0 binaries 2015-05-23 10:55:44 +02:00
Riccardo Schirone
aaa822f03b More work on mach0 format parser
* use segment instead of sections

	sections are optional. it should be better to rely on segments

* remove r_bin_mach0 prefix

	make the source code easier to read. considering this is a plugin, it's
	completely separated from other stuff and we can rename things without
	problems.

* remove MACH0_ prefix from static functions
* fix a mistake. we should check segs, not sects
* get right entrypoint also for LC_THREAD
* fix logic to retrieve entry offset/addr

	first it computes the virtual entrypoint address and then it finds the
	offset in the file through addr_to_offset
2014-11-24 11:57:54 +01:00
Riccardo Schirone
fa0c74616d libr/bin/format/mach0: correctly retrieve entrypoint 2014-11-23 11:06:10 +01: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
Adam Pridgen
135c62fb5d Fixing *most* warnings related to the change in r_file_slurp 2014-09-17 22:37:54 -05:00
pancake
5f5cbde791 Fix more 68k bugs and doesnt git pull capstone 2014-05-15 20:13:47 +02:00
pancake
587c5f51c2 Implement MACH0- crypto and UUID inside Sdb bin/<fd>/info 2014-05-14 05:48:03 +02:00
pancake
1185a8210b Integrate SDB into RBin accessible with the 'ik' command 2013-12-20 01:20:17 +01:00
pancake
81d7e5a8a3 Better support for ARM64 and OS autodetect for MACH0 binaries 2013-09-29 20:20:47 +02:00
pancake
9e12c60702 Fix #223 - Hardening flags for radare2 $ HARDEN=1 sys/install.sh 2013-09-27 19:50:48 +02:00
Eduard Burtescu
96ca1d3815 r_bin/mach0: new relocs using dyld_info bind opcodes. 2013-07-19 09:53:43 +03:00
Eduard Burtescu
6408bf4b9a r_bin/mach0: updated mach0_specs.h using original Apple headers where possible. 2013-07-19 09:29:58 +03:00
Eduard Burtescu
4a30d17266 Mach-O: new relocs implementation and complementary fixes for imports. 2013-07-19 09:29:58 +03:00
pancake
6956fe003a Add PIE (ASLR) field in RBinInfo for ELF, MACH0 and PE 2012-11-07 18:18:52 +01:00
pancake
9362041562 Huge RBin refactoring and fix mach0 section perms 2012-08-04 23:48:06 +02:00
pancake
989fdb3dc8 * Implement raw get_main analysis for MACH0 binaries (x86-32/64)
* Remove main() from libr/magic .. was using non-portable strlcpy/strlcat
2011-10-10 16:55:39 +02:00
pancake
677a499440 * Add get_main() for mach0 (32,64)
* Proper use of arch/bits. debugger works fine now for osx-32/64
2011-09-22 09:52:00 +02:00
pancake
edbcb1cfce * Add 'rwx' permissions information in MACH0 sections
- Lot of syntax indentation fixes
* Use r_name_filter in r_flags
  - Fix dangerous flagnames issue
2011-07-19 18:03:31 +02:00
pancake
64a94329c5 * Fix segfault in mach0 parser 2010-11-10 02:19:05 +01: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
b344f96e21 * More work on r_bin_mach0
- Parse local symbols
  - Resolve non-lazy symbol pointers
  - Set import type to FUNC or OBJECT
  - Refactoring of get_imports
  - Add field type to r_bin_mach0_{import, symbol}
2010-09-10 01:17:55 +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
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
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
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
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
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