Commit graph

920 commits

Author SHA1 Message Date
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
pancake
d02df0d306 Fix some issues reported by CoverityScan service 2013-12-03 00:14:59 +01:00
condret
ee62e9d1b9 moar banks for gb 2013-11-24 19:32:05 +01:00
Adam Pridgen
ffc8cc14a3 Chasing a segfault, when program exits 2013-11-22 12:28:44 -06:00
pancake
fb654160e9 Add GameBoy support in RBin
- Can identify rom, romtype (mbc,sram, ...), arch, entrypoint and 2 rombanks
2013-11-22 09:45:49 +01:00
pancake
01ac786b5e Fix #297 - Error: read (shdr) on a crackme 2013-10-27 01:13:13 +02:00
pancake
892a33ef23 Fix build and some warnings 2013-10-24 00:27:07 +02:00
Alberto Ortega
686ba6ccc0 Fixed segfault when malformed ELF 2013-10-18 23:51:56 +02:00
Alberto Ortega
1fba89085b Fix malformed ELF segfault, re-enable warning 2013-10-16 17:33:22 +02:00
Alberto Ortega
1e1f84c7c4 Fix segfault when loading malformed ELF, improve invalid sections loading 2013-10-15 11:39:17 +02:00
pancake
077ab18846 Fix #253 - Memory leak when opening malformed PE 2013-10-14 22:51:27 +02:00
pancake
08cce66e68 Initial arm64 analysis. Fix loading mach0 kernels. Fix #230 2013-09-30 03:49:08 +02:00
pancake
70e4d294b3 Minor fixes to make testsuite happy 2013-09-30 02:19:19 +02:00
pancake
722659005d Better brainfuck and arm64 support. Fix some bugs
- Fix infinite loop bug in dietline using quoted commands
- Update brainfuck disassembler and analyzer
- Fix #232 - r2 error on corkami's standard.elf (missing strtab)
- Honor 'other' color palete
- Fix bug in disasm.c filtering flag replacements
- Removed '#' prefix for numeric arguments in aarch64 disasembler
- Fix infinite loop in '">"' command
2013-09-30 01:14:04 +02:00
pancake
81d7e5a8a3 Better support for ARM64 and OS autodetect for MACH0 binaries 2013-09-29 20:20:47 +02:00
pancake
666954b00e Filter trash in import names for PE 2013-09-28 23:58:55 +02:00
pancake
604f6adf64 Fix segfault in PE loader (thanks a0rtega for reporting) 2013-09-28 18:50:23 +02:00
pancake
9e12c60702 Fix #223 - Hardening flags for radare2 $ HARDEN=1 sys/install.sh 2013-09-27 19:50:48 +02:00
pancake
b3c42c9545 Handle ARM64 MACH0 headers in RBin 2013-09-27 17:57:33 +02:00
pancake
cf78623a28 Fix #222 - Malformed ARM ELF causes segfault 2013-09-27 01:37:57 +02:00
pancake
dece987ca3 Fix various bugs on 64bits (mach0 entry, assembler, ragg) 2013-09-14 02:42:02 +02:00
Eduard Burtescu
a3685ae4d2 r_bin/mach0: also process lazy_bind opcodes for relocs. 2013-07-19 12:06:28 +03:00
Eduard Burtescu
96ca1d3815 r_bin/mach0: new relocs using dyld_info bind opcodes. 2013-07-19 09:53:43 +03:00
Eduard Burtescu
6408bf4b9a r_bin/mach0: updated mach0_specs.h using original Apple headers where possible. 2013-07-19 09:29:58 +03:00
Eduard Burtescu
4a30d17266 Mach-O: new relocs implementation and complementary fixes for imports. 2013-07-19 09:29:58 +03:00
Eduard Burtescu
88030d6f38 r_bin/PE: implement new relocs. 2013-07-19 09:29:58 +03:00
Eduard Burtescu
5e096a4fd7 r_bin: new generalized relocs, with only arch-independent types.
Basic implementation for ELF relocs (x86, x64 and ARM).
2013-07-19 09:29:58 +03:00
Eduard Burtescu
4c90534f84 r_bin/ELF: don't ignore the r_addend field from Elf_Rela relocs. 2013-07-19 09:29:58 +03:00
Anton Kochkov
77e2c0c34a Fix ARCompact ELFs loading 2013-07-16 20:10:07 +04:00
pancake
e236f0cf5a Fix ELF regression issue 2013-07-15 18:07:42 +02:00
pancake
7cb31941a6 Fix double free when loading malformed PE file
FMI: https://corkami.googlecode.com/svn/trunk/src/PE/lfanew_relocW7.asm
2013-07-03 11:57:37 +02:00
pancake
92b50950e4 Fix 'r2 -d ls /' launching program with arguments 2013-07-03 01:38:03 +02:00
pancake
de5889565c Fixes for ELF imports/symbols listing 2013-06-20 16:20:18 +02:00
pancake
04cfefb9d8 Fixes on dyldcache list and x86 branch analysis
Fix some branch analysis issues for x86
Add new simpler r_reg api r_reg_getv()
Store library offset in dyldcache xtract info
Accessible via rabin2 -A or r2 <file>
Looks like dyldcache is too slow and buggy for latest caches
Fix indentation in branch comments
2013-06-20 02:49:39 +02:00
pancake
cdea34616d Fix some warnings 2013-06-09 02:55:03 +02:00
pancake
3f1d3ba146 Better r_str_hash(), Fixes in CCa, Added ?h, Better rbin for BEOS bins
Identify Haiku binaries as 'beos' with noodle()
Fix CCa for non numeric offsets
Use sdb's r_str_hash() instead of old one (much less collisions)
Added ?h command to hash strings
CCa now appends instead of replacing comments
Do not mark as static if bin links to libs
2013-06-07 10:26:37 +02:00
Eduard Burtescu
0b0feba28e PE: fix buffer overflow regression caused by the fix for #64 (fcbe3ca). 2013-05-19 10:46:18 +03:00
pancake
afacfbeda4 Fix unitialized pointer in elf 2013-05-03 14:52:02 +02:00
pancake
eeceed230b Fix sizeof() operand mismatch warning (thanks fam) 2013-04-29 18:49:26 +02:00
pancake
26a7854dd6 Rewrite DEX parser 2013-04-25 03:42:17 +02:00
pancake
b77cdf33d7 Fix loading of MACH0 object files and fix build 2013-04-22 01:34:25 +02:00
pancake
076a2837c9 Update sdb and fix build 2013-04-05 03:09:54 +02:00
pancake
542de1b426 Avoid dup load of DEX, reduce calls to r_meta_cleanup
- Nicer output for command 'fd'
- Cache methods to avoi dup loading
- Fix delimiter in internal grep (allow '/')
- Faster r_meta processing (reduce calls to meta_cleanup
2013-04-05 02:55:47 +02:00
Anton Kochkov
e62e837b7a TE: 16 bit for _TEXT_RE and fixes for virtual addresses calculations 2013-03-29 04:33:45 +04:00
pancake
fcbe3cac4a Fix #64 (handle 8 char length section names in PE and TE) 2013-03-13 13:30:28 +01:00
pancake
89992670e1 Fix segfault in ELF parsing 2013-03-13 12:42:05 +01:00
pancake
6806c11792 Better ARM analysis, Fix blockread in V[0-9] 2013-03-08 12:58:03 +01:00
pancake
ba3ad8112a ELF parser more permissive, add 'fsr' and other fixes
Make ELF loader more permissive
Add 'fsr' to rename flagspaces
Fix parsing issue in 'yy'
Fix crash in r_num
2013-03-07 23:47:41 +01:00
Anton Kochkov
a68605910b Fixed x86 bits config for TE format plugin 2013-03-03 14:01:49 +04:00
Anton Kochkov
ca7296c848 TE format plugin cleanups - removed unused code 2013-03-03 13:34:46 +04:00
Anton Kochkov
b2f7037336 Fixed sections offset calculation 2013-03-03 03:57:56 +04:00
Anton Kochkov
ff4d3c8009 Fix reading sections 2013-03-03 03:48:59 +04:00
Anton Kochkov
8fd68f1429 Build fixes for TE plugin 2013-03-03 03:33:05 +04:00
Anton Kochkov
d580e72a70 Initial TE format support 2013-03-03 02:17:51 +04:00
pancake
a7925a8a4f Add aach64 (ARMv8) support to the ELF parser 2013-02-26 15:35:24 +01:00
pancake
3bfa61946e Cleaner pvj, fix tinype load, and honor 'ao N's help
Fix TinyPE loading
'ao' arg is now number of opcodes, not bytes
'pvj' output is now cleaner
Random refactorings
2013-02-11 10:51:45 +01:00
pancake
2fa48384ad Fix some bugs reported by clang-analyzer 2013-02-08 11:42:46 +01:00
pancake
f37df0d2c6 Fix fatmach0 extract when unknown files are inside
Fix segfault in java class header parser
Fix help message of 'wt' command
2013-01-29 19:39:41 +01:00
pancake
2365918652 Fix slow ELF loading and add anal hints support to projects
Fix slow ELF loading when shstr section was huge
Added 'ahj' command to list anal hints in json
Add 'ah*' and use it from r_core_project
Fix 'i*' command
2013-01-22 18:08:33 +01:00
pancake
4d22fcb806 Implement VA (Visual Assemlber), readline with callback and chs
r_cons_readline now have a callback api
r_num_chs() to convert from disk CHS to real address.
2012-12-22 02:37:01 +01:00
pancake
8f6459977d Refactor of {bin|asm}/java into shlr/java 2012-11-16 02:29:30 +01:00
pancake
7ee7f936db Fixes parsing bug in java class and and rbinelfFixes in java class and and rbinelf)) 2012-11-14 04:57:56 +01:00
pancake
6956fe003a Add PIE (ASLR) field in RBinInfo for ELF, MACH0 and PE 2012-11-07 18:18:52 +01:00
pancake
52d4eff43f Fix DEX method offsets and help message for @@? 2012-10-29 00:47:20 +01:00
pancake
94b001265a Fix mach0 ehdr header, new $S and $SS vars, Vdr
Show xrefs before comments
cmtright is false by default
Fix ehdr virtual section on mach0 files
Addr 'Vdr' command to rename functions in visual
Add $S and $SS variables (section offset, section size)
2012-10-26 01:33:57 +02:00
pancake
38628b4e17 Fix ELF loader and segfault in disasm->hexdump 2012-10-17 12:13:23 +02:00
pancake
757d692e19 Implement support for mach0-x86-32/64 main finder
Fix segfault when loading a plain file after io'd one
2012-09-23 21:42:10 +02:00
pancake
83cfbb2236 Add initial ARC code analysis module (branches)
ELF parser setups the proper ARC asm and anal
Fix segfault in the GNU ARC disassembler
2012-09-23 17:33:19 +02:00
pancake
850045c329 Fix many bugs noticed during the training course
Fixed ragg2 -e segfault
Fix use of ragg2 -p
Fix memleaks and null derefs in rio and rsocket
Fix some build warnings
Fix the segfaults found in the ELF parser
Dwarf parsing is only done if bin.dwarf is true
2012-09-22 20:32:19 +02:00
pancake
e46efa8a1d Initial implementation of r_bin_size (rabin2 -Z)
Changes in the disasm loop to support continuous fun
Fixes disasm after opcode payload
Added RConstr code in r_util (not yet used)
RBinSize implemented for elf, mach0 and plan9
Fix build
2012-08-23 12:46:55 +02:00
pancake
e6e1490fe6 Add support for Java debug line information
Workaround Java CLASS parser bug
Still work-in-progress for full debug line support
$ rabin2 -dr foo.class
2012-08-14 18:22:24 +02:00
pancake
3df277d84b Initial import of TOP make variable 2012-08-14 13:14:54 +02:00
pancake
e365b90d5f Implement support for >- (pipe to editor)
Fix another race condition in the build system
Fix many null deref reported by clang-analyzer
Assume -w when running r2 with -d
2012-08-13 17:42:25 +02:00
pancake
1586c29785 Fix race conditions in makefiles and clean TODO 2012-08-10 15:59:37 +02:00
pancake
a2ebdcb650 Fix memleaks, nullref and undef (clang-analyzer)
Fix multiple inclusions of mk files
2012-08-08 17:19:48 +02:00
pancake
3c967ac89b More fixes in dalvik disassembler (thx @thuxnder)
- Add missing getters in RAnal to make bokken happy
2012-08-07 16:53:09 +02:00
pancake
3fb3f58fcd Add missing dalvik opcode, rename invoke-direct-empty
rabin2 -h works even with other flags passed
random syntax fixups and use R_NEW0 where possible
initial dummy implementation of r_bin_size()
2012-08-07 10:28:03 +02:00
pancake
9362041562 Huge RBin refactoring and fix mach0 section perms 2012-08-04 23:48:06 +02:00
pancake
3e7c4ad992 Add new opcodes for x86.nz assembler
- Fix search counter
2012-08-03 02:05:50 +02:00
pancake
690445700a * Add ^ and $ in cons grep expressions
* Minor work on source CL commands, needs review
2012-06-21 10:12:02 +02:00
pancake
a94c9e4780 * Fix segmentation fault in the ELF parser 2012-06-05 18:56:20 +02:00
pancake
bc572ce3df * QNX/arm port (this is bb10 and playbook devices)
- no debugger support yet
2012-06-01 14:50:24 +02:00
pancake
3eb9a85872 * Fix build + initial work on z80 asm/dis 2012-02-03 10:57:45 +01:00
pancake
aeb29106d7 * Build the ewf plugin if requested
* Fix valgrind warning thanks to Simon Ruderich
* Add mach0 ARM subtypes and fix parsing
2012-02-03 01:13:09 +01:00
pancake
29166cc940 * Initial import of the hud input method for the visual mode
* Use '_' key in visual mode to enter in hud mode
* Support mach0 files with multiple sections with same name
* Fix parsing of commands with nested quotes
* rename ?z to ?l
* added new command ?y to get and set yank buffer contents to stdout
* ?i stores the input into the yank buffer now
* ?I accepts a file name as argument which is loaded as hud
* ?k used as key=value temporal storage
* Add calc.c .. plans are:
  - support proper parenthesis in math.c
  - support floating point arithmetics
2012-01-31 02:45:17 +01:00
pancake
840550aa3a * Add asm.tabs for bearuty for free (enable by default?)
* Apply @l0gic patch for ELF parsing segfault
* Improve a lot the startup time by using r_file_mmap
* Fix build on osx
2012-01-26 03:18:45 +01:00
pancake
d02691b086 * Handle ^C in 'af' code analysis
* Fix parsing of ELF binaries generated by TCC
* Added iOS/arm register profile for the native debugger
* Swap endian of ptn date
2012-01-19 00:19:01 +01:00
pancake
d779162f07 * Apply @w_levin patch fixing memory leaks
- Use r_list in RBin (deprecate list.h) Thanks!
2011-12-13 14:00:22 +01:00
pancake
e40e54984e * Fix import elf parsing 2011-12-04 23:05:48 +01:00
pancake
e6ee9ef5d0 * Fix elf symbol parsing again 2011-12-04 22:12:54 +01:00
pancake
7c3339bbbe * Fix ELF parsing for symbols outside the .text section
* Do not use tabs in arm and csr disassemblers
* Clear colors in visual prompt V:
2011-12-04 21:02:09 +01:00
pancake
6de942e05d * Add RBinInfo->has_va
- Used to autoforce io.va after loading the bin
  - Fixes loading kernel modules and object files
* Fix loading strings on a object file without io.va
* Add install-rev.sh script
2011-11-29 15:29:50 +01:00
pancake
ee665da38e * Fix load of object elf files (kernel modules too)
- thanks Sebastian Reichel for reporting!
* Use O_BINARY in open() on windows
  - Will this fix the disassembler problems on w32?
2011-11-29 04:25:18 +01:00
pancake
d7f2c850be * Add initial native support for fat binaries in r2
- Select arch/bits with r2 -a and -b (old -b is now -B)
  - Kinda hacky, but works for osx-x86/32/64
  - Export offset information of fat bins
* Show flags in search output
* Disable interactive console in rabin2
* Do not comment int3 opcodes
2011-11-22 00:59:20 +01:00
pancake
3fd59fdbcd * Fix double-free segfault in elf parser on netbsd binaries.
* Fix bindings build
2011-11-15 20:58:08 +01:00
pancake
686e23c9d8 * Do not store opcodes in basic blocks (-40% mem usage in analysis)
* Fix some memory leaks in the elf parser
2011-11-15 09:56:22 +01:00
pancake
7b093a3ed5 * Fix all dangerous bugs reported by llvm-analyzer 2011-11-14 22:46:23 +01:00
pancake
75290251da * Add initial support for plan9 binaries
- supports x86, arm, ppc, sparc, mips
* Use r_cons in r_core_bin
* Fix link of rabin2
  - Use r_cons_flush()
  - Refix ehdr issue
* r_io_size() now ignores va
* Add R_SYS_BASE
* Move r_anal_get_fcn_get into fcn.c
* Some more fixes
2011-11-12 04:51:45 +01:00
pancake
88c8b08f7a * Fix various memory leaks (thanks Ender for reporting!)
* Add e dir.magic variable
2011-11-11 17:14:09 +01:00
pancake
063ec43194 * Use memmove instead of strcpy in overlapped dietline buffers
* Simplify ln -fs in install .. trying to make debian and openbsd happy
* Fix an out-ot-range bug in ELF parser
* Fix segfault when trying to create sections with an empty name
* Install python bindings only in site-packages
* Grep for go in supported.langs
2011-10-24 17:16:54 +02:00
pancake
89968a18b9 * Added linux-x86-32 support for elf-init/fini syms
- Yeah, this is a call for contribs
2011-10-20 19:52:19 +02:00