Commit graph

920 commits

Author SHA1 Message Date
jvoisin
dba909b1dd Fix yet-another-batch of clang-analyzer issues 2015-09-01 23:24:11 +02:00
pancake
a5655dff9b A bit dsojson leak just to avoid a crash 2015-09-01 18:44:37 +02:00
inisisder
ed6835a976 some small refactor 2015-09-01 14:25:25 +02:00
pancake
7157cf92b7 Fix some covs 2015-09-01 11:24:09 +02:00
inisisder
14760f4763 add check is it binary encrypted 2015-08-31 11:56:32 +02:00
jvoisin
b270e92021 Refactor a bit bin_pe_parse_imports 2015-08-29 23:30:16 +02:00
jvoisin
4261075d60 Misc fixes to make clang-analyser even more happy 2015-08-29 18:08:38 +02:00
Maijin
6831dd2f6d Revert "More misc cleanup"
This reverts commit 788a3b02c7.

	modifié :         libr/bin/format/pe/pe.c
2015-08-28 20:58:21 +02:00
jvoisin
788a3b02c7 More misc cleanup 2015-08-28 19:13:27 +02:00
jvoisin
e0e170c3c5 Fix various clang-analyser issues 2015-08-28 18:29:31 +02:00
jvoisin
98bb29c4ed Fix some clang-analyzer defects 2015-08-28 17:28:09 +02:00
pancake
1d4b0d8555 Fix some covs 2015-08-28 17:21:04 +02:00
Riccardo Schirone
2169980239 bin/p/bin_elf: fix symbols vaddr 2015-08-26 20:08:12 +02:00
Riccardo Schirone
18eaf1c8c5 format/elf: fix paddr2vaddr and vaddr2paddr conversions 2015-08-26 18:30:33 +02:00
Riccardo Schirone
eeef82c2b8 bin: use R_BIN_SCN_MAP flag when a section should be mapped by IO
- io/section: filter sections by looking at R_IO_MAP flag
- util/str: consider (m)apped flag when printing/parsing srwx info
2015-08-26 14:12:46 +02:00
Riccardo Schirone
5663e41177 bin/format/pe: fix imports vaddr
the RVA in the PE header doesn't consider the base address, so we
have to add it in the vaddr field.
2015-08-23 23:33:00 +02:00
Riccardo Schirone
e1739384ef bin/format/pe: remove PE_ macro from static functions 2015-08-23 23:33:00 +02:00
Álvaro Felipe Melchor
45b74a7a37 Fix an oob write in mz.c 2015-08-22 19:04:22 +02:00
pancake
3f036c1070 Fix null deref in objc parser 2015-08-20 12:08:16 +02:00
pancake
0868703c9f Enhancements for ic 2015-08-19 02:23:42 +02:00
pancake
564fb069be Fix #2991 - Add support for some SPARC ELF relocs 2015-08-19 02:04:07 +02:00
pancake
2c11af3e22 Fix buffer overflow in OBJC parser 2015-08-18 14:04:31 +02:00
inisider
1f2cd1695b move property to fields 2015-08-16 19:45:14 +02:00
Riccardo Schirone
2518c9e21c core/core: add scr.promptflag variable 2015-08-11 16:03:07 +02:00
pancake
2865786e4c Add bin.classes eval var and fix rabin2 -rc output 2015-08-11 15:58:01 +02:00
pancake
a343109c68 Fix aarch64 elf reloc type 2015-08-11 09:46:28 +02:00
yetmorecode
667cdecd37 Enhanced shell output for win32 native debugging
Fixed multiple whitespace issues
Removed unnecessary include for string.h
2015-08-11 09:17:23 +02:00
pancake
1931f684a4 Detect ELBRUS ELF binaries and fix arm esil issue 2015-08-11 01:47:51 +02:00
pancake
b630d82548 Parse PLT for imports in ARM64 ELF binaries 2015-08-11 00:54:03 +02:00
inisisder
2462f2c430 fix problem with iTerm bin and remove printf 2015-08-10 13:48:48 +02:00
inisider
3b378c50ac some refactor and fix code style 2015-08-10 13:48:48 +02:00
inisisder
684606bcee fix one more segfault 2015-08-10 13:48:48 +02:00
inisisder
553e20c3d9 fix segfault and memory leaks 2015-08-10 13:48:48 +02:00
inisisder
eca3a781c0 objc class parser code refactoring 2015-08-10 13:48:47 +02:00
inisisder
d8af00ea36 add parsing of objc classes from binary 2015-08-10 13:48:47 +02:00
pancake
1c352a9dab Fix two compiler warnings in PE parser 2015-08-09 12:44:03 +02:00
pancake
26dd53e8f4 Add support for RPI2 PE Windows executables 2015-08-09 02:13:47 +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
40842b0e96 Fix some clang build issues 2015-07-25 01:54:07 +02:00
pancake
6ae0417278 Updsate SDB to optimize dupped symbol checks in mach0 parser 2015-07-24 13:24:32 +02:00
Jonathan Neuschäfer
ecf6792318 Fix #2927 and random code cleanups
- asm_dcpu16: remove an obsolete comment
  It was obsoleted in 5285d1bdea.
- Indentation fixes
- fix a few typos
- remove "#define NEW_ESIL"
- move comment about r_bin_filter_name to the right place
- README.md: Add V810 to the list of supported architectures
- Also, de-duplicate LH5801
- Add attribution to randomart.c, fixes #2927
2015-07-12 19:20:36 +02:00
pancake
d054008b17 Implement class methods for DEX and make icj 2015-07-06 02:38:54 +02:00
Álvaro Felipe Melchor
9dd078dfa5 Fix #2883 2015-07-05 20:44:03 +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
skuater
2a8164515e fix buffer overflow in pe.c 2015-06-23 10:29:36 +02:00
SkUaTeR
3879017027 Update pe.c 2015-06-21 10:37:14 -04:00
pancake
1f21a2dae1 Remove unnecessary warning in PE 2015-06-20 17:30:23 +02:00
skuater
142bf2172f fix export issue in windows pe format 2015-06-20 00:05:57 +02:00
pancake
b10aa5a0a2 Initial support for loading Android ART binaries 2015-06-17 11:14:41 +02:00
Álvaro Felipe Melchor
53badd517d Fix COVs 2015-06-17 00:22:40 +02:00
Oleksii Kuchma
0c57a435fc Rewrite MZ bin plugin
* Add const modifiers, fix function call style
* Add checking and using dos_file_size
* Fix number of arguments in load_bytes.
* Add check for NE, LE and LX executables.
* Fix function declaration for btree_traverse.
2015-06-08 22:18:21 +02:00
Álvaro Felipe Melchor
7c2fd089f3 Fix #2706 & #2705 2015-06-04 13:14:43 +02:00
Álvaro Felipe Melchor
fddb32ccd7 Fix #2683 2015-06-03 12:28:19 +02:00
Álvaro Felipe Melchor
7f467e0162 Fix #2665 2015-06-01 23:19:49 +02:00
jvoisin
7c096bb1f4 Fix various coverity issues 2015-06-01 21:10:37 +02:00
Álvaro Felipe Melchor
2f23527217 Fix relocations in mach 2015-05-29 17:58:36 +02:00
ampotos
ea8107ed2f Fix #2633 #2632 #2631 #2630
also fix a litle bug in section name
2015-05-28 11:25:52 +02:00
pancake
f8384feb6b Initial disassembler support for HP PA-RISC (from GNU binutils) 2015-05-28 11:24:31 +02:00
pancake
4ce609b589 Some llx -> PFMT64x 2015-05-28 11:05:52 +02:00
ampotos
313a4f7fca Fix all problem on remaining in the omf loader except the baddr of the
entry point (because the baddr display is compute with vaddr - paddr
and this value if incorrect for omf file)
2015-05-26 17:55:24 +02:00
Álvaro Felipe Melchor
bc271a6691 Fix #2604 2015-05-23 19:07:40 +02:00
Jeffrey Crowell
1fab1e2338 fix relocation on amd64 elf
closes #2607
2015-05-23 10:37:19 -04:00
pancake
e26f86d654 Fix null deref issue in last mach0 commit 2015-05-23 11:43:32 +02:00
pancake
d727cebfbf Add Rust,Swift,C++14,.. dwarf detection and fix omf warning 2015-05-23 11:03:20 +02:00
pancake
2353737e17 Fix #2602 - Detect Canary and Go in MACH0 binaries 2015-05-23 10:55:44 +02:00
ampotos
b764fb8d93 Fix syntax rules
Fix potential segfault when a malformed omf file is loaded
(malformed omf are going to be pr on radare2-regression)
2015-05-23 10:12:56 +02:00
pancake
d59de8f570 Fix indentation in OMF plugin (-111 LOC) 2015-05-22 13:23:26 +02:00
ampotos
44fd8b2555 omf loader is working but in 32bits omf file the vaddr take the value of the paddr in sections and for both 16 adn 32 bits file vaddr is take as offset to pd command instead of paddr (or i misunderstand how it suppose to work) 2015-05-22 12:47:19 +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
57fb89d9fd Fix #2592 2015-05-20 00:10:29 +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
85f597dfb9 Fix #2575 2015-05-15 15:51:13 +02:00
Álvaro Felipe Melchor
e16931039a Fix #2576 2015-05-15 14:47:01 +02:00
pancake
a295e9a6d5 Enforce DEX null checks and fix fuzz regressions 2015-05-11 20:21:08 +02:00
pancake
c687641b17 Fix rbin regression by fixing compiler warnings 2015-05-11 20:04:00 +02:00
Alvaro Felipe
41170b9f8a Fix #2524 2015-05-09 10:42:53 +02:00
Álvaro Felipe Melchor
85b04c0160 Fix #2526 2015-05-08 15:30:20 +02:00
pancake
53cad19e1b Fix id053 fuzzed DEX crash 2015-05-07 02:17:08 +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
Álvaro Felipe Melchor
a5b57a2882 Fix #2490 2015-05-06 00:39:38 +02:00
pancake
1bdf7430a8 Handle thumb on MACH0 binaries in a better way + tests 2015-05-05 11:44:00 +02:00
pancake
32118ad64f Fix #2489 - Fix PE32 imports OOM 2015-05-04 12:01:56 +02:00
Álvaro Felipe Melchor
3b04c5442b Added checks in mach parser & fix #2465 2015-05-04 09:52:00 +02:00
pancake
d52490f9f4 Fix noisy warning 2015-04-30 23:43:35 +02:00
Álvaro Felipe Melchor
d9b1b341a7 Fix #2455 2015-04-30 18:49:50 +02:00
pancake
fc6c788914 Huge speedup loading ELF bins with lot of symbols (1m30s vs 3s) 2015-04-30 16:55:30 +02:00
pancake
6ddb335b6c Fix another ASAN issue in PE 2015-04-30 01:43:35 +02:00
pancake
79b4820eaf Fix #2455 - several ASAN crashes in the PE parser 2015-04-30 01:33:52 +02:00
pancake
faf91d35ab Fix #2465 - Fix crash in mach0 parser 2015-04-30 00:17:42 +02:00
pancake
40de063d3f Fix some ELF/Dwarf memleaks reported by Coverity 2015-04-29 10:26:31 +02:00
Álvaro Felipe Melchor
ca308085e7 Added checks in elf.c and mach0.c 2015-04-29 01:25:32 +02:00
Jeffrey Crowell
5b4a4b7be0 pass the correct length in pe handling. fix build 2015-04-27 23:58:29 -04:00
pancake
876ac121b4 Fix #2451 - ASAN crash in PE parser 2015-04-28 00:31:51 +02:00
pancake
3d78af8988 Add support for ARMv7K mach0 binaries (Hello iWatch!) 2015-04-26 23:19:59 +02:00
Álvaro Felipe Melchor
72b30d01b9 CID 1295060
CID 12950549-52
2015-04-26 22:40:42 +02:00
pancake
780214dc4c Fix all zzufed PE bins crashes 2015-04-26 02:25:43 +02:00
Álvaro Felipe Melchor
4532401066 Enhanced elf bin 2015-04-24 01:08:53 +02:00
pancake
e5b4fc7679 Fix deadcode in elf 2015-04-23 02:25:53 +02:00
Anton Kochkov
49c293871f Fix CID 1288755 and 1288758 2015-04-23 01:40:13 +03:00
pancake
59dcfae4d6 Add support for Blackfin machines in the ELF parser 2015-04-22 15:36:34 +02:00
Álvaro Felipe Melchor
a208cd56e6 Fix #1627 2015-04-22 15:22:24 +02:00
Anton Kochkov
8815ceac41 Fix Clang build 2015-04-21 07:00:17 +03:00
Anton Kochkov
eef9cd0b95 Fix TE pf parsing 2015-04-19 23:37:59 +03:00
Anton Kochkov
0ca9630806 Add TE header pf parsing 2015-04-19 14:29:55 +03:00
Anton Kochkov
1479aeca8e Fix a few Coverity issues
Fix CID 1205204
Fix CID 1171365
Fix CID 1135001
Fix CID 1134921
Fix CID 1134848
Fix CID 1134840
Fix CID 1134824
Fix CID 1267983
Fix CID 1230038
2015-04-19 03:15:29 +03:00
pancake
9a94698bd4 Fix #2382 - fix ragg2 crash and pe memleak 2015-04-16 17:24:26 +02:00
pancake
5187d37c13 Fix latest covs 2015-04-15 12:13:50 +02:00
pancake
c7a4b978d1 Fix w32 build 2015-04-15 02:16:18 +02:00
AntonDevil
8737ad2b65 Implementing version info parse 2015-04-15 01:44:17 +02:00
pancake
a975876015 Fix OOB read issue in PE. Partial fix 2015-04-13 12:24:51 +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
80a1371586 Remove newline in the PE compiled timestamp field 2015-04-09 22:33:46 +02:00
pancake
2c161adda9 Increase symbol table size for MACH0 2015-04-09 17:55:40 +02:00
ninjahacker
e9cafe8df7 Fixed PE Segfault 2015-04-08 23:04:39 +02:00
condret
375427cb8c fix 2 warnings, low hanging tits 2015-04-08 13:20:26 +02:00
pancake
f1f068f68e Fix #2321 - ELF segfault in strings 2015-04-07 17:12:41 +02:00
pancake
a0ef11be00 Fix 3 covs and several warnings in windbg for w32 2015-04-07 14:53:28 +02:00
ninjahacker
d1351cf836 Added initial zimg support 2015-04-06 22:31:06 -04:00
pancake
0b04317bdb Sdb memoization in RBin speedups DEX loading
Avoid some memdupping in the dex parser - needs more work
2015-04-06 00:59:55 +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
3b4773d602 Add time.zone and time.fmt eval vars, honor zone in pt and correct PE gmt 2015-04-03 23:24:09 +02:00
pancake
fab078d7a3 Support main in linux64 PIE bins 2015-04-03 18:10:43 +02:00
David Kreuter
8a6e613ee1 libr/bin: completed the heuristic to find main for mips binaries 2015-03-24 15:59:41 +01:00
pancake
12ea9734b5 Fix about 15 more random COVs 2015-03-21 02:04:49 +01:00
pancake
515b2e77bc Fix about 40 COVs related to memleaks and buffer overflows 2015-03-21 01:27:54 +01:00
pancake
c03eff8af0 Fix memleak in previous commit 2015-03-14 03:47:35 +01:00
gsinclair
b55a7fbb7c Add compile time for PE binaries (see k bin/cur/info) 2015-03-14 03:47:35 +01:00
pancake
f681866124 Do not report main address if assumed is entry0 in PE 2015-02-27 15:45:39 +01:00
pancake
5f9d275bb8 Support ELF ARM PLT and mark symbols as Thumb from RBin 2015-02-26 02:48:54 +01:00
Kamil Rytarowski
4b636346a4 Resolve warnings: array subscript is of type 'char' 2015-02-22 23:11:05 +01:00
jvoisin
a4ba5f64f5 Even more Coverifix 2015-02-19 00:27:00 +01:00
pancake
2e0548b269 EM_MIPS have nothing to do with endianness 2015-02-12 15:59:32 +01:00
Jeffrey Crowell
0cbc69c580 Give proper endianness of MIPS binaries
closes #2078
2015-02-12 01:46:39 -05:00
jvoisin
5ad3afb628 Coverifix 2015-02-11 17:55:25 +01:00
pancake
dc75cb2320 Fix the rest of base64 warnings 2015-02-10 00:05:18 +01:00
pancake
33fcd7fbcf Enhacements for DEX sections and ignore methods at 0 (wip) 2015-02-06 18:53:11 +01:00
pancake
fcbec4091d Fix free(undefined) in elf parser 2015-02-06 02:00:45 +01:00
jvoisin
a2d4bd08bb Fix some memleaks 2015-02-05 11:43:10 +01:00
pancake
33d5fbb358 Fix #2011 - fix crash in ELF relocs parser 2015-02-01 03:07:02 +01:00
mortenoir
33c222778d pf.elf_phdr fix 2015-01-31 23:28:42 +01:00
Roi Martin (@nibble_ds)
7392437491 Fix symbol list regression in ELF parser 2015-01-31 04:42:44 +01:00
pancake
9d7aafc05c Fix #1994 - Fix crash in ELF loader 2015-01-26 03:32:40 +01:00
jvoisin
9681c6fcf7 More coverity 2015-01-25 14:35:46 +01:00
pancake
e11e1a633e Fix #1992 - fuzzed elf + dwarf segfaults 2015-01-25 03:23:30 +01:00
pancake
672b7057a4 Fix #1971 - Segfault in ELF parser 2015-01-17 00:32:20 +01:00
pancake
79e4e25d35 Fix #1919 - Autodetect main in ARM linux/arm programs 2015-01-14 23:47:37 +01:00
pancake
7c5c6624c2 Cleanup MD5 code and fix mach0 warning 2015-01-13 03:09:23 +01:00
pancake
ddf3187712 Fix crash for rabin2 -c pe 2015-01-09 17:41:47 +01:00
pancake
f495b5031a Handle ET_REL ELF relocs, asm.cpu for arm.cs: v8, mcortex 2014-12-28 03:53:39 +01:00
inisider
f18988f21f fix pdb downloader 2014-12-23 15:06:42 +01:00
skuater
2ef956e2d5 Resolve PE import Ordinal names from RBin 2014-12-23 10:35:00 +01:00
pancake
02d69d72f0 Fix build 2014-12-19 00:22:39 +01:00
pancake
68955c2d46 Handle ^C in /R and /R/ 2014-12-18 22:38:12 +01:00
pancake
49446b27c0 Fix #1848 - crash in dex parsing 2014-12-18 01:17:16 +01:00
pancake
c42056228d Define LC_ENCRYPTION_INFO_64 2014-12-17 13:56:21 +01:00
pancake
f5959d3534 Fix pie main detection with baddr for non-pie 2014-12-12 23:15:16 +01:00
pancake
49af10d42a Fix #1799 - Detect main symbol in Linux ELF PIE bins 2014-12-12 13:21:53 +01:00
pancake
70658f142d Fix PE parser issue 2014-12-12 02:04:44 +01:00
pancake
262b0cfd55 A fix for a MACH0 crash 2014-12-11 19:57:01 +01:00
pancake
190d8f1aa5 Fixes for the ELF PIE main detect 2014-12-11 03:10:31 +01:00
pancake
a5703d775c Detect 'main' symbol in stripped Linux PIE ELFs 2014-12-11 02:44:55 +01:00
pancake
80ab55d714 Make the PE testsuite pass in green 2014-12-11 02:17:36 +01:00
pancake
d1585fafa1 Fix some PE crashes 2014-12-11 02:08:29 +01:00
inisider
155997598f Add initial support to download PDB files (NodeJS helper) 2014-12-10 17:01:32 +01:00
pancake
274f22001d Add initial support for CRIS cpu as suggested by LolyRoP 2014-12-07 23:18:22 +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
e2386ba52d Fix crash in COFF parser 2014-12-03 16:35:44 +01:00
pancake
3a31198ffd Fix #1702 - Revert and fix the dwarf/dex crashes related to uleb overflows 2014-12-01 23:44:20 +01:00
pancake
21288ac6ab Cleanup some code from the previous commit 2014-12-01 23:17:28 +01:00
inisider
64a47c6625 RBin.PE: Get debug data and retrieve GUID and debug file name 2014-12-01 23:01:24 +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
pancake
a193e9d316 Fix #1665 - PE parser crash 2014-11-24 02:52:03 +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
41b6f99ec1 Revert "Fix several crashes in dalvik. Thanks nightmare!"
This reverts commit f6440fc526.

Conflicts:
	libr/bin/dwarf.c
	libr/bin/p/bin_dex.c
2014-11-19 12:14:23 +01:00
pancake
182819dcf2 Fix bug in PE parser 2014-11-19 01:16:31 +01:00
pancake
ff72e9f0b8 Fix an overflow in r_buf_read 2014-11-19 01:08:46 +01:00
pancake
8c55285b5d Fix #1682 - Fix ELF null deref regression with rabin2 -c 2014-11-16 12:05:49 +01:00
pancake
36f66f07d7 Fix another elf crash thanks to melkor 2014-11-10 13:35:40 +01:00
pancake
b298413192 Fix #1640 - Current ELF is passing all those orcs 2014-11-10 05:42:57 +01:00
pancake
9cf541c582 ELF parser is now fuzzer-proof 2014-11-10 05:02:25 +01:00
pancake
9af7b348d5 Reapply 5870b6376c 2014-11-10 04:27:56 +01:00
pancake
0f6c813079 Revert elf.c to 3d3c5a3a14
- Reverts all latest changes from pancake, montekki and lemonboy
- Aiming to stabilize the ELF parser for the release
- We loose support for syms in phdr bins
- We loose support for relocs
- But we get proper symbol names and tested in real demos which are now broken
- The branch `elf-ng` contains the latest code with all montekki's and lemon's work
- Once this new branch gets fully tested it will be merged into master
2014-11-10 04:04:07 +01:00
Fedor Sakharov
fa64e18391 Do not ignore UNDEF symbols
Fixes #1542
2014-11-06 18:06:32 +01:00
pancake
0142915fb7 Minor code cleanup for the elf parser 2014-11-06 02:12:55 +01:00
pancake
350b13f980 Fix another fuzzed crash in the ELF parser 2014-11-05 23:24:43 +01:00
pancake
5651a8bf85 Fix another boundary check fail in ELF's strtab 2014-11-05 23:19:14 +01:00
pancake
2674032486 Fix another crash in the ELF parser (nightmare) 2014-11-05 22:52:53 +01:00
pancake
5870b6376c Fix strtab read overflow null-terminating all strtab copies 2014-11-05 22:49:43 +01:00
pancake
cf9880568e Fix oob read in ELF 2014-11-05 22:36:10 +01:00
Fedor Sakharov
a08b8833a4 Recognize symbols with type SECTION 2014-11-05 22:29:51 +01:00
pancake
89d4ff828f Fix rabin2 -c elf regression crash (thanks maijin for reporting) 2014-11-05 19:23:37 +01:00
pancake
842b8db4f3 Fix more crashes in DWARF and ELF 2014-11-05 17:15:22 +01:00
pancake
8b86030130 Fix all warnings in the ELF parser 2014-11-05 17:07:56 +01:00
pancake
0764d0bc15 Fix two crashes in the ELF parser 2014-11-05 17:02:08 +01:00
LemonBoy
f990b078a8 Make the elf parser use the phdrs and the DT_DYNAMIC contents 2014-11-05 16:33:34 +01:00
pancake
7b7256d340 Remove boundary checks to fix regression, must redo the patch with more fuzzing 2014-11-05 16:11:01 +01:00
LemonBoy
9dd90c2133 Make the elf parser use the phdrs and the DT_DYNAMIC contents 2014-11-05 16:01:06 +01:00
pancake
3d3c5a3a14 Fix a fancy crash in the ELF parser 2014-11-05 04:20:35 +01:00
pancake
f8595e9abd Fix crash in ELF parser 2014-11-05 03:16:22 +01:00
pancake
1ec7c21ed0 Fix regression in symbol names. 2014-11-05 02:59:15 +01:00
pancake
561555a595 Fix r_str_nlen for trashed symbols 2014-11-05 00:32:55 +01:00
pancake
f6440fc526 Fix several crashes in dalvik. Thanks nightmare! 2014-11-05 00:15:40 +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
Fedor Sakharov
4c3796a25c Do more proper boundary checking for relocs 2014-11-04 21:56:20 +01:00
pancake
8e78ebfee5 Fix crash in elf relocs 2014-11-04 16:16:47 +01:00
Fedor Sakharov
7ee086326a elf: Fix a typo in elf.c 2014-11-04 13:59:54 +01:00
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
Maijin
3e3b222033 Add timestamp 2014-10-31 15:21:52 +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
Skia
8e7c4c67be Fix double bitfield and double enum in pf 2014-10-13 16:29:03 +02:00
pancake
9201d86558 Fix crash in elf parser 2014-10-11 01:25:45 +02:00
Skia
6e0285ab90 Fix pf 2014-10-07 17:59:58 +02: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
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
Alberto Ortega
de73ac8670 Add Nintendo DS ROM loader plugin 2014-09-25 00:04:37 +02:00
jvoisin
3f894a465a Fix a stupid typo/warning 2014-09-24 01:08:51 +02:00
Maijin
6d33738cd3 Oops
Oops
2014-09-23 23:34:17 +02:00
Maijin
08c0ba47c9 Add more define/enum for PE 2014-09-23 20:48:14 +02:00
pancake
5a2c50f8dc Handle sized bitfields and enums in pf 2014-09-23 16:07:18 +02:00
pancake
34365c7bb3 Handle cparse definitions in rbin sdb 2014-09-23 10:23:28 +02:00
Maijin
1982aa498f PE Parsing: Add pe_image_data_directory
PE Parsing: Add pe_image_data_directory
2014-09-21 03:25:25 +02:00
Maijin
4f8ee8f22b PE parsing:add pe_nt_img_header support 2014-09-21 00:04:54 +02:00
pancake
ac22f9e25c Fix several COFF parsing crashes. Bring back /B 2014-09-20 19:28:56 +02:00
pancake
43d213853f Fix PE crash 2014-09-20 18:43:04 +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
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
defragger
b28c239a74 fixes speed of reading the imports 2014-08-27 16:04:35 +02:00
defragger
ceab3f0513 fixes #1210 and some other small issues 2014-08-27 02:57:21 +02:00
jvoisin
052d576ae6 coverifix 2014-08-24 19:40:08 +02:00
jvoisin
952359aa0e Fix some memleaks 2014-08-18 03:22:16 +02:00
pancake
6f4c6a97be Fix out of range access in PE parser (thanks mr valgrind!) 2014-08-17 17:05:51 +02:00
pancake
9a3d5476f5 Fix rabin2 -l on some weirdo PE files 2014-08-17 02:19:01 +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
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
Rene Laemmert
6ce2cba15a Update pe.c 2014-08-01 12:07:24 +02:00
pancake
29c3e1ba7a Fix more CIDs assigned to me 2014-08-01 12:07:08 +02:00
jvoisin
5c61d6f2d7 Fix some coverity issues. 2014-07-24 18:46:46 +02:00
pancake
7e06e13b3b Fix #1133 - gdbr warnings, and some other 2014-07-21 18:19:31 +02:00
pancake
314ab38a78 Fix all latest coverity issues 2014-07-21 17:51:20 +02:00
pancake
561830d091 Add hackaround for 65536 section bin 2014-07-17 21:03:50 +02:00
pancake
cf64a5dd75 Fix #1117 - Bring back rabin2 -c 2014-07-17 09:40:35 +02:00
LemonBoy
10dc0c6ef4 Make the PE header return vaddrs relative to the image address 2014-07-11 23:32:44 +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
LemonBoy
0acf0b1dd2 Various fixes to stop the vaddr translation madness 2014-07-11 23:32:44 +02:00
LemonBoy
37409c3f34 COFF/MZ improvements 2014-07-11 23:32:44 +02:00
pancake
feee9f62c9 Fix re100.exe PE crash 2014-07-08 22:59:38 +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
1533c31a2f Fix #1071 - rename constants 2014-06-25 18:02:36 +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
Jonathan Neuschäfer
6790d8d432 Fix out-of-bounds read in COFF and P9 file recognition
(In check_bytes, that is.)
2014-06-21 01:39:27 +02:00
pancake
42792bc172 Aim to fix some PE oob reads (corkami) 2014-06-20 15:27:12 +02:00
pancake
8330ea59fc Fix stale pointer issue in RBinELF. Add r_mem_dup 2014-06-14 00:04:40 +02:00
pancake
3e5eb05eda Fix PE exports parsing (adapted inisider patch) and some code cleanup 2014-06-13 16:00:39 +02:00