Skip to content

Latest commit

 

History

History
1860 lines (1194 loc) · 54.4 KB

File metadata and controls

1860 lines (1194 loc) · 54.4 KB

FunctionsCoreAPI

All URIs are relative to https://api.reveng.ai

Method HTTP request Description
AddFunctionCallee Post /v3/functions/{function_id}/callees Add a callee to a function
AddUserStringToFunction Post /v3/functions/{function_id}/user-provided-strings Add a user-provided string to a function.
AiUnstrip Post /v2/analyses/{analysis_id}/functions/ai-unstrip Performs matching and auto-unstrip for an analysis and its functions
AnalysisFunctionMatching Post /v2/analyses/{analysis_id}/functions/matches Perform matching for the functions of an analysis
AutoUnstrip Post /v2/analyses/{analysis_id}/functions/auto-unstrip Performs matching and auto-unstrip for an analysis and its functions
BatchFunctionMatching Post /v2/functions/matches Perform function matching for an arbitrary batch of functions, binaries or collections
CancelAiUnstrip Delete /v2/analyses/{analysis_id}/functions/ai-unstrip/cancel Cancels a running ai-unstrip
CancelAutoUnstrip Delete /v2/analyses/{analysis_id}/functions/unstrip/cancel Cancels a running auto-unstrip
GetAnalysisStrings Get /v2/analyses/{analysis_id}/functions/strings Get string information found in the Analysis
GetAnalysisStringsStatus Get /v2/analyses/{analysis_id}/functions/strings/status Get string processing state for the Analysis
GetFunctionBlocks Get /v2/functions/{function_id}/blocks Get disassembly blocks related to the function
GetFunctionBlocks_0 Get /v3/functions/{function_id}/blocks Get function disassembly
GetFunctionCalleesCallers Get /v2/functions/{function_id}/callees_callers Get list of functions that call or are called by the specified function
GetFunctionCalleesCallersBulk Get /v2/functions/callees_callers Get list of functions that call or are called for a list of functions
GetFunctionCalleesCallers_0 Get /v3/functions/{function_id}/callees-callers Get callees and callers for a function
GetFunctionCapabilities Get /v2/functions/{function_id}/capabilities Retrieve a functions capabilities
GetFunctionCapabilities_0 Get /v3/functions/{function_id}/capabilities Get capabilities for a function
GetFunctionDetails Get /v2/functions/{function_id} Get function details
GetFunctionDetails_0 Get /v3/functions/{function_id} Get function details
GetFunctionStrings Get /v2/functions/{function_id}/strings Get string information found in the function
GetFunctionStrings_0 Get /v3/functions/{function_id}/strings List strings for a function.
GetFunctionsCalleesCallers Get /v3/functions/callees-callers Get callees and callers for many functions
GetFunctionsMatches Get /v3/functions/matches Get function-matching results for an explicit set of functions
GetFunctionsMatchingStatus Get /v3/functions/matches/status Get function-matching status for an explicit set of functions
ListAnalysisFunctions Get /v3/analyses/{analysis_id}/functions List functions in an analysis
StartFunctionsMatching Post /v3/functions/matches Start function matching for an explicit set of functions

AddFunctionCallee

map[string]interface{} AddFunctionCallee(ctx, functionId).AddCalleeInputBody(addCalleeInputBody).Execute()

Add a callee to a function

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int64(789) // int64 | Function ID
	addCalleeInputBody := *revengai.NewAddCalleeInputBody(int64(123), false) // AddCalleeInputBody | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.AddFunctionCallee(context.Background(), functionId).AddCalleeInputBody(addCalleeInputBody).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.AddFunctionCallee``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `AddFunctionCallee`: map[string]interface{}
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.AddFunctionCallee`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int64 Function ID

Other Parameters

Other parameters are passed through a pointer to a apiAddFunctionCalleeRequest struct via the builder pattern

Name Type Description Notes

addCalleeInputBody | AddCalleeInputBody | |

Return type

map[string]interface{}

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

AddUserStringToFunction

map[string]interface{} AddUserStringToFunction(ctx, functionId).AddUserStringToFunctionInputBody(addUserStringToFunctionInputBody).Execute()

Add a user-provided string to a function.

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int64(789) // int64 | Function ID
	addUserStringToFunctionInputBody := *revengai.NewAddUserStringToFunctionInputBody("String_example", int64(123)) // AddUserStringToFunctionInputBody | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.AddUserStringToFunction(context.Background(), functionId).AddUserStringToFunctionInputBody(addUserStringToFunctionInputBody).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.AddUserStringToFunction``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `AddUserStringToFunction`: map[string]interface{}
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.AddUserStringToFunction`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int64 Function ID

Other Parameters

Other parameters are passed through a pointer to a apiAddUserStringToFunctionRequest struct via the builder pattern

Name Type Description Notes

addUserStringToFunctionInputBody | AddUserStringToFunctionInputBody | |

Return type

map[string]interface{}

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

AiUnstrip

AutoUnstripResponse AiUnstrip(ctx, analysisId).AiUnstripRequest(aiUnstripRequest).Execute()

Performs matching and auto-unstrip for an analysis and its functions

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	analysisId := int32(56) // int32 | 
	aiUnstripRequest := *revengai.NewAiUnstripRequest() // AiUnstripRequest | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.AiUnstrip(context.Background(), analysisId).AiUnstripRequest(aiUnstripRequest).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.AiUnstrip``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `AiUnstrip`: AutoUnstripResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.AiUnstrip`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
analysisId int32

Other Parameters

Other parameters are passed through a pointer to a apiAiUnstripRequest struct via the builder pattern

Name Type Description Notes

aiUnstripRequest | AiUnstripRequest | |

Return type

AutoUnstripResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

AnalysisFunctionMatching

FunctionMatchingResponse AnalysisFunctionMatching(ctx, analysisId).AnalysisFunctionMatchingRequest(analysisFunctionMatchingRequest).Execute()

Perform matching for the functions of an analysis

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	analysisId := int32(56) // int32 | 
	analysisFunctionMatchingRequest := *revengai.NewAnalysisFunctionMatchingRequest() // AnalysisFunctionMatchingRequest | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.AnalysisFunctionMatching(context.Background(), analysisId).AnalysisFunctionMatchingRequest(analysisFunctionMatchingRequest).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.AnalysisFunctionMatching``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `AnalysisFunctionMatching`: FunctionMatchingResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.AnalysisFunctionMatching`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
analysisId int32

Other Parameters

Other parameters are passed through a pointer to a apiAnalysisFunctionMatchingRequest struct via the builder pattern

Name Type Description Notes

analysisFunctionMatchingRequest | AnalysisFunctionMatchingRequest | |

Return type

FunctionMatchingResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

AutoUnstrip

AutoUnstripResponse AutoUnstrip(ctx, analysisId).AutoUnstripRequest(autoUnstripRequest).Execute()

Performs matching and auto-unstrip for an analysis and its functions

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	analysisId := int32(56) // int32 | 
	autoUnstripRequest := *revengai.NewAutoUnstripRequest() // AutoUnstripRequest | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.AutoUnstrip(context.Background(), analysisId).AutoUnstripRequest(autoUnstripRequest).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.AutoUnstrip``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `AutoUnstrip`: AutoUnstripResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.AutoUnstrip`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
analysisId int32

Other Parameters

Other parameters are passed through a pointer to a apiAutoUnstripRequest struct via the builder pattern

Name Type Description Notes

autoUnstripRequest | AutoUnstripRequest | |

Return type

AutoUnstripResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

BatchFunctionMatching

FunctionMatchingResponse BatchFunctionMatching(ctx).FunctionMatchingRequest(functionMatchingRequest).Execute()

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

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionMatchingRequest := *revengai.NewFunctionMatchingRequest(int32(123), []int64{int64(123)}) // FunctionMatchingRequest | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.BatchFunctionMatching(context.Background()).FunctionMatchingRequest(functionMatchingRequest).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.BatchFunctionMatching``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `BatchFunctionMatching`: FunctionMatchingResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.BatchFunctionMatching`: %v\n", resp)
}

Path Parameters

Other Parameters

Other parameters are passed through a pointer to a apiBatchFunctionMatchingRequest struct via the builder pattern

Name Type Description Notes
functionMatchingRequest FunctionMatchingRequest

Return type

FunctionMatchingResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

CancelAiUnstrip

AutoUnstripResponse CancelAiUnstrip(ctx, analysisId).Execute()

Cancels a running ai-unstrip

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	analysisId := int32(56) // int32 | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.CancelAiUnstrip(context.Background(), analysisId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.CancelAiUnstrip``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `CancelAiUnstrip`: AutoUnstripResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.CancelAiUnstrip`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
analysisId int32

Other Parameters

Other parameters are passed through a pointer to a apiCancelAiUnstripRequest struct via the builder pattern

Name Type Description Notes

Return type

AutoUnstripResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

CancelAutoUnstrip

AutoUnstripResponse CancelAutoUnstrip(ctx, analysisId).Execute()

Cancels a running auto-unstrip

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	analysisId := int32(56) // int32 | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.CancelAutoUnstrip(context.Background(), analysisId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.CancelAutoUnstrip``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `CancelAutoUnstrip`: AutoUnstripResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.CancelAutoUnstrip`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
analysisId int32

Other Parameters

Other parameters are passed through a pointer to a apiCancelAutoUnstripRequest struct via the builder pattern

Name Type Description Notes

Return type

AutoUnstripResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetAnalysisStrings

BaseResponseAnalysisStringsResponse GetAnalysisStrings(ctx, analysisId).Page(page).PageSize(pageSize).Search(search).FunctionSearch(functionSearch).OrderBy(orderBy).SortOrder(sortOrder).Execute()

Get string information found in the Analysis

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	analysisId := int32(56) // int32 | 
	page := int32(56) // int32 | The page number to retrieve. (optional) (default to 1)
	pageSize := int32(56) // int32 | Number of items per page. (optional) (default to 100)
	search := "search_example" // string | Search is applied to string value (optional)
	functionSearch := "functionSearch_example" // string | Search is applied to function names (optional)
	orderBy := "orderBy_example" // string | Order by field (optional) (default to "value")
	sortOrder := "sortOrder_example" // string | Sort order for the results (optional) (default to "ASC")

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetAnalysisStrings(context.Background(), analysisId).Page(page).PageSize(pageSize).Search(search).FunctionSearch(functionSearch).OrderBy(orderBy).SortOrder(sortOrder).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetAnalysisStrings``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetAnalysisStrings`: BaseResponseAnalysisStringsResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetAnalysisStrings`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
analysisId int32

Other Parameters

Other parameters are passed through a pointer to a apiGetAnalysisStringsRequest struct via the builder pattern

Name Type Description Notes

page | int32 | The page number to retrieve. | [default to 1] pageSize | int32 | Number of items per page. | [default to 100] search | string | Search is applied to string value | functionSearch | string | Search is applied to function names | orderBy | string | Order by field | [default to "value"] sortOrder | string | Sort order for the results | [default to "ASC"]

Return type

BaseResponseAnalysisStringsResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetAnalysisStringsStatus

BaseResponseAnalysisStringsStatusResponse GetAnalysisStringsStatus(ctx, analysisId).Execute()

Get string processing state for the Analysis

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	analysisId := int32(56) // int32 | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetAnalysisStringsStatus(context.Background(), analysisId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetAnalysisStringsStatus``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetAnalysisStringsStatus`: BaseResponseAnalysisStringsStatusResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetAnalysisStringsStatus`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
analysisId int32

Other Parameters

Other parameters are passed through a pointer to a apiGetAnalysisStringsStatusRequest struct via the builder pattern

Name Type Description Notes

Return type

BaseResponseAnalysisStringsStatusResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionBlocks

BaseResponseFunctionBlocksResponse GetFunctionBlocks(ctx, functionId).Execute()

Get disassembly blocks related to the function

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int32(56) // int32 | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionBlocks(context.Background(), functionId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionBlocks``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionBlocks`: BaseResponseFunctionBlocksResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionBlocks`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int32

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionBlocksRequest struct via the builder pattern

Name Type Description Notes

Return type

BaseResponseFunctionBlocksResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionBlocks_0

DisassemblyOutputBody GetFunctionBlocks_0(ctx, functionId).Execute()

Get function disassembly

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int64(789) // int64 | Function ID

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionBlocks_0(context.Background(), functionId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionBlocks_0``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionBlocks_0`: DisassemblyOutputBody
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionBlocks_0`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int64 Function ID

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionBlocks_1Request struct via the builder pattern

Name Type Description Notes

Return type

DisassemblyOutputBody

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionCalleesCallers

BaseResponseCalleesCallerFunctionsResponse GetFunctionCalleesCallers(ctx, functionId).Execute()

Get list of functions that call or are called by the specified function

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int32(56) // int32 | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionCalleesCallers(context.Background(), functionId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionCalleesCallers``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionCalleesCallers`: BaseResponseCalleesCallerFunctionsResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionCalleesCallers`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int32

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionCalleesCallersRequest struct via the builder pattern

Name Type Description Notes

Return type

BaseResponseCalleesCallerFunctionsResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionCalleesCallersBulk

BaseResponseListCalleesCallerFunctionsResponse GetFunctionCalleesCallersBulk(ctx).FunctionIds(functionIds).Execute()

Get list of functions that call or are called for a list of functions

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionIds := []*int32{int32(123)} // []*int32 | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionCalleesCallersBulk(context.Background()).FunctionIds(functionIds).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionCalleesCallersBulk``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionCalleesCallersBulk`: BaseResponseListCalleesCallerFunctionsResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionCalleesCallersBulk`: %v\n", resp)
}

Path Parameters

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionCalleesCallersBulkRequest struct via the builder pattern

Name Type Description Notes
functionIds []int32

Return type

BaseResponseListCalleesCallerFunctionsResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionCalleesCallers_0

CallEdgesOutputBody GetFunctionCalleesCallers_0(ctx, functionId).Execute()

Get callees and callers for a function

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int64(789) // int64 | Function ID

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionCalleesCallers_0(context.Background(), functionId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionCalleesCallers_0``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionCalleesCallers_0`: CallEdgesOutputBody
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionCalleesCallers_0`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int64 Function ID

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionCalleesCallers_2Request struct via the builder pattern

Name Type Description Notes

Return type

CallEdgesOutputBody

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionCapabilities

BaseResponseFunctionCapabilityResponse GetFunctionCapabilities(ctx, functionId).Execute()

Retrieve a functions capabilities

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int32(56) // int32 | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionCapabilities(context.Background(), functionId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionCapabilities``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionCapabilities`: BaseResponseFunctionCapabilityResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionCapabilities`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int32

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionCapabilitiesRequest struct via the builder pattern

Name Type Description Notes

Return type

BaseResponseFunctionCapabilityResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionCapabilities_0

CapabilitiesOutputBody GetFunctionCapabilities_0(ctx, functionId).Execute()

Get capabilities for a function

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int64(789) // int64 | Function ID

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionCapabilities_0(context.Background(), functionId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionCapabilities_0``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionCapabilities_0`: CapabilitiesOutputBody
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionCapabilities_0`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int64 Function ID

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionCapabilities_3Request struct via the builder pattern

Name Type Description Notes

Return type

CapabilitiesOutputBody

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionDetails

BaseResponseFunctionsDetailResponse GetFunctionDetails(ctx, functionId).Execute()

Get function details

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int32(56) // int32 | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionDetails(context.Background(), functionId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionDetails``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionDetails`: BaseResponseFunctionsDetailResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionDetails`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int32

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionDetailsRequest struct via the builder pattern

Name Type Description Notes

Return type

BaseResponseFunctionsDetailResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionDetails_0

FunctionDetailsOutputBody GetFunctionDetails_0(ctx, functionId).Execute()

Get function details

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int64(789) // int64 | Function ID

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionDetails_0(context.Background(), functionId).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionDetails_0``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionDetails_0`: FunctionDetailsOutputBody
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionDetails_0`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int64 Function ID

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionDetails_4Request struct via the builder pattern

Name Type Description Notes

Return type

FunctionDetailsOutputBody

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionStrings

BaseResponseFunctionStringsResponse GetFunctionStrings(ctx, functionId).Page(page).PageSize(pageSize).Search(search).Execute()

Get string information found in the function

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int32(56) // int32 | 
	page := int32(56) // int32 | The page number to retrieve. (optional) (default to 1)
	pageSize := int32(56) // int32 | Number of items per page. (optional) (default to 100)
	search := "search_example" // string | Search is applied to string value (optional)

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionStrings(context.Background(), functionId).Page(page).PageSize(pageSize).Search(search).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionStrings``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionStrings`: BaseResponseFunctionStringsResponse
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionStrings`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int32

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionStringsRequest struct via the builder pattern

Name Type Description Notes

page | int32 | The page number to retrieve. | [default to 1] pageSize | int32 | Number of items per page. | [default to 100] search | string | Search is applied to string value |

Return type

BaseResponseFunctionStringsResponse

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionStrings_0

ListFunctionStringsOutputBody GetFunctionStrings_0(ctx, functionId).Page(page).PageSize(pageSize).Search(search).Execute()

List strings for a function.

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionId := int64(789) // int64 | Function ID
	page := int64(789) // int64 | Page number (1-indexed). (optional) (default to 1)
	pageSize := int64(789) // int64 | Number of results per page. (optional) (default to 100)
	search := "search_example" // string | Filter by string value (case-insensitive substring match). (optional)

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionStrings_0(context.Background(), functionId).Page(page).PageSize(pageSize).Search(search).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionStrings_0``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionStrings_0`: ListFunctionStringsOutputBody
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionStrings_0`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
functionId int64 Function ID

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionStrings_5Request struct via the builder pattern

Name Type Description Notes

page | int64 | Page number (1-indexed). | [default to 1] pageSize | int64 | Number of results per page. | [default to 100] search | string | Filter by string value (case-insensitive substring match). |

Return type

ListFunctionStringsOutputBody

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionsCalleesCallers

CallEdgesOutputBody GetFunctionsCalleesCallers(ctx).FunctionIds(functionIds).Execute()

Get callees and callers for many functions

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionIds := []int64{int64(123)} // []int64 | Function IDs to fetch edges for.

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionsCalleesCallers(context.Background()).FunctionIds(functionIds).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionsCalleesCallers``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionsCalleesCallers`: CallEdgesOutputBody
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionsCalleesCallers`: %v\n", resp)
}

Path Parameters

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionsCalleesCallersRequest struct via the builder pattern

Name Type Description Notes
functionIds []int64 Function IDs to fetch edges for.

Return type

CallEdgesOutputBody

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionsMatches

GetMatchesOutputBody GetFunctionsMatches(ctx).FunctionIds(functionIds).Execute()

Get function-matching results for an explicit set of functions

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionIds := []int64{int64(123)} // []int64 | Source function IDs whose matches to fetch.

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionsMatches(context.Background()).FunctionIds(functionIds).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionsMatches``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionsMatches`: GetMatchesOutputBody
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionsMatches`: %v\n", resp)
}

Path Parameters

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionsMatchesRequest struct via the builder pattern

Name Type Description Notes
functionIds []int64 Source function IDs whose matches to fetch.

Return type

GetMatchesOutputBody

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

GetFunctionsMatchingStatus

GetMatchesStatusOutputBody GetFunctionsMatchingStatus(ctx).FunctionIds(functionIds).Execute()

Get function-matching status for an explicit set of functions

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	functionIds := []int64{int64(123)} // []int64 | Source function IDs whose matches to fetch.

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.GetFunctionsMatchingStatus(context.Background()).FunctionIds(functionIds).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.GetFunctionsMatchingStatus``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetFunctionsMatchingStatus`: GetMatchesStatusOutputBody
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.GetFunctionsMatchingStatus`: %v\n", resp)
}

Path Parameters

Other Parameters

Other parameters are passed through a pointer to a apiGetFunctionsMatchingStatusRequest struct via the builder pattern

Name Type Description Notes
functionIds []int64 Source function IDs whose matches to fetch.

Return type

GetMatchesStatusOutputBody

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ListAnalysisFunctions

ListAnalysisFunctionsOutputBody ListAnalysisFunctions(ctx, analysisId).Offset(offset).Limit(limit).Execute()

List functions in an analysis

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	analysisId := int64(789) // int64 | Analysis ID
	offset := int64(789) // int64 | Pagination offset. Defaults to 0. (optional)
	limit := int64(789) // int64 | Page size. Defaults to 100. (optional)

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.ListAnalysisFunctions(context.Background(), analysisId).Offset(offset).Limit(limit).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.ListAnalysisFunctions``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `ListAnalysisFunctions`: ListAnalysisFunctionsOutputBody
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.ListAnalysisFunctions`: %v\n", resp)
}

Path Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
analysisId int64 Analysis ID

Other Parameters

Other parameters are passed through a pointer to a apiListAnalysisFunctionsRequest struct via the builder pattern

Name Type Description Notes

offset | int64 | Pagination offset. Defaults to 0. | limit | int64 | Page size. Defaults to 100. |

Return type

ListAnalysisFunctionsOutputBody

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

StartFunctionsMatching

StartMatchingOutputBody StartFunctionsMatching(ctx).StartMatchingForFunctionsInputBody(startMatchingForFunctionsInputBody).Execute()

Start function matching for an explicit set of functions

Example

package main

import (
	"context"
	"fmt"
	"os"
	revengai "github.com/RevEngAI/sdk-go/v3"
)

func main() {
	startMatchingForFunctionsInputBody := *revengai.NewStartMatchingForFunctionsInputBody([]int64{int64(123)}) // StartMatchingForFunctionsInputBody | 

	configuration := revengai.NewConfiguration()
	apiClient := revengai.NewAPIClient(configuration)
	resp, r, err := apiClient.FunctionsCoreAPI.StartFunctionsMatching(context.Background()).StartMatchingForFunctionsInputBody(startMatchingForFunctionsInputBody).Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `FunctionsCoreAPI.StartFunctionsMatching``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `StartFunctionsMatching`: StartMatchingOutputBody
	fmt.Fprintf(os.Stdout, "Response from `FunctionsCoreAPI.StartFunctionsMatching`: %v\n", resp)
}

Path Parameters

Other Parameters

Other parameters are passed through a pointer to a apiStartFunctionsMatchingRequest struct via the builder pattern

Name Type Description Notes
startMatchingForFunctionsInputBody StartMatchingForFunctionsInputBody

Return type

StartMatchingOutputBody

Authorization

APIKey, bearerAuth

HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]