radare2/libr/anal/README.meta

42 lines
1.3 KiB
Plaintext
Raw Normal View History

RMeta api
=========
-- zignature stuff --
* zf name fmt define function zignature (fast/slow, args, types)
** xrefs stuff should be delegated to the flags? (dont think so..)
- we can generate xrefs metadata from flags analysis
- we can use r_meta as 'static storage' and flags as playground.
** data_* api should be refactored to use less functions with more
flexible arguments.
What we need:
- a database of data types
Ct char* 4 z
Ct void 0
Ct int 4 d
Ct ut32 4 x
Ct ut64 8 q
- a database of function signatures
CFt printf void=char*,...
CFt puts int=char*
CFt system int=char*
CFt exit void=int
- to store on each function
- fastcall ?
- local { vars, args } + type + arraysize + name
- framesize (should be detected by the code analysis
- casting between types
- signed/unsigned
- different size
- all cast operations must be supported?
- serialization/deserialization of strings into structures
* We need a way to follow a variable access along the function flow
- r_anal_access (RAnal, RAnalFcn, RAnalOp);
- analyze opcode to update function vars/args accesses and determine function calls..
- to determine it's type and if it's stored in a register or pushed
in the stack before being used
- RAnalVar r_anal_var_from_value(RAnal, RFunction fun, RValue *val);
- return a variable reference for a variable