Commit graph

684 commits

Author SHA1 Message Date
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
earada
25b590e21f * Implemented 'dd' command for UNIX and FreeBSD 2011-07-25 04:49:54 +02:00
pancake
9f35e4fd33 * Theorical build fix for OpenBSD/arm/sparc64 2011-07-22 11:29:58 +02:00
pancake
627871eac2 * Fix build for GNU/kFreeBSD 2011-07-20 17:34:00 -04:00
pancake
553ac83d91 * Added __KFBSD__ define and enable new proc/maps for GNU/kFreeBSD
* Do not install rsc2 stuff
2011-07-20 19:26:07 +02:00
pancake
07b5b473c5 * Use OpenSSL (cflags/ldflags) from pkg-config 2011-07-13 19:22:38 +02:00
pancake
188560bf4b * Fix build and lot of warnings for w64 2011-07-13 18:55:16 +02:00
earada
008dc76721 * Use native api to calculate md5/sha1 hashes
- Fix bug 29
2011-07-13 17:41:26 +02:00
pancake
ca5e38d239 * Fix w32 and w64 build (r_fs/grub issue)
* Dont quit rax2 when reading from stdin until 'q' or ^D
* Minor fix in fortunes
2011-07-13 13:59:55 +02:00
earada
1f30cc1025 * Add vmenus-mounts option 2011-07-11 22:52:05 +02:00
pancake
cec16d4c8f * Add r_fs_partition_type api 2011-07-08 00:24:14 +02:00
pancake
c47da60578 * Some fixes in r_syscall (thanks vext01!)
* Use x86.olly before x86.nasm
* Add r_asm_assemble_file() method
  - Accessible with 'waf' command
2011-07-07 00:53:08 +02:00
pancake
6abcfb962b * Add from/to arguments to search_preludes()
* Mostly fix the ming-w32 build
* Avoid using alloca()
2011-07-06 11:48:16 +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
pancake
77816183a0 * Added anal.prelude to specify an hexpair to find
* Added search/prelude API into RCore and Vapi
2011-07-06 01:40:14 +02:00
pancake
bebb19a5ce * Fix some warnings patch by @capi_x
* Added R_REFCTR macros
* Ignore prefixed 0x in hexstr2bin
  - Fixes issue in 'wo*' commands (thanks edd)
2011-07-04 23:23:06 +02:00
pancake
aa236eb063 * Finally fix a segfault in the htflags implementation
- This was workarounded to work incorrectly
* Fix build on OSX of the dalvik plugin for r_asm
* Other minor random checks
2011-06-29 00:36:52 +02:00
pancake
e1d569fbeb * use r_num_get in r_cons_grep
- Flags are now handled
* Added 'S.' command to show begin end and name of current section
* Implement 'sn' to seek to next opcode (alias for s+$l)
  - Added $l variable
* Rename r2 flag -v to -q
  -V flag is now -v (all flags in lowercase
2011-06-26 23:49:11 +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
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
76e6a03b34 * Fix build for extern "C" C++ 2011-06-14 04:49:10 +02:00
pancake
46c7851ffc * Some fixes in the LEA/MOV memref analysis
* Stretch bytes and stackptr in disasm
* Fix string length in r_bin (\0 is counted)
  - hello is a 6 byte length string
* Fix 'Vds' to autodetect string length
2011-06-09 02:12:46 +02:00
pancake
4c0b8f437b * Added 'pw' and 'pq' commands to print 32bit and 64bit hex values
* Autocomplete 'dcu' argument
* Analyze [pc+delta] mov and lea opcodes on x86-64
  - Resolves indirect string pointers for ObjectiveC binaries
* Handle UCALL in dso
* Fix x86-64 register profile for OSX
* Implement r_mem_get_num()
* Various fixes in 'pf' command
2011-06-09 01:20:02 +02:00
pancake
f7f82ecbc0 * Implement support for handling av/repag and Function keys in r_cons
* Remove -u flag in r2 (was not implemented, but not needed)
* Added ?v command
* Check if file exists in rarun2
* Fix cmd.vprompt
* Some fixes in io.undo
  - Two test cases to check undo and redo ops
* Added 2 bugs in testsuite
2011-06-05 20:36:22 +02:00
pancake
c9faf9f88b * Do not load strings if project is already loaded
- Added bin.strings eval key
* Fix range check for anal/meta
* Do not exit(1) when write error on console
* Added 'ad' command to analyze data
  - Find trampolines from data to text f.ex
  - Supports 32 and 64 bit archs
* flags/name moved to util/name

--HG--
rename : libr/flags/name.c => libr/util/name.c
2011-06-04 05:27:26 +02:00
pancake
1f07786947 * Fix build 2011-06-04 03:23:12 +02:00
pancake
535a2aa713 * r_asm_disassemble use _CONST_ut8* buffer now
* Split core/cmd.c into disasm.c and core/visual.c into vmenus.c
* Fix some warnings reported by valgrind
* Chop instructions disassembled by udis86
* Fix visual prompt display in debugger mode
* Added 'pdi' and 'pdf' commands
  - Used to print just instructions or lengths
  - Documented via 'pd?'
* Added initial work on a test suite for r2
  - Spot a crash!
2011-06-04 03:14:04 +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
e0f8869e1b * Various minor visual fixups
* Add r_file_temp
2011-05-22 02:45:59 +02:00
pancake
9a26929858 * Implement inverse search /!x for example
- ./!x 00 # finds the first byte which is not 00 in hexa
2011-05-22 00:52:46 +02:00
earada
839bd60882 * Add mfs and mfo to search by name and offset
* Fix rafind2 build
2011-05-22 00:23:39 +02:00
pancake
6099a388f6 * Reimplement r_flag using RHashTable64
- Much faster (over ninethousand)
  - Must do the same for code analysis stuff
  - Added test case
* Implement r_str_glob ()
2011-05-21 21:05:21 +02:00
pancake
37464fa7f5 * Fix some glitches in r_cons_column
* Bring back the ';' prefix for comments
* Added sf/sF commands to seek next/previous scr.fkey
* Implement /i to search strings ignoring case
* Fix '@' invalid reads issue
* Added 'cmd.cprompt' for column prompt in visual
* Add 'search.kwidx' to store last search index count
* Added 'ee' to edit with cfg.editor the value of an eval variable
2011-05-21 15:45:43 +02:00
pancake
a6f48ded22 * Added CC! command to use cfg.editor to modify comment
- CC-* removes all comments
  - Many bugfixes in comment handling code
  - comments are now turqoise and have no ';'
* Added r_cons_column -- add support for columned text
  - Added r_cons_justify to align text to right
  - Added r_cons_memset as a helper
  - Vv menu displays options and list in left and disasm at right
  - Allow to rename functions
  - Added ':' prompt in Vv menu
* Initial implementation for s/ command (search+seek)
* Use core->num->value for 'p' command (number of bytes used)
* Implement /i to search ignoring case
* Help for e scr.fkey=?
* Added r_core_editor() helper
* Fix use-after-free in r_anal/meta
2011-05-21 14:27:46 +02:00
pancake
f36b18aa3e * Added search.count
* Check null pointer before r_list_foreach
2011-05-20 22:42:11 +02:00
pancake
b9526e254f * Minor fixes in r_util vapi 2011-05-20 21:21:39 +02:00
pancake
233982c965 * Do not show useless error messages when child process is dead 2011-05-20 20:42:25 +02:00
pancake
a4b57487bf * Fix pkg-config-symstall
- Update all .pc files
* Fix 'pf d*' segfault
  - Show flag references in all 'pf' values
* Many bugfixes in vapis
  - Use nested namespaces instead of static classes
    - Static classes was deprecated in Vala some years ago
  - All bindings are working again
  - C++ support has been added
  - Guile is now compiled by default
* Added ./configure-langs to select which langs to use
  - Use --enable=python,perl or --disable=guile
2011-05-20 19:49:50 +02:00
earada
7d7a9e27d6 * Fix directory listing and recursive mountpoint listing
* Fix RSocket build without SSL support
2011-05-18 01:27:09 +02:00
pancake
ced931c235 * Check if configure was executed before make
* Added r_cons_set_cup() method to RCons api
  - Enable/Disable terminal scrolling by using the cursor
     addressing mode of the terminal.
  - Those escape codes are terminal specific and not portable
  - Added test program to display cup information
  - Thanks eddyb for noticing!
2011-05-16 01:47:01 +02:00
pancake
6277d904d9 * Initial import of r_sys_crash_handler ()
- Launch 'gdb --pid %d' when crashing
  - Enabled when R_DEBUG is set
* List environment variables in help message
2011-05-15 04:20:59 +02:00
pancake
425fe596f4 * Fix many warning messages
* Initial implementation of r_debug_rap
* Implement 'dcu from to' (ranged stop point)
* Use RList in r_lib (list.h has been deprecated)
2011-05-13 10:22:28 +02:00
pancake
a3050fce7b * Implement r_fs_view() method to set visibility options for filesystems
- Added enum for VIEW_{DELETED|SPECIAL} ...
  - Implement support for listing deleted files for FAT.
  - Experimental state
* Add 'fs.view' eval variable
  - values normal, all, deleted and special
  - only 3 letters are checked 'del' and 'spe' are ok
* Add missing include files
2011-05-13 02:31:18 +02:00
pancake
c2d5f9215b * Move R_SYS_DIR and R_SYS_HOME into r_types.h
* Parse space separated words in rax2
* Added r_str_binstr2bin() helper function in r_util/str
  - Converts binary string to raw bytes
  - rax2 -b is the commandline frontend for this
2011-05-13 00:25:36 +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
21891a992a * Add dir_dump and find functions to r_fs
* Update RFS vapi
2011-05-12 01:17:35 +02:00
Eloi Sanfelix
05b6e7d333 Added io-based bp's for SH (crashes qemu, but should be ok for userspace progs) 2011-05-11 20:11:44 +02:00
Eloi Sanfelix
5db2925d1b Fixed reg_profile adding RDebug param. 2011-05-07 18:19:16 +02:00
pancake
b910c54714 * Fix getreg for r_debug_gdb on x86 (add profile)
* Add bits and arch fields in RAnalPlugin struct
  - mrproper is required
2011-05-06 19:56:16 +02:00
pancake
3f2677ab7f * Added initial untested support for native gdb debugger mode
- r2 -d gdb://<host>:<port>
  - register maps not yet implemented
  - some basic step/continue should work in cfg.debug=true
  - gdbwrap instance is shared between RIO and RDebug
* RDebug is now arch-sensitive
  - Plugins describe which architectures and register sizes are supported
  - Native debugger is restricted to local CPU
  - Remote debugger (GDB) arch can be specified with -e asm.arch=arm
* Fix some random warnings
* Move R_ASM_ARCH into R_SYS_ARCH
  - Helper functions to translate id to string and string to id
    are now in util/sys.c (r_util)
  - Move all R_SYS_* from r_util to r_types
    - Endianness, OS, CPU and regsize is now 'global'
2011-05-06 00:59:10 +02:00