13 Commits

Author SHA1 Message Date
Francesco Tamagni
d8b1e6952e Improve itanium RTTI parsing and vtable search ##anal
- add support for arm/arm64
- simplify the heuristics for carving the start of vtables in data const section to not rely on xrefs, instead look for mandatory vtable fields (only for itanium ABI)
- add support for classes recovery from itanium RTTI
- add class name demangling for itanium RTTI
- relax the requirements for detecting the typeinfo flavor, in absence of flags just assume the simplest kind so at least the class name is there
- expose more info from RTTI structures
- use PJ for printing json
2020-05-03 17:55:20 +02:00
GustavoLCR
60ae40fa5c Fix #5446 - Implement msvc RTTI demangling (#15086)
* Implement demanging msvc template parameters
* Add demangle func pointer in RBinBind struct and use it in avrD
* Extra fixes in r_bin_demangle_list and r_bin_demangle_plugin
2019-09-22 23:58:42 +02:00
Florian Märkl
fdbb87d70e Heavy refactoring and sdbify the classes storage+logic ##anal
* New commands: aCb, aCm, aCmn, aCll, aClj, aCv, aCm, aC-, aCm-
* Fix Segfaults and Leaks in RTTI classes recovery
* Accept .?AU as prefix for msvc class name demangling
* Classes recovery refactoring
* Skip own type descriptor in msvc classes recovery
* Cleanup msvc rtti address calculation
* Recover vtable, classes, base class, virtual methods from MSVC RTTI
* Add flags for vtables and methods
* Add r_str_sanitize_sdb_key()
2018-12-29 11:16:33 +01:00
Florian Märkl
64e3b63b3f MSVC RTTI class name demangling (#11171)
* Add r_anal_rtti_msvc_demangle_class_name()
* Add avrD command
2018-08-22 13:15:28 +02:00
Florian Märkl
3f86716cbf Add strict mode for MSVC RTTI 2018-07-24 14:05:27 +02:00
Akshay Ajayan
b371251743 Added structs for gcc rtti parsing (#9739) 2018-03-21 11:28:58 +01:00
Florian Märkl
f1eb03f79b Add avrj and avraj (#9733) 2018-03-20 21:22:40 +01:00
r00tus3r
e7f68c9f3a Started with rtti gcc parsing 2018-03-16 11:13:55 +01:00
Florian Märkl
ec2b05309e Add RTTI struct specific print functions 2018-03-14 20:05:33 +01:00
Florian Märkl
c01bfe9ea1 Make av, avr and avra breakable 2018-03-14 20:05:33 +01:00
Florian Märkl
74566827d1 Split avr into avr and avra 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
94b486cf3e RTTI: Read MSVC Complete Object Locator 2018-03-12 23:34:34 +01:00