Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .sdk-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v3.110.0
v3.113.0
17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Add this dependency to your project's POM:
<dependency>
<groupId>ai.reveng</groupId>
<artifactId>sdk</artifactId>
<version>3.110.0</version>
<version>3.113.0</version>
<scope>compile</scope>
</dependency>
```
Expand All @@ -31,7 +31,7 @@ repositories {
}

dependencies {
implementation "ai.reveng:sdk:3.110.0"
implementation "ai.reveng:sdk:3.113.0"
}
```

Expand Down Expand Up @@ -114,8 +114,10 @@ Class | Method | HTTP request | Description
*AnalysesCoreApi* | [**updateAnalysis**](docs/AnalysesCoreApi.md#updateAnalysis) | **PATCH** /v2/analyses/{analysis_id} | Update Analysis
*AnalysesCoreApi* | [**updateAnalysisTags**](docs/AnalysesCoreApi.md#updateAnalysisTags) | **PATCH** /v2/analyses/{analysis_id}/tags | Update Analysis Tags
*AnalysesCoreApi* | [**uploadFile**](docs/AnalysesCoreApi.md#uploadFile) | **POST** /v2/upload | Upload File
*AnalysesCoreApi* | [**v3GetAnalysisAutoUnstripStatus**](docs/AnalysesCoreApi.md#v3GetAnalysisAutoUnstripStatus) | **GET** /v3/analyses/{analysis_id}/auto-unstrip/status | Get the auto-unstrip status for an analysis.
*AnalysesCoreApi* | [**v3GetAnalysisStrings**](docs/AnalysesCoreApi.md#v3GetAnalysisStrings) | **GET** /v3/analyses/{analysis_id}/functions/strings | List strings for an analysis.
*AnalysesCoreApi* | [**v3GetAnalysisStringsStatus**](docs/AnalysesCoreApi.md#v3GetAnalysisStringsStatus) | **GET** /v3/analyses/{analysis_id}/functions/strings/status | Get the string-extraction status for an analysis.
*AnalysesCoreApi* | [**v3ListAnalyses**](docs/AnalysesCoreApi.md#v3ListAnalyses) | **GET** /v3/analyses | List analyses
*AnalysesCoreApi* | [**v3ListExampleAnalyses**](docs/AnalysesCoreApi.md#v3ListExampleAnalyses) | **GET** /v3/analyses/examples | List example analyses
*AnalysesResultsMetadataApi* | [**getAnalysisFunctionsPaginated**](docs/AnalysesResultsMetadataApi.md#getAnalysisFunctionsPaginated) | **GET** /v2/analyses/{analysis_id}/functions | Get functions from analysis
*AnalysesResultsMetadataApi* | [**getCapabilities**](docs/AnalysesResultsMetadataApi.md#getCapabilities) | **GET** /v2/analyses/{analysis_id}/capabilities | Gets the capabilities from the analysis
Expand Down Expand Up @@ -199,6 +201,7 @@ Class | Method | HTTP request | Description
*FunctionsCoreApi* | [**getFunctionCapabilities_0**](docs/FunctionsCoreApi.md#getFunctionCapabilities_0) | **GET** /v3/functions/{function_id}/capabilities | Get capabilities for a function
*FunctionsCoreApi* | [**getFunctionDetails**](docs/FunctionsCoreApi.md#getFunctionDetails) | **GET** /v2/functions/{function_id} | Get function details
*FunctionsCoreApi* | [**getFunctionDetails_0**](docs/FunctionsCoreApi.md#getFunctionDetails_0) | **GET** /v3/functions/{function_id} | Get function details
*FunctionsCoreApi* | [**getFunctionIndirectCallSites**](docs/FunctionsCoreApi.md#getFunctionIndirectCallSites) | **GET** /v3/functions/{function_id}/indirect-call-sites | Get indirect call sites for a function
*FunctionsCoreApi* | [**getFunctionStrings**](docs/FunctionsCoreApi.md#getFunctionStrings) | **GET** /v2/functions/{function_id}/strings | Get string information found in the function
*FunctionsCoreApi* | [**getFunctionStrings_0**](docs/FunctionsCoreApi.md#getFunctionStrings_0) | **GET** /v3/functions/{function_id}/strings | List strings for a function.
*FunctionsCoreApi* | [**getFunctionsCalleesCallers**](docs/FunctionsCoreApi.md#getFunctionsCalleesCallers) | **GET** /v3/functions/callees-callers | Get callees and callers for many functions
Expand All @@ -208,6 +211,7 @@ Class | Method | HTTP request | Description
*FunctionsCoreApi* | [**listAnalysisFunctions**](docs/FunctionsCoreApi.md#listAnalysisFunctions) | **GET** /v3/analyses/{analysis_id}/functions | List functions in an analysis
*FunctionsCoreApi* | [**listImportedFunctions**](docs/FunctionsCoreApi.md#listImportedFunctions) | **GET** /v3/analyses/{analysis_id}/imported-functions | List imported functions in an analysis
*FunctionsCoreApi* | [**startFunctionsMatching**](docs/FunctionsCoreApi.md#startFunctionsMatching) | **POST** /v3/functions/matches | Start function matching for an explicit set of functions
*FunctionsCoreApi* | [**v3CanonicalizeFunctionNames**](docs/FunctionsCoreApi.md#v3CanonicalizeFunctionNames) | **POST** /v3/functions/canonical-names | Canonicalize a batch of function names
*FunctionsDataTypesApi* | [**batchUpdateFunctionDataTypes**](docs/FunctionsDataTypesApi.md#batchUpdateFunctionDataTypes) | **PUT** /v3/analyses/{analysis_id}/functions/data-types | Batch update function data types
*FunctionsDataTypesApi* | [**generateFunctionDataTypesForAnalysis**](docs/FunctionsDataTypesApi.md#generateFunctionDataTypesForAnalysis) | **POST** /v2/analyses/{analysis_id}/functions/data_types | Generate Function Data Types
*FunctionsDataTypesApi* | [**generateFunctionDataTypesForFunctions**](docs/FunctionsDataTypesApi.md#generateFunctionDataTypesForFunctions) | **POST** /v2/functions/data_types | Generate Function Data Types for an arbitrary list of functions
Expand Down Expand Up @@ -270,13 +274,15 @@ Class | Method | HTTP request | Description
- [AnalysisLogMessage](docs/AnalysisLogMessage.md)
- [AnalysisLogs](docs/AnalysisLogs.md)
- [AnalysisRecord](docs/AnalysisRecord.md)
- [AnalysisRecordBody](docs/AnalysisRecordBody.md)
- [AnalysisReport](docs/AnalysisReport.md)
- [AnalysisScope](docs/AnalysisScope.md)
- [AnalysisStringFunction](docs/AnalysisStringFunction.md)
- [AnalysisStringInput](docs/AnalysisStringInput.md)
- [AnalysisStringItem](docs/AnalysisStringItem.md)
- [AnalysisStringsResponse](docs/AnalysisStringsResponse.md)
- [AnalysisStringsStatusResponse](docs/AnalysisStringsStatusResponse.md)
- [AnalysisTagBody](docs/AnalysisTagBody.md)
- [AnalysisTags](docs/AnalysisTags.md)
- [AnalysisUpdateRequest](docs/AnalysisUpdateRequest.md)
- [AnalysisUpdateTagsRequest](docs/AnalysisUpdateTagsRequest.md)
Expand All @@ -296,6 +302,7 @@ Class | Method | HTTP request | Description
- [AutoRunAgents](docs/AutoRunAgents.md)
- [AutoUnstripRequest](docs/AutoUnstripRequest.md)
- [AutoUnstripResponse](docs/AutoUnstripResponse.md)
- [AutoUnstripStatusOutputBody](docs/AutoUnstripStatusOutputBody.md)
- [BaseResponse](docs/BaseResponse.md)
- [BaseResponseAdditionalDetailsStatusResponse](docs/BaseResponseAdditionalDetailsStatusResponse.md)
- [BaseResponseAnalysisBulkAddTagsResponse](docs/BaseResponseAnalysisBulkAddTagsResponse.md)
Expand Down Expand Up @@ -390,6 +397,9 @@ Class | Method | HTTP request | Description
- [CalleeFunctionInfo](docs/CalleeFunctionInfo.md)
- [CalleesCallerFunctionsResponse](docs/CalleesCallerFunctionsResponse.md)
- [CallerFunctionInfo](docs/CallerFunctionInfo.md)
- [CanonicalName](docs/CanonicalName.md)
- [CanonicalizeNamesInputBody](docs/CanonicalizeNamesInputBody.md)
- [CanonicalizeNamesOutputBody](docs/CanonicalizeNamesOutputBody.md)
- [Capabilities](docs/Capabilities.md)
- [CapabilitiesAgentResponse](docs/CapabilitiesAgentResponse.md)
- [CapabilitiesOutputBody](docs/CapabilitiesOutputBody.md)
Expand Down Expand Up @@ -555,10 +565,13 @@ Class | Method | HTTP request | Description
- [ImportedFunctionCallerEntry](docs/ImportedFunctionCallerEntry.md)
- [ImportedFunctionDetailOutputBody](docs/ImportedFunctionDetailOutputBody.md)
- [ImportedFunctionEntry](docs/ImportedFunctionEntry.md)
- [IndirectCallSite](docs/IndirectCallSite.md)
- [IndirectCallSitesOutputBody](docs/IndirectCallSitesOutputBody.md)
- [InlineComment](docs/InlineComment.md)
- [InsertAnalysisLogRequest](docs/InsertAnalysisLogRequest.md)
- [InviteUserInputBody](docs/InviteUserInputBody.md)
- [IssuerAllowedDomain](docs/IssuerAllowedDomain.md)
- [ListAnalysesOutputBody](docs/ListAnalysesOutputBody.md)
- [ListAnalysisFunctionsDataTypesOutputBody](docs/ListAnalysisFunctionsDataTypesOutputBody.md)
- [ListAnalysisFunctionsOutputBody](docs/ListAnalysisFunctionsOutputBody.md)
- [ListAnalysisStringsOutputBody](docs/ListAnalysisStringsOutputBody.md)
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'

group = 'ai.reveng'
version = '3.110.0'
version = '3.113.0'



Expand Down Expand Up @@ -171,7 +171,7 @@ mavenPublishing {
publishToMavenCentral(true)
signAllPublications()

coordinates("ai.reveng", "sdk", "3.110.0")
coordinates("ai.reveng", "sdk", "3.113.0")

pom {
name = "sdk"
Expand Down
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "ai.reveng",
name := "sdk",
version := "3.110.0",
version := "3.113.0",
scalaVersion := "2.11.12",
scalacOptions ++= Seq("-feature"),
compile / javacOptions ++= Seq("-Xlint:deprecation"),
Expand Down
173 changes: 173 additions & 0 deletions docs/AnalysesCoreApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,10 @@ All URIs are relative to *https://api.reveng.ai*
| [**updateAnalysis**](AnalysesCoreApi.md#updateAnalysis) | **PATCH** /v2/analyses/{analysis_id} | Update Analysis |
| [**updateAnalysisTags**](AnalysesCoreApi.md#updateAnalysisTags) | **PATCH** /v2/analyses/{analysis_id}/tags | Update Analysis Tags |
| [**uploadFile**](AnalysesCoreApi.md#uploadFile) | **POST** /v2/upload | Upload File |
| [**v3GetAnalysisAutoUnstripStatus**](AnalysesCoreApi.md#v3GetAnalysisAutoUnstripStatus) | **GET** /v3/analyses/{analysis_id}/auto-unstrip/status | Get the auto-unstrip status for an analysis. |
| [**v3GetAnalysisStrings**](AnalysesCoreApi.md#v3GetAnalysisStrings) | **GET** /v3/analyses/{analysis_id}/functions/strings | List strings for an analysis. |
| [**v3GetAnalysisStringsStatus**](AnalysesCoreApi.md#v3GetAnalysisStringsStatus) | **GET** /v3/analyses/{analysis_id}/functions/strings/status | Get the string-extraction status for an analysis. |
| [**v3ListAnalyses**](AnalysesCoreApi.md#v3ListAnalyses) | **GET** /v3/analyses | List analyses |
| [**v3ListExampleAnalyses**](AnalysesCoreApi.md#v3ListExampleAnalyses) | **GET** /v3/analyses/examples | List example analyses |


Expand Down Expand Up @@ -1814,6 +1816,83 @@ public class Example {
| **200** | Successful Response | - |
| **422** | Invalid request parameters | - |

<a id="v3GetAnalysisAutoUnstripStatus"></a>
# **v3GetAnalysisAutoUnstripStatus**
> AutoUnstripStatusOutputBody v3GetAnalysisAutoUnstripStatus(analysisId)

Get the auto-unstrip status for an analysis.

Returns the status of the auto-unstrip task for the binary backing the analysis. One of &#x60;UNINITIALISED&#x60;, &#x60;PENDING&#x60;, &#x60;RUNNING&#x60;, &#x60;COMPLETED&#x60;, &#x60;FAILED&#x60;. **Error codes:** - &#x60;404&#x60; [&#x60;NOT_FOUND&#x60;](/errors/NOT_FOUND) β€” Not Found - &#x60;403&#x60; [&#x60;ACCESS_DENIED&#x60;](/errors/ACCESS_DENIED) β€” Access Denied

### Example
```java
// 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");

// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");

AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
Long analysisId = 56L; // Long | Analysis ID
try {
AutoUnstripStatusOutputBody result = apiInstance.v3GetAnalysisAutoUnstripStatus(analysisId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#v3GetAnalysisAutoUnstripStatus");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
```

### Parameters

| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **analysisId** | **Long**| Analysis ID | |

### Return type

[**AutoUnstripStatusOutputBody**](AutoUnstripStatusOutputBody.md)

### Authorization

[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **403** | Forbidden | - |
| **404** | Not Found | - |
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |

<a id="v3GetAnalysisStrings"></a>
# **v3GetAnalysisStrings**
> ListAnalysisStringsOutputBody v3GetAnalysisStrings(analysisId, page, pageSize, search, functionSearch, orderBy, sortOrder)
Expand Down Expand Up @@ -1980,6 +2059,100 @@ public class Example {
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |

<a id="v3ListAnalyses"></a>
# **v3ListAnalyses**
> ListAnalysesOutputBody v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, pageSize, nextPageToken, orderBy, order)

List analyses

Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - &#x60;400&#x60; [&#x60;BAD_REQUEST&#x60;](/errors/BAD_REQUEST) β€” Bad Request

### Example
```java
// 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");

// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");

AnalysesCoreApi apiInstance = new AnalysesCoreApi(defaultClient);
String searchTerm = "searchTerm_example"; // String |
List<String> analysisScope = Arrays.asList(); // List<String> | Leave empty for no filter
List<String> status = Arrays.asList(); // List<String> |
List<String> modelName = Arrays.asList(); // List<String> |
List<String> usernames = Arrays.asList(); // List<String> |
String sha256Hash = "sha256Hash_example"; // String |
Long pageSize = 20L; // Long |
String nextPageToken = "nextPageToken_example"; // String | Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination).
String orderBy = "created"; // String |
String order = "ASC"; // String |
try {
ListAnalysesOutputBody result = apiInstance.v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, pageSize, nextPageToken, orderBy, order);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AnalysesCoreApi#v3ListAnalyses");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
```

### Parameters

| Name | Type | Description | Notes |
|------------- | ------------- | ------------- | -------------|
| **searchTerm** | **String**| | [optional] |
| **analysisScope** | [**List&lt;String&gt;**](String.md)| Leave empty for no filter | [optional] [enum: PRIVATE, PUBLIC, TEAM] |
| **status** | [**List&lt;String&gt;**](String.md)| | [optional] [enum: Uploaded, Queued, Complete, Error, Processing] |
| **modelName** | [**List&lt;String&gt;**](String.md)| | [optional] |
| **usernames** | [**List&lt;String&gt;**](String.md)| | [optional] |
| **sha256Hash** | **String**| | [optional] |
| **pageSize** | **Long**| | [optional] [default to 20] |
| **nextPageToken** | **String**| Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). | [optional] |
| **orderBy** | **String**| | [optional] [default to created] [enum: created, binary_name, binary_size] |
| **order** | **String**| | [optional] [default to DESC] [enum: ASC, DESC] |

### Return type

[**ListAnalysesOutputBody**](ListAnalysesOutputBody.md)

### Authorization

[APIKey](../README.md#APIKey), [bearerAuth](../README.md#bearerAuth)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
| **200** | OK | - |
| **400** | Bad Request | - |
| **422** | Unprocessable Entity | - |
| **500** | Internal Server Error | - |

<a id="v3ListExampleAnalyses"></a>
# **v3ListExampleAnalyses**
> ListExampleAnalysesOutputBody v3ListExampleAnalyses()
Expand Down
38 changes: 38 additions & 0 deletions docs/AnalysisRecordBody.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@


# AnalysisRecordBody


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**analysisId** | **Long** | Analysis ID | |
|**analysisScope** | [**AnalysisScopeEnum**](#AnalysisScopeEnum) | Scope of the analysis | |
|**baseAddress** | **Long** | Binary base address | |
|**binaryId** | **Long** | Binary ID | |
|**binaryName** | **String** | Binary filename | |
|**binarySize** | **Long** | Binary size in bytes | |
|**creation** | **OffsetDateTime** | When the analysis was created | |
|**functionBoundariesHash** | **String** | Hash of the binary&#39;s provided function boundaries | |
|**isOwner** | **Boolean** | True when the caller owns the analysis | |
|**modelId** | **Long** | Model ID | |
|**modelName** | **String** | Model name | |
|**sha256Hash** | **String** | SHA-256 hash of the binary | |
|**status** | **String** | Analysis status | |
|**tags** | [**List&lt;AnalysisTagBody&gt;**](AnalysisTagBody.md) | Tags associated with the binary | |
|**username** | **String** | Username of the analysis owner | |



## Enum: AnalysisScopeEnum

| Name | Value |
|---- | -----|
| PUBLIC | &quot;PUBLIC&quot; |
| PRIVATE | &quot;PRIVATE&quot; |
| TEAM | &quot;TEAM&quot; |
| UNKNOWN_DEFAULT_OPEN_API | &quot;unknown_default_open_api&quot; |



15 changes: 15 additions & 0 deletions docs/AnalysisTagBody.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@


# AnalysisTagBody


## Properties

| Name | Type | Description | Notes |
|------------ | ------------- | ------------- | -------------|
|**collectionId** | **Long** | Collection this tag maps to, or null | |
|**name** | **String** | Tag name | |
|**origin** | **String** | Origin of the tag | |



Loading