Commit graph

231 commits

Author SHA1 Message Date
pancake
49975ccf95 Fix #3286 - Use stdbool.h 2015-09-14 02:08:31 +02:00
jvoisin
9db340a0a8 Fix some malloc(A*B) overflow detected by clang-analyzer 2015-09-09 21:44:06 +02:00
pancake
868a97788e Only export has_crypto in mach0 when cryptid is set 2015-09-07 01:33:42 +02:00
pancake
3f036c1070 Fix null deref in objc parser 2015-08-20 12:08:16 +02:00
Álvaro Felipe Melchor
e764e8befa Fix regression mach0 relocs 2015-08-08 19:43:11 +02:00
pancake
4d672d9ecc mach0: two wrong switch indents, oob read in memcmp and useless warns 2015-08-08 19:04:07 +02:00
Álvaro Felipe Melchor
cf4b673d12 Fix #3047 & #3048 - oob write 2015-08-07 21:16:17 +02:00
Álvaro Felipe Melchor
a37fdb3dec Fix #3045 - oob write 2015-08-07 21:16:09 +02:00
pancake
04e128ab92 Fix some covs 2015-07-25 09:58:11 +02:00
pancake
6ae0417278 Updsate SDB to optimize dupped symbol checks in mach0 parser 2015-07-24 13:24:32 +02:00
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
jvoisin
f7b05fe65d Coverifix rampage! 2014-08-04 01:21:38 +02:00
pancake
8a2819256d Fix some more CIDs in mach0 2014-08-01 12:14:16 +02:00
jvoisin
5c61d6f2d7 Fix some coverity issues. 2014-07-24 18:46:46 +02:00
pancake
314ab38a78 Fix all latest coverity issues 2014-07-21 17:51:20 +02:00
pancake
cf64a5dd75 Fix #1117 - Bring back rabin2 -c 2014-07-17 09:40:35 +02:00
LemonBoy
e8dd114774 Re-enable the hack that makes the world tick, one day we'll get rid of that 2014-07-11 23:32:44 +02:00
LemonBoy
6d83b07224 Prettify the mach0 baddr method 2014-07-11 23:32:44 +02:00
pancake
9368fc7253 Bump capstone again and fix some warns 2014-07-02 17:14:32 +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
8146cb7735 More mach0 parser bugs fixed thanks to zzuf 2014-05-29 15:08:01 +02:00
pancake
810b976b73 More regression fixes for baddr on ELF and MACH0 2014-05-26 12:04:07 +02:00
pancake
a4d9d34259 Handle LC_MAIN in MACH0 to get entrypoint 2014-05-25 02:23:12 +02:00
Adam Pridgen
a633e1526c Fixed the mach0 entrypoint, i think 2014-05-16 07:50:06 -05:00
pancake
5f5cbde791 Fix more 68k bugs and doesnt git pull capstone 2014-05-15 20:13:47 +02:00
pancake
03e1407dd9 Expose current opened file in 'k bin/cur/..' 2014-05-14 18:02:56 +02:00
pancake
587c5f51c2 Implement MACH0- crypto and UUID inside Sdb bin/<fd>/info 2014-05-14 05:48:03 +02:00
pancake
216c183b6e Remove tons of useless 'if (x) free (x)' 2014-05-09 17:40:28 +02:00
pancake
213edb513f Fix all segfaults spotted by my fuzzing tests on MACH0 2014-05-06 12:48:21 +02:00
Adam Pridgen
bd297f6788 reworked how bins environmnent variables are set (e.g. io.va, arch, bits, etc.) and fixed some more mach0 regressions 2014-05-04 17:15:55 -05: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
pancake
2b84217ce8 Fix few warns in RBin 2014-04-18 16:37:02 +02:00
pancake
92c5d8513b Refix link 2014-03-18 02:21:52 +01:00
pancake
c260d37f39 Fix infinite parsing when loading MACH0 files
- Reenable some mouse enabled ansi sequences
2014-03-16 00:16:40 +01:00
pancake
4bb63d4c2e Use dynamically allocated *next (+15% analysis speedup + better analysis) 2014-02-20 00:43:06 +01:00
pancake
12dc36ce23 Sync with sdb 0.8.rc1 - lot of api changes 2014-02-19 05:02:59 +01:00
pancake
1390d9f2d5 Add length and size fields in RBinString 2014-02-11 00:08:12 +01:00
pancake
acc89d63e6 Use even more ut* types 2014-02-10 16:56:10 +01:00
pancake
70ef729b36 Fix a segfault when parsing a corrupted mach0 header 2014-01-29 03:48:51 +01:00
pancake
47bd319740 Fix another infinite load mach0 bug (thx zzuf!) 2014-01-29 02:58:08 +01:00
pancake
6e8073a67f Fix @b: command suffix for 'pd' and fix issue with malformed mach0 2014-01-29 02:42:22 +01:00
pancake
5ff6065335 Bump for new sdb 2014-01-23 01:56:35 +01:00
pancake
9f0d7e44d3 Fix some issues reported by coverity 2014-01-15 01:56:28 +01:00
pancake
38fc28f960 Added more Jamroot files 2014-01-03 00:13:46 +01:00
David Martínez Moreno
cedef51ce4 Fix a round of typos and incorrect man macros.
The macro Em. was present in all the manpages and it's incorrect, plus
 there's some typos here and there, some of them spotted by lintian.
2013-12-31 23:52:46 -08:00
pancake
a60cf2df8d Fix mach0 ik test 2013-12-20 13:18:52 +01:00
Roi Martin (@nibble_ds)
e6d5703458 Fix #471 - entrypoint parsing in mach-o 2013-12-20 12:13:28 +01:00
pancake
1185a8210b Integrate SDB into RBin accessible with the 'ik' command 2013-12-20 01:20:17 +01:00
Adam Pridgen
20bde77884 Added mixing return after setting RBinAddr entry and offset 2013-12-04 23:42:46 +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
d02df0d306 Fix some issues reported by CoverityScan service 2013-12-03 00:14:59 +01:00