Commit Graph

712 Commits

Author SHA1 Message Date
pancake
6e1653881d * Load constant pool from RCore in RAsm
- this is a compiletime module dependency
  - java needs to share constantpool between anal, asm and bin
* Added compile-time introspection POC macros in r_types.h.h
2010-06-29 15:47:30 +02:00
pancake
664732593c * Fix autocompletion in r_line
- All argc/argv responsability has been moved to the callback
  - Makes the code simpler in r_line
  - Do not bypass 70 column width in list of options
  - Remove deprecated code
2010-06-29 01:18:30 +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
a825397309 * Merge heads 2010-06-28 00:43:33 +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
e5428d0edf * Fix segfault in w32 2010-06-28 00:36:47 +02:00
pancake
21d2531b7f * Fix segfault in java disassembler
* Update compilation instructions for w32 in doc/windows
* Identify new osx binaries as mach0, not java
* io.va only works when there are configured sections
2010-06-27 23:12:55 +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
456fb16e90 * Add autocompletion for 'e', 's', 'f' and '?' commands
- Some more stuff must be deprecated in r_line
* Export FILE environment variable in r_core_file_open
2010-06-25 19:47:47 +02:00
pancake
989082a699 * Hacky fixes for Cx/CX xrefs in 'pd' and r_meta
- rmeta now uses m->printf from r_cons (grep-friendly)
2010-06-25 18:00:17 +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
a52c117a05 * Fix cons_grep for line matching
- columns and row grep is not working yet
  - console is now a bit faster, needs more work
  - random code cleanup
2010-06-25 01:44:15 +02:00
pancake
6602442c30 * Initial semi-working implementation for ^r in r_line
- History index inside reverse search is not yet working
2010-06-25 00:43:04 +02:00
pancake
e14bbdf6e2 * Fix ^w in r_line
* Initial implementation of /a command
  - Search for code/data references using code analysis
* Add search.from and search.to eval vars and honor them in '/' command
2010-06-25 00:21:22 +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
37c3e25664 * RCore now depends on RThread
- Loads rabin2 information in a background thread
  - Prompt is now much more responsive
  - Fix segfault in null pointered var in RThread
* rabin2 load strings only from data sections if found
* Split r_core_prompt/exec (make it cooperative-thread-friendly)
2010-06-23 17:30:16 +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
33fdb14643 * Added dummy anal.mips 2010-06-23 04:02:57 +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
790491a707 * Added basic guidelines in TODO.decompiler
* r2 now support -s and -b with ut64/ut32 offsets
* Remove 'goto' statement
2010-06-21 21:08:43 +02:00
pancake
255504b79c * Added initial aop_to_string() method for RAnal
- accessible via asm.decode
* Add more 'Vd' keys (data, code, string, ..)
2010-06-21 11:55:48 +02:00
pancake
00214c95ef * Add 'C-*' command to unset all metadata 2010-06-21 02:05:23 +02:00
pancake
ade05c9aeb * Display some string references on x86
* In 'pd' display strings as text, not opcodes
* Added 'Vdu' command to undefine metadata and flags on cursor
* Better support for visual cursor
* Added f-@ command to undefine flags at given address
* Fix parse of C* commands
* Added C- and C[xXsSm..]- to unset metadata
* Disable cursor when quitting visual mode
2010-06-21 01:58:45 +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
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
123faacd3c * Implement r_anal_cond_eval() and r_anal_value_to_ut64() functions
- Code seems to work and basicblock conditionals can be evaluated
  - Show 'match' result in 'abl' command
  - Wrong namespace
2010-06-18 00:53:47 +02:00
pancake
4812bb5877 * meld heads 2010-06-18 00:10:09 +02:00
pancake
5399367daa * Propagate two arguments for conditionals
* Rename RLFList to ROFList (25.2% funnier than before)
2010-06-18 00:06:19 +02:00
Nibble
3eb855f6c4 * r_bin
- Rename characteristics into srwx
  - Fix ref to binmain in the pe64 plugin
* r_bin_pe
  - Rename section.characteristics into section.flags like in
    the other formats
2010-06-17 18:45:27 +02:00
pancake
c8da941768 * Very early work on r_anal_call api
* Initial support for visual cursor with invert cons in 'pd' bytes
  - Some changes in '*' and '/' keys in visual modes (+-16)
  - '+/-' in visual cursor works as in r1 (inc/dec cursor byte)
* Rename 'zf' into 'zh' for header, not function
  - 'zf' stands now for function signatures (args, types, ret, ...)
2010-06-17 17:55:39 +02:00
Nibble
9e49939dab * Revert wrong "bb memory leak" fix (again xD)
- RAnalBlock must keep a list of the analyzed opcodes
  - Those RAnalOp are not freed because they are added to this list
2010-06-17 10:04:51 +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
882d7efa7b * Add more 'cmp' opcodes support in analysis for x86
* memref now specifies the size of pointer
  - this is serialized as a cast (char) ..
  - no sign support yet
2010-06-17 01:48:51 +02:00
pancake
c528edf318 * Link r_reg when r_anal 2010-06-17 00:04:57 +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
a129564c1c * r_anal
- Don't free appended aop's
  - Set bbc->cond = NULL in printed bbs list
2010-06-15 16:19:20 +02:00
Nibble
5751019088 * Build
- symstall pkgconfig
  - Fix symstallation of plugins
2010-06-15 15:31:17 +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
Nibble
19dfb38b23 * r_core
- Fix segfault (pancake)
* Build
  - Remove rpath stuff
  - Simplify Makefiles
  - Add rafind2 to binr/Makefile
  - Add symstall to binr and r2rc
  - Fix minor deinstall issues
2010-06-15 13:10:46 +02:00
Nibble
2d81aabbd5 * Fix the build of radare2 and radiff2
* Remove r_line dep from cons/t/Makefile
* Build r_cons before r_line in libr/Makefile
2010-06-15 01:23:34 +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
16089bb6e9 * Fix build of binr/
- Some missing deps everywhere
* Initial work for RAnalCond
2010-06-15 00:46:18 +02:00
Nibble
1c59267c88 * Fix segfault in cmd 'agd offset' 2010-06-14 19:35:44 +02:00