Commit Graph

13 Commits

Author SHA1 Message Date
Lephenixnoir 593d486185
fxos: fix basic block duplication bug 2024-01-15 18:55:55 +01:00
Lephenixnoir 51ee6fd6ff
af, afs: add recursive function search option (-r) 2024-01-11 20:03:11 +01:00
Lephenixnoir 7a656c3b3e
fxos: show memory usage after project load 2024-01-11 19:47:06 +01:00
Lephenixnoir 64a3df8e17
fxos: faster project loading through functions
- Compute analysis on-demand
- Faster function exploration, due to:
  * Cache basic block's index in function
  * Preallocate memory for 4 blocks per function
  * Preallocate 32 instructions per superblock
  * Assume functions do not cross vspace region boundaries
  * Improve cutSuperblockAt() with lower-level code
2024-01-11 12:42:15 +01:00
Lephenixnoir 80d6001417
fxos: save binary objects (currently functions) in project 2024-01-08 21:10:12 +01:00
Lephenixnoir eacdf9da99
fxos: cleaner function abstraction + analysis of delay slots
* Update documentation about functions API
* Clean up rough edges, including instruction iterators, basic block
  ending types, and calls that were misleading about the structure
* Fix the static analysis code not accounting for delay slots
* Improve/enrich the program diff structure
2023-12-26 15:43:00 +01:00
Lephenixnoir 944745d0e3
fxos: print call targets in [d -a] 2023-11-29 17:33:44 +01:00
Lephenixnoir ed902db2d8
fxos: first useful analysis + quite a few cleanups 2023-11-29 16:33:14 +01:00
Lephenixnoir c299a5f1b6
fxos: print (still WIP) analysis results
Looking good.
2023-11-14 01:19:46 +01:00
Lephenixnoir ff2e9c2072
fxos: prototype analysis, C++20 views 2023-11-13 23:43:48 +01:00
Lephenixnoir d65515b9ad
fxos: replace function analysis with new objects
This affects ad and ads, which are now called af (Analysis: Functions)
and afs, and produce binary objects instead of entries in the soon-to-
be-removed disassembly.
2023-11-05 19:57:59 +01:00
Lephenixnoir 1df2a14c06
fxos: assembly visualization for new functions 2023-11-04 11:05:22 +01:00
Lephenixnoir 6b4a122866
fxos: new function interface + cfg construction, to be tested 2023-10-07 22:54:30 +02:00