Commit graph

1831 commits

Author SHA1 Message Date
pancake
9712a62b62 Fix #3296 - Identify main in thumb-elf bins 2015-10-03 14:16:08 +02:00
Álvaro Felipe Melchor
3423bedc1d Fix covs 2015-10-01 18:36:46 +02:00
pancake
1f165c6012 Fix some compilation warnings 2015-10-01 18:33:37 +02:00
pancake
8c445baa19 Better MBN/SBL header checks 2015-09-29 00:52:05 +02:00
pancake
5ecd98305e Add support for MBN/SBL roms, fix 11acb8392, binsect->has_strings 2015-09-29 00:42:31 +02:00
pancake
ce1087999c Fix another infinite loop in PE #3369 2015-09-28 13:06:51 +02:00
pancake
06f159239a Fix mz crash reported by @jvoisin 2015-09-28 02:52:56 +02:00
pancake
c7c0961071 Fix #3369 - omf parser crash 2015-09-28 02:32:38 +02:00
Maijin
b73fb41cfc Add mem to nes plugin 2015-09-27 17:44:10 +02:00
pancake
8f79f82048 Fix 0576be2359 2015-09-25 10:49:27 +02:00
jvoisin
3abab8526b Fix some possible NULL-deref under memory-pressure 2015-09-25 02:13:58 +02:00
jvoisin
0576be2359 Small optimizations and coverity-- 2015-09-25 01:51:29 +02:00
pancake
cd767ccaf4 Fix Android build 2015-09-24 03:36:06 +02:00
pancake
ae2713e944 Fix PE regression 2015-09-23 15:23:36 +02:00
pancake
d1f3dc3e08 Some more fixes for exports and PE 2015-09-23 15:01:36 +02:00
pancake
46f8561986 Fix rabin2 -E crash and filter in elf 2015-09-23 13:24:10 +02:00
Maijin
d298ca5dbc Initial support for NES file 2015-09-20 20:10:03 +02:00
pancake
ec0b19e5f8 Fix thumb entry assumption (thx @ret2libc) 2015-09-17 11:13:34 +02:00
Jeffrey Crowell
9f892f1eed fix some COV 2015-09-17 00:48:07 -04:00
pancake
f10c8ec075 Fix #3296 - Thumb ELF entrypoint assumption 2015-09-17 01:32:13 +02:00
pancake
ae3af810a6 Initial support for Wii/GC DOL binaries 2015-09-16 12:59:52 +02:00
pancake
b86bf19c85 Fix #3051 - Honor CFLAGS everywhere and fix some windows/android warnings 2015-09-14 20:43:11 +02:00
pancake
49975ccf95 Fix #3286 - Use stdbool.h 2015-09-14 02:08:31 +02:00
Riccardo Schirone
879182515d core/bin: rebase only READABLE sections 2015-09-10 23:22:26 +02:00
Riccardo Schirone
7eaf158265 bin/config: set bin.baddr to -1 as default 2015-09-10 02:00:18 +02:00
Riccardo Schirone
01f0ac9316 bin/bin: do not put zero in baddr if invalid 2015-09-10 02:00:18 +02:00
jvoisin
9db340a0a8 Fix some malloc(A*B) overflow detected by clang-analyzer 2015-09-09 21:44:06 +02:00
jvoisin
d4893718da Fix a bunch of dead assignements 2015-09-09 21:12:36 +02:00
pancake
d9c934f6b4 Fix some recent covs 2015-09-09 11:16:49 +02:00
inisisder
d2af97de2b objc_parser: refactor code related to class name allocation and etc 2015-09-08 23:49:08 +02:00
Riccardo Schirone
6a517aa66b bin/p: add CGC bin format plugin 2015-09-08 23:22:07 +02:00
Riccardo Schirone
ce14b20974 bin/format/elf: remove Elf_ prefix from static functions 2015-09-08 23:22:07 +02:00
pancake
318dc1da11 Honor Thumb vaddr in objc parser 2015-09-07 19:00:11 +02:00
pancake
868a97788e Only export has_crypto in mach0 when cryptid is set 2015-09-07 01:33:42 +02:00
pancake
fa9028f19d Remove unnecessary dwarf warning when no line-no info is found 2015-09-06 22:52:09 +02:00
jvoisin
f7e426d281 Minor fixes for the previous commit 2015-09-04 15:35:37 +02:00
jvoisin
fbe8b6d938 Once again, clang-analyzer strikes! 2015-09-04 15:12:42 +02:00
pancake
346cc8e758 Fix latest covs 2015-09-03 12:23:49 +02:00
pancake
7fcb8e081d Remove last GPL headers and move old.rarc2 into r2e 2015-09-02 16:06:57 +02:00
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
pancake
58d6827bbb Honor R_SYS_BITS in r2 - 2015-09-01 03:41:08 +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
Riccardo Schirone
575d3e9f0a core/bin: remove loadaddr parameter and get it from the RBinObject 2015-08-29 00:35:09 +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
def029d548 tools: always pass baddr to r_core_bin_load
radiff2: adapt to changes in baddr/laddr
bin/bin: no need to reset the baddr
2015-08-26 20:08:13 +02:00
Riccardo Schirone
2169980239 bin/p/bin_elf: fix symbols vaddr 2015-08-26 20:08:12 +02:00
Riccardo Schirone
cce105056b bin/bin: rebase paddr with loadaddr
In this way, paddr will always be the physical address of something in
the file, even if the binary is in the middle of another file.
2015-08-26 20:08:12 +02:00
Riccardo Schirone
81a8b2a3d5 fix baddr >= 0 and laddr 2015-08-26 20:07:42 +02:00
Riccardo Schirone
36d96770aa simplify baddr usage
* some style fixing
* core/bin: simplify rva function
* bin/bin: avoid passing baddr around
* bin/bin: provide methods to work with baddr
2015-08-26 19:56:51 +02:00
Riccardo Schirone
18eaf1c8c5 format/elf: fix paddr2vaddr and vaddr2paddr conversions 2015-08-26 18:30:33 +02:00
Riccardo Schirone
af20357c2a util/str: fix order of mrwx permissions/flags 2015-08-26 15:25:32 +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
condret
06076207fb add r_io-wrappers in r_bin 2015-08-24 00:31:35 +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
yetmorecode
54a59efe1d Fixed #3057 - Incorrect physical size in ELF phdr* sections 2015-08-09 13:38:51 +02:00
pancake
1c352a9dab Fix two compiler warnings in PE parser 2015-08-09 12:44:03 +02:00
shuall
0807686d86 #3052 all printf member functions changed to cb_printf 2015-08-09 03:25:05 +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
Sam
4a0996566c Fixed small spelling error. 2015-08-05 12:52:20 -04:00
Álvaro Felipe Melchor
b517bc21a2 Fix #3026 - heap use after free 2015-08-04 18:58:24 +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
Álvaro Felipe Melchor
050c2fe9f8 Fix some COVS 2015-07-25 01:26:54 +02:00
pancake
c4eb96c9ac Fix r_bin_filter_names() to support dupped vaddr+name entries 2015-07-24 18:48:14 +02:00
pancake
6ae0417278 Updsate SDB to optimize dupped symbol checks in mach0 parser 2015-07-24 13:24:32 +02:00
David Kreuter
fecb914de8 CID 1216466 Dereference before null check /libr/bin/p/bin_dex.c 2015-07-15 00:39:07 +02:00
jvoisin
aa695bc808 Fix misc compilation warnings on Windows 2015-07-14 13:55:58 +02:00
pancake
bdfbc4f076 Fix several COVs, and build issues related to appveyour 2015-07-13 11:21:21 +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
Jonathan Neuschäfer
523aa3af5c add .version to all plugins 2015-07-12 19:05:33 +02:00
inisider
1c437eb310 fix valgring issues for file GameLogic.pdb 2015-07-11 12:38:49 -04:00
pancake
a04ead741a Enhace the ARM Thumb pseudo disassemble 2015-07-09 02:00:16 +02:00
pancake
6587c7afab Fix overlapped constant pool region in dex 2015-07-09 01:38:43 +02:00
pancake
7a937e46e1 Fix warns and a cov in arm64 2015-07-08 17:06:55 +02:00
pancake
38defdce3b Fix dex parser segfault and binclass output 2015-07-06 02:50:36 +02:00
pancake
d054008b17 Implement class methods for DEX and make icj 2015-07-06 02:38:54 +02:00
pancake
c10bcdfbea bin.filter class names and hashify raw bytes in name 2015-07-06 00:58:51 +02:00
pancake
c6daf8549f Fix listing classes for DEX binaries 2015-07-06 00:05:03 +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
3d1532c4d9 Is ok to have dupped imports 2015-07-05 00:41:06 +02:00
pancake
cfb8de7c4d Fix DEX entrypoint address to section.code 2015-07-05 00:11:42 +02:00
pancake
cdf56a63f8 Add bin.filter=true config var to avoid dupped symbols and imports 2015-07-04 23:42:48 +02:00
pancake
45a83dc38a Detect Rust binaries in RBinLang for name demangling 2015-06-29 11:22:05 +02:00
Álvaro Felipe Melchor
daf8e5b06f Fix some infers 2015-06-28 20:15:35 +02:00
Álvaro Felipe Melchor
ccef928dfe Fix some COVs 2015-06-28 20:15:35 +02:00
Jeffrey Crowell
be0c7cf457 fix crash on r2 -d empty_file
closes #2846
2015-06-27 11:49:39 -04: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
pancake
1e4638d27e Add -D <lang> all to demangle symbols via rabin2 2015-06-22 11:36:28 +02:00
SkUaTeR
3879017027 Update pe.c 2015-06-21 10:37:14 -04:00
pancake
8f25a9b344 Fix iOS build, crashes in reflines, analysis issues on OSX debugger and more! 2015-06-21 00:50:53 +02:00
Álvaro Felipe Melchor
1c7feb2240 Fix some infers 2015-06-20 17:33:09 +02: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
78d5a78609 Fix COVS 2015-06-04 21:27:41 +02:00
Álvaro Felipe Melchor
7c2fd089f3 Fix #2706 & #2705 2015-06-04 13:14:43 +02:00
Álvaro Felipe Melchor
008158f705 Fix #2684 2015-06-04 11:38:51 +02:00
pancake
c0b1e5fad3 Fix iOS build 2015-06-04 04:30:48 +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
pancake
e19810e875 Fix #2642 - rabin2 -Aj and r2 -ciAj - JSON output for sub-bins 2015-05-29 01:38:31 +02:00
pancake
22c9b3f0fe Fix #2628 flags offset hashtable issue and Fix #2607 ELF relocs 2015-05-29 00:51:57 +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
inisider
c9d5d00a55 add env vars 2015-05-26 02:39:50 +02:00
inisider
6536e6cb28 start of implementation of issue #1909 2015-05-26 02:39:50 +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
inisider
6cada06604 fix some bugs according to added testsuite 2015-05-23 10:08:27 +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
c771185bad Fix CID 1296157 2015-05-22 12:46:15 +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
pancake
a168075c35 Fix for ASLR ELF entrypoint 2015-05-19 10:58:40 +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
43e6e451f2 Fix #2579 2015-05-15 19:19:20 +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
24b231b152 Some work towards #2566 - warn/err messages to stderr 2015-05-14 13:30:25 +02:00
pancake
ba4d3e8733 Fix #2555 - Invalid read in r_bin_dwarf_parse_lnp_header 2015-05-13 00:40:33 +02:00
inisider
9ae34bfceb Fix bug #2558 and add more comments 2015-05-12 22:12:49 +02:00
pancake
e391645137 Bump sdb with lot of bugfixes 2015-05-12 01:53:47 +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
pancake
4dcfdd69cd Fix #2525 - ASAN crash in dwarf parser 2015-05-11 18:40:03 +02:00
pancake
4ced532d69 Tons of fixes and cleanups to make the java tests happy 2015-05-11 18:23:38 +02:00
Jeff Muizelaar
126f92b650 Fix #2532 - PDB parsing 2015-05-10 00:14:09 +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
8fe503a0aa Fix #2510 - Fix another dwarf crash in oob reads 2015-05-07 01:47:54 +02:00
pancake
d6bb826327 Fix #2509 - crash in dwarf parser 2015-05-07 01:20:33 +02:00
pancake
7c4db8fd75 Fix import symbol size in mach0 2015-05-06 15:36:51 +02:00
pancake
b4a11cb3cf Fix main symbol align for thumb 2015-05-06 02:42:35 +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
64103c815c Fix #2466 - Several crashes in XBE loader 2015-04-29 23:40:05 +02:00
pancake
f9300f4ba5 Fix pebble initialization warnings 2015-04-29 11:33:33 +02:00
pancake
40de063d3f Fix some ELF/Dwarf memleaks reported by Coverity 2015-04-29 10:26:31 +02:00
pancake
1c33214519 Fix #2457 - Fix crash in dwarf parser (-30LOC) 2015-04-29 09:54:26 +02:00
pancake
8345811ccf Fix 'bin_strings buffer is too big' issue 2015-04-29 01:34:04 +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
4fb6fa5a15 Fix #2452 several dwarf crashes - thanks @revskills 2015-04-28 00:14:11 +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
pancake
c2a0949e0e Fix #2437 - Fix invalid Pebble app header crash 2015-04-25 04:12:55 +02:00
pancake
e7f3631457 Fix baddr regression 2015-04-24 02:23:23 +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
pancake
070836b326 Honor SIGSTOP without breaking ^Z 2015-04-20 01:05:22 +02: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
7e79b198b1 Fix some more Coverity issues
Fix CID 1171365
Fix CID 1211169
Fix CID 1230038
Fix CID 1295063, 1295062, 1295061
Fix CID 1295070
Fix CID 1295068
Fix CID 12950067
2015-04-19 04:53:08 +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
997dda6e5b Add support for iOS-simulator and static-OSX builds 2015-04-14 17:14:43 +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
f9d6ff2f2b Fix some travis warnings 2015-04-12 18:00:40 +02:00
pancake
acd5e4b999 Fix dalvik<->dex class and method name resolutions 2015-04-12 05:13:51 +02:00
jvoisin
882a43994c Two simple coverifix 2015-04-11 21:07:12 +02:00
Anton Kochkov
2e8363fdb6 Fix more leaks 2015-04-11 13:46:33 +03:00
pancake
f8d3e50b57 Some aesthethic changes for REIL 2015-04-11 05:18:00 +02:00
pancake
3a214bcfdb Another fix for DEX 2015-04-11 05:04:51 +02:00
pancake
882a0ee164 Add --without-fork and r_sys_fork() 2015-04-11 05:00:05 +02:00
pancake
6ab06a15ba Various fixes for DEX and Dalvik support 2015-04-11 04:33:37 +02:00
Anton Kochkov
1a481ca473 Fix possible segfault in ELF parsing 2015-04-11 02:14:13 +03:00
Anton Kochkov
5a0bde5a01 Coverity fixes 2015-04-11 01:29:28 +03: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
2cb6afd48b Fix crash in bin_fs reported by jn 2015-04-08 01:31:39 +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
pancake
87162dc8bf Add wta support for appending dump. 2015-04-03 04:11:26 +02:00
Jeffrey Crowell
29d583df60 fix some warnings 2015-04-01 21:10:49 -04:00
pancake
68c98b2b05 Remove debug printf, fix crash in rabin2 -qzz 2015-04-01 20:56:12 +02:00
condret
2eec10e7b1 fix bin-load for gb 2015-03-29 00:50:13 +01:00
pancake
7292fbab40 Fix PE and Brainfuck crashes related to RBinInfo
- Fix warn in radiff2
2015-03-27 17:18:15 +01:00
pancake
5f68935551 Fix rbininfo related crash on PE files 2015-03-25 23:12:25 +01:00
pancake
6e52324885 Fix some more null derefs related to the rbininfo change 2015-03-25 17:29:38 +01:00
pancake
dff11411cc RBinInfo is now dynamically allocated 2015-03-25 14:49:33 +01:00
pancake
c75192e435 Handle babel-node.es6, remove debug printf in rlang and autoinit io in rbin to ease scripts 2015-03-25 12:49:10 +01:00
David Kreuter
8a6e613ee1 libr/bin: completed the heuristic to find main for mips binaries 2015-03-24 15:59:41 +01:00
pancake
f4e3f593d4 Add dexdump.sh to import DEX info into r2, VF now fits in screen
And 'C' toggles color! a use-after-free has been fixed too
And more instructions are now recognized by the analysis
2015-03-24 03:23:56 +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
Maijin
a046ab618a Add ELF enums bin/d 2015-03-20 22:47:58 +01:00
condret
afa5bb3c42 fix some gb-related stuff 2015-03-19 23:45:24 +01:00
condret
ce6dfda8f9 add basic mem-init info for gb 2015-03-18 15:16:17 +01:00
condret
73e93b41cb extend bin-mem-api 2015-03-18 13:36:03 +01:00
pancake
406f14fa1a Fix null deref in rbin 2015-03-17 11:27:55 +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
0040f8cb44 JSONify PDB and remove useless function in r_util 2015-03-08 17:30:41 +01:00
Jaume Delclòs Coll
b9c0efb926 Gameboy Advanced -> Game Boy Advance 2015-03-03 15:55:32 -05:00
jvoisin
600c6cfaf2 Coverifix 2015-02-28 14:32:39 +01:00
pancake
f681866124 Do not report main address if assumed is entry0 in PE 2015-02-27 15:45:39 +01:00
Clément Vuchener
705e4d56bf Fixing arguments (bugs #1814 and #2117) #2143
Added proper escaping of command line
Creating a command line from arguments when debugging on Windows
Keep backslashes when not escaping a character
Assuming that the path of the binary should be in desc->name and not the command line in ptrace IO plugin
Print the backslash when it is at the end of the command line
2015-02-26 03:05:37 +01:00
pancake
5f9d275bb8 Support ELF ARM PLT and mark symbols as Thumb from RBin 2015-02-26 02:48:54 +01:00
pancake
ad80aba942 Initial support for debugger memory snapshots dms. Enhace hexdiffing
- Fix linux debugger
- ccc shows hexdiffing, but only the ones that differ
2015-02-23 03:29:40 +01:00
pancake
d8f96a765d Fix android build and bin/d installation issue 2015-02-23 01:55:35 +01:00
pancake
813cc23bd3 Fix iOS/OSX debugger regression introduced in 90b47a9f20 2015-02-23 01:05:26 +01:00
Kamil Rytarowski
4b636346a4 Resolve warnings: array subscript is of type 'char' 2015-02-22 23:11:05 +01:00
jvoisin
ca883330b0 Fix 3 CID 2015-02-21 22:28:49 +01:00
pancake
90b47a9f20 Drop max file size to make rabin2 -zzz happy 2015-02-20 00:58:12 +01:00
pancake
e2fd3ae96f Add missing demangler names in array 2015-02-19 22:56:49 +01:00
inisider
d4b9195b95 add detector of msvc and lisence comments 2015-02-19 22:49:44 +01:00
inisider
208aa0ce8a fix merged problems 2015-02-19 22:49:44 +01:00
pancake
e54b2840c0 Fix w32 build 2015-02-19 09:44:27 +01:00
inisider
d61353de78 MSVC demangling functions and templates
Contains 13 commits:
- add parsing og operator name codes
- add stubs for parsing function and function params
- remove uunsed code
- add initial printing of demangled functions
- fix some issues according to new testsuit
- add parsing of types abbreviation
- add support of abbreabiation of names
- fix some memory leakage
- small fix for parsing of storage class code for return
- add #undef for macro GET_VAR...
- fix some output for operatorXX()
- add parsing of templates
- isolate abbr. name list for templates
2015-02-19 09:32:21 +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
pancake
2e268ffffa Fix #2076 - lazy dlang autodetection 2015-02-12 13:50:20 +01:00
Anton Kochkov
3bf1bcd9bd Fix PDB downloader on Cygwin 2015-02-12 14:29:15 +03:00
Jeffrey Crowell
0cbc69c580 Give proper endianness of MIPS binaries
closes #2078
2015-02-12 01:46:39 -05:00
jvoisin
123a77c022 Coverifix 2015-02-11 19:05:28 +01:00
jvoisin
5ad3afb628 Coverifix 2015-02-11 17:55:25 +01:00
pancake
31e08131d1 Handle RBin demanglers from plugins and support D language 2015-02-11 02:05:22 +01:00
pancake
dc75cb2320 Fix the rest of base64 warnings 2015-02-10 00:05:18 +01:00
pancake
7b597ea874 Fix latest COVs 2015-02-08 00:30:25 +01:00
pancake
a22f110979 Fix the rest of fatmach0 tests 2015-02-07 02:32:54 +01:00
pancake
3d2dec8852 Fix rabin2 -A for fatmach0s regression 2015-02-07 02:16:59 +01:00
pancake
098d0ec1de Initial implementation of --without-gpl 2015-02-07 01:50:25 +01:00
pancake
c2febd2ffc Drop some noisy magic rules 2015-02-06 23:59:19 +01:00
inisider
cad09fa595 Add Microsoft C++ demangler
- Contains 20 commits:
- init work of demangler
- add some comments
- add parsing of name, class_name, namespace of objects(class and global)
- refactor
- add parsing of some type codes
- add skeleton of state machine for type code parsing
- add parsing of standard type for type codes state machine
- add parsing of type codes: _{J,K,T,Z,W}
- add parsing of types __m** and union
- add parsing of type codes: _m***, struct *
- add parsing of W type codes: enums...
- refactor getting of namespaces and name variables
- add class type code parsing
- add parsing of long double and bool
- add parsing of X * const volatile
- add parsing of * and & ( Q, R, S, A )
- add parsing of array
- integrate some initial part of microsofr demangler to rabin2
- fix some small bugs
- add parsing of variable storage class and do some small fix
2015-02-06 22:50:30 +01:00
pancake
6c1bbe5607 Fix #2048 - DEX imports expose class name 2015-02-06 19:32:45 +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
1ea6a79d81 Fix null deref when failing to load a fatmach0 2015-02-04 02:40:48 +01:00
pancake
74c3707850 Fix invalid buffer size passed to bin_obj_new() 2015-02-03 23:19:14 +01:00
pancake
952469afed Bring back the DWARF 2015-02-03 10:08:21 +01:00
r0nk
2116a87c0c fixed a _huge_ memory leak. 2015-02-02 01:44:38 +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
jvoisin
249fb839fe Coverifix 2015-01-30 22:51:01 +01:00
pancake
ef07bb63e8 Fix #1995 - div by zero issue in DWARF parser 2015-01-30 02:51:29 +01:00
pancake
8c1cdc2052 FIx iD help and minor dwarf check 2015-01-29 03:19:32 +01:00
Jeffrey Crowell
19cfefeec0 Fix crash in DWARF parser.
closes #2000
2015-01-29 02:47:46 +01:00
pancake
d1a21cd059 Fix uninitialized access issue in bin.xbe 2015-01-29 02:14:09 +01:00
pancake
039858fd86 Fix r2 -B, rabin2 -B, Implement oa command
- Now it is possible to load binfiles from debugger memory
* Base address is now honored properly. But it needs more testing
2015-01-29 01:45:39 +01:00
jvoisin
1a17b5b420 Coverifix++ 2015-01-27 16:03:18 +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
jvoisin
16cac50319 Coverity++ 2015-01-24 11:24:55 +01:00
pancake
d08015cf66 Add f--, fs-*, o--, enhace Po a lot
- Handle all internal information deinitialization in:
  - flags, io, core, bin, anal
- Fix w32 build
2015-01-22 02:22:29 +01:00
pancake
672b7057a4 Fix #1971 - Segfault in ELF parser 2015-01-17 00:32:20 +01:00
jvoisin
ce9ece1177 Coverifix++ 2015-01-16 00:56:54 +01:00
pancake
79e4e25d35 Fix #1919 - Autodetect main in ARM linux/arm programs 2015-01-14 23:47:37 +01:00
jvoisin
8ac1616daf Fix some coverity issues 2015-01-14 02:53:34 +01:00
pancake
7c5c6624c2 Cleanup MD5 code and fix mach0 warning 2015-01-13 03:09:23 +01:00
jvoisin
759e3b24b5 Fix two trivial warnings 2015-01-13 03:05:11 +01:00
jvoisin
4fd6ce62d5 Fix some gcc warnings 2015-01-13 02:07:44 +01:00
pancake
4c6e2f129c Add rabin2 -F and r2 -F to force the use of a specific rbin plugin 2015-01-11 19:40:26 +01:00
pancake
75c322b613 Add bin.lang, rabin2 -D and iD commands to demangle from commandline
- Fix some warnings in windbg
- Minor fix for ARM analysis (wip)
2015-01-10 01:00:01 +01:00
pancake
eefb49e91d Fix c++ demangling check 2015-01-09 22:15:25 +01:00
pancake
ddf3187712 Fix crash for rabin2 -c pe 2015-01-09 17:41:47 +01:00
pancake
f2d1fadee6 Fix COVs in swift-demangler and cud/ccd 2015-01-03 11:49:08 +01:00
pancake
2ff77e67c7 Fix crash for unknown demanglers 2015-01-02 19:27:31 +01:00
pancake
3769511361 Fix build 2015-01-02 18:15:24 +01:00
pancake
ded8790518 Initial support for Swift symbol and imports demangling 2015-01-02 04:32:53 +01:00
Julien Nabet
164bbc7333 Some cppcheck reports fixed:
(warning) Logical disjunction always evaluates to true: regnum < 32 || regnum > 31
(style) Same expression on both sides of '||'
(style) Same expression on both sides of '&&'
(style) Expression is always false because 'else if' condition matches previous condition at line 180
2014-12-28 04:20:14 +01:00
pancake
f495b5031a Handle ET_REL ELF relocs, asm.cpu for arm.cs: v8, mcortex 2014-12-28 03:53:39 +01:00
skuater
7c05d505a0 Fix symbol impot names(PE EXE) 2014-12-27 06:07:39 +01:00
pancake
eafb616765 Do not use sym.exp (by skuat) 2014-12-26 22:45:29 +01:00
pancake
f268f23a3d Fix download problems for PDB 2014-12-24 19:14:02 +01:00
inisider
cf384484e8 code refactor 2014-12-23 21:33:08 +01:00
inisider
4841f1e5df Fix bug #1897 2014-12-23 15:17:41 +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
be88fbd145 Add more cached dll ordinals 2014-12-22 01:55:17 +01:00
pancake
0a5e666d10 Build DLL sdb ordinal-symbol databases 2014-12-21 04:38:25 +01:00
pancake
ef69adb7f4 Better relocs in disasm and support reloc resolution by ordinal on PE
- Include OLEAUT32 and WS2_32 ordinal-symbol tables
2014-12-21 04:18:56 +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
5f42271ff4 Fix #1839 - Fix crash in dalvik flagname parser 2014-12-16 22:05:09 +01:00
pancake
391676dc39 Cleanup the pdb_downloader function (-40LOC) 2014-12-14 23:04:50 +01:00
pancake
f5959d3534 Fix pie main detection with baddr for non-pie 2014-12-12 23:15:16 +01:00
inisider
f9048c2a44 Add init function of PDB downloader 2014-12-12 15:31:05 +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
f14eeabc01 Fix infinite loop in DWARF parser spotted by Melkor 2014-12-11 20:01:18 +01:00
pancake
262b0cfd55 A fix for a MACH0 crash 2014-12-11 19:57:01 +01:00
pancake
fa4df53077 Another overflow in DEX 2014-12-11 17:47:04 +01:00
pancake
aec5472781 Fix another DEX uleb crash 2014-12-11 17:43:33 +01:00
pancake
a0e811cfd2 Fix another DEX/uleb related crash 2014-12-11 17:39:23 +01:00
pancake
30d1b07b6d Fix another crash in DEX 2014-12-11 17:33:56 +01:00
pancake
acade3fee7 Fix more crashes on DEX 2014-12-11 17:21:15 +01:00
pancake
9e38b64f6a Enforce 64k method limit for DEX 2014-12-11 17:03:34 +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
pancake
d8427d239c Implement rabin2 -rd to output CL commands to load the addrline info 2014-12-10 23:36:39 +01:00
pancake
3a87cc61c3 Fix support for dwarf on currentpath source files
Catch file-not-found exception when listing source lines
2014-12-10 23:21:55 +01:00
inisider
155997598f Add initial support to download PDB files (NodeJS helper) 2014-12-10 17:01:32 +01:00
pancake
a8dc744f48 Fix #1811 - Corrupt ELF header crashes r2 - reported by @crowell 2014-12-09 04:19:16 +01:00
pancake
274f22001d Add initial support for CRIS cpu as suggested by LolyRoP 2014-12-07 23:18:22 +01:00
pancake
8bdea8eea3 Fix several build issues to make crosscompilation and w32 happy 2014-12-07 20:05:24 +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
9aaca2d525 Fix last two covs 2014-12-05 17:58:48 +01:00
pancake
a984b05720 Fix underflow in RIO and clean some null derefs in RBin 2014-12-04 13:02:11 +01:00
pancake
18ef89dfa0 Fix lot of overflows in the dwarf parser 2014-12-04 01:28:29 +01:00
pancake
6f011c840e Fix w32 build 2014-12-03 23:01:20 +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
eeb539aab0 Fix warnings in pebble 2014-11-30 18:51:25 +01:00
pancake
e35d55e18a Add initial support for Pebble apps 2014-11-30 16:53:36 +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
9a0d62da22 Finally remove the void*debug pointer from RIOPlugin (use bool isdbg) 2014-11-21 11:36:51 +01:00
inisider
ee429365a7 Add JSON support to the PDB parser 2014-11-21 11:28:12 +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
8b58fe1ef2 Fix XBE loading and Yara tests 2014-11-19 00:42:57 +01:00
pancake
b1da2b30e3 Fix #1670 - r2 -d 'ls -l /' working again 2014-11-18 11:19:04 +01:00
pancake
8c55285b5d Fix #1682 - Fix ELF null deref regression with rabin2 -c 2014-11-16 12:05:49 +01:00
jvoisin
acd93d1b37 Fix some cppcheck warnings 2014-11-15 21:48:13 +01:00
inisider
ee1c3b4282 Initial support of pf structs for PDB
- some initial work for build format flag
- add comment with types that need to add
- refactor and support of pf structs
2014-11-13 09:41:20 +01:00
pancake
c7e2edc6aa Remove reloc warnings from elf parser 2014-11-10 14:16:14 +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
3c7dbb4ac6 Check return value of r_buf_read_at in DWARF parser 2014-11-10 01:58:38 +01:00
pancake
7e046459f6 Fix some buffer overruns in the PDB parser 2014-11-09 20:01:03 +01:00
pancake
40f202c7ee Fix issue bad string filtering in PDB symbol names 2014-11-09 18:11:03 +01:00
pancake
d973a5d2e6 PDB honors rabin2 -B and -r 2014-11-08 00:23:04 +01:00
Oleksii Kurochko
d0ae63ff23 fix some memory leaks and logic problem 2014-11-07 23:18:54 +01:00
Oleksii Kurochko
58ee5d9455 fix memory leaks in init_pdb7_root_stream() 2014-11-07 23:18:54 +01:00
pancake
1c4886ed6f Check malloc return value in PDB 2014-11-07 11:20:54 +01:00
pancake
960f26fbfa Another PDB fix 2014-11-07 11:13:55 +01:00
pancake
2f03d1dbb6 Fix another crash in PDB 2014-11-07 10:57:14 +01:00
pancake
b40bce8284 Fix all latest Coverity issues 2014-11-07 10:52:44 +01:00
pancake
2352c6a105 Fix out-of-bounds buffer access in PDB 2014-11-07 10:43:59 +01:00
pancake
d9cb7d65fd Fix another crash in PDB 2014-11-07 10:37:18 +01:00
inisider
6b6fadf4dd correct fix of 'invalid write' errors 2014-11-07 09:50:38 +01:00
inisider
c16f59d55e fix invalid writes errors 2014-11-07 09:50:38 +01:00
inisider
b0f0ae4749 fix invalid read errors 2014-11-07 09:50:38 +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
b158a7a63b Fix rabin2 -z regression 2014-11-05 09:46:11 +01:00
pancake
3d3c5a3a14 Fix a fancy crash in the ELF parser 2014-11-05 04:20:35 +01:00