10 Commits

Author SHA1 Message Date
Riccardo Schirone
b703dfbf17 anal/xrefs: single, global xrefs API
* several bugfixes
* Fix xrefs/refs confusion with asm.cmt.refs
* Also check if xref source is valid offset
* Fix ax* to show type of ref
* anal/xrefs: pass the right hashtable to mylistrefs
* r_anal_refs_get should use anal->refs, not anal->xrefs
* anal/fcn: add xref also when there's a CALL to a noreturn function
* projects: use radare2 output of ax command to save/restore xrefs
* core/cmd_anal: when analyzing calls, we should use REF_TYPE_CALL
* core/canal: use xrefs API, because the list is a just a copy
* core/canal: rename "loc." entries to "fcn." when a CALL is found
* sort xrefs to make results consistent
* core/canal: avoid recomputing function every time during `aan`
* anal: move fcn_refs/xrefs functions to the xrefs.c file
* core/canal.c: avoid iterating fcn xrefs list
* anal/xrefs: compute fcn xrefs by analyzing fcn addresses
* remove other unused functions
* anal/xrefs: remove fcn_xrefs_add and fcn_xrefs_deln
* anal/xrefs: remove old fcn->refs/xrefs
* anal/xrefs: directly store RAnalRef objects in the hash table
* libr: prevent memory leaks when using refs/xrefs
* anal/xrefs: merge anal/ref and anal/xref and clean API

Big xrefs/refs refactoring that provides a more uniform and simple API.
It avoids changes to refs/xrefs except through the API and it keeps all
xrefs/refs info in one single place, to improve consistency.

Thanks to:
Riccardo Schirone <sirmy15@gmail.com>
pancake <pancake@nopcode.org>
rene <rlaemmert@gmail.com>
2018-05-04 21:40:47 +02:00
Florian Märkl
93d9f4ec66 Add mask parameter to r_anal_op() 2018-03-16 11:10:15 +01:00
Florian Märkl
c01bfe9ea1 Make av, avr and avra breakable 2018-03-14 20:05:33 +01:00
Florian Märkl
086c3a144e Add anal.cpp.abi 2018-03-12 23:34:34 +01:00
Florian Märkl
8fb26b919b VTable End on Reference 2018-03-12 23:34:34 +01:00
Florian Märkl
d39970e83b RTTI: Read MSVC Class Hierarchy Descriptor 2018-03-12 23:34:34 +01:00
Florian Märkl
94b486cf3e RTTI: Read MSVC Complete Object Locator 2018-03-12 23:34:34 +01:00
Anton Kochkov
114f59a7e0
Fix vtables detection 2018-03-12 18:28:05 +08:00
Florian Märkl
e61339a3d0 More VTables (#9646)
* List vtable methods without fcn, Merge r_anal_list_vtables() and r_anal_list_vtables_all()

* Additional info in av*
2018-03-10 21:28:27 +01:00
Florian Märkl
59e4408d70 Move VTables from Core to Anal (#9638) 2018-03-09 20:02:39 +08:00