Commit graph

920 commits

Author SHA1 Message Date
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
pancake
17dfe1bcf8 * Fix some possible-use-of-uninitialized-variables 2011-10-20 16:36:00 +02:00
pancake
04cbf68819 * Fix segfault in elf (thanks @earada!)
* Make cg and cgo work
* Added r_anal_diff_setup_i()
  - Fixed bindings
2011-10-16 13:59:05 +02:00
pancake
b42e287156 * Fix typos reported by lintian
* bfvm.c changed license from GPL to LGPL
2011-10-13 01:00:07 +02:00
pancake
e9d1dcb4ec * Fix make w32dist
* Update manpages
* Added r2 -H for env and files help
* Add rarun2 -h
* Show assembler/disassembler features in rasm2 -L
* Add opcode 'mov dword [ebp-12],4' to x86.nz
  - Make t/test.nz work with x86.olly (32bit only atm)
* Fix unknown os issue with tiny-pe files in r_bin
* Fix some plugin names build fails in mingw32
* MAGICPATH renamed to R_MAGIC_PATH
* Add another experimental way to generate gir files
  - Added dummy test.js for nodejs
* Build python-dist in farm

--HG--
rename : man/rarc2-tool.1 => binr/old.rarc2/rarc2-tool.1
rename : man/rarc2.1 => binr/old.rarc2/rarc2.1
2011-10-12 03:24:19 +02:00
pancake
989fdb3dc8 * Implement raw get_main analysis for MACH0 binaries (x86-32/64)
* Remove main() from libr/magic .. was using non-portable strlcpy/strlcat
2011-10-10 16:55:39 +02:00
pancake
098b1ba127 * Implement input and output filters for rasm2
- Experimental.. not yet ready for release
  - Add rasm2 -F flag to specify input and output filters
   $ rasm2 -F att2intel
* Add new att2intel r_parse plugin
  - make mrproper required
* Initial implementation of RBinClass
  - Only experimental and Java-specific atm
  - Add rabin2 -C to display classes
* Optimize some r_str functions
2011-10-05 02:38:37 +02:00
pancake
23936cfbe5 * Add an REgg instance into the RCore class
- Make r2 -P use the r_egg api instead of the oldie rarc2
2011-10-04 10:10:00 +02:00
pancake
2a0b57d51d * Implement 'ax' command.
- Add r_anal_fcn_xref_{add|del} methods
* Some fixes for r_bin_dex file format
  - Properly name all fields and methods
  - Add entry support in java too
* Add default sections for dex and java class files
  - constant pool, code, data, extra
* Beautify 'S=' command
2011-09-28 02:48:03 +02:00
pancake
677a499440 * Add get_main() for mach0 (32,64)
* Proper use of arch/bits. debugger works fine now for osx-32/64
2011-09-22 09:52:00 +02:00
pancake
279d4e6f5f * Fix make deinstall
* rarun2 and rasc2 now depend on r_util
* Add r_mem_protect() as a wrapper for mprotect/VirtualProtect
* Fix segfault in java class parser

--HG--
rename : binr/rarun2/main.c => binr/rarun2/rarun2.c
2011-09-19 13:54:57 +02:00
pancake
0a14411bc1 * Added README documentation for libr/egg programming language
* Add -O flag to ragg2 as an alias for -o a.out or -o <file> (without extension)
* Add rabin2 -M (get main) for Java Class files
* Add emit_trace (code tracer) for r_egg. useful to debug
  - ragg2 -a trace hello.r
  - Add emit->jmp() function pointer and emit->retvar
  - many fixes in function calls and definitions
  - Added support for 'break;' 'break();' and 'goto();'
  - Added .ret variable as an alias for eax, rax or r0
2011-09-19 02:39:33 +02:00
pancake
403aa4b36d * Fix ~40 off-by-one strncpy's 2011-09-18 20:41:36 +02:00
pancake
838e6b7466 * Fix java class parser for javac -g files
- Show debug information in sdb format
  - Fix null pointer segfault
  - Still work-in-progress for proper debug info
* Some work on r_egg
  - Fix windows and osx default syscall tables
* Export version number in vapi R2_VERSION
* Hide ccache error if not found in sys/install
2011-09-18 18:56:11 +02:00
pancake
d72d66f143 * Honor OSABI in elf for arm bins too 2011-09-14 17:18:40 +02:00
pancake
37fecf7c0c * Implement RBinCreate.elf-arm
* Fix uninitialized shstrtab segfault in r_bin_elf
* Do not create new objects unnecesarily in r_core_magic
* Handle length argument in pb command
* Fix ps command
* @@ now prefixes each line with the offset (useful for search)
  - can be problematic when used with macros
  > / lib
  > ps @@ lib*
* Huge refactoring in r_magic, now using the r2 coding standards
  - Use r_magic_new() and _free() instead of open/close
  - Reduced -1KLOC
2011-09-12 01:47:28 +02:00
pancake
4d6c585672 * Add support for mach0-arm and mach0-x86_64 in r_bin_create
- x86_64 has been tested and works fine, but needs some love
  - the arm mach0 (iPhone) is not yet tested, but the bin looks ok
* Install syscall sdb files into versioned directory in lib/radare2
2011-09-09 01:09:36 +02:00
pancake
1732541915 * Fix OS identification in ELF on r_bin
* Add missing OSABI definitions
* Fix r_str_case()
* Remove already defined or useless commented config code from r1
2011-09-08 15:10:46 +02:00
pancake
aebf800b8e * Lot of fixes in r_syscall api related to the use of RPair
- Fix segfault in OpenBSD (thanks vext01 for reporting)
  - Add openbsd-x86-64 syscall definitions
2011-07-02 10:14:46 +02:00
pancake
55a29f976b * Add dummy darwin-x86-64 syscall information
- OS is 'darwin', not 'macos' (r_bin)
* Fix r_syscall vapi
* Honor DESTDIR (thanks l0gic)
2011-09-04 20:25:32 +02:00
Nibble
a95de05ec0 * Fix the resolution of the import addresses of mach-o bins (PIE) in r_bin 2011-09-03 17:50:09 +02:00
Nibble
ad15bfd6b1 * Fix PE section analysis
- take into account SizeOfOptionalHeader
2011-09-02 13:36:48 +02:00
pancake
0ae2050448 * Fix segfault in r_bin/pe -- thanks l0gic
- sections are not properly read in cdak binaries
2011-09-02 03:09:26 +02:00
pancake
edbcb1cfce * Add 'rwx' permissions information in MACH0 sections
- Lot of syntax indentation fixes
* Use r_name_filter in r_flags
  - Fix dangerous flagnames issue
2011-07-19 18:03:31 +02:00
pancake
0d4faf652e * Set library version number for plugins
- Registers for which version of core was compiled
* Use tar --format=posix when GNU tar
  - Fixes the dependency on BSD systems
* Fix in doc/fortunes
* Fix this class pointer in asm_java
* Re-Fix uglily the bin_elf strtab issue (needs more work)
* Fix Vala regression in r_asm.vapi
2011-07-19 00:12:36 +02:00
pancake
28e5244064 * rax2 -s (without arg) uses stdin now
* Show help when no file given to rabin2 -O help
* Fix ELF strtab section read issue (workaround?)
2011-07-18 00:07:45 +02:00
pancake
188560bf4b * Fix build and lot of warnings for w64 2011-07-13 18:55:16 +02:00
pancake
edc7da8f7c * More strcpy/sprintf/strcat exterminations 2011-07-06 09:40:23 +02:00
pancake
510c08f4e4 * Do not use strcpy/strcat/sprintf
- There are still some 3rd party files that require update
  - Makes OpenBSD linking less verbose
2011-07-06 03:01:21 +02:00
earada
a38c2ece6d * Initial parse of dex files
- Load strings and methods
* Fix command 'r' parser
* Fix visual 'g' command without sections defined
2011-07-04 18:54:41 +02:00
earada
29a90901c8 * Add support for io.va mode in g/G visual keys 2011-06-26 23:41:34 +02:00
earada
21a9405a81 * Handle strings meta info in dalvik disassemble 2011-06-26 22:42:34 +02:00
pancake
186cc56603 * Fix invalid free in r_bin_elf 2011-06-09 12:38:11 +02:00
pancake
b68a6811eb * Show out-of-range errors of bin_elf with eprintf
* Fix disasm output for strings
* Implement r_flag_free (less memory leaks O:)
2011-06-03 23:58:31 +02:00
pancake
a55ef74986 * More out-of-bounds fixes for the ELF parser
* Some fixes in the htflags code
  - There are still bugs, but it works better now
2011-06-03 18:54:12 +02:00
pancake
a6e46f4d2a * Fix some out of range index accesses in elf parsing
- Thanks Ripe for reporting
2011-06-03 11:16:08 +02:00
pancake
ac38d02ccf * Fix possible segfault in code analysis for x86
when the r_anal plugin is buggy
* Add main symbol resolution for r_bin_elf64/openbsd-amd64
* Fix bug in r_str_cpy
2011-05-25 01:39:35 +02:00
pancake
bf95651e69 * Fix DEX parsing segfault
* Fix possible segfault on newer glibc
* Fix some indentations and Visual hints
2011-05-24 15:25:52 +02:00
pancake
5b601d4c13 * Fix many possible malloc(0) bugs (Thanks Edd Barret for noticing!)
* Set cmd->nullcallback to NULL by default
2011-05-11 19:19:53 +02:00
earada
708e10e413 * Change some files license from GPL3 to LGPL
* Fix build
2011-04-28 02:09:43 +02:00
earada
ee7fefb41f * Initial dex-files format support 2011-04-28 01:54:54 +02:00
pancake
8bef25d14d * Fix segfault in bin_java (still buggy and duppy)
* Change asm_bf license from gpl3 to lgpl
2011-04-27 16:51:41 +02:00
pancake
a6a92aa73e * Honor --without-debugger
* Fix linking of r_anal_x86_simple plugin
* Fix some uninitialized vars reported by debian build system
2011-04-07 23:15:58 +02:00
Eloi Sanfelix
7c04f11226 Initial SH4 support 2011-03-29 14:55:41 +02:00
pancake
d953cd9adf * Initial implementation of the java name mangling
- Added as comments before the method names
* Some fixes in r_bin_java
* Added r_buf(append/prepend)
* Show flags always in new lines
2011-02-27 20:30:41 +01:00
pancake
47b29fd69d * Fix previous commit (oops) 2011-01-23 18:44:38 +01:00
pancake
c6b37c3e26 * Fix r_bin_elf for ppc, avr and 68k binaries 2011-01-23 18:32:58 +01:00
pancake
421208a0c7 * Replace main for binsym in r_bin
* Added dummy commands for r_debug_fork/clone
2010-11-18 11:41:17 +01:00
pancake
64a94329c5 * Fix segfault in mach0 parser 2010-11-10 02:19:05 +01:00
pancake
e15ecf7e79 * Fix warning noticed by iphone-gcc
- Bug in the compiler?
2010-11-09 18:08:07 +01:00
pancake
264f95a40e * Fix build in iOS 4.1 (darwin-arm)
- Honor CFLAGS everywhere
  - Use ut?? instead of uint??_t
* Add build instructions in doc/iphone
* Fix some out-of-range conditionals
2010-11-08 19:30:25 +01:00
pancake
0a294261aa * Many warnings fixed thanks to gentoo build and @astralia 2010-10-27 16:31:51 +02:00
Nibble
65bd1b53e9 * Fix block read in visual mode
* Use a more reliable way for fixing the got_offset issues
* Remove ELF_GOTOFF_MASK
2010-10-19 12:57:28 +02:00
pancake
9f7040dbf8 * Fix warnings in asmserv on windows
* Some alloca->malloc fixes for w32
* More error checking in r_sys_rmkdir
  - Uses the new r_sys_mkdir_failed() api
  - works on windows and posix
* Disable asm.dwarf when the plugin fails to init
  - Displays a warning message
* Added 'e scr.cols=16'
  - Determines the width of the hexdump (px, x)
  - Used also by Visual mode hjkl dimensions
2010-10-17 23:03:54 +02:00
Nibble
add2efee74 * Fix reloc offset resolution in r_bin_elf 2010-10-13 04:00:32 +02:00
Nibble
a83355f0b1 * De-warn dyldcache in 32bits
* Add dyldcache.mk to libr/bin/p/Makefile
* Update reloc.vala
2010-10-04 23:05:30 +02:00
Nibble
afedad76bb * Fix memory leak in bin_mach0 2010-10-04 04:20:19 +02:00
Nibble
cec1f3fa73 * r_bin
- Refactor r_bin to work better with big fatbins
  - Don't load all sub-bins in memory
    Only load the fatbin and the selected sub-bin
  - Add r_bin_set_archidx() and r_bin_list_archs()
  - Update t/{rpathdel.c, test_meta.c}
* rabin2
  - Use '-f str' to select sub-bin by name
2010-10-04 03:46:58 +02:00
Nibble
fd084aca33 * Fix segfault in dyldcache 2010-10-02 18:20:46 +02:00
Nibble
d65ad968d7 * r_bin
- More work on dyld cache plugin
  - Rewrite headers, commands and segments
  - Fix offset for syms, imports, sections...
* r_util
  - Add r_buf_append_bytes
  - fix r_sys_rmkdir
* Update TODO
2010-10-02 17:21:51 +02:00
Nibble
a7d6fc0cc7 * Detect bin sizes in dyld cache plugin 2010-10-01 13:22:37 +02:00
pancake
8081f02601 * Fix uninitialized variable in rabin2
* Fix null pointer handling in rbin when no xtr plugin found
* Initial draft code for the x86 debug registers implementation
* Fix avr* command
2010-10-01 11:10:59 +02:00
Nibble
4b558bec3b * rabin2 -x uses filename.arch_bits as output file
* store full path in dyld cache filenames
2010-10-01 08:12:43 +02:00
Nibble
987d8599f9 * Initial implementation of the RBin extractor for dyld cache
* Add bin_xtr_dyldcache to plugins.def.cfg
* Show bin name in the output of 'rabin2 -A'
* Minor fix in rabin_list_archs() in rabin2
2010-10-01 04:26:52 +02:00
Nibble
793dae395d * Massive refactoring of r_bin
- Add support for fatbins (currently only fatmach0)
  - Minimize creation of r_buffers
* rabin2
  - Add flag -A for listing archs
  - Add flags -a and -B for selecting arch
  - In the next commit -A and -B will be removed and -a will work
    with the following format:
    [-a arch bits] for selecting arch
	[-a] for listing them

--HG--
rename : libr/bin/p/bin_fatmach0.c => libr/bin/p/bin_xtr_fatmach0.c
2010-09-24 21:23:13 +02:00
Nibble
09f5ca50a6 * Minor fixup in r_bin_elf 2010-09-10 11:46:30 +02:00
Nibble
159165fa13 * Add vapi/t/reloc.vala
- Print address for each relocation entry
* Update r_bin.vapi
* Minor fixup in r_bin_elf_get_relocs()
* Update TODO
2010-09-10 11:32:49 +02:00
Nibble
5567da9538 * Add support for parsing relocs to r_bin
* Add flag -R to rabin2 to list relocs
* Implement reloc resolution in r_bin_elf for 32 & 64 bits
2010-09-10 11:11:38 +02:00
Nibble
b344f96e21 * More work on r_bin_mach0
- Parse local symbols
  - Resolve non-lazy symbol pointers
  - Set import type to FUNC or OBJECT
  - Refactoring of get_imports
  - Add field type to r_bin_mach0_{import, symbol}
2010-09-10 01:17:55 +02:00
Nibble
a7a4a674f0 * Fix segfault parsing mach-o 2010-09-07 21:38:54 +02:00
Nibble
28ef002c21 * Fill field 'ordinal' in elf symbols 2010-08-16 01:14:54 +02:00
Nibble
8ac0f9e734 * fix get_main for x86 elf64 2010-08-13 15:58:11 +02:00
Nibble
42f7b31d55 * r_bin_elf
- Fix resolution of imports in bins without section ".got"
2010-08-12 17:32:23 +02:00
Nibble
d094f42d2f * r_bin
- Fill RBinImport->size within bin plugins
  - Add field size to RBinImport
* r_bin_elf
  - Correct value of r_bin_elf_symbol_t->size for imports
* rabin2
  - Output af+ command in radare mode
* Update TODO
2010-08-01 11:02:55 +02:00
Nibble
62e24bd0c6 * r_bin_fatmach0
- Huge refactoring of r_bin_fatmach0
* rabin2
  - Don't print msg "n bins extracted" in radare mode
2010-07-29 18:15:02 +02:00
Nibble
bb8cfd866d * r_bin
- Add function r_bin_extract()
  - Add lib r_bin_fatmach0 into format/mach0/
  - Complete mach0_specs with fat mach-o stuff
  - Add plugin bin_fatmach0
  - Initial import of mach-ex into r_bin
  - Remove mach-ex
* rabin2
  - Add flag -x for extracting bins from file
* Build
  - Update plugins.def.cfg
  - Remove mach-ex stuff from libr/Makefile
2010-07-29 16:04:18 +02:00
Nibble
f853dab09f * More fixes on mingw32 build
* Update VERSION in swig configure script
* Update doc/windows
2010-07-24 12:44:19 +02:00
Nibble
9e5f355e07 * Clean-up built-in grep code
* Fix bug parsing imported libs in r_bin_pe
2010-07-16 18:44:39 +02:00
pancake
56baae7e6e * Use RList in r_sign (Thanks edu for the patch!)
* Implement dummy darwin-arm syscall table to disable warnings in iphoneos
2010-07-16 00:40:28 +02:00
Nibble
89a63b5c3a * Fix segfault parsing imports in mach-o
* Simplify the output of the command 'S'
* Update TODO
2010-07-11 13:15:18 +02:00
pancake
6e1653881d * Load constant pool from RCore in RAsm
- this is a compiletime module dependency
  - java needs to share constantpool between anal, asm and bin
* Added compile-time introspection POC macros in r_types.h.h
2010-06-29 15:47:30 +02:00
pancake
21d2531b7f * Fix segfault in java disassembler
* Update compilation instructions for w32 in doc/windows
* Identify new osx binaries as mach0, not java
* io.va only works when there are configured sections
2010-06-27 23:12:55 +02:00
pancake
c73e43bf40 * Fix print_address function for mips disassembler
* Implement 'gp' register index inside .got section for get_main on mips
* Use more switch() in core/cmd.c
* Simplify some random code
2010-06-27 21:33:11 +02:00
Nibble
3eb855f6c4 * r_bin
- Rename characteristics into srwx
  - Fix ref to binmain in the pe64 plugin
* r_bin_pe
  - Rename section.characteristics into section.flags like in
    the other formats
2010-06-17 18:45:27 +02:00
pancake
96c7eabd46 * Add -M (get main) in r_bin_pe 2010-06-03 02:23:50 +02:00
pancake
9ceeae1f54 * Added refptr in RAnalOp
- Used only from ARM code analysis
* Implement ELF get_main for ARM ELF's
2010-06-02 23:36:05 +02:00
Nibble
2f43431e80 * r_bin
- Add r_bin_get_main
  - Implement get_main for elf32 & elf64
  - Rename RBinEntry to RBinAddr
* rabin2
  - Add flag -M to output main offset and va
* bindings
  - Update r_bin.vapi
  - Minor fixup in r_util.vapi
2010-05-30 06:06:25 +02:00
Nibble
6fa84400a6 * r_bin_elf
- New method to resolve the base address
  - Fix bug in bins with bin->ehdr.e_phnum = 0
  - Fix resolution of symbol address in relocatable bins
2010-05-29 17:11:41 +02:00
Nibble
5c35f6e359 * Rename {r_*_handle_t, R*Handle} to {r_*_plugin_t, R*Plugin} 2010-05-26 01:42:22 +02:00
pancake
eaf11fb341 * Fix off-by-one segfault in PE RBin parser
* Fix creation of home directories
2010-05-24 20:02:33 +02:00
Nibble
2368a1e3b6 * r_bin_elf
- Fix section va bug
* r_anal
  - Store mnemonic in RAnalOp
  - Initial work on bindiff
2010-05-23 12:51:37 +02:00
Nibble
195c0417bb * Clean up r_bin_elf 2010-05-04 01:26:36 +02:00
Nibble
e6e0421ad9 * r_bin_elf
- Improve error handling for malformed elfs
  - More aesthetic fixes
2010-04-20 12:00:22 +02:00
pancake
46ab7ab8b0 * merge 2010-04-14 14:11:38 +02:00
pancake
7a753ac0cb * strnlen helper in format/elf/elf.c is now static inline
* Some random syntax cleanups
* Fixes some warnings in r_socket on w32
2010-04-14 13:28:56 +02:00
pancake
34435b1285 * Mental note: %lld/%llx does not exist on windows
- Use the macro PFMT64{xod} in case
2010-04-14 13:02:23 +02:00
pancake
74034be518 * Oops, fix import name length in ELF 2010-04-13 10:31:01 +02:00
pancake
ef5f65c2b8 * Fix ELF64 header identification
- This bug was causing bin_load fail sometimes
    on mingw32 and linux on elf32
* Check null pointer in r_file_slurp_range
* Fix compilation (oops)
2010-04-12 11:46:15 +02:00
pancake
4137587cb3 * Fix compilation under mingw32
- Linking fixed for r_sign and
* Fix some reads out-of-bounds in r_bin_elf
  - Use __strnlen instead of ELF_STRING_LENGTH
  - Some simplifications using macros
* Open plugins in radare2 found in '.' by default
  - Make w32 happy
  - Fix RLib for w32 and local plugin files
* Implement r_sys_cmd_str() for w32
  - Also r_sys_setenv()
* Fix printfs in lib/t example
* win7 syscall list is now default windows one
* Added 'r_sys_perror' to make it portable on *nix and w32
* Rename RLibrary into RLib
2010-04-12 02:22:52 +02:00
Nibble
c5396fbb10 * Fix cmd repitition (3x@offset)
* Fix seek to invalid offsets
* Improve r_anal graphs
2010-04-08 14:04:34 +02:00
Nibble
acba7af2b1 * Fix segfault in r_bin_elf 2010-04-07 11:08:43 +02:00
pancake
6e6dbf5b81 * Some fixes in code analysis
- Fix some issues for 64bit instructions in z0mbie dislen
* Fix EOF, ^D and terminal resize
  - Do not understand terminal resize as EOF
* Display rpathstrip lines to identify segfaults
* Implement 'ao' command to analyze opcodes
2010-03-26 17:01:25 +01:00
pancake
728bd1f817 * Fix w32 build 2010-03-25 10:18:59 +01:00
Nibble
dba665549b * r_bin_elf
- Fix bug with big endian
* r_num
  - Update r_mem_copyendian call
2010-03-19 00:36:28 +01:00
Nibble
49f977a696 * r_bin
- Add support for reading/removing rpath to r_bin_elf
  - Add r_bin_wr_rpath_del
  - Un-R_API r_bin_elf
  - Add rpathdel.c into bin/t/
2010-03-16 02:24:12 +01:00
pancake
76a22ef18e * Remove deprecated r_meta.pc
* Use RMemoryPool and RList in RSearch
  - Store hits in RList if no callback defined
* Fix constructor of r_mem_pool if alloc fails in init
* Remove unused file from search/ binparse.c
2010-03-15 10:46:41 +01:00
Nibble
8dbe94a86d * r_bin
- Fix bug resolving imports addresses
2010-03-14 06:19:28 +01:00
pancake
0b8683bb18 * Fix build 2010-03-12 19:51:07 +01:00
pancake
da9c4a21c4 * Remove debug printf in elf.c
* Oops. add missing trace.c
* Remove trash from old trace
2010-03-12 19:11:43 +01:00
pancake
3da650d4b1 * Write and install manpages
* Merge r_trace into r_debug (RDebugTrace)
  - Implement 'dt' command to manage debugging traces
  - TODO: Track register values and memory changes
  - Added dbg.trace and dbg.trace.tag
* Added r_sys_now() to retrieve ut64 value of current time
  - Must check endianness issues
* Initial work trying to implement RPATH support to ELF
* Less flat command tree
  - 'dt' is now 'dbt'
  - 'dk' is now 'dpk'
* Some more random syntax cleanup fixes
* Say 'yes/no' instead of 'ok/fail' in check-langs script
2010-03-12 18:46:11 +01:00
Nibble
ca66fe440d * r_util
- Fix r_buf_write_at
* r_bin
  - Some fixups in section resize (now is fully working)
  - Minor r_bin_wr_output refactoring
2010-03-11 13:18:49 +01:00
Nibble
423d6a75f4 * r_bin
- More work on r_bin write
  - Add elf & elf64 section resize
    Needs refactoring and split into basic operations
* rabin2
  - Rename flag -o to -O for operations
  - Add flag -o for output file
  - Add resize operation (-O r/.data/1024) for testing purposes
2010-03-11 02:14:34 +01:00
Nibble
bde38868c1 * Huge refactoring of r_bin using r_list instead of r_flist
- Reduce loc
  - Avoid double iterations
  - Allow to add/remove objects easily from r_bin_write
2010-03-10 11:01:38 +01:00
Nibble
7e80161b2c * Merge 2010-03-10 09:21:44 +01:00
Nibble
77f9377d1d * r_bin
- More work on write support
  - Initial API design
  - Fix typo in bin_write_elf.c filename

--HG--
rename : libr/bin/p/bin_wite_elf.c => libr/bin/p/bin_write_elf.c
2010-03-09 15:12:04 +01:00
Nibble
9b39b01bee * Add get_libs function to r_bin_elf 2010-02-25 12:53:00 +01:00
Nibble
63c42b92fc * r_bin_mach0
- Parse indirectsyms table
  - Resolve import address
2010-02-24 20:13:12 +01:00
Nibble
179bd0e8eb * Add get_libs to r_bin_mach0
* Minor fixups in r_bin_pe
* Add flag -l to rabin2 for listing linked libraries
2010-02-23 18:04:39 +01:00
Nibble
40e339d8e8 * Remove r_bin_meta_get_file_line (use r_file_slurp_line instead)
* Implement r_bin_mach0_get_info, supports:
  - Class
  - Wordsize
  - Endianness
  - Cputype
  - CpuSubtype
2010-02-23 13:41:03 +01:00
Nibble
a536777d35 * Add support for ARM to r_bin_mach0
* Update r_core using r_bin_meta_*
2010-02-22 20:10:52 +01:00
Nibble
581ba0e201 * r_bin_mach0
- Implement get_entry
  - Add function r_bin_mach0_addr_to_offset
  - Fix returned offsets
2010-02-22 19:43:35 +01:00
Nibble
02121858a7 * Fix r_bin_mach0_get_sections for mach0-64 2010-02-22 14:28:27 +01:00
Nibble
1b5966bf82 * Add support for mach0-64 to r_bin 2010-02-22 14:10:44 +01:00
Nibble
f3af308727 * Include r_bininfo features in r_bin
* Remove r_bininfo
* Add test bin/t/test_meta.c
2010-02-22 04:30:34 +01:00
Nibble
8d4172972d * r_bin
- Add field bits to RBinInfo
  - Make r_bin_*_get_arch compatible with r_asm
* rabin2
  - List sections before anything else
  - Add "e asm.bits x" to "rabin2 -ir" output
* r_flags
  - Remove r_flag_set_base
* r_io, r_core
  - Now r_io handles all the va related stuff
  - Execute rabin2 with the flag -v if io.va = true
2010-02-21 11:35:49 +01:00
pancake/fluendo
c02ef87ac2 * Add support to ARM for the debugger
- asm.arm plugin is now embedded into r_asm as static plugin
* Added register alias names for r_reg
  - Add register names for x86/32/64/arm
  - pc, sp, bp, a0, a1, a2, a3
* Do not build lua5.1 if no lib found
* Enable cfg.ffio in debug mode
* Some code simplification in r_asm
  - Fix a negative offset bug in elf on ARM binaries
2010-02-03 14:34:00 +01:00
Nibble
1721bdfe79 * r_buf
- Added R_BUF_CUR for reading at current offset
* r_bin
  - r_bin_java rewritten using r_buf
  - Removed unnecessary headers
  - Some minor fixes in r_bin_pe and r_bin_elf
2010-01-23 13:42:44 +01:00
Nibble
157c727d89 * More work on r_bin_pe 2010-01-22 20:38:41 +01:00
Nibble
b3db31bb9e * r_bin
- Huge refactoring of r_bin_pe
 - Minor fixups in r_bin_mach0
2010-01-22 17:33:56 +01:00
Nibble
f6fa35f9b6 * r_bin_elf refactoring using r_buf 2010-01-21 13:09:49 +01:00
Nibble
82a45fd94a * Remove debug messages from mach0.c 2010-01-19 22:44:57 +01:00
Nibble
5795654c51 * r_buf
- Add r_buf_fread for "format read" (needs a better name)
  - Fix segfault in set_bytes
  - Fix r_buf_read
* r_bin
  - Refactoring of r_bin_mach0 using r_buf and r_file
2010-01-19 22:41:45 +01:00
Nibble
ef7e7998f6 * Minor fixup in r_bin_pe 2010-01-16 19:23:34 +01:00
Nibble
68ec0834b4 * r_bin_pe
- Fix bug in parsing imports
2010-01-16 18:33:40 +01:00
pancake
eb99dd1203 * Many more fixes for the mingw32 port 2010-01-15 13:02:54 +01:00
Nibble
61480f889e * r_bin
- Add plugin bin_mach0 (initial support for sections, imports and symbols)
* r_bin_pe
  - Minor fixup
2010-01-15 02:08:38 +01:00
Nibble
ff60ddf329 * r_bin_mach0
- Fixups
  - Dummy get_entrypoints
2010-01-15 01:17:31 +01:00
Nibble
7a2b9fd0f4 * More work in r_bin_mach0
- get_symbols
  - get_imports
2010-01-15 00:08:39 +01:00
Nibble
38fa7b36b9 * More work on get_syms in r_bin_mach0 2010-01-13 19:09:06 +01:00
Nibble
28b137342f * r_bin_mach0
- Refactoring
  - Add get_sections to r_bin_mach0
2010-01-11 02:55:09 +01:00
Nibble
94df3a38f7 * Some work in mach0 plugin
* Fix r_util build
* Minor fixups in rasm
2010-01-10 14:13:41 +01:00
Nibble
5ef595db09 * Fix random segfaults with py bindings in r_bin 2010-01-04 18:55:35 +01:00
pancake/fluendo
6a576ba6ce * Sync java class fix from r1 2009-12-21 19:54:51 +01:00
pancake/fluendo
7dcd226438 * Apply Nibble patch fixing PE issues reported by matalaz 2009-11-24 17:12:50 +01:00
Nibble
33afde92a5 * Fixed bug resolving imports with PE bin 2009-11-16 14:08:47 +01:00
pancake
2ca850007f * Major refactoring of r_io (api has changed)
- filedescriptor is only defined by r_io_set()
  - the rest of functions just take one argument less
  - there are not enought filedescriptor changes to force fd resolution all the time
* Fix memory leak in r_io_open
  - Better error management
  - Fix Makefile warnings in libr/io/p
* Added read_at and write_at helper functions
* Random indentation fixups
* Added shm.mk and malloc.mk
* More useless work for r_iter
2009-09-02 00:10:51 +00:00
pancake
233e83323d * Autogenerate libr.pc.acr with 'make pkgcfg'
* Revert elf.h (was partially killed by zeroes)
2009-07-16 09:40:00 +00:00
pancake
1c3a319c53 * Added 'pkgcfg' directory with autogenerated .pc files
- 'make pkgcfg' does that automagically :)
* Implement r_mem_mem function in r_util
2009-07-16 00:30:20 +00:00
Nibble
94445e1540 * Change the name of some types
- s/u64/ut64/
  - s/u32/ut32/
  - s/u16/ut16/
  - s/u8/ut8/
2009-07-08 13:49:55 +02:00
Nibble
e55dbb5858 * r_bin
- More refactoring
  - Remove dupped code from Elf_(get_import_addr)
2009-07-08 02:06:27 +02:00
Nibble
2b48d630bf * r_bin
- more refactoring
  - r_bin_elf_imports and r_bin_elf_symbols unified into r_bin_elf_symbols
  - removed section_resize (needs to be rewritten)
2009-07-07 18:01:49 +02:00
Nibble
811f39c833 * r_util
- Add r_str_dup_printf
* r_bin_elf
  - Huge refactoring
    r_bin_elf_get_{imports, symbols} will be modified soon
    r_buf|r_io will be used, so 'swap-endian' and 'malloc-lseek-read' calls will be removed
    Need to rethink section resize (temporary disabled)
* rabin2
  - Refactoring
2009-07-05 16:49:47 +02:00
Nibble
857df2088b * Fixed bug in r_bin_elf resolving imports
* Fixed 'rasm2 -o'
2009-06-11 14:28:35 +02:00
Nibble
b8afe87259 * Fixed Elf64_Xword/Elf32_word bug in r_bin_elf 2009-06-03 12:58:18 +02:00
pancake
5208ebe90e * Minor syntax changes
* USE_BTREE is now optional in r_flags
  - better test case (but im still unable to reproduce the bug)
* Fix build (r_anal.h)
2009-05-28 10:57:30 +00:00
Nibble
5cc6b4769c * Fixed resize_section in r_bin 2009-05-05 23:49:40 +02:00
Nibble
1ad245a1ee * Fixed bug in r_bin_pe resolving imports 2009-04-30 13:46:29 +02:00
Nibble
3e9714d3f9 * Huge refactoring of r_bin_elf_resize_section 2009-04-29 18:56:30 +02:00
Nibble
0efabe19a8 * r_bin
- Added r_bin_get_fields
  - Added flag -H to rabin2 to list header fields
2009-04-24 12:12:15 +02:00
Nibble
656d9613ca * r_bin
- Minor fixups in r_bin_elf
* r_asm
  - Added multiline support to massemble
  - Fixed buf_hex generation in massemble
2009-04-21 12:11:07 +02:00
Nibble
a9ad542ea6 * r_asm
- Added pseudo-instruction .arch
  - Improve label parsing
  - Dropped r_cmd dependency
* r_bin
  - Fixed string address issue
  - Minor fixup in elf_specs.h
* r_util
  - Removed '.' from isseparator
2009-04-19 20:09:07 +02:00
Nibble
44ecdbb636 * r_asm
- Added pseudo-instruction support using r_cmd
  - Added .byte
* r_util_str
  - Added r_str_trim
* r_cmd
  - Fixed r_cmd.h
2009-04-11 18:49:09 +02:00
Nibble
38b47d2481 * r_bin_elf
- Fixed error opening "sstripped" elfs
* r_asm
  - Added r_asm_massemble
    Assemble several instructions separated by ';'
* rasm2
  - Updated assembly using r_asm_massemble
* core
  - Updated 'wa' cmd using r_asm_massemble
2009-04-09 01:03:49 +02:00
Nibble
8744e9f86a * Fixed resize_section for ELF64 2009-04-08 00:47:40 +02:00
Nibble
5fc2e91777 * r_bin_elf
- Fixed "imports bug" in ELF64
    (needs more love ;)
  - More fixups in section_resize for ELF64
2009-04-07 22:46:36 +02:00
Nibble
a18996b41f * r_bin_pe
- Fixed exports bug
  - Little refactoring
2009-03-19 23:22:14 +01:00
Nibble
7e5f8de7eb * r_bin_elf
- Huge refactoring
* r_bin_pe
  - Initial work on pe32+ plugin
* r_bin_java
  - Use macro instead of ntohs
  - Minor fixups
  - Added dummy show_info function
* r_types
  - Types fixup
2009-03-19 22:04:50 +01:00
Nibble
f3983d9316 * r_bin
- Added generic string search support
  - Added class format autodetection
  - Minor fixup
2009-03-17 00:34:45 +01:00
Nibble
758b492739 * r_bin
- Removed unnecessary files
  - Added initial java support (baddr, entry, syms, strings)
  - Minor fixups in r_bin_{elf, pe}
  - Added rabin2 -z for strings (not working yet)
2009-03-16 21:07:31 +01:00
Nibble
a27a4b393c * More work on r_bin_java 2009-03-16 08:51:20 +01:00
Nibble
50fbf06b64 * r_bin
- rabin2 -p replaced by -f
  - Changed folder structure
  - Initial work in java plugin
  - Minor fixups

--HG--
rename : libr/bin/p/elf/elf.c => libr/bin/format/elf/elf.c
rename : libr/bin/p/elf/elf.h => libr/bin/format/elf/elf.h
rename : libr/bin/p/elf/elf64.c => libr/bin/format/elf/elf64.c
rename : libr/bin/p/elf/elf64.h => libr/bin/format/elf/elf64.h
rename : libr/bin/p/elf/elf_specs.h => libr/bin/format/elf/elf_specs.h
rename : libr/bin/p/mach0/mach0.c => libr/bin/format/mach0/mach0.c
rename : libr/bin/p/mach0/mach0.h => libr/bin/format/mach0/mach0.h
rename : libr/bin/p/pe/pe.c => libr/bin/format/pe/pe.c
rename : libr/bin/p/pe/pe.h => libr/bin/format/pe/pe.h
rename : libr/bin/p/pe/pe_specs.h => libr/bin/format/pe/pe_specs.h
2009-03-11 01:11:50 +01:00