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 @@
v1.86.0
v1.88.0
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,9 @@ Class | Method | HTTP request | Description
*FunctionsBlockCommentsApi* | [**generate_block_comments_for_function**](docs/FunctionsBlockCommentsApi.md#generate_block_comments_for_function) | **POST** /v2/functions/{function_id}/block-comments | Generate block comments for a function
*FunctionsBlockCommentsApi* | [**generate_overview_comment_for_function**](docs/FunctionsBlockCommentsApi.md#generate_overview_comment_for_function) | **POST** /v2/functions/{function_id}/block-comments/overview | Generate overview comment for a function
*FunctionsCoreApi* | [**ai_unstrip**](docs/FunctionsCoreApi.md#ai_unstrip) | **POST** /v2/analyses/{analysis_id}/functions/ai-unstrip | Performs matching and auto-unstrip for an analysis and its functions
*FunctionsCoreApi* | [**analysis_function_matching**](docs/FunctionsCoreApi.md#analysis_function_matching) | **POST** /v2/analyses/{analysis_id}/functions/matches | Perform matching for the functions of an analysis
*FunctionsCoreApi* | [**auto_unstrip**](docs/FunctionsCoreApi.md#auto_unstrip) | **POST** /v2/analyses/{analysis_id}/functions/auto-unstrip | Performs matching and auto-unstrip for an analysis and its functions
*FunctionsCoreApi* | [**batch_function_matching**](docs/FunctionsCoreApi.md#batch_function_matching) | **POST** /v2/functions/matches | Perform function matching for an arbitrary batch of functions, binaries or collections
*FunctionsCoreApi* | [**cancel_ai_unstrip**](docs/FunctionsCoreApi.md#cancel_ai_unstrip) | **DELETE** /v2/analyses/{analysis_id}/functions/ai-unstrip/cancel | Cancels a running ai-unstrip
*FunctionsCoreApi* | [**cancel_auto_unstrip**](docs/FunctionsCoreApi.md#cancel_auto_unstrip) | **DELETE** /v2/analyses/{analysis_id}/functions/unstrip/cancel | Cancels a running auto-unstrip
*FunctionsCoreApi* | [**get_analysis_strings**](docs/FunctionsCoreApi.md#get_analysis_strings) | **GET** /v2/analyses/{analysis_id}/functions/strings | Get string information found in the Analysis
Expand Down Expand Up @@ -169,6 +171,7 @@ Class | Method | HTTP request | Description
- [AnalysisCreateResponse](docs/AnalysisCreateResponse.md)
- [AnalysisDetailResponse](docs/AnalysisDetailResponse.md)
- [AnalysisFunctionMapping](docs/AnalysisFunctionMapping.md)
- [AnalysisFunctionMatchingRequest](docs/AnalysisFunctionMatchingRequest.md)
- [AnalysisFunctions](docs/AnalysisFunctions.md)
- [AnalysisRecord](docs/AnalysisRecord.md)
- [AnalysisScope](docs/AnalysisScope.md)
Expand Down Expand Up @@ -355,6 +358,10 @@ Class | Method | HTTP request | Description
- [FunctionLocalVariableResponse](docs/FunctionLocalVariableResponse.md)
- [FunctionMapping](docs/FunctionMapping.md)
- [FunctionMappingFull](docs/FunctionMappingFull.md)
- [FunctionMatchingBatchRequest](docs/FunctionMatchingBatchRequest.md)
- [FunctionMatchingBatchResponse](docs/FunctionMatchingBatchResponse.md)
- [FunctionMatchingResultWithBestMatch](docs/FunctionMatchingResultWithBestMatch.md)
- [FunctionMatchingScopeRequest](docs/FunctionMatchingScopeRequest.md)
- [FunctionNameConfidenceBody](docs/FunctionNameConfidenceBody.md)
- [FunctionNameHistory](docs/FunctionNameHistory.md)
- [FunctionNameInput](docs/FunctionNameInput.md)
Expand Down Expand Up @@ -389,6 +396,7 @@ Class | Method | HTTP request | Description
- [LoginRequest](docs/LoginRequest.md)
- [LoginResponse](docs/LoginResponse.md)
- [Logs](docs/Logs.md)
- [MatchedFunction](docs/MatchedFunction.md)
- [MatchedFunctionSuggestion](docs/MatchedFunctionSuggestion.md)
- [MetaModel](docs/MetaModel.md)
- [ModelName](docs/ModelName.md)
Expand Down
29 changes: 29 additions & 0 deletions docs/AnalysisFunctionMatchingRequest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# AnalysisFunctionMatchingRequest


## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**min_similarity** | **float** | Minimum similarity expected for a match, default is 0.9 | [optional] [default to 0.9]

## Example

```python
from revengai.models.analysis_function_matching_request import AnalysisFunctionMatchingRequest

# TODO update the JSON string below
json = "{}"
# create an instance of AnalysisFunctionMatchingRequest from a JSON string
analysis_function_matching_request_instance = AnalysisFunctionMatchingRequest.from_json(json)
# print the JSON string representation of the object
print(AnalysisFunctionMatchingRequest.to_json())

# convert the object into a dict
analysis_function_matching_request_dict = analysis_function_matching_request_instance.to_dict()
# create an instance of AnalysisFunctionMatchingRequest from a dict
analysis_function_matching_request_from_dict = AnalysisFunctionMatchingRequest.from_dict(analysis_function_matching_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


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


## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**model_id** | **int** | | [optional]
**scope** | [**FunctionMatchingScopeRequest**](FunctionMatchingScopeRequest.md) | Scope of the function matching request, used to limit the search to specific binaries, collections, and functions |

## Example

```python
from revengai.models.function_matching_batch_request import FunctionMatchingBatchRequest

# TODO update the JSON string below
json = "{}"
# create an instance of FunctionMatchingBatchRequest from a JSON string
function_matching_batch_request_instance = FunctionMatchingBatchRequest.from_json(json)
# print the JSON string representation of the object
print(FunctionMatchingBatchRequest.to_json())

# convert the object into a dict
function_matching_batch_request_dict = function_matching_batch_request_instance.to_dict()
# create an instance of FunctionMatchingBatchRequest from a dict
function_matching_batch_request_from_dict = FunctionMatchingBatchRequest.from_dict(function_matching_batch_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


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


## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**progress** | **int** | Progress of the matching operation, represented as a percentage | [optional] [default to 0]
**status** | **str** | | [optional]
**total_time** | **int** | | [optional]
**error_message** | **str** | | [optional]
**matches** | [**List[FunctionMatchingResultWithBestMatch]**](FunctionMatchingResultWithBestMatch.md) | |

## Example

```python
from revengai.models.function_matching_batch_response import FunctionMatchingBatchResponse

# TODO update the JSON string below
json = "{}"
# create an instance of FunctionMatchingBatchResponse from a JSON string
function_matching_batch_response_instance = FunctionMatchingBatchResponse.from_json(json)
# print the JSON string representation of the object
print(FunctionMatchingBatchResponse.to_json())

# convert the object into a dict
function_matching_batch_response_dict = function_matching_batch_response_instance.to_dict()
# create an instance of FunctionMatchingBatchResponse from a dict
function_matching_batch_response_from_dict = FunctionMatchingBatchResponse.from_dict(function_matching_batch_response_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


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


## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**function_id** | **int** | |
**similarity** | **float** | |
**matched_function** | [**MatchedFunction**](MatchedFunction.md) | |
**suggested_name** | **str** | | [optional]

## Example

```python
from revengai.models.function_matching_result_with_best_match import FunctionMatchingResultWithBestMatch

# TODO update the JSON string below
json = "{}"
# create an instance of FunctionMatchingResultWithBestMatch from a JSON string
function_matching_result_with_best_match_instance = FunctionMatchingResultWithBestMatch.from_json(json)
# print the JSON string representation of the object
print(FunctionMatchingResultWithBestMatch.to_json())

# convert the object into a dict
function_matching_result_with_best_match_dict = function_matching_result_with_best_match_instance.to_dict()
# create an instance of FunctionMatchingResultWithBestMatch from a dict
function_matching_result_with_best_match_from_dict = FunctionMatchingResultWithBestMatch.from_dict(function_matching_result_with_best_match_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


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


## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**binary_ids** | **List[int]** | ID's of binaries to limit the search to, if empty, search all scoped binaries | [optional] [default to []]
**collection_ids** | **List[int]** | ID's of collections to limit the search to, if empty, search all scoped collections | [optional] [default to []]
**function_ids** | **List[int]** | ID's of functions to limit the search to, if empty, search all scoped functions | [optional] [default to []]
**min_similarity** | **float** | Minimum similarity expected for a match, default is 0.9 | [optional] [default to 0.9]
**debug_types** | **List[str]** | Limit the search to specific debug types, if empty, search all scoped debug & non-debug functions | [optional] [default to []]

## Example

```python
from revengai.models.function_matching_scope_request import FunctionMatchingScopeRequest

# TODO update the JSON string below
json = "{}"
# create an instance of FunctionMatchingScopeRequest from a JSON string
function_matching_scope_request_instance = FunctionMatchingScopeRequest.from_json(json)
# print the JSON string representation of the object
print(FunctionMatchingScopeRequest.to_json())

# convert the object into a dict
function_matching_scope_request_dict = function_matching_scope_request_instance.to_dict()
# create an instance of FunctionMatchingScopeRequest from a dict
function_matching_scope_request_from_dict = FunctionMatchingScopeRequest.from_dict(function_matching_scope_request_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


170 changes: 170 additions & 0 deletions docs/FunctionsCoreApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ All URIs are relative to *https://api.reveng.ai*
Method | HTTP request | Description
------------- | ------------- | -------------
[**ai_unstrip**](FunctionsCoreApi.md#ai_unstrip) | **POST** /v2/analyses/{analysis_id}/functions/ai-unstrip | Performs matching and auto-unstrip for an analysis and its functions
[**analysis_function_matching**](FunctionsCoreApi.md#analysis_function_matching) | **POST** /v2/analyses/{analysis_id}/functions/matches | Perform matching for the functions of an analysis
[**auto_unstrip**](FunctionsCoreApi.md#auto_unstrip) | **POST** /v2/analyses/{analysis_id}/functions/auto-unstrip | Performs matching and auto-unstrip for an analysis and its functions
[**batch_function_matching**](FunctionsCoreApi.md#batch_function_matching) | **POST** /v2/functions/matches | Perform function matching for an arbitrary batch of functions, binaries or collections
[**cancel_ai_unstrip**](FunctionsCoreApi.md#cancel_ai_unstrip) | **DELETE** /v2/analyses/{analysis_id}/functions/ai-unstrip/cancel | Cancels a running ai-unstrip
[**cancel_auto_unstrip**](FunctionsCoreApi.md#cancel_auto_unstrip) | **DELETE** /v2/analyses/{analysis_id}/functions/unstrip/cancel | Cancels a running auto-unstrip
[**get_analysis_strings**](FunctionsCoreApi.md#get_analysis_strings) | **GET** /v2/analyses/{analysis_id}/functions/strings | Get string information found in the Analysis
Expand Down Expand Up @@ -102,6 +104,91 @@ Name | Type | Description | Notes

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **analysis_function_matching**
> FunctionMatchingBatchResponse analysis_function_matching(analysis_id, analysis_function_matching_request, authorization=authorization)

Perform matching for the functions of an analysis

Takes in an analysis id and settings and finds the nearest functions for each function that's within the system

### Example

* Api Key Authentication (APIKey):

```python
import revengai
from revengai.models.analysis_function_matching_request import AnalysisFunctionMatchingRequest
from revengai.models.function_matching_batch_response import FunctionMatchingBatchResponse
from revengai.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.reveng.ai
# See configuration.py for a list of all supported configuration parameters.
configuration = revengai.Configuration(
host = "https://api.reveng.ai"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: APIKey
configuration.api_key['APIKey'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['APIKey'] = 'Bearer'

# Enter a context with an instance of the API client
with revengai.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = revengai.FunctionsCoreApi(api_client)
analysis_id = 56 # int |
analysis_function_matching_request = revengai.AnalysisFunctionMatchingRequest() # AnalysisFunctionMatchingRequest |
authorization = 'authorization_example' # str | API Key bearer token (optional)

try:
# Perform matching for the functions of an analysis
api_response = api_instance.analysis_function_matching(analysis_id, analysis_function_matching_request, authorization=authorization)
print("The response of FunctionsCoreApi->analysis_function_matching:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling FunctionsCoreApi->analysis_function_matching: %s\n" % e)
```



### Parameters


Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**analysis_id** | **int**| |
**analysis_function_matching_request** | [**AnalysisFunctionMatchingRequest**](AnalysisFunctionMatchingRequest.md)| |
**authorization** | **str**| API Key bearer token | [optional]

### Return type

[**FunctionMatchingBatchResponse**](FunctionMatchingBatchResponse.md)

### Authorization

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

### HTTP request headers

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

### HTTP response details

| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Invalid request parameters | - |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **auto_unstrip**
> AutoUnstripResponse auto_unstrip(analysis_id, auto_unstrip_request, authorization=authorization)

Expand Down Expand Up @@ -187,6 +274,89 @@ Name | Type | Description | Notes

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **batch_function_matching**
> FunctionMatchingBatchResponse batch_function_matching(function_matching_batch_request, authorization=authorization)

Perform function matching for an arbitrary batch of functions, binaries or collections

Takes in an input of functions ID's and settings and finds the nearest functions for each function that's within the system

### Example

* Api Key Authentication (APIKey):

```python
import revengai
from revengai.models.function_matching_batch_request import FunctionMatchingBatchRequest
from revengai.models.function_matching_batch_response import FunctionMatchingBatchResponse
from revengai.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.reveng.ai
# See configuration.py for a list of all supported configuration parameters.
configuration = revengai.Configuration(
host = "https://api.reveng.ai"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure API key authorization: APIKey
configuration.api_key['APIKey'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['APIKey'] = 'Bearer'

# Enter a context with an instance of the API client
with revengai.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = revengai.FunctionsCoreApi(api_client)
function_matching_batch_request = revengai.FunctionMatchingBatchRequest() # FunctionMatchingBatchRequest |
authorization = 'authorization_example' # str | API Key bearer token (optional)

try:
# Perform function matching for an arbitrary batch of functions, binaries or collections
api_response = api_instance.batch_function_matching(function_matching_batch_request, authorization=authorization)
print("The response of FunctionsCoreApi->batch_function_matching:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling FunctionsCoreApi->batch_function_matching: %s\n" % e)
```



### Parameters


Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**function_matching_batch_request** | [**FunctionMatchingBatchRequest**](FunctionMatchingBatchRequest.md)| |
**authorization** | **str**| API Key bearer token | [optional]

### Return type

[**FunctionMatchingBatchResponse**](FunctionMatchingBatchResponse.md)

### Authorization

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

### HTTP request headers

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

### HTTP response details

| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
**422** | Invalid request parameters | - |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **cancel_ai_unstrip**
> AutoUnstripResponse cancel_ai_unstrip(analysis_id, authorization=authorization)

Expand Down
Loading