Commit graph

272 commits

Author SHA1 Message Date
pancake
bbe6e8c8a2 Add license to RBin, RDebug and RIO plugins 2013-12-10 04:19:04 +01:00
pancake
c165361124 Add bin.bf for brainfuck and use static ESIL struct 2013-12-10 03:35:59 +01:00
pancake
f76441b7e7 Fix some warnings 2013-12-09 04:56:13 +01:00
Adam Pridgen
38c9af46b0 Fix the bin.minstrlen bug by adding a callback and refereshing strings when this value changes 2013-12-05 23:51:17 -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
aaSSfxxx
ba3065fb99 Add get_vaddr to RBinPlugin and fix vaddr calculation for PE files 2013-11-20 12:16:45 +01:00
Adam Pridgen
0bc95a2fc4 Added the necessary libzip and libz files for opening zip files and reading and writing to them from memory via uri, added zip, apk, jar 2013-11-14 04:54:50 +01:00
pancake
de857fa91d Fix #251 - Segmentation fault running "rabin2 -I classes.dex" 2013-10-14 23:28:17 +02:00
Adam Pridgen
da5bf8db45 Squashed commit of the following:
commit 7800f979cc84c48395581b7106627f7f23563ee2
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Wed Sep 4 21:58:35 2013 -0500

    - Added visibility field to structures RBinField, RBinMethod, RBinBind, RBinReloc, and RBinImport
    - Added handling for listing java classes

commit 1e7014342d16094fe21ddcb9b6b1991c5e3908b1
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Wed Sep 4 18:41:00 2013 -0500

    -- Added mappings for access flags

commit cb8e4f0af99fc77f04263ddf292442835e128cff
Author: Adam Pridgen <adam.pridgen@thecoverofnight.com>
Date:   Wed Sep 4 17:53:04 2013 -0500

    -- Updated the get sections command.
2013-09-06 16:22:26 +02: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
b8e031d91c r_bin: removed hint from RBinImport, as it's only used in PE and even there it's doubtfully relevant. 2013-07-19 09:29:58 +03:00
Eduard Burtescu
8403699f2e r_bin: removed rva, offset and size from imports.
PLT-like lazy import wrappers are now part of symbols, where applicable.
The "imp." prefix is a temporary solution, it should be a flag.
2013-07-19 09:29:58 +03:00
pancake
8377c98458 Use xdg configuration path ~/.config/radare2/ 2013-06-27 19:15:59 +02:00
pancake
2cbce80f2f Add __cplusplus extern "C" boilerplate everywhere 2013-06-18 12:09:23 +02:00
pancake
bc0104563b Initial support for runtime versioned libraries
- This check will ensure you are running the latest r2 version.
2013-06-14 02:51:33 +02:00
pancake
4d32b6b8e4 Initial import of r_bin_bios plugin 2013-06-09 02:11:17 +02:00
pancake
16ddff4eb9 More work on ESIL, and implement r2 -Desil .. 2013-05-20 03:00:49 +02:00
pancake
c22aaf16d2 Fix bindings, loading strings of unknown filetype 2013-04-26 00:04:05 +02:00
pancake
26a7854dd6 Rewrite DEX parser 2013-04-25 03:42:17 +02:00
pancake
032860782d Add checksum correction hints for DEX 2013-04-11 01:25:25 +02:00
pancake
7e4d92c6fb Fix some warnings 2013-04-02 12:45:16 +02:00
pancake
6fbbb3dea0 Add arch/bits fields in RBinSection (breaks abi) 2013-03-26 23:37:19 +01:00
pancake
97484a7b6c Add conditionals, 'dsi' to continua !, Fix bindings build
Added r_num_conditional function to stop the instruction set. I is accessible in vuu¡
2013-03-03 05:03:48 +01:00
Anton Kochkov
f6a7dde070 Forgot to add TE plugin in list :) 2013-03-03 03:09:51 +04:00
pancake
4c244a818c Add 'Ch', handle c++ lang in rbin and obey cursor in V: 2013-03-01 09:57:30 +01:00
pancake
48f710abe8 Share RBinJavaObj to RAsmJava plugin, better java and fixes in config
Some more work to get java support back (analysis, disasm, bin share)
Honor ordinal field in java r_bin methods
Fix segfault in 'af*' on FreeBSD (thanks idwer for reporting!)
Fix some valgrind warnings
Better io.maxblk handling
Fix div by zero when blocksize is 0
Fix disasm lines when no function and extra code comments
2012-12-20 11:31:38 +01:00
pancake
58371d6e2f Add rabin2 -N flag to set minimum string length
By default is 2, but PE which is 4
Sort rabin2 -h flags alphabetically
Add r_bin plugin-specific minimum string length
New r_list_newf() constructor which replaces the hacky R_LIST_NEW macro
2012-12-09 01:39:27 +01:00
pancake
7a0da18725 Add r_bin.rar plugin, per-section arch/bits, fix in S=
Add Sa to set/get per-section arch and bits configuration
Cache io->section and core->io->section to speed up the Sa
Update r_sys_arch*
Add dummy plugin in asm/rar
Fix lines of S=
2012-11-30 01:06:30 +01:00
pancake
6956fe003a Add PIE (ASLR) field in RBinInfo for ELF, MACH0 and PE 2012-11-07 18:18:52 +01:00
pancake
08e93418f5 Some better support for classes in rabin2 2012-11-07 10:41:12 +01:00
pancake
ea8dc25221 Initial objc support, visual 'i' with cursor and 'wow'
Some more fortunes
Initial support for Objective-C
New command 'wow' to fill block with cyclic hex value
Visual 'i' when cursor enabled uses 'wow'
2012-11-07 04:25:42 +01:00
pancake
3861772e6d Initial implementation of r_io.zip plugin
Allows to: r2 zip://foo.apk//classes.dex
Honor LDFLAGS in r_bin
Fix filename issue in r_io_redirect
Add testing on-activate event in r2w2
2012-09-07 03:26:38 +02:00
pancake
e9829c5c9f Fix build 2012-08-26 11:07:09 +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
f75817ee6c Initial work on supporting payloaded opcodes
Basic classes support for dalvik (rabin2 -C, ic*)
2012-08-22 18:02:23 +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
ef8f41eafb Initial integartion of r_bin_dwarf into RCore 2012-08-14 02:37:42 +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
Anton Kochkov
e075a18b56 Types cleanups 2012-07-22 12:01:39 +04:00
pancake
c814a9f67a Initial implementation of dwarf debug_line parser
rabin2 -d a.out
2012-07-12 02:47:04 +02:00
pancake
9bc3812ae8 * Add r_bin/mz plugin (old EXE binaries)
* Fix parsing of cs:ip values in r_num_calc
2012-03-07 01:34:57 +01:00
pancake
c33a057d41 * Fix segfault in OpenBSD when opening empty files 2011-07-04 02:17:00 +02: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
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
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
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
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
Nibble
ffa32be19e * Add r_bin_plugin "any"
- Used for unknown formats, firmwares, etc.
* Add "bin.any" to plugins.def.cfg
2011-09-02 16:45:39 +02:00
pancake
8d06dd2f02 * Initial implementation of rabin2 -c
- Allow to create tiny binaries with r_bin
  - ATM only MACH0 format for x86-32 is supported
  $ ./rabin2 -a x86_32 -c mach0:31c040682a00000081ec04000000cd80 a.out
* Rename r_bin_set_arch{idx} to r_bin_select{idx}
  - New API r_bin_create and r_bin_use_arch()
2011-07-25 21:10:25 +02:00
pancake
868acc4059 * Added RBinBind type and logic
- Refactoring required to allow RAsm retrieve info from RBin
  - Will be used by dalvik and java disassemblers
2011-06-26 20:29:24 +02:00
pancake
09577a9246 * Initial import of the r_bin_fs plugin
- Autodetects underlying filesystem
  - Auomatically mounts a /root partition
  - Only support for 'HFS+' filesystem (as a test)
* Added 'oo' command to reopen current file
  - In debugger mode re-forks the process
2011-05-12 09:52:40 +02:00
earada
708e10e413 * Change some files license from GPL3 to LGPL
* Fix build
2011-04-28 02:09:43 +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
e557d9a385 * Drop 'r_cons.h' from r_fs
* Fix visual glitch in Vej and Vt
* Handle demangled names as comments
  - in rabin2 and core->bin_load
  - Needs to be a RAnalCall at some point
  - bin_java calls the dummy r_bin_demangle_java
  - Add R_BIN_NM_ANY enum
* Add asm.lbytes config to align disasm bytes to left
* Fix visual glitch in function boundaries
* Import upgraded versions of the idc2rdb scripts in doc/
2011-02-25 04:19:30 +01:00
pancake
9efa5a50cb * Fix cmd.vprompt
* Simplify some functions in r_bin
* Added support for x86-64 for the 'ap' command
* Added dummy function calls for r_bin_demangle()
2011-02-23 20:53:56 +01:00
pancake
5e2fd3197e * Added dummy r_bin_demangle 2010-12-03 14:53:06 +01:00
pancake
f9d33abbb4 * Fix signature of RCore.read_at in r_core.vapi 2010-11-22 01:22:27 +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
6d515cc1a8 * Update and reorder TODO tasks
* Added r_file_mmap() functions in r_util
* Do not hash files bigger than 10MB
* Fix abspath() return value and signature
2010-11-17 21:15:34 +01:00
pancake
e8f8e72896 * Added r_bin_get_object() to cache binary information
* Initial work in r_core_bin_load()
  - Integrating rabin2 inside core
2010-10-04 10:55:43 +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
41bd2fd0ea * rabin2
- Show filesize in '-x' output
  - Select "sub-bin" using '-a arch_bits' and '-n filename'
* r_bin
  - Add argument "name" to r_bin_set_arch
2010-10-01 10:09:50 +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
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
pancake
50f229c93d * Add hash-like access to linked lists
* Add R_BETWEEN macro
2010-09-01 20:32:24 +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
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
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
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
083ebe4832 * r_core
- Fix segfault in r_core
* r_bin
  - Minor fixup in r_bin_load
  - Move plugin pointers to r_bin.h
2010-05-27 19:58:54 +02:00
Nibble
5c35f6e359 * Rename {r_*_handle_t, R*Handle} to {r_*_plugin_t, R*Plugin} 2010-05-26 01:42:22 +02:00
Nibble
7abcfe6852 * Refactoring
- Remove all init functions (included in _new)
  - Update vapi's (needs more work)
2010-05-20 17:40:58 +02:00
pancake
b8c3a23892 * Rename dbg.dwarf into asm.dwarf
- Display source lines at right of opcodes
* Rename asm.reflines* into asm.lines*
  - asm.lineswide = false by default
2010-03-19 01:45:52 +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
Nibble
ed94bdcb14 * r_bin
- Add helpers for info->dbg_info
* vapis
  - Add r_hex_* stuff to r_util.vapi under RHex
  - Update r_bin.vapi
* bindings
  - Add target "install-lua" to Makefile
2010-03-13 20:25:03 +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
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
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
30a31d3970 * r_util
- Fix memory leak in r_list_free
  - Update test in list.c
* r_bin
  - Add dummy function for elf section resize
2010-03-08 19:40:21 +01:00
Nibble
69f29d82bd * r_bin
- Add r_bin_get_section_at
* rabin2
  - Include section name in strings list
2010-02-23 18:26:02 +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
54b0a48a57 * Regenerate configure
* Remove remaining r_bininfo stuff
2010-02-22 04:47:19 +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
Nibble
47410d8bcd * Add r_sys_getcwd (get current working directory) in r_util
* Add field "file" into r_bin_getinfo
* Fix r_bin vapi
2010-02-19 19:59:22 +01:00
Nibble
3d3bf594af * Rename r_array to r_flist (RArray to RFList)
* Add ruby test for r_bin
* Remove old r_array stuff from r_types.h
* Fix swig/Makefile to install ruby libs into ruby1.8 libdir too

--HG--
rename : libr/include/r_array.h => libr/include/r_flist.h
2010-02-12 11:45:22 +01:00
Nibble
a85474856c * Initial implementation of generic iterators
- Take a look at r_bin.i.experimental
* Rename "class" to "bclass" in r_bin to avoid troubles with c++
* Fix cast in list.h
2010-02-08 11:28:17 +01:00
Nibble
839eec0e79 * Fix buid for r_bin 2010-02-07 14:11:05 +01:00
Nibble
e5c37f89f6 * New implementation of r_array
* Huge refactoring of r_bin using r_array (not tested yet)
* Modify list.h in order to avoid collisions with c++ "new" keyword
* Random sanity fixes
2010-02-07 13:17:51 +01:00
pancake
f343c4d74f * Fix delta seeking (do not allow seeks <0)
* Out of file reads (padding) filled by 0xff
* Added r_sys_cmd () to wrap r_system()
* Fix debug registers command to display segment and flag registers
  - Some draft changes in r_debug (signal handling and backtrace)
* Fix warnings in r_line
* Many more indentation fixes
  - Added st32 and st8 basic types
2010-02-02 11:09:52 +01:00
pancake
54bdfb22bd * Uppsercase classnames (rCore -> RCore)
- Fixes ruby warnings
  - Follow java syntax conventions
  - Helped to identify and fix bugs in many vapis
  - Sync swig examples
  - Add test-r_core.rb (ruby test for RCore)
* Some work in r_cons, some refactoring and cleanup
  - scr.html is now working again
  - w32 cons support should work now
  - Rename r_cons_get_columns -> r_cons_get_size()
  - But it needs more work
* Typedef all r_range, r_parse and r_anal structs
  - Add missing r_lib.pc in configure.acr
* 'make' clean now removes the libr* in swig/${LANG}/
2010-01-26 01:28:33 +01:00
Nibble
e4dd1cae7f * Fix segfault in radare2 due to last r_bin changes
* Add r_bin_init to the r_bin API
2010-01-25 17:54:32 +01:00
Nibble
56247931d9 * r_bin
- More refactoring ;)
  - Added dummy r_bin_load & r_bin_free
2010-01-24 15:35:28 +01:00
Nibble
08d5afd5c5 * Fix configure-plugins sort function
* Now r_bin is only using r_buf/r_file for file handling
2010-01-24 12:40:48 +01:00
pancake
b0a48c14de * Fix build of BeaEngine
* Rename r_iter into r_array
* Simplify r_list and add vala bindings
  - Test cases for C and vala

--HG--
rename : libr/include/r_iter.h => libr/include/r_array.h
rename : libr/vapi/t/iter.vala => libr/vapi/t/array.vala
rename : libr/vapi/t/array.vala => libr/vapi/t/bintest.vala
2010-01-18 13:45:02 +01:00
pancake
882e3e28c6 * Added libr target to generate libr.a and libr.so
* Build libr_${NAME}.a by default (with PIC objects..)
* iter.h -> r_iter.h
* Initial import of r_list
* Fix name of io.debug plugin

--HG--
rename : libr/include/iter.h => libr/include/r_iter.h
2010-01-14 12:13:48 +01:00
pancake
2a67cf96f8 * Add r_bin_load and rBinObject (dummy atm)
- draft for the new r_bin api
* Rewrite r_iter API to be consistent with Vala and GLib concepts
  - Added r_iter_init
  - Add test case to check r_iter from C and Vala using static
    and allocated lists and syntax-sugar iterators
2010-01-08 13:25:03 +01:00
pancake
82eb30ad04 * Huge code refactoring to adapt interfaces for valaswig
- hg clone http://hg.youterm.com/valaswig
* typedef all structs as r_asm_item_t -> rAsmItem
  - Sync typedefs with classnames for vala and valaswig interfaces
  - Needs more work and testing
  - C code keeps fully compatible
* New script to build valaswig bindings (swig/libr-swig.sh)
  - Needs integration with 'make test'
  - This will help to create a decent unit testing framework
    to find bugs in bindings and enhace the design of APIs
    from a centralized way keeping compatibility for all the
    languages supported by swig (c#, python, java, ruby, perl, ..)
* Fix vala test programs build
2009-12-24 03:17:53 +01:00
pancake
8579a5b41f * Release version to 0.3
- Propagate @VERSION@ from ACR
  - All *2 apps are now supporting a -V flag to show the version
* Fix .dr* command in r_core debugger
  - dr now supports [regtype] [bitsize] arguments
  - Check dr? for help
* Added some 8, 16 bit registers to the dbg.ptrace backend
  - Just for testing :)
* Check build of the whole source tree
  - test programs are now in ${prefix}/bin/libr-test
* Fix lot of warnings and bugs
* Simplify some code
* Some rapification
* Fix segfault in r_reg related to unallocated arenas
  - New function r_reg_type_by_name() resolves string->id
* Fix help of rax2
2009-09-25 04:04:51 +02:00
pancake
9442317413 * Major refactoring patch
- Remove plugin prefixes
    - It was unnecessary complicated
  - Remove unused code
  - Some RAPIfication
  - Rename _set( methods into _use(
  - Simplify some string processing
  - r_parse is working again
  - Sync all those api changes in r_core
  - External static plugin lists moved to .c
  - Fix some cast-related segfaults in core
* Review the r_search API
  - RAPIfication
  - Allow to pass NULL as binmask
  - Added TODO with some more ideas
2009-09-24 12:29:05 +02:00
pancake
35c078584c * Fix build of r_debug
* Some random warning fixups
* extern plugins defined in handle.c for asm, bin, .. cleaner
* RAPIfy the r_bininfo
* Initial implementation of Rarray Iterator
  - Needs some tuning in core Vala..but it is ok for demos
  - r_bin API is now using the Rarray iterator
  - Added Vala test program for it
* Fix build of some test programs
* Added r_diff and r_bininfo VAPI files
  - The APIs are inconsistent and untested. Proposals welcome
  - Fix possible overflow in r_bininfo
* Initial implementation of pool.c
  - Implements Memory.Pool class (Extracted from 'alt')
  - Added test program
2009-09-22 13:27:33 +02:00
pancake
669ce0a815 * Initial r_io_bind'ization of r_bin .. not yet working
- Meld bind.c into io.c
* Some review in many r_debug code
* Added vapi for r_debug
2009-09-10 20:51:34 +00:00
pancake
e4f749b1b9 * Initial import of r_th. The simplified and portable threading library 2009-07-21 11:13:24 +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
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
df9e68bf53 * rabin2
- Flags '-x' and '-w' unified into '-o'
  - '-w' is used to open file in rw mode
  - More refactoring
* r_bin
  - Added bin_dummy plugin
  - get_strings works now with unknown formats
2009-05-17 12:01:02 +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
0819be62de * r_bin & r_bininfo
- Added "check" function to plugins
    (used by _open for auto setting)
  - Removed hardcoded format autodetection
2009-03-25 20:51:26 +01:00
Nibble
8e72d7f7d9 * r_bin & r_bininfo
- Removed _set and _autoset functions
  - _open (auto)sets the plugin now
  - Refactoring
2009-03-25 15:52:17 +01:00
Nibble
b89e2d47c8 * r_bin & r_bininfo
- Minor refactoring
2009-03-23 23:07:31 +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
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
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
Nibble
d51005f027 * Added 'static-plugin' feature to r_bin module
* Minor fixups in r_asm build
* Added missing IFDBG in lib.c
2009-03-09 13:03:42 +01:00
Nibble
9ecc5775a7 * r_bin
- r_bin_init splitted in r_bin_init and r_bin_set_file
* r_core
  - Fixed radare2
* r_parse
  - Fixed parse_mreplace build
* r_lib
  - Lazy dlopen by default
2009-03-08 18:29:21 +01:00
Nibble
04c9a3f5d1 * r_bin
- Major refactoring (using r_lib infrastructure)
  - Removed outdated test programs
  - Updated rabin2

--HG--
rename : libr/bin/elf.c => libr/bin/p/elf/elf.c
rename : libr/include/r_bin_elf.h => libr/bin/p/elf/elf.h
rename : libr/bin/elf64.c => libr/bin/p/elf/elf64.c
rename : libr/include/r_bin_elf64.h => libr/bin/p/elf/elf64.h
rename : libr/include/r_bin_elf_specs.h => libr/bin/p/elf/elf_specs.h
rename : libr/bin/mach0.c => libr/bin/p/mach0/mach0.c
rename : libr/include/r_bin_mach0.h => libr/bin/p/mach0/mach0.h
rename : libr/bin/pe.c => libr/bin/p/pe/pe.c
rename : libr/include/r_bin_pe.h => libr/bin/p/pe/pe.h
rename : libr/include/r_bin_pe_specs.h => libr/bin/p/pe/pe_specs.h
2009-03-08 16:49:15 +01:00
pancake
c5e588e6e5 * Initial import of libr
- Previous commits has been reported in the ChangeLog file
  - hg log has been lost (moved inside ChangeLog)
  - Old radare1 repository has removed all the libr
2009-02-05 22:08:46 +01:00