623 Commits

Author SHA1 Message Date
pancake
08e37d54ab * Added r_fs support for the following filesystems:
fat, ntfs, cpio, tar, hfs, hfsplus, udf, iso9660,
  reiserfs, ufs, ufs2, xfs and jfs
* Added vapi files for r_fs
2011-01-14 09:45:33 +01:00
pancake
28b9e436c6 * Rename r_fs_load to r_fs_slurp 2011-01-14 01:05:23 +01:00
pancake
b8b87f050e * Initial working r_fs API with ext2 fs
- Support file reading and directory listing
* Fix build
2011-01-14 01:02:20 +01:00
pancake
ca432e3f04 * Initial import of the 'r_fs' API
- Allows to mount filesystems in virtual IO
  - Only dummy ext2 plugin ATM
  - Added 'm' command in r2 to manage mountpoints,
    list directories and retrieve files
  - Bonus: hacky version of grub/fs code to use it
    as a standalone API. Plugins will use it
  - API is quite simple and limited, read-only access
2011-01-12 00:01:06 +01:00
pancake
dcb1f9d9fd * Initial draft of the r_fs api 2011-01-07 18:22:02 +01:00
pancake
16eefe9762 * Fix w32 mmap implementation for r_mmap api 2011-01-07 00:42:27 +01:00
pancake
7454f9f224 * Add missing method definitions in r_flags vapi 2011-01-06 23:20:18 +01:00
earada
3e11ab4282 * Use r_cons_free to free the cons buffer. 2010-12-26 23:38:53 +01:00
Nibble
2e26e35584 * Add bb list into RAnalFcn structure
* Analyze bbs per function
* Remove gdiff from radiff2 temporary (deprecate?)
  - Meanwhile ragdiff2 should be used
* Update TODO
2010-12-24 13:27:20 +01:00
earada
cf1d6a1d78 * Use RList in RFLags 2010-12-24 00:51:01 +01:00
pancake
7725fc7136 * Fix segfault in r_list for null pointers 2010-12-17 10:58:38 +01:00
pancake
b53ea8bec1 * Apply @earada patch
- Fixed redundant check in r_hex_str2bin
  - Initialize fd in r_io_new
  - Added Haret IO (WinCE app) plugin
2010-12-13 10:41:28 +01:00
Nibble
2bb73ba631 * Add getter r_anal_get_fcns()
* Install python bindings also in dist-packages
* Update and fix some vapis
2010-12-06 16:26:21 +01:00
Nibble
28d0a62430 * Change gdiff API so it takes 2 core's as args
* Don't output diff info and vars in 'afl' for loc's
* More refactoring of gdiff
2010-12-06 03:34:44 +01:00
Nibble
a0ae2c2286 * Show detailed info for diffing in afl output
* Create struct RAnalDiff and move diff related fields inside
* Move {RAnalFcn, RAnalBlock}.diff from int to RAnalDiff*
* Add r_anal_diff API
2010-12-05 08:46:56 +01:00
Nibble
f50fc41794 * Huge refactoring of gdiff using Levenshtein distance and binmasks 2010-12-04 15:14:53 +01:00
pancake
5e2fd3197e * Added dummy r_bin_demangle 2010-12-03 14:53:06 +01:00
Nibble
fc11acc128 * More work in var analysis
* Put RAnalVar->type and RAnalVar->dir together
2010-12-03 13:52:11 +01:00
pancake
b955a66459 * Apply patch from @earada
- Fixes sha1 and md5 issues on 64bit
2010-12-02 22:32:49 +01:00
Nibble
eb88fa40fc * Set variable direction during function analysis
* Add argument "dir" to r_anal_var_add()
* Fix reg handling in x86im plugin
* Fix variable analysis in r_anal
* Use plugin "x86" in ranal2 by default
2010-11-29 20:06:11 +01:00
Nibble
0ffefbc320 * Modify cmd 'a' to analyze all the fcn's and bb's of the bin 2010-11-27 04:20:19 +01:00
pancake
7c844bb576 * Fix all vapi files fixing valaswig bindings
- Implement missing methods
2010-11-24 23:19:17 +01:00
Nibble
7e8b8a9900 * Show /* func: */ or /* loc: */ in disassemble
* Filter fcn searchs by type (reduce pd time)
* Add arg 'type' to r_anal_fcn_find()
2010-11-23 19:55:31 +01:00
Nibble
e4832f435d * Distinguish betwen fcn's (call refs) and loc's (jmp refs)
* Show fcn type and code xref type in 'afl' output
  - C for calls, J for jmps
* Add optional argument 'type' to command 'af+'
  - l for loc's, f for fcn's (default)
* Add argument 'type' to r_anal_fcn_add()
* Add field type to RAnalFcn and enum RAnalFcnType
2010-11-23 17:15:33 +01:00
Nibble
b3cd57f573 * Add arg reftype to r_core_anal_fcn()
* Add R_ANAL_REF_TYPE_CALL and R_ANAL_REF_TYPE_NULL to RAnalRefType enum
* Set type R_ANAL_REF_TYPE_CALL to call refs during opcode analysis
* Fix bug in r_core_anal_fcn() increasing performance
2010-11-23 14:05:23 +01:00
Nibble
60f54b6969 * Add r_core_anal_fcn_cc() in r_core for Cyclomatic Complexity calc
* Add command 'afc'
* Add fields 'ncalls' (number of calls) and 'conditinal' to RAnalBlock
* Set anal.split=true by default
2010-11-22 15:14:54 +01:00
pancake
f9d33abbb4 * Fix signature of RCore.read_at in r_core.vapi 2010-11-22 01:22:27 +01:00
Nibble
71978e186f * More optimization on the analysis loop
* Add config_analsplit_callback() in anal/config.c to set RAnal->split
* Add field split to RAnal struct
  - Avoid unnecessary call during BB analysis
* Set the default anal depth to 100
* Take into account internal calls in xref analysis
* Rename anal_x86_x86im to anal_x86 and make it the default anal plugin
* Rename anal_x86 to anal_x86_simple (x86.simple)

--HG--
rename : libr/anal/p/anal_x86_x86im.c => libr/anal/p/anal_x86.c
rename : libr/anal/p/anal_x86.c => libr/anal/p/anal_x86_simple.c
rename : libr/anal/p/x86_x86im.mk => libr/anal/p/x86.mk
rename : libr/anal/p/x86.mk => libr/anal/p/x86_simple.mk
2010-11-20 16:47:15 +01:00
pancake
96797846e9 * Fix io_ptrace_read when memory error occurs
- Fixes graphs in debugger mode
2010-11-19 00:49:05 +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
6d515cc1a8 * Update and reorder TODO tasks
* Added r_file_mmap() functions in r_util
* Do not hash files bigger than 10MB
* Fix abspath() return value and signature
2010-11-17 21:15:34 +01:00
pancake
0aafe05b45 * Step now accepts pid+tid
* Fix attach in w32 debugger
  - use dpa and get first thread by default
* Mark with asterisks the selected pid/thread (dp/dpt)
* Fix reg_write in w32
2010-11-17 02:31:56 +01:00
pancake
4db5cded34 * Fix w32dist find command
* Display TODO message in r2 -L
* Implement rax2 -s - and rax2 -
* Honor dbg->tid in many places
* Implement basic stuff for dbg->reason
  - Only w32 and *nix atm
  - Not yet displayed or used
  - Added many new reason types in enum
* Fix w32 register map
* Handle attach:// in io_w32dbg plugin
* Implement w32 process and thread list
  - You can now select the thread
  > dp      # list pids
  > dp=1424 # attach to pid
  > dpt     # list threads
  > dpt=580 # select thread
* Added dummy code to list windows
2010-11-17 00:56:48 +01:00
pancake
d2c2c27607 * Added /proc/pid/task support to get thread list in Linux
* Initial work on boolt typedefinition
2010-11-16 18:19:51 +01:00
pancake
1a02d7b403 * Implement r_core_search_cb() method
* Added boolt and ut8p macros (looking for better names)
2010-11-15 11:06:10 +01:00
pancake
49ab1886c2 * Fix branch analysis in arm thumb
* Various unnecessary syntax changes
2010-11-14 16:38:17 +01:00
pancake
cfa24e1879 * Add XML to ldid r2 debugger for iOS
* Fix build of the r2 debugger on darwin-arm
* Implement list of threads and memory regions on darwin-arm
  - just a draft, needs more work
* Add attach:// IO handler to mach plugin
* darwin does not needs -ldl
2010-11-11 01:09:27 +01:00
pancake/n900
c73cd38c73 * Implement search.find as proposed by @earada
- this commit has been done in my phone..needs testing
2010-11-09 21:18:39 +01:00
pancake
264f95a40e * Fix build in iOS 4.1 (darwin-arm)
- Honor CFLAGS everywhere
  - Use ut?? instead of uint??_t
* Add build instructions in doc/iphone
* Fix some out-of-range conditionals
2010-11-08 19:30:25 +01:00
Nibble
d157655c2c * Release 0.6 codename "the cake is a pie" 2010-10-29 13:58:19 +02:00
pancake
5d107aa50c * Fix build
* Fix soname for libr2.so
2010-10-28 13:12:14 +02:00
pancake
63be7d8070 * Use relative symlinks in versioned libs
* Add r_meta stuff inside r_anal api
2010-10-28 12:10:21 +02:00
pancake
1b5ea31de4 * Use --soname with version number
* Fix redefinition symbol build issue with r_io-desc_free
* Fix compilation of python lang plugin for py>3
2010-10-28 03:23:42 +02:00
pancake
7767f79b35 * Added r_parse and r_print pkgconfig and vapis
* Fix all compilation problems of swig/
  - Many new APIs are now exposed to the bindings
2010-10-28 02:51:01 +02:00
pancake
98cc88700d * Added much more detailed vapis
- Enhaces API support for valaswig bindings
  - I'm probably breaking the build
2010-10-28 00:55:07 +02:00
pancake
89680b63f0 * Fix eflags parsing for x86-32/64 debugger
- added ?f and ?b commands to parse bits and flags
2010-10-26 21:00:54 +02:00
pancake
f7dd1dd66f * Build w32 python bindings in build.sh
* Added 'drb' command to show bytes of GPR
* Fix signature of r_print_hexdump and _hexpairs
* Enhace r_reg test case
* Fix swig/Makefile w32dist target
2010-10-19 22:17:58 +02:00
pancake
9f7040dbf8 * Fix warnings in asmserv on windows
* Some alloca->malloc fixes for w32
* More error checking in r_sys_rmkdir
  - Uses the new r_sys_mkdir_failed() api
  - works on windows and posix
* Disable asm.dwarf when the plugin fails to init
  - Displays a warning message
* Added 'e scr.cols=16'
  - Determines the width of the hexdump (px, x)
  - Used also by Visual mode hjkl dimensions
2010-10-17 23:03:54 +02:00
Nibble
b3ac5bd4d4 * r_core
- Add helpers r_core_disassemble_instr() and r_core_disassemble_bytes()
* bindings
  - Fix go detection
  - Update r_core.vapi
2010-10-09 13:54:08 +02:00
Nibble
124aa07a96 * Add r_core_asm_bwdisassemble for backward disassemble resolution
* Add example using bwdisassemble in swig/vapi/t/bwdisassemble.vala
* Add field len to RCoreAsmHit
* Update vapi's
* Fix memory leak in r_core_asm_strsearch()
* Fix several vala examples
* Fix r_list_iterator warning in vala
2010-10-06 18:04:47 +02:00