Commit Graph

176 Commits

Author SHA1 Message Date
Nibble
4b168c8748 * Fix build 2010-10-27 16:24:56 +02:00
pancake
8ed7004780 * Some fixes, null pointers and other beasts
found thanks to the python bindings
2010-10-26 18:24:14 +02:00
pancake
8149bab431 * Remove \r (thanks @earada) 2010-10-18 11:54:12 +02:00
Nibble
7fe2f823e7 * Fix build for win
* Fix string rva in r_bin
2010-10-17 20:38:19 +02:00
pancake
1fc70da3c9 * Analyze cmp/ldr/str opcodes in arm thumb
* Minor work to fix the cursor issues
2010-10-08 11:10:25 +02:00
pancake
daa5d0fd38 * Implement ldmia/stmia in armthumb_assemble
- added also: yield, wfe, wfi, sev, bkpt
  - fix ldr{bh} and str{bh}
* Initial implementation of the arm-thumb code analysis module
2010-10-08 00:27:38 +02:00
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
Nibble
7d1303292e * r_anal
- Fix segfault in anal_x86_x86im (64bits)
  - always show analysis warnings
* r_core
  - Fix /a output
2010-09-28 18:52:46 +02:00
Nibble
697490a661 * r_core
- Implement 'ar' commands
  - Show XREFS in disassembly
* r_anal
  - Add r_anal_xref_get
2010-09-28 18:05:31 +02:00
Nibble
eb811bbf08 * r_core
- Deprecate ah and add anal.plugin
  - e anal.plugin=? list available plugins
  - Add the command 'ar' to handle refs/xrefs
  - Remove old CX and Cx stuff
  - Remove afg (done by af)
* r_anal (& r_meta)
  - Remove refs/xrefs stuff from r_meta
  - Handle refs from r_anal
  - Add r_anal_ref_{add, del}
* rabin2
  - Add 'e anal.plugin' to the output of rabin2 -Ir
2010-09-28 13:58:03 +02:00
Nibble
cbdfff3dda * Minor fixup in anal_x86_x86im
- swapped dst src in *_MM_RG
2010-09-23 13:56:08 +02:00
Nibble
69d08e1514 * Huge refactoring of x86_x86im using r_anal_value
- next step is integrate it in the analysis engine and deprecate old stuff
* Add field "imm" (immediate value) to RAnalValue
2010-09-23 13:25:46 +02:00
Nibble
49dceaaffd * More work on anal_x86_x86im refactoring 2010-09-22 18:31:15 +02:00
pancake
183dffcd6b * Fix push immediate opcode analysis in basic x86 analysis
* Import simple arm assembler
* Some fixes for the brainfuck disassembler plugin
2010-09-08 19:49:34 +02:00
Nibble
59ac6a7c8b * Refactoring of /a
* ptrdepth works right with code and data refs
* More work in x86im plugin
  - Fill op.refs for more opcodes
  - Next step is a massive refactoring using r_anal_value
2010-09-08 11:52:10 +02:00
Nibble
f7693a14d2 * Huge refactoring of anal_x86_x86im
* Add comments in anal_x86_x86im explaining how x86im parse the opcodes
* Implement analysis for more opcodes
* Rename R_ANAL_OP_TYPE_RCALL into R_ANAL_OP_TYPE_UCALL (more generic)
* Update anal_mips.c and r_anal.vapi
* Update TODO
2010-09-05 21:20:56 +02:00
Nibble
3aeade1fa7 * Fix build of anal_x86_x86im 2010-08-27 18:38:51 +02:00
pancake
984b5c4d16 * Apply edu's project patch
- CC now ask for size, like the rest of r_meta_add commands
  - Project tracks meta, xrefs and sections information and actual offset
  - Visual add comment patched to use new r_meta_add comment with size
  - Documented C* in r_meta help.
2010-08-26 04:19:12 +02:00
Nibble
98a09ecd52 * ranal2
- Add stackop2str() and optype2str()
  - Output op type
* r_anal
  - Fix fcn analysis
  - Remove test_anal.sh
2010-08-25 02:27:42 +02:00
Nibble
aed141180e * ranal2
- Move t/test_anal to binr/ranal2
  - Add support for static/dynamic plugins
  - Add flag '-B' for binary input
  - Add support for ascci hexpairs
  - Now input can be given through argv or stdin
  - Output analyzed bytes
* r_asm & r_anal
  - Improve output of r_*_list

--HG--
rename : libr/anal/t/test_anal.c => binr/ranal2/ranal2.c
2010-08-24 22:16:03 +02:00
Nibble
c83d11ffd4 * r_asm
- Update udis86 to git head
* r_anal
  - Print more fields in test_anal
* r_socket
  - Rename socket_udp_connect to r_socket_udp_connect
* Fix build
2010-08-24 19:59:19 +02:00
pancake
3abfbe418d * Swap file-offset order in visual prompt
* Fix build
2010-08-23 12:39:00 +02:00
pancake
4d50a86855 * Initial implementation of the rap:// IO plugin
- RMT packet descriptions are in r_io
  - io.rap plugin is now compiled by default.
    $ rm -f plugins.cfg
    $ ./configure-plugins
* Some syntax fixes in r_vm
* RCore.r_core_server() method uses r_io_is_listener() to wait for connections
* Some minor fixes in r_socket
  - Add r_socket_read_block() fixes SIGPIPE and network issues
2010-08-22 21:42:08 +02:00
pancake
3c8ddce624 * Import more r_anal_var stuff from r1
- Implemented 'af[aAv]' command.
  - In r1 this command is 'CF[aAv]'
  - Variable contents are not displayed yet
2010-08-22 18:41:57 +02:00
Nibble
5b9d174fbc * r_anal
- Add test_anal (to speed up the development of analysis plugins)
  - Add test_anal.sh (helper)
* r_core
  - Remove debug msg from the output of cmd 'i'
2010-08-20 21:47:58 +02:00
pancake
b6cc9ca1ba * Merge r_meta inside r_anal
* Display filename in title line of Visual mode

--HG--
rename : libr/meta/README => libr/anal/README.meta
rename : libr/meta/meta.c => libr/anal/meta.c
rename : libr/meta/t/test.c => libr/anal/t/test_meta.c
rename : libr/meta/type.c => libr/anal/type.c
2010-08-20 00:36:22 +02:00
Nibble
4b052b53ee * r_core
- Add cfg var anal.ptrdepth to define analysis depth for indirect references
  - Add support for indirect references to /a (needs more testing)
* r_io
  - Remove perror msg from r_io_read_i()
* r_anal
  - Minor fixups in arm and x86 plugins
2010-08-19 02:30:12 +02:00
pancake
1fa134ca4f * Clean many warnings
* Reasign TODO points
2010-08-16 17:48:47 +02:00
pancake
14516c7e9c * Implement 0x2e and 0x64-0x67 conditional jmp opcodes on x86
* Stop parsing commands at '#' char (comment)
* strclean command strings before executing them (fixes some issues with spaces..)
* V: is now honoring cursor position in cursor mode
2010-08-16 13:59:48 +02:00
pancake
ddd67f7f3e * initial parsing of 'jns' in anal_x86.c
* Use RList in RIOMap
  - deprecate _list
2010-08-16 11:24:13 +02:00
pancake
3ced8a528c * Initial work on function_from_string parser for r_anal
- CF? for testing
2010-08-12 12:19:25 +02:00
Nibble
02251522ea * r_core
- Add cmd '/c' for searching asm code
  - Add config var search.asmstr
* build
  - Minor fixups in "make mrproper"
2010-08-11 17:48:02 +02:00
pancake
8a3c845627 * Implement @:blocksize syntax for commands
* Some reordering of the TODO
2010-08-10 12:34:10 +02:00
pancake
c101235102 * Analyze 'svc' opcode in ARM as software interrupt
- Interrupt number is stored in aop->value
  - Add dummy syscall table for osx/arm
  - Fix identification of syscall table on iOS bins
* Fix rabin2 -z on MACH0 binaries
2010-08-09 23:38:32 +02:00
Nibble
a7750b3204 * r_anal
- Add field at to RAnalRef
  - Set ref->at to the addrees of the opcode which does the
    jump/call
  - Set correctly the xrefs "from" address
* r_core
  - Modify afl to accept an optional argument [fcn name] to
    filter output by function
  - Change afl output to group xrefs by type (code and data)
2010-08-02 12:42:59 +02:00
Nibble
cfc552e156 * r_anal
- Fix bb split algoritm
* build
  - Fix "make clean" in bin/t
2010-08-02 09:54:50 +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
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
a2ab58dbe6 * Implement 'Ct' command to manage anal_var_types
* Minor todo cleanup
* Use more PFMT64
2010-07-13 10:56:56 +02:00
pancake
c36f43c55c * Check 'hg' before starting to build.sh
* support array types for function string serialization
* Fix undo seek when io->va is enabled
  - Fix Vu and VU commands (must read after seek)
* Add patch from edu adding Start/End keys support in dietline
  - Fix r_parse_x86_pseudo for att syntax
2010-07-13 01:00:36 +02:00
pancake
67ad35187b * Refactor TODO
* Added r_anal_fcn_to_string() and get_var()
  - vars now have array size and direction
* Some random fixes
  - minor opimitzation in autocompletion (thx edu)
* Added Vtlr command to rename in visual tracked flags
2010-07-12 21:37:40 +02:00
Nibble
14b3479658 * r_anal
- Modify stackptr on 'ret imm'
  - Improve analysis of 'push ref' instructions
* r_bin
  - Print a Warning message when a fat mach-o is opened
* Update TODO
2010-07-12 17:17:31 +02:00
pancake
07d55075ae * Add openbsd|netbsd|freebsd to the list of automatic ostypes
* Do not allow to build if shared object extension is not defined
* Remove the use of R_META_FUNCTION in r_core (this was breaking the build)
  - Now takes the information from the r_anal->fcns
  - Uses the new function r_anal_fcn_find()
* The 'pdf' command now prints the whole function independently of your
  offset. This also simplifies a bit the r_print_disasm function.
2010-07-03 03:35:26 +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
e101e5023d * Fix build on mingw32 2010-06-27 22:14:06 +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
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