901 Commits

Author SHA1 Message Date
pancake
f6d5e9034a * Add r_core_prompt_loop()
* Add support for descriptions in configuration variables
  - Add e+ to list all descriptions
* sync vapis
* Fix zero end string in r_print_hexpair
2011-08-27 04:32:27 +02:00
earada
f950675a7b * Add SSL support to rap protocol (raps://) 2011-08-16 02:55:46 +02:00
pancake
b3cefac08b * Make while() and .var0-= statements work in r_egg lang
- Added support for 'add|sub [reg+delta],n' opcodes in x86.nz
* Add emit_init() function pointer to fix entrypoint issues
  - ebp has no valid value defined on entrypoints
2011-08-10 11:24:15 +02:00
pancake
06e98dadb1 * Add -k flag to ragg2 - select kernel
- ATM only support for linux and osx
  - Do not show asm when -f is passed
  - Added 3 test programs for osx/linux in ragg2
* Add support for 'lea' opcode in x86.nz
  - Support more 'mov [off], reg' opcodes
  - Lot of new test cases in test.nz
* Fix some segfaults and parsing bugs in egg/lang

--HG--
rename : binr/ragg2/exithello.r => binr/ragg2/t/exithello.r
2011-08-09 02:03:12 +02:00
pancake
1733e6d8a9 * Use r_bin from ragg2 to create ELF/PE/MACH0 bins 2011-08-08 15:00:42 +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
df8fb6cc21 * Store last .text/.data address in RAsmCode->{code,data}_offset
* Lot of fixups in x86.nz for better 64bit support
  - More opcodes are now supported (mov [base+delta], etc..)
* Make r_egg hello world work with x86.nz.
  - fixed some bugs in the rarc2 language parser
  - egg/t/test aims to be rarc2 replacement
  - rarc2 lang code seems to compile fine now,
  - r_egg now depends on r_syscall
* Fix null pointer in RNum
2011-08-08 00:46:04 +02:00
pancake
839f71e937 * Initial import of the asm.x86.nz plugin
- Very few instructions can be assembled
  - Aims to assemble code with no zeros
* Added xorencoder.asm test file
2011-08-05 00:34:45 +02:00
earada
475a57aa48 * Add rap metainfo support
* Fix memleak at r_fs (Thanks @ajaragoneses)
* Add directory dump support at r_fs shell
2011-08-04 21:28:07 +02:00
pancake
82b93ffa88 * Rewrite buggy bash r_str_sub and rename as r_str_replace
- Fixes segfault in OSX
  - Fixes r_asm with .equ stuff
2011-08-04 00:33:04 +02:00
pancake
aad2e91d96 * Initial import of asm.x86.as plugin
- Uses OSX/GNU/BSD 'as' assembler
2011-08-03 21:01:56 +02:00
pancake
dc93b16f7b * Minor work on egg and rasc 2011-07-27 10:30:23 +02:00
pancake
7595fe8aa3 * Add missing r_egg.h
* Fix r_egg for ARM
2011-07-27 01:29:22 +02:00
pancake
259d14940e * Implement R_SEARCH_DELTAKEY
- Accessible with /d search command
* Code cleanup in TinyPE
* Implement rasc2 -o
2011-07-26 09:34:10 +02:00
pancake
dd8e7430dc * Initial implementation of the PE creation support for rabin2 -c
- Creates a Tiny PE executable for w32 (100 bytes)
2011-07-26 01:13:51 +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
a173eedcaf * Added support for ELF32-linux-x86 binaries for rabin2 -c
- Allow to create tiny elf binaries (only text section)
  $ rabin2 -a x86_32 -c elf:31c040bb2a000000cd80 a.out
* Added api for 16 and 64 uint write in RBuffer
2011-07-25 23:20:49 +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
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