Commit Graph

369 Commits

Author SHA1 Message Date
pancake
c886531195 Implement 'ko' and 'kd' to open/dump Sdbs, Helpers for PE ordinal symbols 2014-12-21 00:55:38 +01:00
inisider
f9048c2a44 Add init function of PDB downloader 2014-12-12 15:31:05 +01:00
inisider
ee429365a7 Add JSON support to the PDB parser 2014-11-21 11:28:12 +01:00
pancake
a2c3647ad0 Somewhat better BoostJam support 2014-10-26 02:47:08 +02:00
pancake
e807868b78 Honor rabin2 -N minstrlen for -z,-zz,-zzz 2014-10-24 20:13:18 +02:00
pancake
131b9092c2 Implement rabin2 -zzz (dump strings to stdout, works on huge files) 2014-10-24 18:26:37 +02:00
pancake
3435dc2bb5 Implement bin.maxstr and handle it from rabin2 -N min:max 2014-10-21 04:39:37 +02:00
inisider
621d757487 rabin2: add pdb print infortmation option
Conflicts:
	binr/rabin2/rabin2.c
2014-10-18 19:49:26 +02:00
pancake
b53eb9222d Fix crash in rabin2 -g (thanks @condret) 2014-09-26 17:55:35 +02:00
pancake
34365c7bb3 Handle cparse definitions in rbin sdb 2014-09-23 10:23:28 +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
Adam Pridgen
135c62fb5d Fixing *most* warnings related to the change in r_file_slurp 2014-09-17 22:37:54 -05: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
pancake
39b9e14161 Fix rabin2 -K help message instead of version 2014-09-04 23:56:45 +02:00
pancake
8204e78c3f Fix RBin & RLang related crashes (fix lot of memleaks and dblfrees) 2014-08-29 16:27:44 +02:00
pancake
00245e5e96 rabin2 -V -> -p (-p is more meaningful to show physical addresses) 2014-08-24 10:41:32 +02:00
pancake
3f985aff6e Bring back the ASLR thing. Have fun with 'rabin2 -B' 2014-08-23 03:18:03 +02:00
pancake
eeb50850c9 Fix #1205 - rabin2 -v show version. rabin2 -V disable VA 2014-08-23 02:41:50 +02:00
jvoisin
0be1fc041b Fix some memleaks at exit 2014-08-20 01:21:31 +02:00
pancake
13872af7bc Implement rabin2 -K and do some work on the RHash api. Fixes #1204 2014-08-15 03:30:45 +02:00
pancake
50e8e0e507 Add 'lp' command to 'load plugins' + some work on 'bin.laddr' 2014-07-30 11:14:26 +02:00
pancake
381d86de2a Fix null deref and bad indent 2014-07-17 05:49:20 +02:00
pancake
576c9d6221 Fix ASLR (rabin2, r2 -B working again), sort i? output 2014-05-26 03:06:29 +02:00
jvoisin
680c542bb3 Fix CID 1214301 and constify things 2014-05-25 15:59:52 +02:00
pancake
ff939fd048 Implement #956 (rabin2 -k - prompt) and fix r_bin_load() 2014-05-22 00:12:30 +02:00
pancake
cb1c61c296 Fix output of 'Cannot open file' (without %s) (possible null deref) 2014-05-21 23:19:47 +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
Anton Kochkov
9a74490e1f Fix CID 1134986 2014-05-19 06:05:15 +04:00
pancake
879f295365 Fix bin.rawstr (rabin2 -zz), some offsets wrong in PE 2014-05-19 02:41:53 +02:00
pancake
644acb8590 Add rabin2 -k to query sdb info, sdbize MZ debug printfs 2014-05-19 01:42:36 +02:00
pancake
ca18aedb94 Add Capstone SystemZ and SPARC disassembler and analysis plugins 2014-05-17 02:53:37 +02:00
Anton Kochkov
ab5cb7b25f Fix CID 1214320 2014-05-17 02:23:43 +04: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
zonkzonk
515cfe56e1 check malloc return for code in rabin2.c 2014-05-12 00:31:11 +02:00
jvoisin
ee4049d60e Fix CID 1211162 2014-05-05 17:19:38 +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
deeso
d5a6c3d23c Adding r_bin_load_as feature and fixing null pointer reference in rabin. 2014-05-02 13:51:02 -05:00
Anton Kochkov
04a61148a5 Fix CID 1134985 2014-05-02 14:43:30 +04:00
Anton Kochkov
780cf8fdae Fix CID 1134986 2014-05-01 13:41:20 +04:00
jvoisin
2713d06d43 Fix CID 1134988 2014-04-30 22:48:42 +02: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
Anton Kochkov
afedcc0074 Fix CID 1135011, 1195065, 1134730, 1134754, 1134907, 1134758 2014-04-27 01:06:13 +02:00
pancake
836803d786 Sdbize RBin.list_archs(). Expose addrinfo in 'k bin/fd.#/addrinfo/*' 2014-04-23 03:57:13 +02:00
pancake
53edf7c17d Merge RCmd inside RCore 2014-03-18 00:05:44 +01:00
pancake
7c8daf1e70 Refactoring RBinMeta into RBinDbgInfo 2014-03-10 02:27:32 +01:00
pancake
d1dd21ea9e Fix statically link of libgdbr 2014-03-03 19:09:40 +01:00
pancake
9a099e9e9e Add RAsmPlugins->cpus and handle it in rasm2 -L <arch> 2014-02-06 00:26:17 +01:00
Adam Pridgen
db1bb1a089 Changed the location of RBinObject, and created RBinFile to conform similarly to
RCoreFile, where RBinFile contains meta information for RBinObjects.  Now
RBinFiles are swapped out along with the RCoreFile when the priority is changed.
2014-01-20 02:44:25 +01:00
pancake
802e808072 Merge libr/lib into libr/util and add r_sys_environ API 2014-01-18 02:42:23 +01:00
Maijin
82e10ed753 Resource leaks fixes CID 1134987 2014-01-17 00:10:09 +01:00
Adam Pridgen
415a77dca0 Java can now load multiple bins into radare space, and analyse the different bins.
See libr/bin/p.bin_java.c libr/anal/p/anal_java.c for the hacky details.
Fixed the coverity issue.
2014-01-12 17:36:47 -06:00
pancake
38fc28f960 Added more Jamroot files 2014-01-03 00:13:46 +01:00
pancake
8711ca5928 Oops. another missing -lr_sign 2013-12-31 05:42:45 +01:00
pancake
d02df0d306 Fix some issues reported by CoverityScan service 2013-12-03 00:14:59 +01:00
pancake
1681982d34 Fix android linkage of r_zip 2013-11-14 23:32:34 +01:00
pancake
b97e19cae3 Fix #323 - rabin2 should provide an option to show everything 2013-11-09 03:11:03 +01:00
pancake
e63271e688 Fix build 2013-11-06 01:36:40 +01:00
pancake
4caad05a0a Fix r_cons_flush race condition in rabin2 2013-09-27 20:24:59 +02:00
pancake
06b02592d5 Fix crash in rabin2 (unnecessary free of const string) 2013-09-27 20:14:18 +02:00
pancake
dd5421a5f9 Enhace @earada's patch to fix double free in 'dm' api 2013-07-25 15:18:34 +02:00
Eduardo de la Arada
8a93b6a83d * Add relocs json output
* Fix rabins's homeplugdir
2013-07-01 17:05:15 +02:00
Eduardo de la Arada
f6173bdaf0 * Fix json output for undefined flags
* Add json output to bin_fields
* Fix typo at visual_mounts
2013-07-01 16:29:47 +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
0aaa61f7d2 Store CFLAGS in configure, fix build race condition and rabin2 -zz
- Try to fix the race condition in build
- Fixes for rabin2 -zz (show strings when opening an unknown file type)
- Store CFLAGS and LDFLAGS at configure stage
2013-04-26 03:15:39 +02:00
pancake
99430303e4 Deprecate rabin2 -V.. use rabin2 -v everywhere! 2013-04-05 03:16:42 +02:00
pancake
3aa549ecb0 Share version function between all commands. Fix #76 2013-04-04 02:32:13 +02:00
pancake
735a4f7a4a Fix -h and manpages. Kill rsc2 and rasc2 from binr/ 2013-04-02 12:11:20 +02:00
pancake
dc7289e1f3 Fix rabin2 -O help, rahash2 -a all -s, add filter input
Added input filter in r_cons/dietline to avoid trashy chars
rahash2 -s now works with multiple -a
2013-03-10 14:27:01 +01:00
pancake
a7925a8a4f Add aach64 (ARMv8) support to the ELF parser 2013-02-26 15:35:24 +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
4c2ad6cd58 Fix build 2013-01-23 00:51:25 +01:00
pancake
d8f0ea6ed9 Use RCore in rabin2 to fix nullptr in RConfig (fixes #44) 2012-12-26 02:01:26 +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
07d27512ee Append fatmach0 index in extracted filename
Fix the segmentation address in ? command
Fixes for the r2bot
2012-11-29 04:07:59 +01:00
pancake
8ea25c4a46 Use RNum in RAsm, fixes for segoff and better disasm
Reference of RNum in RAsm (use flags in 'wa/pa'!)
Use RNum in x86.nz plugin
Rename scr.segoff to asm.segoff
Fixes for segmented addressing resolution
Honor lineswidth in disasm
Remove rabin2 -p flag in help and manpage
Fix disasm.c loop for small blocksizes and invalid ops
2012-11-16 01:34:26 +01:00
pancake
7c1e0c85d9 Support for remote raw commands (client/server)
See the '.:' command
Full integration with awk bindings
Add install make target for the awk bindings
Handle as debug mode if io->file->debug
Fix typo quite/quiet in rabin2
Resolve $pc,$bp,$sp,$a0.. in r_core_num
Minor random fixups
2012-11-05 02:00:34 +01:00
pancake
07929b169d Add Quiet and JSON in RCoreBin, more awk, fix rafind2
Use rabin2 -j flag to get JSON output
You can also get those jsons using the i?j command
Better awk bindings and added some examples
rabin2 -v (without any other arg) shows version
Fix some segfaults in rafind2 and use RList
Add quite output mode for rabin2 (activated with -q)
2012-11-02 03:35:50 +01:00
pancake
3540924f40 Better paralelization of build system 2012-10-04 01:20:00 +02:00
pancake
69a12884ed Simplify the build system
doc.sw has been moved to radare2-extras
2012-10-03 14:31:35 +02:00
pancake
7b627d24a2 Fix mingw32 build 2012-09-01 01:06:24 +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
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
pancake
c814a9f67a Initial implementation of dwarf debug_line parser
rabin2 -d a.out
2012-07-12 02:47:04 +02:00
pancake
7a4a3dbbfd Fix string parsing in rabin2 -z and more random fixes
- Random changes in libr/db/pair.. still buggy
 - remove debug printfs from calc.c
 - ?k command is now more usable. supports ``..` strings
 - fix segfault in r_cons (nullptr)
 - Add support for !! command to use r_cons
   > pd|!grep eax~ebx   # now this command works
2012-07-02 00:38:02 +02:00
pancake
fdb25ffa03 * initial import of dummy dwarf support
* handle eval cuando escribes una y otra vez
* add support for [bracket] comma-separated list for controversial
  - add api to push-back states
* Added uleb128 api in r_util
2012-06-28 01:27:40 +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
fee1dfda07 * Fix some bugs reported by clang-analyzer 2012-05-31 02:41:45 +02:00
pancake
bdc810af35 * Fix rabin2 -O without filename output 2012-05-30 03:32:20 +02: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
f908b15fb5 * Fix android compilation
- Fix static build
  - Fix dupped symbols
* Fix all errors reported by clang-analyzer
  - Some null dereferences
  - Some uninitialized variable uses
* Fix all important warnings from the farm
  - Remove *all* uses of alloca
  - Fix many %llx format string portability issues
* Fix manpage typos reported by lintian (thanks sre)
2011-12-06 00:27:57 +01:00
pancake
1cc5b8e077 * Honor -o in rabin2 for dump section operation
* Autodetect and honor CC environment in ragg2 command
* Update ragg2 manpage
* Fix udis86 at&t '$' usage.. thanks @hteso for reporting!
2011-11-30 20:59:58 +01:00
earada
d0f81b8490 * Fix rabin2 -B baddr 2011-11-24 02:48:36 +01:00
earada
62c650b2a0 * Add graph.font=Courier eval var
* Use R_TRUE/R_FALSE instead of R_CORE_BIN_RADARE/R_CORE_BIN_PRINT
* Add notepad as windows editor by default
* Add 'T' menu at visual mode to show comments and anal info
2011-11-23 02:29:09 +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
earada
99919408e3 * Fix clean build 2011-11-12 22:36:42 +01:00
earada
ad006c9300 * Fix build
* Move libs and classes to r_core_bin_info
2011-11-12 17:15:05 +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
earada
4874de4569 * Refactorize rabin2 functionalities into r_core_bin_info
- r_core_bin_info shows bin data from core
- rabin2, file_load and cmd_info now uses this new api
2011-11-12 04:20:22 +01:00
earada
2fadc048e7 * RBin suport new section_end flags
* Add some filesystem automount support
2011-11-11 17:56:21 +01:00
pancake
95322945ab * Fix bug when redefining io sections
- Triggered by swapping io.va
  - Reported by @hteso
2011-11-03 23:34:18 +01:00
pancake
14f85bd76f * Import Glyn Kennington's patch for the build system
- Use absolute paths everywhere and simplify Makefiles
2011-11-03 11:49:50 +01:00
pancake
85f5829be6 * Make oxfoo1m3 crackme load correctly
- Do not find strings in binaries with no data sections
  - Add program header section underlaying the rest of sections
* Do not newline when gotoxy'ng
  - visual mode is now smarter
* New ? commands
  - ?p = show physical address
  - ?S = show section name for given address
* Initial refactoring in r_io to make section overlaps happy
  - Those changes are experimental and can lead to problems
  - Do not iterate prev
  - Do not sort by offset
2011-10-25 20:30:05 +02:00
pancake
1f7f9dc036 * Enhacements for rarun2
- add 'timeout' directive
  - directives can now be passed in arguments
  - support more than 3 args for launching
  - show default config file in help
* Added test suite for r_egg
  - Fix nested conditional and loops
  - Some situations can result in broken code
  - Code needs a huge cleanup
* Varioues fixes for x86.nz plugin to make r_egg happy
* Install python plugins into dist-packages only
  - site-packages is not the right place
* Add R2_LIBDIR and R2_PREFIX constants
* Honor LIBDIR in sdbpath for r_syscall
* Fix rabin2 -h for -C
2011-10-24 04:35:42 +02:00
pancake
32afad2b65 * Fix build with clang
* Fix some warnings which result in more bugfixes. yay
2011-10-10 01:48:08 +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
0357ddf18e * Move rapatch into r_core_rapatch (r2 -P)
- Remove r_core deps from rabin2
  - Accessible via 'wp'
* Fix build check of test program in r_db
* Pass CFLAGS/LDFLAGS to sdb build
* Add rax2 -k to not change base
2011-09-09 09:49:55 +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
62cd212ba1 * Fix non-PIC/static build (apply Glyn patches)
* Fix entropy multiplication bug (Thanks Glyn!)
* btw.. previous patch added asm.case eval var
2011-09-08 15:47:05 +02:00
pancake
4af07f8f2f * Fix linkage of rabin2 in OpenBSD 2011-09-06 17:12:45 +02:00
Nibble
0f8cc36a58 * Fix build
- Add r_db to DEPS in Makefiles
2011-09-04 11:49:32 +02:00
pancake
2c92c7d172 * Merge rapatch2 into rabin2 -p
* Honor bits in r_syscall_setup
  - Initial work on RPair in r_syscall
  - Not yet integrated, but design is mostly done
* Add r_str_split()
* Add python2 and python3 makefile rules in r2-bindings
2011-09-04 03:56:35 +02:00
Nibble
d7afa73011 * Minor refactoring of rabin2 main() 2011-09-04 02:44:53 +02:00
Nibble
334a6bcfb8 * Fix list and select archs in rabin2 (flags -A and -a)
* Fix memory leak in rabin2
* Fix segfault in r_bin_use_arch()
2011-09-04 02:19:43 +02:00
Nibble
8ec73271c7 * Filter section names in rabin2 output 2011-09-02 13:55:59 +02:00
pancake
429a475ac0 * Deprecate rarc2 and rarc2-tool
- Replaced by ragg2 - the new r_egg based tool for r2
* Add r_egg_assemble as a 2nd step for compilation
* Fix memory leak in r_egg_free
* Add support for 'cmp' and more 'test' variants for x86.nz
  - Ignore 'dword ptr' string
  - More test cases
* Fix SCSIZE issue in rasc2 -s

--HG--
rename : binr/rarc2/Makefile => binr/old.rarc2/Makefile
rename : binr/rarc2/README => binr/old.rarc2/README
rename : binr/rarc2/config.def.h => binr/old.rarc2/config.def.h
rename : binr/rarc2/config.h => binr/old.rarc2/config.h
rename : binr/rarc2/emit_arm.c => binr/old.rarc2/emit_arm.c
rename : binr/rarc2/emit_x64.c => binr/old.rarc2/emit_x64.c
rename : binr/rarc2/emit_x86.c => binr/old.rarc2/emit_x86.c
rename : binr/rarc2/i/libc.r => binr/old.rarc2/i/libc.r
rename : binr/rarc2/i/socket.r => binr/old.rarc2/i/socket.r
rename : binr/rarc2/osxtest.r => binr/old.rarc2/osxtest.r
rename : binr/rarc2/out.c => binr/old.rarc2/out.c
rename : binr/rarc2/rarc2-tool => binr/old.rarc2/rarc2-tool
rename : binr/rarc2/rarc2.c => binr/old.rarc2/rarc2.c
rename : binr/rarc2/rarc2.h => binr/old.rarc2/rarc2.h
rename : binr/rarc2/t/Makefile => binr/old.rarc2/t/Makefile
rename : binr/rarc2/t/argv.r => binr/old.rarc2/t/argv.r
rename : binr/rarc2/t/bytedump.r => binr/old.rarc2/t/bytedump.r
rename : binr/rarc2/t/data.r => binr/old.rarc2/t/data.r
rename : binr/rarc2/t/dump.r => binr/old.rarc2/t/dump.r
rename : binr/rarc2/t/hello.r => binr/old.rarc2/t/hello.r
rename : binr/rarc2/t/hi.r => binr/old.rarc2/t/hi.r
rename : binr/rarc2/t/if.r => binr/old.rarc2/t/if.r
rename : binr/rarc2/t/inline.r => binr/old.rarc2/t/inline.r
rename : binr/rarc2/t/input.r => binr/old.rarc2/t/input.r
rename : binr/rarc2/t/loop.r => binr/old.rarc2/t/loop.r
rename : binr/rarc2/t/ptr.r => binr/old.rarc2/t/ptr.r
rename : binr/rarc2/t/rawsys.r => binr/old.rarc2/t/rawsys.r
rename : binr/rarc2/t/rawsys64.r => binr/old.rarc2/t/rawsys64.r
rename : binr/rarc2/t/regs.r => binr/old.rarc2/t/regs.r
rename : binr/rarc2/t/ret.r => binr/old.rarc2/t/ret.r
rename : binr/rarc2/t/room.r => binr/old.rarc2/t/room.r
rename : binr/rarc2/t/segfault.r => binr/old.rarc2/t/segfault.r
rename : binr/rarc2/t/shell.r => binr/old.rarc2/t/shell.r
rename : binr/rarc2/t/sub.r => binr/old.rarc2/t/sub.r
rename : binr/rarc2/t/syscall.r => binr/old.rarc2/t/syscall.r
rename : binr/rarc2/test.r => binr/old.rarc2/test.r
rename : libr/egg/t/syscall.r => binr/ragg2/syscall.r
2011-08-08 02:07:26 +02:00
pancake
d2cf5e4425 * Import chmod() from sbase as r_file_chmod()
- Support recursive chmod
  - Handles string-based octal/expression formats
  - Used by rabin2 -c to chmod +x the created binary
2011-07-25 23:42: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
fde9168bd4 * Remove linking dependencies in radiff2 as reported by Debian
* Use -v instead of -V in rasm2 too
2011-07-25 12:22:55 +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
814d220ac6 * Implement 'Cl' command to set sourceline comments
* Fix, implement and install rsc2
  - Added rsc2 srcline script
2011-05-25 15:43:54 +02:00
pancake
fb0119c9b5 * Fix build. Use r_name_filter in rabin2 2011-06-05 23:30:19 +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
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
pancake
daff6aff5d * Fix set_reg_profile callback in r_anal_arm
* Fix dupness issue between RDebug and RAnal sharing RReg
  - Move reg_profile string into inner RReg
* Remove vm.arch setup in rasm2 -ri
2011-03-24 00:54:09 +01:00
Nibble
1535b4c5c1 * Don't flag imports/symbols twice (also for functions)
* Remove unnecessary calls to r_flag_space_set()
* Show calls nicer in decode mode
2011-02-28 17:27:08 +01: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
Nibble
ead4e9502f * Simplify type assignment in r_anal
* Include fcn type in 'rabin2 -r' output
2011-02-08 00:15:12 +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
aacce16095 * Another fix for nonpic build 2010-11-10 04:00:49 +01:00
pancake
a6629c610c * Fix static compilation on Linux systems
- Not really portable, needs some work to fix w32 build
2010-11-10 03:55:27 +01:00
Nibble
c79afe3568 * Add var vm.arch
* Fix vm arch setup at startup
* Fix flag set in visual mode when cursor is enabled
* Filter string names before adding flags in r_bin_load
* Fix r_flag_name_filter (do trim)
* Fix r_sys_rmkdir
* Update TODO
2010-10-23 14:27:13 +02:00
pancake
f9e6ca28cf * Fixes in swig/ for OS type selection
* Move rsc2 into binr/

--HG--
rename : rsc2/rsc2.c => binr/rsc2/rsc2.c
rename : rsc2/scripts/intel2att => binr/rsc2/scripts/intel2att
2010-10-18 20:47:13 +02:00
Nibble
bfbd12ed3c * Don't add symbols as functions before analyze them
* Update and simplify gdiff
2010-10-13 18:51:10 +02:00
Nibble
836c91c32a * r_util
- Fix r_sys_rmkdir
* rabin2
  - Generate folder structure on extract operations
2010-10-04 13:57:48 +02: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
a1d0887ca8 * Fix build (update core/anal.c with the last changes in r_bin)
* Implement extract in rabin2
2010-10-04 04:01:25 +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
pancake
ee39ba239a * Add 'FS' #define for w32 and *nix
* Add support for thumb mode ARM disassembler
  - Workaround a warning in r_vm for arm-16
* More work on drx.c, but still not integrated
2010-10-04 00:42:11 +02:00
Nibble
48dd408e45 * Merge
* Minor fixes in r_bin
2010-10-01 11:58:11 +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
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
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
eb811bbf08 * r_core
- Deprecate ah and add anal.plugin
  - e anal.plugin=? list available plugins
  - Add the command 'ar' to handle refs/xrefs
  - Remove old CX and Cx stuff
  - Remove afg (done by af)
* r_anal (& r_meta)
  - Remove refs/xrefs stuff from r_meta
  - Handle refs from r_anal
  - Add r_anal_ref_{add, del}
* rabin2
  - Add 'e anal.plugin' to the output of rabin2 -Ir
2010-09-28 13:58:03 +02:00
Nibble
0a09b20cc0 * rabin2
- Make -A output more verbose
  - Dump all archs with -x when no one is specified using -a
* cleanup TODO
2010-09-25 12:33:30 +02:00
Nibble
333fbbf55b * rabin2
- Set arch with 'rabin2 -a arch_bits filename'
  - Remove flag -B
  - Implement extract (-x)
2010-09-25 03:45:03 +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
Nibble
283c2efef9 * rabin2
- Add flag -n to filter by {symbol, import, section} name
* r_core
  - dmi accepts argument symname
  - more work on cmd parsing
2010-08-17 13:15:18 +02:00
pancake
3287f8d64d * Filter string to avoid escaped commands execution (r_str_unscape)
* More chars filtered in rabin2 -z (flag ..)
* Parse PLT in order to find matching ordinal in rgot.vala
2010-08-16 14:58:10 +02:00
Nibble
6727897e73 * rabin2
- Add flag -b to set a custom baddr
* r_core
  - Add command 'dmi' to flag the symbols of a given lib in memory
2010-08-16 14:35:15 +02:00
Nibble
28ef002c21 * Fill field 'ordinal' in elf symbols 2010-08-16 01:14:54 +02:00
pancake
b7dbae4ebb * Display '*' in S= where you are
* Add note about the bug in io.va/-d/rabin2-r{v}S
* Fix rarc2/t
2010-08-15 21:30:59 +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
pancake
2f09509630 * Fail when binr build fails somewhere
* userconf R2_VERSION
* Implement some more # hashing algorithms
2010-07-15 13:34:53 +02:00
pancake
ace71e8be4 * Load string flags into r2
- Fix string filtering
* Display string references for ARM (load indirections)
* Fix numeric indexing of branch references in visual mode
* Display '>' char for call instructions
* More work on RMeta
  - unscape strings to avoid \n and \t
  - handle correctly the 'Cs' command
  - Add partial documentation for the rest of 'C' commands
2010-06-21 00:48:06 +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
16089bb6e9 * Fix build of binr/
- Some missing deps everywhere
* Initial work for RAnalCond
2010-06-15 00:46:18 +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
pancake
49f09cc421 * Initial refactor to build libr bins (binr) out of libr
- Cleaner build/install
2010-05-28 17:15:20 +02:00