af[?] analyze Functions
af ([name]) ([addr])analyze functions (start at addr or $$)-
af+ addr name [type] [diff]hand craft a function (requires afb+) -
af- [addr]clean all function analysis data (or function at addr) afb+ fcnA bbA sz [j] [f] ([t]( [d]))add bb to function @ fcnaddr-
afb[?] [addr]List basic blocks of given function afB [bits]set current function as thumb (change asm.bits)-
afC[lc] ([addr])@[addr]calculate the Cycles (afC) or Cyclomatic Complexity (afCc) -
afc[?] type @[addr]set calling convention for function afd [addr]show function + delta for given offset-
affre-adjust function boundaries to fit -
afF[1|0|]fold/unfold/toggle -
afi [addr|fcn.name]show function(s) information (verbose afl)-
🚀
afi[j]Get various information about a function including size, call-convention, call references local variables, args etc Example asciinema
-
-
afl[?] [l*] [fcn name]list functions (addr, size, bbs, name) (see afll) -
afo [fcn.name]show address for the function named like this -
afm namemerge two functions -
afM nameprint functions map -
afn[?] name [addr]rename name for function at address (change flag too) -
afnasuggest automatic name for current offset afr ([name]) ([addr])analyze functions recursively-
afr <new_name> @ <potential_function_addr>will mark \<addr> as the \<new_name> function and do the recurrent analysis
-
afs [addr] [fcnsign]get/set function signature at current addressafS[stack_size]set stack frame size for function at current addressafu [addr]resize and analyze function from current address until addr-
afucan be used to define both the start and end of a function when manually defining a function
-
-
aft[?]type matching, type propagation -
afv[bsra]?manipulate args, registers and variables in -
afx[cCd-] src dstadd/remove code/Call/data/string reference afxj
af afr af+ af- afb+ afB afC afc aff afF afi afl afo afm afM afn afna afs afS afu aft afv afx