Commit graph

920 commits

Author SHA1 Message Date
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
inisider
565ba636b3 fix exports parsing 2014-06-13 14:34:17 +02:00
pancake
eb4d79a99e Fix regression parsing import table in PE. 2014-06-07 00:06:12 +02:00
pancake
8613cecae0 Do not load sections with size=0 in PE (fixes 65K infinite loading) 2014-06-06 23:01:53 +02:00
pancake
2284b04f85 Oops. fix elf.nx 2014-06-05 15:55:19 +02:00
pancake
6883f74d57 Add info/elf.relro sdb instance 2014-06-05 15:38:33 +02:00
pancake
1686073c8b Implement RBinInfo.nx check for ELF (need tests) 2014-06-05 15:26:46 +02:00
pancake
79098f622e Add elf.relro sdb entry 2014-06-05 04:53:00 +02:00
pancake
00d283a398 Fix all latest coverity issues 2014-06-04 23:57:24 +02:00
inisider
97bb72d376 fix import/delay import parsing 2014-06-04 22:27:40 +02:00
pancake
c225694c7c Fix build and several coverity issues 2014-05-29 15:27:18 +02:00
Maijin
9e720a79f0 Update pe_specs.h 2014-05-29 15:14:15 +02:00
pancake
8146cb7735 More mach0 parser bugs fixed thanks to zzuf 2014-05-29 15:08:01 +02:00
LemonBoy
e4e8528be9 more kernel thunk names 2014-05-26 21:03:34 +02:00
LemonBoy
8c7984e350 basic sanity checks when loading the thunk import table 2014-05-26 21:00:34 +02:00
LemonBoy
90df6195e1 xbe loader 2014-05-26 20:07:24 +02:00
pancake
aafe8c6eaf Fix some coverity issues 2014-05-26 14:28:55 +02:00
Anton Kochkov
9ce67f435f Fix CID 1215820 2014-05-26 14:29:00 +04: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
pancake
98d33eb084 Fix several segfaults found by matalaz in PE, MACH0 and COFF 2014-05-23 14:34:27 +02:00
pancake
3364fa62d5 Fix manyimports PE loading 2014-05-22 04:01:36 +02:00
pancake
c0750f62a8 List .rela.text relocations, still incomplete 2014-05-21 03:46:31 +02:00
pancake
a1224b2156 Refactor rva > vaddr and offset > paddr.
That change may make mixing vaddr and paddr more visible
2014-05-21 03:18:00 +02:00
pancake
796dedf83c Fix close(0) issue in rio 2014-05-21 01:46:01 +02:00
pancake
ea874fcdd7 Fix #947 - PE libs not working 2014-05-20 22:05:06 +02:00
pancake
302d4c245c Show pe.seh value in 'sdb' 2014-05-20 01:53:14 +02:00
Anton Kochkov
bf9de18c63 Fix CID 1134993, 1135005, 1135004, 1134996, 1134995, 1135002 2014-05-19 06:03:41 +04:00
pancake
644acb8590 Add rabin2 -k to query sdb info, sdbize MZ debug printfs 2014-05-19 01:42:36 +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
Adam Pridgen
ccd69e569e Fixing how virtual addresses are assigned to elfs 2014-05-15 00:02:41 -05: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
deeso
1fbc7f2168 Added load_bytes, Pushed curplugin down to RBinObj, Reworking the RBinFIle loading to accomodate RBinObj reworked how all bins are loaded. Needed to hack IO to make
this work with rbinfiles and rbinobjects.

Conflicts:
	libr/bin/bin.c
	libr/bin/p/bin_te.c
2014-05-13 21:54:18 -05:00
pancake
962ac8d307 Fix all java warnings 2014-05-12 10:16:15 +02:00
pancake
216c183b6e Remove tons of useless 'if (x) free (x)' 2014-05-09 17:40:28 +02:00
pancake
b52be45418 Fix pe parser issues spotted by corkami tests 2014-05-09 01:22:06 +02:00
pancake
773b033620 Fix negative/huge mallocs in PE parser and fix invalid fd close 2014-05-08 01:32:06 +02:00
inisider
ceee413bb3 fix message in eprintf() in r_bin_pe_init_sections() and Issue #666 2014-05-07 14:20:31 -05:00
pancake
213edb513f Fix all segfaults spotted by my fuzzing tests on MACH0 2014-05-06 12:48:21 +02:00
Adam Pridgen
e9cabecc45 Fix CIDs: 1211131, 1211134, 1211136, 1211133, 1211143 2014-05-04 22:09:20 -05: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
Anton Kochkov
c8d4e04792 Fix build 2014-05-02 14:21:59 +04:00
Anton Kochkov
8b25562c39 Fix CID 1135001 2014-05-02 13:46:51 +04:00
Anton Kochkov
b14b7df820 Fix CID 1135006 2014-05-02 13:38:35 +04:00
Anton Kochkov
dbff404a07 Fix CID 1135007 2014-05-02 13:34:02 +04:00
jvoisin
854bf7db87 Revert "Fix CID 1134998"
This reverts commit 44f5b35cb0.
2014-05-01 19:49:33 +02:00
jvoisin
44f5b35cb0 Fix CID 1134998 2014-05-01 19:27:53 +02:00
jvoisin
87c8cffeea Fix CID 1134996, 1135005, 1135002, 1134993 2014-05-01 19:13:52 +02:00
jvoisin
e229cfc1f9 Fix CID 1208750 2014-04-30 03:17:09 +02:00
jvoisin
8335cc5180 Fix CID 1208749 2014-04-30 03:15:46 +02:00
jvoisin
89f0ea4285 Fix CID 1135005, 1135004, 1134995, 61134996 2014-04-30 02:32:04 +02:00
Anton Kochkov
32e795f6a0 Fix CID 1135019 2014-04-30 03:08:24 +04:00
Anton Kochkov
463951d9f5 Fix CID 1135020 2014-04-30 03:07:08 +04:00
Anton Kochkov
b6ea32d2fb Fix CID 1208743 2014-04-28 23:08:31 +04:00
deeso
ce7f33480e fixing warnings (not the unused ones) in various files 2014-04-28 12:58:35 -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
d7ff0e46be Implement 'ej' to dump config in json and update uncrustify 2014-04-28 11:54:01 +02:00
Anton Kochkov
5a09744510 Fix CID 1134875 2014-04-27 05:25:21 +04:00
Anton Kochkov
c511700337 Fix CID 1134865 2014-04-27 05:25:21 +04:00
pancake
ce4e6de42f Implement RBin.Symbols for PE 2014-04-26 04:25:13 +02:00
pancake
2b84217ce8 Fix few warns in RBin 2014-04-18 16:37:02 +02:00
Jann Horn
f092afa91f fix some of the biggest memory leaks that happen during startup 2014-03-26 22:29:06 +01: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
condret
b202b05774 Add support for GBA roms and update GB opcode table
see http://gbdev.gg8.se/wiki/articles/CPU_Instruction_Set
2014-03-12 15:32:29 +01:00
pancake
7634b8ca77 Bump sdb and fix possible segfault in elf 2014-03-06 00:39:54 +01:00
pancake
d257493fb3 Fix some warnings 2014-02-24 12:18:07 +01:00
Fedor Sakharov
dff9e0d420 coff: Remove debug prints. 2014-02-20 14:01:49 +04:00
Fedor Sakharov
d31c3623cc coff: Let's support TI coff and tms320 files. 2014-02-20 13:39:05 +04:00
Fedor Sakharov
35e84450a3 Adds some fixes to support x86, amd64 and h8000 together. 2014-02-20 13:39:05 +04:00
Fedor Sakharov
7da39c208e coff: Try to detect coff. Only h8300 now. 2014-02-20 13:39:05 +04:00
Fedor Sakharov
ead69073ed coff: Small fixups and coff bin object free implementation. 2014-02-20 13:39:05 +04:00
Fedor Sakharov
906bb8b3ff coff: Implement optional header, symbols and sections. 2014-02-20 13:39:05 +04:00
Fedor Sakharov
7a76f2f3e1 coff: Initial commit 2014-02-20 13:39:05 +04: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
c406144aa7 Fix build and implement basic, print_hexdump works with null instance 2014-02-16 03:11:41 +01:00
pancake
693653068e Fix strings and main offsets in PE 2014-02-13 01:48:15 +01:00
pancake
1390d9f2d5 Add length and size fields in RBinString 2014-02-11 00:08:12 +01:00
condret
0a8fd8b931 Merge condret's GameBoy pull request
- Update analysis
- Add p2 (2bpp print command)
- Insert more auto comments for gb roms
- Delete mbc
- Handle gb-halt as cjmp (correct in most situations)
- Update gameboy register profile
- Add symbols for hard-interrupt-handlers
2014-02-10 17:02:43 +01:00
pancake
acc89d63e6 Use even more ut* types 2014-02-10 16:56:10 +01:00
Jüri Aedla
c4a37432bb Fix pe_get_exports: index function RVA table with ordinal 2014-02-07 03:14:26 +02:00
jvoisin
0121ad2da2 Fix shitload of memleaks on ELF 2014-02-05 20:42:37 +00: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
7c273cfc39 Fix TE section name issue again 2014-01-08 17:19:52 +01:00
Vitezslav Cizek
7033a1de90 fix two off-by-one errors 2014-01-08 00:13:35 +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
Roi Martin (@nibble_ds)
3f5ebd9d16 Fix #458 - Negative baddr
Fix r_bin_get_vaddr() (needs further testing due to changes in r_io)
2013-12-19 19:43:44 +01:00
Fedor Sakharov
7e28c6977e Recognize EBC arch in pe/pe.c 2013-12-05 18:43:11 +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