2009-04-02 00:07:58 +00:00
|
|
|
____ ___ ____ ___ ____ ___ ______ ____
|
|
|
|
| _ \/ \' \/ \ _ \/ _ \ \__ | / \
|
|
|
|
| < V . T . V < _/ .--'_/ | () |
|
|
|
|
|_|\__|_|__|___/|_|_|_|\__\___/ |_____(_)____/
|
|
|
|
|
2010-06-17 22:08:10 +00:00
|
|
|
|
2009-04-02 00:07:58 +00:00
|
|
|
<{include libr/TODO}>
|
2010-02-05 11:21:37 +00:00
|
|
|
|
2010-06-17 00:22:50 +00:00
|
|
|
VERY IMPORTANT
|
|
|
|
==============
|
2010-06-17 15:55:39 +00:00
|
|
|
* trace counts after step..thats not correct!
|
2010-06-17 00:22:50 +00:00
|
|
|
* nibble: rename characteristics into srwx
|
2010-06-17 15:55:39 +00:00
|
|
|
* implement GMP in util/big.c
|
|
|
|
* pancake: implement RAnalCall (analyze function arguments, return values, propagate types..)
|
2010-06-17 00:22:50 +00:00
|
|
|
* Visual byte cursor in disassembly
|
|
|
|
* Write manpages for r2, r2rc, r2rc-tool, rafind2 and rasign2
|
|
|
|
* Implement C command as in r1 (same for visual..define strings, hexdumps, etc..)
|
|
|
|
* Implement 'av' command we need it (really?) how about to eval with ?
|
|
|
|
* code analysis with r_parse // isnt this already done? nibble?
|
2010-04-09 11:24:40 +00:00
|
|
|
RAnalAopArg {
|
|
|
|
int size;
|
|
|
|
int delta;
|
|
|
|
int type;
|
|
|
|
}
|
|
|
|
r_anal_aop_arg_set ();
|
|
|
|
r_anal_aop_arg_get ();
|
|
|
|
r_anal_aop_arg_binmask ();
|
2010-06-17 00:22:50 +00:00
|
|
|
* diff code analysis // nibble
|
|
|
|
- diff two programs
|
|
|
|
1st level:
|
|
|
|
- check all functions EQUAL, DIFFERENT, REMOVED, ADDED
|
|
|
|
- check all symbols
|
|
|
|
- check all imports
|
|
|
|
- check all strings
|
|
|
|
2nd level:
|
|
|
|
- basic block level diffing (output in graph mode)
|
2010-04-07 09:07:59 +00:00
|
|
|
|
2010-06-17 00:22:50 +00:00
|
|
|
FOR THE RELEASE WE HAVE TO:
|
|
|
|
===========================
|
|
|
|
* fix Vu, deosnt seems to work fine ..
|
2010-03-23 11:30:04 +00:00
|
|
|
|
2010-06-17 00:22:50 +00:00
|
|
|
Analysis
|
|
|
|
========
|
|
|
|
* Do we have to enable jump/call toggles for breaking basicblocks? (yes/no)
|
|
|
|
* we need an api to define function signatures
|
|
|
|
// integrated with function signatures
|
|
|
|
// offset -> formatstring (offset is the key to function signature)
|
2010-04-05 20:49:22 +00:00
|
|
|
* analyze push arguments before function calls
|
|
|
|
- define number of arguments for given function
|
|
|
|
- when the number of arguments differs between the calling
|
|
|
|
and the result of the code analysis of the given function
|
|
|
|
we should warn
|
|
|
|
- this kind of warnings must be done with r_log_ functions
|
|
|
|
so we hook it into a log file
|
|
|
|
|
2010-06-17 00:22:50 +00:00
|
|
|
Bindings
|
|
|
|
========
|
|
|
|
* generate accessors automatically from valaswig
|
|
|
|
* Script plugins
|
|
|
|
- We should enable r_lib to implement plugins in any
|
|
|
|
scripting language, so we can for example prepare
|
|
|
|
a .c stub interface for python/perl/ruby/..
|
|
|
|
- this requires a swig bridge
|
2010-03-25 20:14:28 +00:00
|
|
|
|
2010-06-17 00:22:50 +00:00
|
|
|
Build system
|
|
|
|
============
|
|
|
|
* install.sh (to track installed files ..)
|
|
|
|
changes and per-opcode execution count (RRange)
|
|
|
|
|
|
|
|
Refactoring
|
|
|
|
===========
|
|
|
|
* Move disasm loop into r_print (r_print should depend on r_asm)
|
|
|
|
* Move 'r_syscall_t' stuff into r_debug
|
|
|
|
- Sync r_core
|
|
|
|
* merge r_asm and r_anal?
|
2010-05-20 23:46:26 +00:00
|
|
|
* Is RCore->block and blocksize a RBuf ? refactor!11
|
2010-06-17 00:22:50 +00:00
|
|
|
|
|
|
|
Design
|
|
|
|
======
|
|
|
|
* references: data (read, write), code (call, jmp)
|
|
|
|
* filter search results..
|
|
|
|
cc 8080 @@ hit* .. check for values that has changed.
|
|
|
|
- maybe we should 'cache' some memory regions
|
|
|
|
* Add 'prj.name', 'prj.desc'
|
|
|
|
* Add description to project e file.desc ?
|
2009-09-08 18:16:52 +00:00
|
|
|
|
2010-06-17 00:22:50 +00:00
|
|
|
Future
|
|
|
|
======
|
2009-02-09 11:42:54 +00:00
|
|
|
* radare2 -e dbg.engine=vm -d ls
|
|
|
|
- load the program using r_bin in virtual space
|
|
|
|
- initialize vm and set regs
|
|
|
|
- debug backend should use the vm
|
2009-03-09 02:03:32 +00:00
|
|
|
|