All URIs are relative to https://api.reveng.ai
| Method | HTTP request | Description |
|---|---|---|
| addUserStringToAnalysis | POST /v3/analyses/{analysis_id}/user-provided-strings | Add a user-provided string to an analysis. |
| createAnalysis | POST /v2/analyses | Create Analysis |
| deleteAnalysis | DELETE /v2/analyses/{analysis_id} | Delete Analysis |
| getAnalysisBasicInfo | GET /v2/analyses/{analysis_id}/basic | Gets basic analysis information |
| getAnalysisBasicInfo_0 | GET /v3/analyses/{analysis_id}/basic | Get basic analysis information |
| getAnalysisBytes | GET /v3/analyses/{analysis_id}/bytes | Get the bytes of a binary |
| getAnalysisFunctionMap | GET /v2/analyses/{analysis_id}/func_maps | Get Analysis Function Map |
| getAnalysisLogs | GET /v2/analyses/{analysis_id}/logs | Gets the logs of an analysis |
| getAnalysisParams | GET /v2/analyses/{analysis_id}/params | Gets analysis param information |
| getAnalysisStatus | GET /v2/analyses/{analysis_id}/status | Gets the status of an analysis |
| insertAnalysisLog | POST /v2/analyses/{analysis_id}/logs | Insert a log entry for an analysis |
| listAnalyses | GET /v2/analyses/list | Gets the most recent analyses |
| lookupBinaryId | GET /v2/analyses/lookup/{binary_id} | Gets the analysis ID from binary ID |
| putAnalysisStrings | PUT /v2/analyses/{analysis_id}/strings | Add strings to the analysis |
| requeueAnalysis | POST /v2/analyses/{analysis_id}/requeue | Requeue Analysis |
| updateAnalysis | PATCH /v2/analyses/{analysis_id} | Update Analysis |
| updateAnalysisTags | PATCH /v2/analyses/{analysis_id}/tags | Update Analysis Tags |
| uploadFile | POST /v2/upload | Upload File |
| v3GetAnalysisStrings | GET /v3/analyses/{analysis_id}/functions/strings | List strings for an analysis. |
| v3GetAnalysisStringsStatus | GET /v3/analyses/{analysis_id}/functions/strings/status | Get the string-extraction status for an analysis. |
Map<String, Object> addUserStringToAnalysis(analysisId, addUserStringInputBody)
Add a user-provided string to an analysis.
Attaches a user-provided string to an analysis at the given virtual address. The string is stored with source `USER` and complements strings discovered automatically during analysis. Error codes: - `404` `NOT_FOUND` — Not Found - `403` `ACCESS_DENIED` — Access Denied
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
AddUserStringInputBody addUserStringInputBody = new AddUserStringInputBody(); // AddUserStringInputBody |
try {
Map<String, Object> result = apiInstance.addUserStringToAnalysis(analysisId, addUserStringInputBody);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#addUserStringToAnalysis");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Long | Analysis ID | |
| addUserStringInputBody | AddUserStringInputBody |
Map<String, Object>
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 201 | Created | - |
| 403 | Forbidden | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
BaseResponseAnalysisCreateResponse createAnalysis(analysisCreateRequest, xRevEngApplication)
Create Analysis
Begins an analysis
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
AnalysisCreateRequest analysisCreateRequest = new AnalysisCreateRequest(); // AnalysisCreateRequest |
String xRevEngApplication = "xRevEngApplication_example"; // String |
try {
BaseResponseAnalysisCreateResponse result = apiInstance.createAnalysis(analysisCreateRequest, xRevEngApplication);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#createAnalysis");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisCreateRequest | AnalysisCreateRequest | ||
| xRevEngApplication | String | [optional] |
BaseResponseAnalysisCreateResponse
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 201 | Successful Response | - |
| 422 | Invalid request parameters | - |
| 404 | Not Found | - |
| 400 | Bad Request | - |
BaseResponseDict deleteAnalysis(analysisId)
Delete Analysis
Deletes an analysis based on the provided analysis ID.
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
try {
BaseResponseDict result = apiInstance.deleteAnalysis(analysisId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#deleteAnalysis");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
| 404 | Not Found | - |
| 403 | Forbidden | - |
BaseResponseBasic getAnalysisBasicInfo(analysisId)
Gets basic analysis information
Returns basic analysis information for an analysis
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
try {
BaseResponseBasic result = apiInstance.getAnalysisBasicInfo(analysisId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#getAnalysisBasicInfo");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
AnalysisBasicInfoOutputBody getAnalysisBasicInfo_0(analysisId)
Get basic analysis information
Returns basic metadata for the given analysis including binary details, model, owner, and function count. Error codes: - `404` `NOT_FOUND` — Not Found - `403` `ACCESS_DENIED` — Access Denied
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
try {
AnalysisBasicInfoOutputBody result = apiInstance.getAnalysisBasicInfo_0(analysisId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#getAnalysisBasicInfo_0");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Long | Analysis ID |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 403 | Forbidden | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
getAnalysisBytes(analysisId, page)
Get the bytes of a binary
Returns a 64kb byte page from the binary. Error codes: - `404` `NOT_FOUND` — Not Found - `403` `ACCESS_DENIED` — Access Denied - `400` `BAD_REQUEST` — Bad Request
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
Long page = 56L; // Long | 64kb page of binary data
try {
apiInstance.getAnalysisBytes(analysisId, page);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#getAnalysisBytes");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Long | Analysis ID | |
| page | Long | 64kb page of binary data | [optional] |
null (empty response body)
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 400 | Bad Request | - |
| 403 | Forbidden | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
BaseResponseAnalysisFunctionMapping getAnalysisFunctionMap(analysisId)
Get Analysis Function Map
Returns three maps: a map of function ids to function addresses, it's inverse and a map of function addresses to function names.
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
try {
BaseResponseAnalysisFunctionMapping result = apiInstance.getAnalysisFunctionMap(analysisId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#getAnalysisFunctionMap");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer |
BaseResponseAnalysisFunctionMapping
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
BaseResponseLogs getAnalysisLogs(analysisId)
Gets the logs of an analysis
Given an analysis ID gets the current logs of an analysis
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
try {
BaseResponseLogs result = apiInstance.getAnalysisLogs(analysisId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#getAnalysisLogs");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
BaseResponseParams getAnalysisParams(analysisId)
Gets analysis param information
Gets the params that the analysis was run with
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
try {
BaseResponseParams result = apiInstance.getAnalysisParams(analysisId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#getAnalysisParams");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
BaseResponseStatus getAnalysisStatus(analysisId)
Gets the status of an analysis
Given an analysis ID gets the current status of the analysis
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
try {
BaseResponseStatus result = apiInstance.getAnalysisStatus(analysisId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#getAnalysisStatus");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
BaseResponse insertAnalysisLog(analysisId, insertAnalysisLogRequest)
Insert a log entry for an analysis
Inserts a log record for an analysis. Only the analysis owner can insert logs.
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
InsertAnalysisLogRequest insertAnalysisLogRequest = new InsertAnalysisLogRequest(); // InsertAnalysisLogRequest |
try {
BaseResponse result = apiInstance.insertAnalysisLog(analysisId, insertAnalysisLogRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#insertAnalysisLog");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer | ||
| insertAnalysisLogRequest | InsertAnalysisLogRequest |
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 201 | Successful Response | - |
| 422 | Invalid request parameters | - |
BaseResponseRecent listAnalyses(searchTerm, workspace, status, modelName, dynamicExecutionStatus, usernames, sha256Hash, limit, offset, orderBy, order)
Gets the most recent analyses
Gets the most recent analyses provided a scope, this is then paginated, if pages and limit doesnt fit, it increases the limit
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
String searchTerm = ""; // String |
List<Workspace> workspace = Arrays.asList(); // List<Workspace> | The workspace to be viewed
List<StatusInput> status = Arrays.asList(); // List<StatusInput> | The status of the analysis
List<ModelName> modelName = Arrays.asList(); // List<ModelName> | Show analysis belonging to the model
DynamicExecutionStatus dynamicExecutionStatus = DynamicExecutionStatus.fromValue("PENDING"); // DynamicExecutionStatus | Show analysis that have a dynamic execution with the given status
List<String> usernames = Arrays.asList(); // List<String> | Show analysis belonging to the user
String sha256Hash = "sha256Hash_example"; // String |
Integer limit = 20; // Integer |
Integer offset = 0; // Integer |
AppApiRestV2AnalysesEnumsOrderBy orderBy = AppApiRestV2AnalysesEnumsOrderBy.fromValue("created"); // AppApiRestV2AnalysesEnumsOrderBy |
Order order = Order.fromValue("ASC"); // Order |
try {
BaseResponseRecent result = apiInstance.listAnalyses(searchTerm, workspace, status, modelName, dynamicExecutionStatus, usernames, sha256Hash, limit, offset, orderBy, order);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#listAnalyses");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| searchTerm | String | [optional] [default to ] | |
| workspace | List<Workspace> | The workspace to be viewed | [optional] |
| status | List<StatusInput> | The status of the analysis | [optional] |
| modelName | List<ModelName> | Show analysis belonging to the model | [optional] |
| dynamicExecutionStatus | DynamicExecutionStatus | Show analysis that have a dynamic execution with the given status | [optional] [enum: PENDING, ERROR, SUCCESS, ALL] |
| usernames | List<String> | Show analysis belonging to the user | [optional] |
| sha256Hash | String | [optional] | |
| limit | Integer | [optional] [default to 20] | |
| offset | Integer | [optional] [default to 0] | |
| orderBy | AppApiRestV2AnalysesEnumsOrderBy | [optional] [enum: created, name, size] | |
| order | Order | [optional] [enum: ASC, DESC] |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
Object lookupBinaryId(binaryId)
Gets the analysis ID from binary ID
Given an binary ID gets the ID of an analysis
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer binaryId = 56; // Integer |
try {
Object result = apiInstance.lookupBinaryId(binaryId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#lookupBinaryId");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| binaryId | Integer |
Object
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
BaseResponse putAnalysisStrings(analysisId, putAnalysisStringsRequest)
Add strings to the analysis
Add strings to the analysis. Rejects if any string already exists at the given vaddr.
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
PutAnalysisStringsRequest putAnalysisStringsRequest = new PutAnalysisStringsRequest(); // PutAnalysisStringsRequest |
try {
BaseResponse result = apiInstance.putAnalysisStrings(analysisId, putAnalysisStringsRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#putAnalysisStrings");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer | ||
| putAnalysisStringsRequest | PutAnalysisStringsRequest |
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 201 | Successful Response | - |
| 422 | Invalid request parameters | - |
BaseResponseCreated requeueAnalysis(analysisId, reAnalysisForm, xRevEngApplication)
Requeue Analysis
Re-queues an already uploaded analysis
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
ReAnalysisForm reAnalysisForm = new ReAnalysisForm(); // ReAnalysisForm |
String xRevEngApplication = "xRevEngApplication_example"; // String |
try {
BaseResponseCreated result = apiInstance.requeueAnalysis(analysisId, reAnalysisForm, xRevEngApplication);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#requeueAnalysis");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer | ||
| reAnalysisForm | ReAnalysisForm | ||
| xRevEngApplication | String | [optional] |
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 201 | Successful Response | - |
| 422 | Invalid request parameters | - |
| 404 | Not Found | - |
| 400 | Bad Request | - |
BaseResponseAnalysisDetailResponse updateAnalysis(analysisId, analysisUpdateRequest)
Update Analysis
Updates analysis attributes (binary_name, analysis_scope). User must be the owner.
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
AnalysisUpdateRequest analysisUpdateRequest = new AnalysisUpdateRequest(); // AnalysisUpdateRequest |
try {
BaseResponseAnalysisDetailResponse result = apiInstance.updateAnalysis(analysisId, analysisUpdateRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#updateAnalysis");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer | ||
| analysisUpdateRequest | AnalysisUpdateRequest |
BaseResponseAnalysisDetailResponse
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
BaseResponseAnalysisUpdateTagsResponse updateAnalysisTags(analysisId, analysisUpdateTagsRequest)
Update Analysis Tags
Updates analysis tags. User must be the owner.
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Integer analysisId = 56; // Integer |
AnalysisUpdateTagsRequest analysisUpdateTagsRequest = new AnalysisUpdateTagsRequest(); // AnalysisUpdateTagsRequest |
try {
BaseResponseAnalysisUpdateTagsResponse result = apiInstance.updateAnalysisTags(analysisId, analysisUpdateTagsRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#updateAnalysisTags");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Integer | ||
| analysisUpdateTagsRequest | AnalysisUpdateTagsRequest |
BaseResponseAnalysisUpdateTagsResponse
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
BaseResponseUploadResponse uploadFile(uploadFileType, _file, packedPassword, forceOverwrite)
Upload File
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
UploadFileType uploadFileType = UploadFileType.fromValue("BINARY"); // UploadFileType |
File _file = new File("/path/to/file"); // File |
String packedPassword = "packedPassword_example"; // String |
Boolean forceOverwrite = false; // Boolean |
try {
BaseResponseUploadResponse result = apiInstance.uploadFile(uploadFileType, _file, packedPassword, forceOverwrite);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#uploadFile");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| uploadFileType | UploadFileType | [enum: BINARY, DEBUG, PACKED, FIRMWARE] | |
| _file | File | ||
| packedPassword | String | [optional] | |
| forceOverwrite | Boolean | [optional] [default to false] |
- Content-Type: multipart/form-data
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Successful Response | - |
| 422 | Invalid request parameters | - |
ListAnalysisStringsOutputBody v3GetAnalysisStrings(analysisId, page, pageSize, search, functionSearch, orderBy, sortOrder)
List strings for an analysis.
Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. Error codes: - `404` `NOT_FOUND` — Not Found - `403` `ACCESS_DENIED` — Access Denied
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
Long page = 1L; // Long | Page number (1-indexed).
Long pageSize = 100L; // Long | Number of results per page.
String search = "search_example"; // String | Filter by string value (case-insensitive substring match).
String functionSearch = "functionSearch_example"; // String | Filter by function name (case-insensitive substring match).
String orderBy = "value"; // String | Field to order results by.
String sortOrder = "ASC"; // String | Sort direction.
try {
ListAnalysisStringsOutputBody result = apiInstance.v3GetAnalysisStrings(analysisId, page, pageSize, search, functionSearch, orderBy, sortOrder);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#v3GetAnalysisStrings");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Long | Analysis ID | |
| page | Long | Page number (1-indexed). | [optional] [default to 1] |
| pageSize | Long | Number of results per page. | [optional] [default to 100] |
| search | String | Filter by string value (case-insensitive substring match). | [optional] |
| functionSearch | String | Filter by function name (case-insensitive substring match). | [optional] |
| orderBy | String | Field to order results by. | [optional] [default to value] [enum: value, length] |
| sortOrder | String | Sort direction. | [optional] [default to ASC] [enum: ASC, DESC] |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 403 | Forbidden | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |
GetAnalysisStringsStatusOutputBody v3GetAnalysisStringsStatus(analysisId)
Get the string-extraction status for an analysis.
Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. Error codes: - `404` `NOT_FOUND` — Not Found - `403` `ACCESS_DENIED` — Access Denied
// Import classes:
import ai.reveng.invoker.ApiClient;
import ai.reveng.invoker.ApiException;
import ai.reveng.invoker.Configuration;
import ai.reveng.invoker.auth.*;
import ai.reveng.invoker.models.*;
import ai.reveng.api.AnalysesCoreApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.reveng.ai");
// Configure API key authorization: APIKey
ApiKeyAuth APIKey = (ApiKeyAuth) defaultClient.getAuthentication("APIKey");
APIKey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//APIKey.setApiKeyPrefix("Token");
AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
try {
GetAnalysisStringsStatusOutputBody result = apiInstance.v3GetAnalysisStringsStatus(analysisId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#v3GetAnalysisStringsStatus");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| analysisId | Long | Analysis ID |
GetAnalysisStringsStatusOutputBody
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 403 | Forbidden | - |
| 404 | Not Found | - |
| 422 | Unprocessable Entity | - |
| 500 | Internal Server Error | - |