Package ghidra.features.bsim.query.protocol
package ghidra.features.bsim.query.protocol
-
ClassDescriptionRequest that a BSim database either drop or build its main vector indexSuitable for client side filtering by calling isFiltered with an ExecutableRecord or evaluate with a FunctionDescription.BSimQuery<R extends QueryResponseRecord>
BSimQuery
facilitates all BSimFunctionDatabase
queries which when executed provide a specificQueryResponseRecord
.A single element for filtering on specific properties of ExecutableRecords or FunctionDescriptions Each FilterAtom consists of a FilterTemplate describing the property to filter on, and how the filter should apply, and a String -value- that the property should match (or not)Identifying information for a function within a single executableInsert key/value pairs into an optional tableRequest that specific executables and functions (as described by ExecutableRecords and FunctionDescriptions) by inserted into a BSim database.Request that a new executable category be installed for a specific BSim server.Request that the high-level meta-data fields (name,owner,description) of a database be changedRequest that a new function tag be installed for a specific BSim serverIdentifiers for a pair of functionsResult of a comparison between two functions.Request a password change for a specific user Currently provides no explicit protection for password data on the client.Request that the database preload portions of the main vector table so that initial queries return faster from a server that has just been restarted.Query based on a single executable and a specific list of functions names within the executable The response will be the corresponding FunctionDescription records and a record for each child of the specified functionsRequest that a specific list of executables be deleted from a BSim databaseQuery for counting the number of executable records in the database.Query of executable recordsRequest the DatabaseInformation object for a specific BSim database.Query for a single function in a single executable by giving either the md5 of the executable, or its name and version.Query nearest matches within database to a set of functionsFor specific functions, query for the list of vectors that are similar to a functions vector, without recovering the descriptions of functions that instantiate these vectors.Query whether an optional table exists.Query for values from an optional table, given a set of keysA list of descriptor pairs to be sent to the server.Request to update the metadata fields of various ExecutableRecords and FunctionDescriptions within a BSim database.Request vectors from the database by the their ids.Request all functions described by a particular feature vector.Response to an AdjustVectorIndex request, returning a boolean value of either success or failure of the requestResponse to a QueryChildren request to a BSim database.Response to a QueryDelete request containing a listing of the md5's of successfully deleted executables and a count of their functions.Response of server indicating whether a password change request (PasswordChange
) succeededResponse to a request for executables from aBulkSignatures
call.A simple response to an InsertRequest to a BSim database.Response to a request for specific executables and functions given by name.Response to a QueryNearest request.Response to a QueryNearestVector request.Response to a QueryOptionalExist, reporting whether an optional table existsA list of records (PairNote) each describing the comparison of a pair of functions on the server This response also includes various statistics (counts and averages) on the resultsResponse of server indicating whether a password change request (PasswordChange
) succeededResponse to a PrewarmRequest indicating that number of database blocks that were preloadedResponse to a QueryUpdate request to a BSim database.Response to a QueryVectorId request to a BSim database.Response to a request for functions with specific vector ids Full ExecutableRecords and FunctionDescriptions are instantiated in this object's DescriptionManagerA description of a single function matchA collection of matches to an (originally) queried functionA collection of vector matches to an (originally) queried functionAbstract class for splitting up a (presumably large) query into smaller pieces The object must be configured by a call to setQuery with details of the staged query and then typically a call to setGlobalManager which specifies the data for the whole query Placing the actual staged queries is accomplished by first calling initialize, which establishes the first stage query, obtainable via the getQuery method.