Commit graph

171 commits

Author SHA1 Message Date
pancake
d054008b17 Implement class methods for DEX and make icj 2015-07-06 02:38:54 +02:00
pancake
f622ba9f37 Partly fix the symtab parsing in mach0, postponed after dysymtab 2015-07-05 19:36:47 +02:00
pancake
6ed4d5a94b Comment the mach0's symtab parser, rabin2 -u and more 2015-07-05 03:25:20 +02:00
pancake
feef3cd7f7 Skip corrupted sub-bin in fatmach0's 2015-06-25 01:59:31 +02:00
pancake
83e9a155fd Be more permissive with corrupted mach0 files 2015-06-25 01:44:22 +02:00
Álvaro Felipe Melchor
2f23527217 Fix relocations in mach 2015-05-29 17:58:36 +02:00
pancake
e26f86d654 Fix null deref issue in last mach0 commit 2015-05-23 11:43:32 +02:00
pancake
2353737e17 Fix #2602 - Detect Canary and Go in MACH0 binaries 2015-05-23 10:55:44 +02:00
Álvaro Felipe Melchor
d40b0d122c Fix allocation with negative length 2015-05-20 18:16:25 +02:00
Álvaro Felipe Melchor
27a4f49b9f Fix an issue in mach parse. 2015-05-20 13:25:49 +02:00
Álvaro Felipe Melchor
a3086c23e8 Fix an issue with mach parser in dyld_info 2015-05-17 00:39:22 +02:00
Álvaro Felipe Melchor
e16931039a Fix #2576 2015-05-15 14:47:01 +02:00
Alvaro Felipe
41170b9f8a Fix #2524 2015-05-09 10:42:53 +02:00
pancake
3cfde4b34e Fix #2502 - Fix crash in mach0 parser 2015-05-07 01:54:24 +02:00
pancake
7c4db8fd75 Fix import symbol size in mach0 2015-05-06 15:36:51 +02:00
pancake
1bdf7430a8 Handle thumb on MACH0 binaries in a better way + tests 2015-05-05 11:44:00 +02:00
Álvaro Felipe Melchor
3b04c5442b Added checks in mach parser & fix #2465 2015-05-04 09:52:00 +02:00
pancake
faf91d35ab Fix #2465 - Fix crash in mach0 parser 2015-04-30 00:17:42 +02:00
Álvaro Felipe Melchor
ca308085e7 Added checks in elf.c and mach0.c 2015-04-29 01:25:32 +02:00
pancake
3d78af8988 Add support for ARMv7K mach0 binaries (Hello iWatch!) 2015-04-26 23:19:59 +02:00
pancake
2aecde26d2 Tons of free candy. See details below:
- Fix arm-thumb ESIL for the SUB instruction
- Handle Java imports as symbols in code analysis
- Invoke Java instructions reference the imports now
- Fix 71 crashes reported by jn
- Affected bin modules: elf, mach0, java, te, pe, dex
2015-04-13 00:57:32 +02:00
pancake
2c161adda9 Increase symbol table size for MACH0 2015-04-09 17:55:40 +02:00
pancake
1687ed552a Fix segfault in rabin2 -c mach0 2015-04-04 12:45:31 +02:00
pancake
0e6c60fd4f Implement mach0 symtab parser 2015-04-04 01:54:46 +02:00
pancake
7c5c6624c2 Cleanup MD5 code and fix mach0 warning 2015-01-13 03:09:23 +01:00
pancake
c42056228d Define LC_ENCRYPTION_INFO_64 2014-12-17 13:56:21 +01:00
pancake
262b0cfd55 A fix for a MACH0 crash 2014-12-11 19:57:01 +01:00
Jeffrey Crowell
ed1aae7fd1 fix lots of spelling
fix some errors from the sed script

undo file mode crap
2014-12-07 17:00:59 +01:00
pancake
1612715a33 Check for uninitialized variables in MACH0 parser (thanks cov) 2014-11-25 12:59:24 +01: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
fb1be4d598 libr/bin/format/mach0: set main_cmd on the first LC_THREAD
If there are only LC_THREAD, we get the entrypoint from the first
load_command found.
2014-11-23 11:06:10 +01:00
Riccardo Schirone
236298aaa0 libr/bin/format/mach0: find directly main when bin uses LC_MAIN 2014-11-23 11:06:10 +01:00
Riccardo Schirone
06ddf558d9 libr/bin/format/mach0: remove unused function 2014-11-23 11:06:10 +01:00
Riccardo Schirone
590a18ea23 libr/bin/format/mach0: check filetype in r_bin_mach0_get_baddr 2014-11-23 11:06:10 +01:00
Riccardo Schirone
fa0c74616d libr/bin/format/mach0: correctly retrieve entrypoint 2014-11-23 11:06:10 +01:00
Riccardo Schirone
ca32f842ad libr/bin/format/mach0: name consistency 2014-11-23 11:06:10 +01:00
Riccardo Schirone
971223390e libr/bin/format/mach0: set entrypoint only on first LC_THREAD 2014-11-23 11:06:09 +01:00
Riccardo Schirone
c1441b6ef2 libr/bin/format/mach0: fix baddr 2014-11-23 11:06:09 +01:00
Riccardo Schirone
762f518f25 libr/bin/format/mach0: fix issue with entry offset calculation
mach-o/loader.h: comment flavor to follow Apple header
2014-11-23 11:06:09 +01:00
Riccardo Schirone
24368ac3de libr/bin/format/mach0: check Mach0 format correctness
if there is LC_MAIN or LC_UNIXTHREAD in the file, you can't have other
threads
2014-11-23 11:06:09 +01:00
pancake
3817068e17 Fix another tiny crash in mach0 2014-11-04 23:26:39 +01:00
pancake
a93d1d496e Fix crash in mach0 parser 2014-11-04 23:22:05 +01:00
pancake
f5b578e851 Add some more mach0 headers for r2 -nn 2014-10-05 15:58:31 +02:00
pancake
5cf6900cf9 Fix symbol list on some MACH0 files 2014-10-04 17:44:33 +02:00
pancake
34365c7bb3 Handle cparse definitions in rbin sdb 2014-09-23 10:23:28 +02:00
pancake
e627c05c4a Avoid infinite loading times for some crafted mach0 2014-09-20 18:15:09 +02:00
pancake
9977a4721d Fix some mach0 crashes 2014-09-20 17:45:06 +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
Adam Pridgen
135c62fb5d Fixing *most* warnings related to the change in r_file_slurp 2014-09-17 22:37:54 -05: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