/*! \page platform_page Platform Concepts \section platform_basics Basic Concepts These are the basic concepts that you should be aware of before writing a module: - Phases: The platform has been design to support different phases in the investigation process: - Case Creation: Use wizards to create a new case. - Data Source Adding: Where disk images and logical files are added to a case and file systems in disk images are analyzed to populate the database. The end result of this phase is that the central database has a basic record of each file so that it can be analyzed. This happens in the Add Image Wizard. - Ingest Module Analysis: A variety of analysis modules then run on the files referenced in the database to perform specific tasks. - Browsing and searching: User manually browses and searches the data using the user interface. They can browse through the results from the ingest modules that may still be running in the background. - Report: A final report is generated at the end of the case. - Central Database: All data except for the disk image is stored in a SQLite database. This includes information about what files exist in a disk image and the output from modules. Access to this database can be found from the org.sleuthkit.datamodel.SleuthkitCase class, but you'll probably never need to directly interact with it. The services and data model classes will interact with it. - Case: A case class (org.sleuthkit.autopsy.casemodule.Case) is the top-level object for the data being analyzed. From here, you can access all of the files and query it. - Blackboard: The platform uses the blackboard to enable modules to communicate with each other and to display data in the GUI. See the \ref platform_blackboard section for more details. - Services: There are services provided by the platform. See the \ref mod_dev_other_services section for more details. - Utilities: There are core utilities that the platform provides to modules. See the \ref mod_dev_other_utilities section for more details. - Single tree: Results from the various modules can generally be found in a single tree. This makes it easy for users to find their results. \section platform_frameworks Frameworks in the Platform Autopsy was designed to be an extensible platform for other developers to leverage. There are several places in the platform where plug-in modules can be applied. - Ingest Modules: These modules are run when a new data source is added to a case (and can be re-run afterwards too). These modules come in two forms: - File Ingest Modules are called for every file in the image. Use this type of module if you want to examine the contents of all or most of the files. Examples include hash calculation, hash lookup, file type identification, and entropy calculation. - Data Source Ingest Modules are called once for every image or set of logical files. These modules can use the database to query for one or more files and perform analysis on them. Examples include web artifact analysis and searches that can rely only file names and extensions. See \ref mod_ingest_page for details on building these modules. - Report Modules: These modules create different types of outputs that contain the analysis results. See \ref mod_report_page for details on creating these modules. - Content Viewers: These modules show information about a specific file. These are the modules in the lower right of the interface. The platform comes with viewers to view the file in hexadecimal, extract the strings from the file, and view images and movies. See \ref mod_content_page for details on creating these modules. - Result Viewers: These modules show information about a set of files. These modules are in the upper right of the interface. The platform comes with viewers to view the set of files in a table and thumbnails. See \ref mod_result_page for details on creating these modules. */