Skip to content
Open
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 @@
v4.20.0
v4.24.0
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ Class | Method | HTTP request | Description
*AnalysesCoreApi* | [**v3_get_analysis_strings_status**](docs/AnalysesCoreApi.md#v3_get_analysis_strings_status) | **GET** /v3/analyses/{analysis_id}/functions/strings/status | Get the string-extraction status for an analysis.
*AnalysesCoreApi* | [**v3_list_analyses**](docs/AnalysesCoreApi.md#v3_list_analyses) | **GET** /v3/analyses | List analyses
*AnalysesCoreApi* | [**v3_list_example_analyses**](docs/AnalysesCoreApi.md#v3_list_example_analyses) | **GET** /v3/analyses/examples | List example analyses
*AnalysesCoreApi* | [**v3_upgrade_analysis_model**](docs/AnalysesCoreApi.md#v3_upgrade_analysis_model) | **POST** /v3/analyses/{analysis_id}/upgrade-model | Re-analyse on the latest model
*AnalysesResultsMetadataApi* | [**get_analysis_functions_paginated**](docs/AnalysesResultsMetadataApi.md#get_analysis_functions_paginated) | **GET** /v2/analyses/{analysis_id}/functions | Get functions from analysis
*AnalysesResultsMetadataApi* | [**get_capabilities**](docs/AnalysesResultsMetadataApi.md#get_capabilities) | **GET** /v2/analyses/{analysis_id}/capabilities | Gets the capabilities from the analysis
*AnalysesResultsMetadataApi* | [**get_functions_list**](docs/AnalysesResultsMetadataApi.md#get_functions_list) | **GET** /v2/analyses/{analysis_id}/functions/list | Gets functions from analysis
Expand Down Expand Up @@ -494,6 +495,7 @@ Class | Method | HTTP request | Description
- [ExternalResponse](docs/ExternalResponse.md)
- [ExtractedBinary](docs/ExtractedBinary.md)
- [ExtractedURL](docs/ExtractedURL.md)
- [ExtractionFailure](docs/ExtractionFailure.md)
- [FileActivityEntry](docs/FileActivityEntry.md)
- [FileFormat](docs/FileFormat.md)
- [FileHashes](docs/FileHashes.md)
Expand Down Expand Up @@ -766,6 +768,7 @@ Class | Method | HTTP request | Description
- [UpdateUserCreditsInputBody](docs/UpdateUserCreditsInputBody.md)
- [UpdateUserInputBody](docs/UpdateUserInputBody.md)
- [UpdateUserPasswordInputBody](docs/UpdateUserPasswordInputBody.md)
- [UpgradeAnalysisModelOutputBody](docs/UpgradeAnalysisModelOutputBody.md)
- [UploadFileType](docs/UploadFileType.md)
- [UploadResponse](docs/UploadResponse.md)
- [UpsertAiDecomplationRatingRequest](docs/UpsertAiDecomplationRatingRequest.md)
Expand Down
96 changes: 96 additions & 0 deletions docs/AnalysesCoreApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ Method | HTTP request | Description
[**v3_get_analysis_strings_status**](AnalysesCoreApi.md#v3_get_analysis_strings_status) | **GET** /v3/analyses/{analysis_id}/functions/strings/status | Get the string-extraction status for an analysis.
[**v3_list_analyses**](AnalysesCoreApi.md#v3_list_analyses) | **GET** /v3/analyses | List analyses
[**v3_list_example_analyses**](AnalysesCoreApi.md#v3_list_example_analyses) | **GET** /v3/analyses/examples | List example analyses
[**v3_upgrade_analysis_model**](AnalysesCoreApi.md#v3_upgrade_analysis_model) | **POST** /v3/analyses/{analysis_id}/upgrade-model | Re-analyse on the latest model


# **add_user_string_to_analysis**
Expand Down Expand Up @@ -2716,3 +2717,98 @@ This endpoint does not need any parameter.

[[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)

# **v3_upgrade_analysis_model**
> UpgradeAnalysisModelOutputBody v3_upgrade_analysis_model(analysis_id)

Re-analyse on the latest model

Re-runs an analysis created on an older model against the current unified model, in place β€” the analysis ID does not change. No credits are consumed. Only the owner may call it, and only once the analysis has settled: the pipeline clears the binary's functions, names, data types and signatures before re-running. Returns 409 if the analysis is already on the latest model, or is still running. Poll `GET /v3/analyses/{analysis_id}/basic` for status, as with any other run.

**Error codes:**
- `404` [`NOT_FOUND`](/errors/NOT_FOUND) β€” Not Found
- `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) β€” Access Denied
- `409` [`CONFLICT`](/errors/CONFLICT) β€” Conflict

### Example

* Api Key Authentication (APIKey):
* Bearer Authentication (bearerAuth):

```python
import revengai
from revengai.models.upgrade_analysis_model_output_body import UpgradeAnalysisModelOutputBody
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'

# Configure Bearer authorization: bearerAuth
configuration = revengai.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)

# 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.AnalysesCoreApi(api_client)
analysis_id = 56 # int | Analysis ID

try:
# Re-analyse on the latest model
api_response = api_instance.v3_upgrade_analysis_model(analysis_id)
print("The response of AnalysesCoreApi->v3_upgrade_analysis_model:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling AnalysesCoreApi->v3_upgrade_analysis_model: %s\n" % e)
```



### Parameters


Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**analysis_id** | **int**| Analysis ID |

### Return type

[**UpgradeAnalysisModelOutputBody**](UpgradeAnalysisModelOutputBody.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 |
|-------------|-------------|------------------|
**201** | Created | - |
**403** | Forbidden | - |
**404** | Not Found | - |
**409** | Conflict | - |
**422** | Unprocessable Entity | - |
**500** | Internal Server Error | - |

[[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)

1 change: 1 addition & 0 deletions docs/AnalysisBasicInfoOutputBody.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ Name | Type | Description | Notes
**is_system** | **bool** | True when the analysis is owned by a system user |
**model_id** | **int** | Model ID |
**model_name** | **str** | Model used for analysis |
**model_upgrade_available** | **bool** | True when the analysis ran on a model older than the current one, so its owner can re-analyse it on the latest. Describes the analysis, not the caller's rights β€” only the owner may act on it |
**owner_username** | **str** | Username of the analysis owner |
**sequencer_version** | **str** | Sequencer version, omitted when not set | [optional]
**sha_256_hash** | **str** | SHA-256 hash of the binary |
Expand Down
1 change: 1 addition & 0 deletions docs/AnalysisRecordBody.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Name | Type | Description | Notes
**is_owner** | **bool** | True when the caller owns the analysis |
**model_id** | **int** | Model ID |
**model_name** | **str** | Model name |
**model_upgrade_available** | **bool** | True when the analysis ran on a model older than the current one, so its owner can re-analyse it on the latest. Describes the analysis, not the caller's rights β€” only the owner may act on it |
**sha_256_hash** | **str** | SHA-256 hash of the binary |
**status** | **str** | Analysis status |
**supplied_architecture** | **str** | User-supplied instruction-set architecture; \"AUTO\" when not overridden |
Expand Down
30 changes: 30 additions & 0 deletions docs/ExtractionFailure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# ExtractionFailure


## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**message** | **str** | Why this file failed to extract. |
**retryable** | **bool** | Whether re-submitting the extraction might resolve this failure. |

## Example

```python
from revengai.models.extraction_failure import ExtractionFailure

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

# convert the object into a dict
extraction_failure_dict = extraction_failure_instance.to_dict()
# create an instance of ExtractionFailure from a dict
extraction_failure_from_dict = ExtractionFailure.from_dict(extraction_failure_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)


2 changes: 1 addition & 1 deletion docs/ResultBody.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**binaries** | [**List[ExtractedBinary]**](ExtractedBinary.md) | Child binaries recovered from the extraction. |
**extraction_depth** | **int** | Number of nested-archive extraction passes taken. |
**filename_to_extraction_failure** | **Dict[str, str]** | Per-file extraction failures, keyed by filename. |
**filename_to_failure** | [**Dict[str, ExtractionFailure]**](ExtractionFailure.md) | Per-file extraction failures, keyed by filename. |
**skipped_files** | **int** | Files skipped because they were not recognised as binaries. |

## Example
Expand Down
31 changes: 31 additions & 0 deletions docs/UpgradeAnalysisModelOutputBody.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# UpgradeAnalysisModelOutputBody


## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**analysis_id** | **int** | ID of the re-queued analysis. Unchanged β€” the upgrade moves the existing analysis rather than creating a new one. |
**binary_id** | **int** | ID of the binary the analysis belongs to |
**model_id** | **int** | Model the analysis is now queued against |

## Example

```python
from revengai.models.upgrade_analysis_model_output_body import UpgradeAnalysisModelOutputBody

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

# convert the object into a dict
upgrade_analysis_model_output_body_dict = upgrade_analysis_model_output_body_instance.to_dict()
# create an instance of UpgradeAnalysisModelOutputBody from a dict
upgrade_analysis_model_output_body_from_dict = UpgradeAnalysisModelOutputBody.from_dict(upgrade_analysis_model_output_body_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)


6 changes: 5 additions & 1 deletion revengai/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
""" # noqa: E501


__version__ = "v4.20.0"
__version__ = "v4.24.0"

# Define package exports
__all__ = [
Expand Down Expand Up @@ -323,6 +323,7 @@
"ExternalResponse",
"ExtractedBinary",
"ExtractedURL",
"ExtractionFailure",
"FileActivityEntry",
"FileFormat",
"FileHashes",
Expand Down Expand Up @@ -595,6 +596,7 @@
"UpdateUserCreditsInputBody",
"UpdateUserInputBody",
"UpdateUserPasswordInputBody",
"UpgradeAnalysisModelOutputBody",
"UploadFileType",
"UploadResponse",
"UpsertAiDecomplationRatingRequest",
Expand Down Expand Up @@ -924,6 +926,7 @@
from revengai.models.external_response import ExternalResponse as ExternalResponse
from revengai.models.extracted_binary import ExtractedBinary as ExtractedBinary
from revengai.models.extracted_url import ExtractedURL as ExtractedURL
from revengai.models.extraction_failure import ExtractionFailure as ExtractionFailure
from revengai.models.file_activity_entry import FileActivityEntry as FileActivityEntry
from revengai.models.file_format import FileFormat as FileFormat
from revengai.models.file_hashes import FileHashes as FileHashes
Expand Down Expand Up @@ -1196,6 +1199,7 @@
from revengai.models.update_user_credits_input_body import UpdateUserCreditsInputBody as UpdateUserCreditsInputBody
from revengai.models.update_user_input_body import UpdateUserInputBody as UpdateUserInputBody
from revengai.models.update_user_password_input_body import UpdateUserPasswordInputBody as UpdateUserPasswordInputBody
from revengai.models.upgrade_analysis_model_output_body import UpgradeAnalysisModelOutputBody as UpgradeAnalysisModelOutputBody
from revengai.models.upload_file_type import UploadFileType as UploadFileType
from revengai.models.upload_response import UploadResponse as UploadResponse
from revengai.models.upsert_ai_decomplation_rating_request import UpsertAiDecomplationRatingRequest as UpsertAiDecomplationRatingRequest
Expand Down
Loading