* Minor fix for VT and pdi

This commit is contained in:
pancake 2011-11-24 09:50:40 +01:00
parent d0f81b8490
commit 32713fceb9
3 changed files with 29 additions and 16 deletions

31
TODO
View File

@ -7,33 +7,35 @@
====[[ 0.9 ]]====
* list functions.
* Add !load in r2 (oo args)
* implement 'ax' to get/set xrefs (better than afl <addr>) .. or afx?
* shell encoder - get x86-64 one from twitter
- http://funoverip.net/2011/09/simple-shellcode-obfuscation/
- shellforge.. and review current shellcodes :?
* show analized functions in 'aa'
* Optimizations:
- RAnalValue must be static, not ref
- save memory and accelerate code analysis
- basicblock signatures must be just pointers to a big buf
* Refactor get_sym() and so on...
* Tracing support for the debugger
- "e cmd.trace=dr=;.dr*;pd 2@eip"
- dca sym.main imp.printf
- dbc
* Add !load in r2
* Add support for classes (useful for c++, dex, objc, ...)
- command to add new classes
* rasm2 must support binary creation help message or so.. rabin2 integration must be easier
* Add support for 'expect' like foo in rarun2
* TODO: make elf/pe get_os() and others return const and not strdup
- make rarun live in a lib.. or at least be usable from r2
* 'ao' must be for bytes count, not bytes
* asm.pseudo for brainfuck
* implement 'ax' to get/set xrefs (better than afl <addr>)
* shell encoder - get x86-64 one from twitter
- http://funoverip.net/2011/09/simple-shellcode-obfuscation/
* use centralized pubsub or memcached to sync data // redis?
* rabin2 -z /dev/sda1 TAKES TOO LONG. opening r2 /tmp/fs is SLOW as shit.
===[[ 0.9.1 ]]===
* Optimizations:
- Refactor get_sym() and so on...
- TODO: make elf/pe get_os() and others return const and not strdup
- RAnalValue must be static, not ref
- save memory and accelerate code analysis
- basicblock signatures must be just pointers to a big buf
OSX
===
* Proper support for MACH-O binaries
@ -323,6 +325,7 @@ Refactoring
Future
======
* use centralized pubsub or memcached to sync data // redis?
* r_file_slurp should work fine for big files (not prio) r_file_slurp_buf?
- mmap if supported - add r_file_mmap ? - read file in blocks instead of the whole file in a single syscall
* Realign flags when using project in debug mode

View File

@ -1907,7 +1907,7 @@ static int cmd_print(void *data, const char *input) {
ret = r_asm_disassemble (core->assembler, &asmop, buf+i, core->blocksize-i);
if (ret<1) {
ret = err = 1;
r_cons_printf ("0x%08"PFMT64x" ???\n", core->offset+i);
r_cons_printf ("0x%08"PFMT64x" %14s%02x %s\n", core->offset+i, "", buf[i], "???");
} else r_cons_printf ("0x%08"PFMT64x" %16s %s\n",
core->offset+i, asmop.buf_hex, asmop.buf_asm);
}

View File

@ -234,11 +234,12 @@ R_API int r_core_visual_trackflags(RCore *core) {
}
R_API int r_core_visual_comments (RCore *core) {
char *str, cmd[1024], *p = NULL;
char *str, cmd[512], *p = NULL;
int mode = 0;
int delta = 7;
int i, ch, option = 0;
int format = 0;
int found = 0;
ut64 from, size;
RListIter *iter;
RAnalFcn *fcn;
@ -247,8 +248,11 @@ R_API int r_core_visual_comments (RCore *core) {
for (;;) {
r_cons_gotoxy (0, 0);
r_cons_clear ();
r_cons_printf ("Comments:\n");
i = 0;
found = 0;
mode = 0;
r_list_foreach (core->anal->meta->data, iter, d) {
str = r_str_unscape (d->str);
if (str) {
@ -258,6 +262,7 @@ R_API int r_core_visual_comments (RCore *core) {
r_str_sanitize (str);
if (option==i) {
mode = 0;
found = 1;
from = d->from;
size = d->size;
p = str;
@ -270,6 +275,10 @@ R_API int r_core_visual_comments (RCore *core) {
i++;
}
}
if (!found) {
option--;
continue;
}
r_list_foreach (core->anal->fcns, iter, fcn) {
if ((i>=option-delta) && ((i<option+delta)||((option<delta)&&(i<(delta<<1))))) {
if (option==i) {
@ -343,6 +352,7 @@ R_API int r_core_visual_comments (RCore *core) {
if (p)
free (p);
return R_TRUE;
case '?':
case 'h':
r_cons_clear00 ();
r_cons_printf (