Commit Graph

152 Commits

Author SHA1 Message Date
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
pancake
d468580c3c * Fix one-byte overflow in r_cons_memcat
* Fix flagSort command (fS)
  - sort by name is now done by strcmp
  - str_hash and str_hash64 are not enought
* Use r_cons in flag/t .. we must drop this dependency
* Add 'all-flagspaces' entry in Vt menu
  - When switching back to visual mode, the
    print mode is not lost
* Some code cleanup
2010-04-09 13:24:40 +02:00
Nibble
9207ece839 * Fix segfault printing big buffers
* Modify r_anal_reflines_str to return char*
2010-04-08 18:29:46 +02:00
pancake
a358d38e50 * Added support for binarymask hexpairs to search and signatures
> s 0&&./x 6c..62&&p8 3@@hit
  > zb function 89e55383ec....38 # binary mask inline
  - works like r_hex_str2bin, but converts binary mask and keyword
* RSign now uses r_cons_printf from core.
* FunctionPrintf typedef to bypass some warnings
* Added r_mem_eq
2010-04-08 18:01:45 +02:00
pancake
f2563a7509 * Export 'srwx' perms of sections in rabin2 -rS
- Handled by 'S' command
* Added dummy 'z' command to handle zignaturez
  - Added more dummy 'az' commands
  - RCore now depends on RSign
* Some refactoring and speedup in _update method of RSearch
  - Added support for distance search (maybe buggy and incomplete atm)
  - Fix binary mask for keywords after previous commit
* Added 'r_str_rwx*' helper functions in r_util
2010-04-08 12:29:47 +02:00
pancake
c98674bd01 * Drop m68k from asm/p/Makefile
* Fix import/export of flags by project file
  - Unset flagspace restriction
  - Do not use '@' .. faster :)
* Add r_sys_write into r_util vapi
2010-03-31 01:06:26 +02:00
pancake
a28fa26e53 * Store flags and config variables in project file
- add header comment before every data
* Added r_str_write and r_str_writef to simplify code
* Some code cleanup in config and project code
2010-03-31 00:30:25 +02:00
pancake
3be83621cb * Initial implementation of -p flag to handle projects
- ~/.radare2/rdb
  - Added r_sys_mkdir()
* Remove the command length limitation in r_core_cmd_file
2010-03-31 00:03:59 +02:00
pancake
b6a1d6e865 * Added support for cached IO
- e io.cache=true
  - Fixes support for overlapped changes
  - Implement cache_list
  - We can merge it to remove vm and undo writes with this
* Some code cleanup in vm
* Fix division by 0 bug notified by @ash
* Some random makefile cleanup
2010-03-30 17:37:15 +02:00
pancake
1881f9803a * Implement r_str_home on w32
- Fix double .exe
2010-03-25 17:19:58 +01:00
pancake
3027c4b18b * Added scr.prompt that can be disabled with -v flag in r2
* Use r_str_home instead of handcrafted sprintf
* Fix infinite loop when stdin eof occurs
2010-03-24 11:35:41 +01:00
Nibble
dba665549b * r_bin_elf
- Fix bug with big endian
* r_num
  - Update r_mem_copyendian call
2010-03-19 00:36:28 +01:00
pancake
76a22ef18e * Remove deprecated r_meta.pc
* Use RMemoryPool and RList in RSearch
  - Store hits in RList if no callback defined
* Fix constructor of r_mem_pool if alloc fails in init
* Remove unused file from search/ binparse.c
2010-03-15 10:46:41 +01:00
pancake
da9c4a21c4 * Remove debug printf in elf.c
* Oops. add missing trace.c
* Remove trash from old trace
2010-03-12 19:11:43 +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
9af6794cec * Rename MALLOC_STRUCT into R_NEW and deprecate it. 2010-03-12 13:35:10 +01:00
Nibble
ca66fe440d * r_util
- Fix r_buf_write_at
* r_bin
  - Some fixups in section resize (now is fully working)
  - Minor r_bin_wr_output refactoring
2010-03-11 13:18:49 +01:00
Nibble
6c12fb4287 * r_list
- Add *_unref macros (vala bindings)
  - Add function r_list_free and remove macro
* vapi
  - Update r_bin.vapi
  - Rewrite r_list stuff in r_util.vapi
* swig
  - Fix installation paths in Makefile
2010-03-10 13:23:43 +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
pancake
fcbcc00d1e * Huge refactoring on r_syscall
- Integrated with core 'as' command. as? for help
  - Display formatted parametters of syscalls
  - Needs to fully implement this everywhere
  - Syscall argument parsing is not yet complete (<4args)
    - r_debug_arg_{set|get}
* Implement continue until syscall on Linux debugger backend
* Lot of syntax cleanup to use the new code convention
  - Clean r_sign, r_search, r_syscall
* Define global R_SYS_ARCH, _OS and _BITS
  - Handle asm.os and asm.arch to hook r_syscall plugins
  - Display 8 or 16 zeros depending on asm.bits
  - Added r_str_filter () to filter nonprintable chars

--HG--
rename : libr/search/stripstr.c => libr/search/strings.c
2010-03-04 01:46:25 +01:00
Nibble
f0e1c8ef78 * rabin2
- Flag imports and symbols as fcn. under the namespace 'functions'
* r_core_anal
  - Flag analyzed function
  - Implement agf
  - Minor fixup (check if r_io_read_at returns blocksize)
* r_util
  - Fix r_str_word_getfirst
2010-03-03 14:35:18 +01:00