You can use gdb on Linux, WinDBG, and could give a try to radare2: it's not as rock-stable as the two previous ones, but it's tailored for reverse engineering, and supports gdb://
and windbg://
protocols ;) All of them have a textual interface that should be suitable for braille-interfaces.
But I guess that the killer-feature of radare2 for blind people is that it has ascii control-flow graphs:
=------------------------------------------------------=
| [0x400536] |
| main: |
| (fcn) sym.main 50 |
| ; arg int arg_0_2 @ rbp+0x2 |
| ; var int local_0_1 @ rbp-0x1 |
| push rbp |
| mov rbp, rsp |
| sub rsp, 0x10 |
| mov dword [rbp - 4], edi |
| mov qword [rbp - 0x10], rsi |
| cmp dword [rbp - 4], 2 ; test.c:2 if (argc > 2) |
| jle 0x400557 ;[a] |
=------------------------------------------------------=
t f
.--------------------------' '------------------------------.
| |
| |
=--------------------------------------------------= =--------------------------------------------------=
| 0x400557 | | 0x40054b |
| mov edi, 0x4005f7 ; test.c:5 puts("Oo"); | | mov edi, 0x4005f4 ; test.c:3 puts("Ok"); |
| call sym.imp.puts ;[b] | | call sym.imp.puts ;[b] |
=--------------------------------------------------= | jmp 0x400561 ;[c] |
v =--------------------------------------------------=
| v
'-----------------------------------.---------------------'
|
|
=-------------------------------------=
| 0x400561 |
| mov eax, 0 ; test.c:6 return 0; |
| leave ; test.c:7 } |
| ret |
=-------------------------------------=
There are a lot of slides available from various talks about radare2, but I guess the easiest way to lrean how to use it is to read the radare2 book. I'm quite sure that everyone would be happy to help you/implement missing features on the irc channel!