Commit graph

920 commits

Author SHA1 Message Date
Adr1
ab5792d132 RBin: improving versioninfo
Store ELF versioninfo in Sdb.
Display VS_FIXEDFILEINFO for PE.
2016-03-16 18:10:49 +01:00
Evan Shaw
9f1ef0d721 Reduce OMF format false positives
While developing the SNES bin plugin, I noticed some SNES ROMs were wrongly
detected as OMF.

This commit adds two additional checks to check_bytes:

* Check that record size and string size in the first record agree with each other
* Check that the string in the first record is valid ASCII

Regression tests still pass.

This commit also fixes an assumption that the host is little endian.
2016-03-16 10:36:26 +01:00
Álvaro Felipe Melchor
73a7427396 Fix #4302 - dynamic segment struggles 2016-03-13 19:19:03 +01:00
Aneesh Dogra
236fc3213d Fix protype warnings for pe checksum. 2016-03-13 01:35:20 +01:00
Álvaro Felipe Melchor
879e7f411f Fix build 2016-03-12 13:38:17 +01:00
Álvaro Felipe Melchor
bbd597228e Fix segfaults in pe checksum 2016-03-12 13:30:41 +01:00
Aneesh Dogra
5c3f5904ea Add a way to compare claimed CRC (in header) of PE files with the actual CRC. 2016-03-12 11:22:55 +01:00
Aneesh Dogra
0e3d4bf773 PE: Add support for parsing TLS and add TLS callback addresses to the list of entry points.
Only add the address if its valid.
2016-03-12 11:04:25 +01:00
Álvaro Felipe Melchor
b567b72171 added IFDBG on version info code to avoid those annoying messages 2016-03-09 23:15:43 +01:00
Jeffrey Crowell
f6739ec3be fix memleak in elf.c 2016-03-09 00:55:16 -05:00
Álvaro Felipe Melchor
19068d41d6 Fix oob read improving version info code elf - thanks @revskills 2016-03-08 22:16:10 +01:00
pancake
588e264f9f Fix latest COVs 2016-03-07 12:54:40 +01:00
pancake
f7e99c93e7 Fix #4241 - OOB read in rabin2 -V (versioninfo for ELF) 2016-03-07 00:37:27 +01:00
pancake
92ad561fea Fix latest coverities 2016-03-05 20:46:04 +01:00
pancake
bb79d30444 Fix two infinite loops in the version info parsing for ELF 2016-03-04 16:15:00 +01:00
pancake
6c9a44baf1 Fix oob reads in versioninfo for ELF 2016-03-04 12:08:29 +01:00
pancake
cacef87fcb Fix crash introduced in the rabin2 -V thing 2016-03-04 02:19:30 +01:00
pancake
b7ed999581 Use eprintf in the rabin2 -V versioninfo (for now) 2016-03-04 01:25:04 +01:00
Adr1
611c3d1752 RBin: Display File Version info 2016-03-04 01:15:56 +01:00
pancake
7a1993b057 Fix str_case regression 2016-03-03 11:45:04 +01:00
pancake
5234d3c1ac Do not use size_t for iterators 2016-03-03 11:29:41 +01:00
Martin Heistermann
ba9657df83 Fix relocation parsing for malformed files. 2016-02-28 02:43:25 +01:00
Martin Heistermann
fbd0905c56 Add initial indirect relocation (irel, ifunc) support. 2016-02-28 02:43:25 +01:00
Martin Heistermann
e528ce8dfe Refactor elf_specs.h to use the original glibc 2.22 elf.h.
Previously, elf_specs.h was an old(!) copy of glibc's elf.h with a few
additions accumulated over time.

This commit introduces a clear separation between an unmodified (save
one explanatory comment and a removed #include) copy of elf.h called
glibc_elf.h (elf.h already exists here), and elf_specs.h, which includes
the former file and only contains the required changes.

Updating glibc_elf.h in the future should be as easy as copying the file
from glibc and potentially deleting obsoleted parts of elf_specs.h.
2016-02-28 02:43:25 +01:00
Anton Kochkov
faf789b4e8 Fix CID 1351416 2016-02-25 13:21:06 +03:00
pancake
3e1590f4d9 More fixes for MIPS and ESIL emulation 2016-02-22 01:43:45 +01:00
pancake
100df3bb32 Better MIPS32BE ELF relocs, add Rx regs in mips.cs and add scr.wheelnkey, nN defaults to flag now 2016-02-21 01:56:50 +01:00
pancake
3c1a4eb040 Implement relocs for MIPS32 big endian ELF binaries (openwrt) 2016-02-21 00:56:01 +01:00
William Robinet
0c7cacc2dc Fix typos 2016-02-16 23:21:24 +01:00
pancake
384cfb1042 Fix last coverities 2016-02-16 02:08:09 +01:00
pancake
a93805475d Add VideoCore support in RBin.ELF 2016-02-15 16:04:37 +01:00
pancake
d8ab2fb55f Handle LANAI in the ELF plugin 2016-02-15 14:12:30 +01:00
pancake
f5181c4d90 Initial rework for dyldcache 2016-02-04 15:44:49 +01:00
pancake
b08892dbb3 Fix Tricore warnings and handle in ELF 2016-01-30 02:58:45 +01:00
pancake
7d91280e5c Handle EM_XTENSA bit in ELF header 2016-01-29 00:06:28 +01:00
deffi420
f4bce2b425 Handle elf_phdr/elf_shdr enums in elf.c
... and refactor a little.
2016-01-26 09:39:22 +01:00
deffi420
028df44c9d Add type and flags enums to elf_[ps]hdr structs 2016-01-26 09:39:22 +01:00
pancake
dcab698e65 Fix Thumb detection in ELF shared libraries 2016-01-25 23:01:40 +01:00
Maijin
94c4b5de11 Fix issue with cached dll 2016-01-17 22:10:46 +01:00
Maijin
5b4745d7d2 Cached dll ordinals are now lowercase Fix #3962 2016-01-17 21:17:07 +01:00
pancake
666d457708 Add rabin2 -O e/new-entrypoint-address (ELF only atm) 2016-01-14 14:42:36 +01:00
Alberto Ortega
dbb199e4a5 New bin plugin with initial Nintendo 3DS support. It loads decrypted FIRM files. 2016-01-04 01:08:32 +01:00
pancake
42acaa7596 Softly kill boolt type 2016-01-03 02:05:26 +01:00
pancake
5132a499c2 Fix many coverities 2015-12-31 17:10:02 +01:00
pancake
b728b48123 Native tvOS/WatchOS support, non-fat libr.a and mach0 identification for them 2015-12-28 20:40:18 +01:00
DZ_ruyk
51ae0129c7 Fixed PE export functions address calculation 2015-12-24 16:04:59 +01:00
Judge Dredd (key 6E23685A)
746f2dcc34 Fix oa double free #3858 2015-12-19 16:52:29 +01:00
alvaro_fe
a6e4d6b93e Fix #838 2015-12-16 11:40:23 +01:00
pancake
965d789c4a Update indentation in some more random files 2015-12-14 14:32:18 +01:00
Álvaro Felipe Melchor
32c743dd98 Fix #3774 2015-12-09 19:33:36 +01:00
pancake
5ce1194dab Keep root class address when meta class is found 2015-12-09 16:56:26 +01:00
pancake
3961728eaf Fix objc regression and initial metaclass support 2015-12-09 16:54:05 +01:00
pancake
c6ebab5f19 Some more objc parsing endian fixes and refactor 2015-12-09 16:01:51 +01:00
pancake
cfb03d3772 More indentation fixes 2015-12-09 00:27:31 +01:00
pancake
a4fc08b401 More auto-indentation enhancements 2015-12-08 23:55:23 +01:00
Dima Turchenkov
c086a74e8f additional checks for architectures to detect endianness 2015-12-08 17:29:36 +01:00
Dima Turchenkov
d21d19c450 strange delphi artifact in PE header causes this bug 2015-12-08 17:29:36 +01:00
pancake
0880d7d4f5 Some refactor/cleanup for agf and io cache (wip) 2015-12-08 14:59:30 +01:00
Álvaro Felipe Melchor
7f95042491 workaround for #3774 2015-12-07 18:56:25 +01:00
Álvaro Felipe Melchor
0537a72e9b cleanup elf and fix #3774 2015-12-05 21:00:51 +01:00
pancake
327597f949 Some objc code cleanup, still looking for a bug 2015-12-04 13:14:55 +01:00
pancake
40e08dbd89 Get rid of _Bool 2015-12-01 12:39:12 +01:00
pancake
c4e0ac2885 Fix rabin2 -O sync issue and update manpage 2015-11-30 00:10:28 +01:00
Ricardo Quesada
e4182b943d More symbols for the VSF file format parser
- removed verbose debug eprints
- Fixes warnings and compilations errors
- more symbols: SID and VIC
- removes NMI/IRQ symbols.
- removes IRQ entry
2015-11-29 12:18:00 +01:00
Ricardo Quesada
f5c65f5da8 Adds VSF (VICE Snapshot File) support as a bin format
VICE is the most popular C64/C128 emulator and allows
users to save snapshots of the games.

Analyzing VICE snapshots are more useful than
analyzing .prg (the "standard" c64 program)
because usually all .prg are compressed, and
are decompressed in runtime.

commit 796297c6cd3a099fd17ad3715b4ed5646a6a9e65
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Nov 27 12:28:58 2015 -0800

    no sbd for the moment

commit c785b22318c3cacf7771ab21198aa759777224af
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Nov 27 10:06:12 2015 -0800

    bank 0 and bank 1

commit 63304876b6f84df001c39f5b35084ff6e61bc01b
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Nov 27 09:47:12 2015 -0800

    c128 includes basic, monitor and editor sections

commit 1a8995a644df6d9e871a586e57c3cd8e00cce7ae
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Nov 26 14:45:36 2015 -0800

    c128 roms...

    uses sdb which is not used at all
    more vic symbols

commit 8a29c3c7736fcf689b9248e65093277347ae38bc
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Nov 24 10:39:44 2015 -0800

    ram last entry

commit fca46301b2fd68e230cf547047a5278e098c9340
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Nov 24 00:10:20 2015 -0800

    more tidy code

commit 03b8a12b319bd0eb9f21b60d882da2030c2c35f1
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 23 22:52:20 2015 -0800

    VSF works for C64... still many things to fix

commit a118a930cb40441b412db916deb4c0ca30e30309
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 23 13:37:32 2015 -0800

    initial commit... compiles and detects VICE

    but nothing more
2015-11-29 12:17:05 +01:00
pancake
ad6baf0824 Add rpath and scnperm in rabin2 -O 2015-11-27 20:37:27 +01:00
Maijin
e68ed8dd91 Add support for SPC700 file format 2015-11-27 13:03:18 +01:00
pancake
615dffca0e Fix w32 build 2015-11-23 21:08:04 +01:00
Dax
412934d20e Initial PSX Executable Support
PSX Plugin: Deleted useless file
PSX Plugin: Adjusted coding style, minor fixes
PSX Plugin: Removed typo, adjusted makefile, call check_bytes with correct parameters
2015-11-23 20:56:19 +01:00
Álvaro Felipe Melchor
893b094cf7 Fix ffc9406 crash by revskills 2015-11-23 19:00:57 +01:00
pancake
a31cd1101e Initial import of the VAX asm/anal/bin support 2015-11-23 12:34:53 +01:00
pancake
7abb81f22a Fix 054164 objc parser crash by @revskills 2015-11-22 23:03:31 +01:00
pancake
41ef4a008f Fix 3496c4 sample from @revskills 2015-11-22 22:06:53 +01:00
pancake
ccfee9fcca Fix many important issues reported by clang-analyzer 2015-11-22 11:27:45 +01:00
Álvaro Felipe Melchor
50b2e62552 Fix crash in mach0 loader 2015-11-19 23:05:09 +01:00
pancake
b35b830446 Fix mach0 regression introduced in 081ba8343 2015-11-18 11:40:34 +01:00
Álvaro Felipe Melchor
081ba83431 Fix crash 6f29967c0 by revskill 2015-11-17 22:44:48 +01:00
pancake
a50d671b4e Drop some unnecessary warning messages 2015-11-17 13:30:02 +01:00
pancake
04cd1250c2 Add alignment for AVR code 2015-11-15 00:29:33 +01:00
pancake
7901b57803 Fix #3684 - Do not flag LOCAL NOTYPE ELF symbols 2015-11-12 10:06:16 +01:00
pancake
ad74a6ec6b Move msil and mdmp into radare2-extras, add r2pm pkgs 2015-11-11 11:07:32 +01:00
pancake
495d209a61 Fixes for elf64-pie main identification 2015-11-10 13:00:19 +01:00
pancake
b701626cfc Fix some clang-analyzer issues 2015-11-10 12:18:27 +01:00
Álvaro Felipe Melchor
9a87db5b06 Fix warning when loading fatmach from r2r 2015-11-09 21:47:43 +01:00
pancake
164dcada3b More RBin memory usage optimizations 2015-11-09 12:12:18 +01:00
pancake
baf63a0cba Reduce RBinSymbols memory (smaller footpronum) 2015-11-09 03:41:07 +01:00
pancake
9c9bb2dbd5 Memory optimization for flags (-70%) + some warnfixes + sdb-sync 2015-11-08 23:38:42 +01:00
pancake
b3b5221e1e Add cryptheader sdb mach0 field 2015-11-06 11:21:48 +01:00
Álvaro Felipe Melchor
c3034a0a63 Fix malformed fatmach 2015-11-05 01:00:57 +01:00
Anton Kochkov
51a204868c Fix Cygwin64 building 2015-11-03 14:16:08 +03:00
pancake
b22ed19aa1 Some CA fixes related to OMF 2015-11-02 12:58:01 +01:00
Anton Kochkov
f52d25e6f9 Fix build 2015-10-31 23:55:43 +03:00
Anton Kochkov
17a709537c Fix Cygwin build 2015-10-31 23:48:09 +03:00
pancake
0648cea3e5 Refactoring of the minidump code for portability and -1500LOC 2015-10-31 17:27:46 +01:00
pancake
a9cbb745aa Fix mdmp linkage 2015-10-31 12:05:10 +01:00
Dāvis
0494d5fce8 Add support for Windows Minidump (mdmp) files 2015-10-31 11:59:09 +01:00
pancake
f88b35afba Fixes for asm.riscv 2015-10-30 00:06:38 +01:00
qnix
09f1ea9856 Initial RISC-V support (32,64bit disasm) 2015-10-29 23:57:22 +01:00
Álvaro Felipe Melchor
5543f73cb1 Fix some covs 2015-10-29 23:39:49 +01:00
Kevin Grandemange
6dc0526b0a Do not print warning for dynamic section if we are a static bin 2015-10-29 01:59:32 +01:00
Kevin Grandemange
fd6310f108 add microblaze arch to elf 2015-10-28 10:13:18 +01:00
pancake
52cfe459a0 Enhance te command. Autocomplete and partial args working 2015-10-27 12:41:09 +01:00
Álvaro Felipe Melchor
13fd1d0673 Fix omf crash 605d 2015-10-27 03:26:17 +01:00
pancake
02e719fafe Aim to fix eeaf87ece627fe94f92f836ac3467ffd @revskills dyldcache crash 2015-10-26 03:45:54 +01:00
Álvaro Felipe Melchor
6a710d6119 Fix pe crash 9288a from revskills 2015-10-25 20:14:04 +01:00
Álvaro Felipe Melchor
40ba826074 Fix pe crash bf83856 by revskills 2015-10-24 23:39:39 +02:00
pancake
17c58bdb01 Fix bf8385 PE parser crash (thx @revskills) 2015-10-24 13:24:38 +02:00
Riccardo Schirone
70669bafc0 bin/bin: do not filter out non-pie binaries when using baddr 2015-10-23 10:55:13 +02: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
pancake
aaf386d023 Fix the last mach0 crash 2015-10-21 22:29:49 +02:00
pancake
5d440365af Fix 55c9c9 mach0 relocs segfault 2015-10-21 22:20:36 +02:00
Álvaro Felipe Melchor
9d5f7c44a0 Fix mach crash 45d2d1309807e95422006abb97462bc6 2015-10-21 19:35:14 +02:00
pancake
5fece33093 RBin.PE: Error -> Warning 2015-10-21 15:59:17 +02:00
pancake
461b714503 Fix objc heap overflow class parsing bug 2015-10-21 12:19:19 +02:00
Álvaro Felipe Melchor
748564683e Fix #3518 2015-10-20 23:52:34 +02:00
pancake
1b5cd887ce Disobey rabin2 -B if bin is not pie, enhace dmm* and mach0 2015-10-19 02:41:21 +02:00
Álvaro Felipe Melchor
d4f45dd0df Fix oob in pe.c 2015-10-18 22:23:19 +02:00
Álvaro Felipe Melchor
c5d5ee70da Fix oob in mach0.c 2015-10-18 22:23:19 +02:00
Jeffrey Crowell
4d4fc1eb08 fix null deref in elf
thanks @bspar for the fuzz-a-ton
2015-10-14 20:18:59 -04:00
pancake
6e40a70a9f Show warning when cannot find w32 ordinal module dbs 2015-10-14 22:27:27 +02:00
pancake
60b60aa50a Fix #3444 - Fix infinite loop in PE parser 2015-10-12 19:42:44 +02:00
pancake
be0538a6a8 Fix some windows build warnings 2015-10-08 11:14:10 +02:00
Álvaro Felipe Melchor
93a721f614 Fix #1846 - full and partial relro elf 2015-10-06 18:27:42 +02:00
pancake
9712a62b62 Fix #3296 - Identify main in thumb-elf bins 2015-10-03 14:16:08 +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
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
pancake
f10c8ec075 Fix #3296 - Thumb ELF entrypoint assumption 2015-09-17 01:32:13 +02:00
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
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
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