Commit Graph

139 Commits

Author SHA1 Message Date
pancake
ee39ba239a * Add 'FS' #define for w32 and *nix
* Add support for thumb mode ARM disassembler
  - Workaround a warning in r_vm for arm-16
* More work on drx.c, but still not integrated
2010-10-04 00:42:11 +02:00
pancake
8081f02601 * Fix uninitialized variable in rabin2
* Fix null pointer handling in rbin when no xtr plugin found
* Initial draft code for the x86 debug registers implementation
* Fix avr* command
2010-10-01 11:10:59 +02:00
pancake
d71fcd2708 * Do not show color prompt in windows
* Fix build on w32
* Finish the symgraph script
2010-09-24 19:04:33 +02:00
pancake
124786c1ac * Added 'drd' command to show only modified regs
* Added r_list_foreach_prev()
* Add RSyscallPort to handle Hardware I/O ports
* Remove libr/TODO and refactor /TODO
* Link with 'ld' in rarc2-tool for nasm
2010-09-24 16:45:56 +02:00
pancake
eb6dbb2245 * Initial draft implementation of hardware breakpoints
- use specific ptrace() calls in linux/freebsd to change regs
  - hwbp are not yet working, just basic DRX get/set
  - generic interface to handle hw bps in x86-32/64
  - needs to import DR# handling code from r1
2010-09-24 05:41:54 +02:00
pancake
84dd63b743 * Add 'bf' command to change block size based on flag size
- Added help in 'b?'
* Added support for bit-collection registers
  - eflags is now displayed as a string
  - debug/p/debug_native.c needs a correct x86 flag string
* Fix segfault when listing empty register sets
2010-09-24 04:09:39 +02:00
pancake
46aa9f5f7e * Implement stacked register storage
- Add support for register diffing
  - Colorize modified registers are step/cont
  - Add command 'dro' to show old register values
  - requires make clean
2010-09-23 20:42:35 +02:00
pancake
b339189b5f * Added r_reg_arena_set and r_reg_cmp in order to implement regdiffing
* Added R_DBG_REASON enums
2010-09-20 14:02:45 +02:00
pancake
1356a9bdd1 * Highlight destination offset when cursor on jmp/call in visual
* Show call decompilations under the opcode as a comment
* Rename RRegister as RReg
  - Deprecate r_reg_init and use r_reg_new
  - Rewrite the list.h dependency in r_reg in order to use r_list
  - Fix some memory leaks
* Implement push/pop methods in RReg class
  - add test case using it
  - will be used for register diffing and tracing
2010-09-18 02:51:17 +02:00
pancake
1fa134ca4f * Clean many warnings
* Reasign TODO points
2010-08-16 17:48:47 +02:00
pancake
01fa57d832 * Merge old w32 build fix
* Add 'c' in '?' help message
* Import edu's RList-ification of RSearch patch
* Deprecate r_search_kw_list() method
* Fix build of r_socket_to_string() method on w32
2010-08-08 19:03:51 +02:00
Nibble
f853dab09f * More fixes on mingw32 build
* Update VERSION in swig configure script
* Update doc/windows
2010-07-24 12:44:19 +02:00
Nibble
344bcf16a6 * Fix build 2010-07-23 12:19:39 +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
pancake
9587e5ac9a * Implement #md5 #md4 #sha1 #sha256 #sha512
* Fix r_print flags in visual
* Fix r_debug_trace_pc
* Import some macros from bithacks.h
2010-07-16 00:02:33 +02:00
pancake
2f09509630 * Fail when binr build fails somewhere
* userconf R2_VERSION
* Implement some more # hashing algorithms
2010-07-15 13:34:53 +02:00
pancake
a2ab58dbe6 * Implement 'Ct' command to manage anal_var_types
* Minor todo cleanup
* Use more PFMT64
2010-07-13 10:56:56 +02:00
pancake
182b7737cf * Remove deprecated documentation
* Some syntax fixes
* Some changes in the design of the vars in r_anal
* Remove 'CF' command and META_FUNCTION type
* Fix 'S' '*' mark when in debugger
2010-07-02 02:01:51 +02:00
pancake
236d78295d * Fix debug regs, memory read in w32 debugger
- Fixes some segfaults and null string issues
  - Simplify and clean code (still more work needed)
* TODO: updated
2010-06-28 14:12:34 +02:00
pancake
80fc77a8b4 * Fix w32dist segfault in plugin.dll
* Fix read registers in w32 debugger
  - seek do not seems to work
2010-06-28 02:12:35 +02:00
pancake
3fb6db9f11 * Fix segfaults in cons and debug for w32 2010-06-28 01:04:27 +02:00
pancake
39a8c23740 * Major refactoring in r_meta
* Added C! command that calls r_meta_sync()
    - put xref information inside function metaitems
    - reduces cpu usage
  - Fix some memory leaks
  - Add object lifecycle for r_list_item_t
  - Use RList instead of list.h
* Apply patch from edu fixing '+' key in visual (Thanks!)
* Fix segfault in osx printf ("%s", NULL) using r_str_get()
2010-06-28 00:43:07 +02:00
pancake
e101e5023d * Fix build on mingw32 2010-06-27 22:14:06 +02:00
pancake
d47e67cdd1 * Fix build for osx-x86-32 2010-06-27 21:33:32 +02:00
pancake
c73e43bf40 * Fix print_address function for mips disassembler
* Implement 'gp' register index inside .got section for get_main on mips
* Use more switch() in core/cmd.c
* Simplify some random code
2010-06-27 21:33:11 +02:00
pancake
f641df833b * Initial working version of the MIPS code analysis
- imported from r1
* Implement the syscall table for linux-mips
* Do not use tabs in the mips disassembler
* Fix other uninitialized state segfaults in r_debug
2010-06-23 13:43:08 +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
5748a66278 * Fix segfault in stepover in non-debugger mode
* Check if file exists before launching rabin to avoid noisy messages
* Disable io.va when using the debugger
* io.va is now enabled by default (static-analysis-friendly)
2010-06-22 20:27:14 +02:00
pancake
276f186e7e * Add rafind2.1 manpage
* Many cleanups in the TODO files
2010-06-18 17:52:30 +02:00
pancake
4f8fc7d926 * Added traced field in RAnalBB
- Display 'traced' flag in 'abl' command
* Initial work on 'dd' command (filedescriptors)
  - API defined, not yet implemented or used
2010-06-18 11:09:19 +02:00
pancake
23ad3d2415 * Added asm.linescall=false (default)
- Implemented in anal_reflines to skip call analysis for lines
* Set dbg.trace=true by default
* Display trace count and times in 'pd' (asm.trace)
  - counter starts as 1, not 0 :)
* Added 'absolute' variable in RAnalValue (not yet used..)
  - Defines the sign of the value (needs arch-dependent code)
* Sync TODO files
2010-06-17 02:22:50 +02:00
pancake
e36ef11025 * Initial working basic block conditional decompilation
- Only 'test' opcode for x86 is currently supported (just for testing)
  - analysis backend generates RAnalValue's for each argument
  - compiles a cmp+cjmp into a RAnalCond class
  - de/serializes the RAnalCond into an evaluable string
  - Make anal api more stable
* Fix a memory leak in anal_bb
* Reassign anal->reg into dbg->reg
  - Replicate dbg->reg into dbg->anal->reg
  - Such nasty cascade assignation..
2010-06-16 21:44:19 +02:00
pancake
a580ff4fa8 * Initial implementation of the subclassed RLFList class
- Implements a serialized RFList inside a RList container
  - Allows faster scans on contents
* Initial import of the RAnalCond/Value code
  - Not yet usable..just refactoring..
  - Handle null pointers in reg classes
* Added not-yet-working emit_arm.c for r2rc tool
2010-06-16 09:42:46 +02:00
Nibble
414f5a38bc * More fixes on build system
- 'make mrproper' now works like 'hg purge --all'
  - More fixes on 'make clean'
  - Remove some missing -Wl,-R
2010-06-15 14:10:42 +02:00
pancake
4476148913 * Workaround for r_debug_recoil()
* Simplify build of r_diff (nibble)
* Add debugger breakpoint test script
2010-06-15 00:59:32 +02:00
pancake
f0cca138db * Fix 'bx lr' and 'ldr pc,[pc,#]' code analysis for arm
* Added 'ata' command to specify a list of valid traceable adddresses
* some initial work on r_db.. iterators not yet supported
2010-06-13 11:59:17 +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
pancake
b7c554b24a * Some linkage fixes for binr/
* Added 'at' command (not yet implemented at all)
  - Some refactoring in r_debug_trace code
  - Remove deprecated r_trace.h
2010-06-04 00:56:44 +02:00
Nibble
4235dd2a8e * Fix bug with static plugins
* Treat r_cons and r_line as singleton in r_core_init
* Move gdiff to r_core
* Fix libgmp support

--HG--
rename : libr/diff/gdiff.c => libr/core/gdiff.c
rename : libr/diff/gdiff.h => libr/core/gdiff.h
2010-05-28 02:44:51 +02:00
Nibble
4ead120e53 * Rename "handler" to "plugin"
* Rename */handler.c to */plugin.c
* Rename "handle" to "handler" in r_lib

--HG--
rename : libr/bp/handle.c => libr/bp/plugin.c
rename : libr/cmd/handle.c => libr/cmd/plugin.c
rename : libr/debug/handle.c => libr/debug/plugin.c
rename : libr/io/handle.c => libr/io/plugin.c
2010-05-26 18:25:35 +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
5cf81db968 * Build
- rename 'make ins' to 'make symstall'
  - more build fixes
  - all libs must be compiled before r_debug & r_core
  - Remove r_cons & r_print dependencies from asm/t/Makefile
  - Add r_anal dependency to debug/t/Makefile
2010-05-25 20:40:47 +02:00
pancake
76e52fdeb0 * Added install-symlink (0.3s vs 3s) faster install for devel
* Added 'S' key in visual mode (step over)
* Safer 'dcc' and 'dcr' commands using step over if necessary
  - Skip current instruction (do not lock on calls, rets..)
* Implement step over functionality
2010-05-24 17:51:51 +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
7abcfe6852 * Refactoring
- Remove all init functions (included in _new)
  - Update vapi's (needs more work)
2010-05-20 17:40:58 +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
9add8fe3d9 * Add 'dpf' command to set pid=core.file.fd
* When cfg.debug=true use dbg.backend ("native")
  and select core.file.fd.. this simplifies use
2010-04-11 01:46:07 +02:00
pancake
9fcdcce2a7 * Some sorting of TODOs
* Disable asm.x86.nasm assembly on non-intel syntax
* rpathstrip after install (should fix debian issue)
2010-03-25 21:14:28 +01:00
pancake
728bd1f817 * Fix w32 build 2010-03-25 10:18:59 +01:00
pancake
31e3aa76c0 * Some fixes to build in windows
- Still not working..but just a PoC
2010-03-24 19:20:46 +01:00