Commit Graph

172 Commits

Author SHA1 Message Date
pancake
6072a14eef * Simplify and fix rarc2-tool script
* Add support for /**/ style comments in rarc2
* Fix libr2.a warning message
* Fix .string "" directive in rasm2
  - Now works like in GAS. escape chars are handled
  - and quotes are stripped
2010-09-15 13:10:10 +02:00
pancake
1b1599c6df * Support for some push/pop arm opcodes with 2 regs
* More fixes for rarc2 on ARM
* Implement .fill directive in r_asm
* Added asm.profile in r_core
* Added r_str_bits as a helper to display register flags
2010-09-14 11:22:31 +02:00
pancake
a9f8d52e59 * Many fixes in ARM assembler and rarc2 support for ARM
- Still not yet usable, but
* Add .byte and .hex in r_asm as directives
* Add test case for r_word api
  - Fix r_word_count()
* Also handle .globl (and .global) to keep GAS compatibility
  - TODO: add .word .fill .align and others
2010-09-14 01:29:09 +02:00
pancake
45c7167491 * Add r_sys_cmdf 2010-09-10 00:08:53 +02:00
pancake
50f229c93d * Add hash-like access to linked lists
* Add R_BETWEEN macro
2010-09-01 20:32:24 +02:00
pancake
675b04e7cd * Integrate r_vm into r_core
- Analyze code in order to do syscall analysis
  - Some fixes in r_vm to make it work
  - Add 'av' command to interact with the virtual machine
  - added r_str_subchr helper func in r_util
2010-08-22 17:56:50 +02:00
pancake
1fa134ca4f * Clean many warnings
* Reasign TODO points
2010-08-16 17:48:47 +02:00
Nibble
28af3ddf7b * Refactoring of r_str_ansi_filter() 2010-08-13 08:38:00 +02:00
Nibble
e22bdf0c79 * r_util
- Add r_str_ansi_filter() for removing ansi codes
    in a given string
* r_cons
  - Remove ansi codes before doing grep, avoid problems
    with colors
2010-08-13 01:18:06 +02:00
pancake
3ced8a528c * Initial work on function_from_string parser for r_anal
- CF? for testing
2010-08-12 12:19:25 +02:00
pancake
e9a8a96661 * Implemented r_lits_sort() and r_list_add_sorted()
- Add function variables sorted by delta
* Initial import of the io_gdb plugin
  - Statically compiled plugin by default
  - Use libgdbwrap
  - Implements just raw IO read/write
  - Needs more testing
2010-07-22 01:14:13 +02:00
Nibble
216973b29c * Fix bug regading false positives with z/
* Fix r_mem_cmp_mask
* Update TODO
2010-07-21 17:11:06 +02:00
Nibble
38eb3eee74 * r_list
- Add function r_list_get_n
  - Update test
2010-07-17 18:35:47 +02:00
pancake
6102da137d * Initial import of OpenSSL r_big API implementation
- Split each implementation in different files
  - Add --without-openssl flag in configure
2010-07-16 23:13:34 +02:00
pancake
67ad35187b * Refactor TODO
* Added r_anal_fcn_to_string() and get_var()
  - vars now have array size and direction
* Some random fixes
  - minor opimitzation in autocompletion (thx edu)
* Added Vtlr command to rename in visual tracked flags
2010-07-12 21:37:40 +02:00
pancake
2a9fecfe86 * Added 'build.sh' farm script
* Implement r_log api
* Fix issues in swig bindings
2010-07-12 00:50:00 +02:00
pancake
5f10d6ba64 * r2 -n does not load rabin2 information
* Implemented search.align
  - Affects RPrint->addrmod and RSearch->align
* Use r_search_reset() instead of r_search_new()
* typedef RConfigCallback
* r_sys_bt renamed to r_sys_backtrace
2010-06-30 02:30:07 +02:00
pancake
e101e5023d * Fix build on mingw32 2010-06-27 22:14:06 +02:00
pancake
255191c670 * Some more work on r_cons_grep
* Minor refactor in TODO file
* Display xref data (Cx/CX are broken atm)
* Added Vx command
* Compare flag names with ut64 hashnames (faster execution)
* Swap d->i and x->d print formats
* Hint in r_str_cmp
2010-06-25 11:22:14 +02:00
pancake
7ff20e59db * Add -t flag to launch rabin2 in a thread
* Fix ^D using threaded load
* Only load rabin info when no project file exists
* r_core_project_open does not works on directories now
* Sync r_core.vapi
2010-06-24 23:14:12 +02:00
pancake
5182d9a0fe * Added dummy type.c for r_meta
* Fix build on mipsel arch
2010-06-23 03:33:41 +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
pancake
c9a403cf71 * More work on 'at' command
* RRange ported to r_list (not yet tested)
* Fix r_cmd.vapi RCmdPlugin struct definition
2010-06-04 23:47:35 +02:00
Nibble
097edd11c6 * Add support for non-splitted graphs
* Add config var anal.split
* Fix segfault in r_anal & r_big
* Fix r_anal split algorithm
* Minor fixup in bb type assignment
* Fix partial graphs generation
2010-06-02 19:17:47 +02:00
pancake
64c329d297 * More work for 'binr'. Hopefully everything is done now :) 2010-05-29 13:24:47 +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
f65de2d925 * r_diff
- Add r_diff_gdiff (initial import of the graphdiffer)
	Next step is remove the mnemonics array and use a hash function
	The bb_diff function will change too :)
  - Add flag -g to radiff2
* r_core
  - Add cmd 'cg [file]' for graphdiffing
  - Add cmd 'agd [file]' for output graphdiff results
  - Modify r_core_anal_graph() for supporting graphdiffs
* r_util
  - Implement more r_big functions
  - Make other more gmp-like
2010-05-24 18:35:08 +02:00
pancake
d564c5a0fe * Implement 'dcc' and 'dcr' debugger commands
- Using continue-until-opcode-type call
  - Implemented continue-until-syscall in the same way
* Fix r_str_hash() algorithm to avoid colisions
* Added r_sys_bt()
2010-05-24 12:07:54 +02:00
Nibble
4f66e6a98b * revert r_str_hash changes 2010-05-24 11:55:20 +02:00
Nibble
9a76d39a7a * Add optional libgmp dependecy
* Update configure
* r_big
  - Prepare big.c to add gmp code
  - Implement r_big_{new, free} with libgmp
* r_anal
  - Change the type of {bb,fcn}->fingerprint to RNumBig
* r_flags & r_core
  - Add cmd 'af-*' which removes all flags
2010-05-24 11:15:32 +02:00
pancake
0b6e9f6358 * Added r_big_copy() helper macro
* Fix many segfaults in r_big
  - Fix some sign bugs
2010-05-24 03:24:57 +02:00
pancake
644ce76b39 * Use simpler and more effective string hash functions
- http://www.javamex.com/tutorials/collections/hashmaps4.shtml
2010-05-24 02:41:24 +02:00
pancake
087ce48d42 * Implement r_big_{new,free,mod,set64,set_str}
- r_big api is now argument safe, you can do a.add(a,b);
2010-05-24 02:27:05 +02:00
pancake
7902cb417f * Initial import of r_big - big integer api
* Handle cfg.bigendian in core->assembler
  - fixes powerpc big endian disassembler
2010-05-24 01:31:22 +02:00
pancake/imac
5c744013ad * Fix compilation on OSX 2010-05-23 23:04:46 +02:00
pancake
8a2e418ca2 * Add not-yet-used 'RAnalBlock->type' field
* Added r_list_length() method
* Add missing enums in RAnal
2010-05-21 17:35:05 +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
1940120f0a * Added fast keys to seek on jumps or calls '1'-'9'
* More seek undo pushes in visual mode
* Added 'd' key in visual mode 'df' defines a function
* Huge repointerization in RCore
* Fix r_num_new() constructor
2010-05-20 00:59:42 +02:00
Nibble
6759768392 * r_anal
- simplify local var/args analysis
  - Fix var sign in x86im plugin
  - Add analysis support for some missing opcodes
* r_parse
  - Fix asm.filter
* r_util
  - Change r_hex_bin_truncate type to st64
2010-05-14 23:04:10 +02:00
Nibble
5e0b5c5e4c * Fix jmps in anal_x86_x86im
* Fix bug in r_hex_bin_truncate with negative values
* Add new limits into r_types_base.h
2010-05-07 13:00:52 +02:00
Nibble
96187da91d * More work on x86im plugin (vars detection needs more love)
* Fix segfault in sys.c
* Add r_hex_bin_truncate() to r_util
2010-05-06 20:24:16 +02:00
pancake
329ea07ec1 * Add doc.sw documentation (wip)
* Add missing parenthesis in p command's help
* Some code enhacements for r_sys_cmd_str_full
2010-05-03 21:24:58 +02:00
Nibble
08cfc25e85 * Fix segfault related to dwarf 2010-04-20 19:32:04 +02:00
pancake
193bdb886d * Initial work on w32dbg IO, fork and attach still incomplete
- Not yet linked with debugger backend
2010-04-14 23:56:27 +02:00
pancake
c552863cef * Initial refactoring work for 'pd' and 'pD' commands
- Colorize bytes and offset when scr.color=true
  - Still needs to be moved to r_print
  - Needs cleanup, optimization and simplification
2010-04-14 22:28:45 +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
cb9ee58920 * Fix possible overflow in PE format loader
- Do not used trashed bytes from r_file_slurp_range
* Implement r_sys_cmd_strf
  - Simplify code in addr2line r_bin_meta plugin
* Install again in site-packages for py2.6
  - Debian/Ubuntu uses dist-packages, but not in arch
2010-04-13 21:19:54 +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
pancake
51007d2880 * Check for 'libr' pkgconfig in r2-swig configure
- Needs acr-head (PKGCFG!)
2010-04-11 20:50:07 +02:00