Skip to content

kryptoslogic/unpacme-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go API client for UNPACME

Introduction

Welcome to the UNPACME API! All the malware unpacking and file analysis features that you are familiar with on the unpac.me website are available through our API. You can easily integrate our unpacker into your malware analysis pipeline and begin unpacking at scale!

Authentication

The public UNPACME API is publicly available and can be accessed without authentication.

In order to use the private UNPACME API you must sign up for an account with UNPACME. Once you have a valid user account you can view your personal API key in your user profile.

Response Structure

When interacting with the UNPACME API, if the request was correctly handled, a 200 HTTP status code will be returned. The body of the response will usually be a JSON object (except for file downloads).

Response Status Codes

Status Code Description Notes
200 OK The request was successful
400 Bad Request The request was somehow incorrect. This can be caused by missing arguments or arguments with wrong values.
401 Unauthorized The supplied credentials, if any, are not sufficient to access the resource
403 Forbidden The account does not have enough privileges to make the request.
404 Not Found The requested resource is not found
429 Too Many Requests The request frequency has exceeded one of the account quotas (minute, daily or monthly). Monthly quotas are reset on the 1st of the month at 00:00 UTC.
500 Server Error The server could not return the representation due to an internal server error

Error Response

If an error has occurred while handling the request an error status code will be returend along with a JSON error message with the following properties.

Property Description
Error The error type
Description A more informative message

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context

Install the module:

go get github.com/kryptoslogic/unpacme-go

Import:

import openapiclient "github.com/kryptoslogic/unpacme-go"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Documentation for API Endpoints

All URIs are relative to https://api.unpac.me/api/v1

Class Method HTTP request Description
FeedApi GetPrivateFeed Get /private/feed/unpacked Get full unpacked sample feed
FeedApi GetPrivateFeedYaraFiltered Get /private/feed/unpacked/yara/{yara_rule} Get full unpacked sample feed filtered by yara rule
FeedApi GetPrivateFeedYaraTags Get /private/feed/unpacked/yara Get list of yara tags in feed
PublicApi GetPublicFeed Get /public/feed Get public feed
PublicApi GetPublicResults Get /public/results/{unpack_id} Get unpack results by ID
PublicApi GetPublicUnpackStatus Get /public/status/{unpack_id} Get unpack status by ID
UnpackingApi GetPrivateDownload Get /private/download/{sample_hash} Download sample by hash
UnpackingApi GetPrivateHistory Get /private/history Get history
UnpackingApi GetPrivateResults Get /private/results/{unpack_id} Get unpack results by ID
UnpackingApi GetPrivateSearchbyHash Get /private/search/hash/{sample_hash} Search for parent submission by hash
UnpackingApi GetPrivateUnpackStatus Get /private/status/{unpack_id} Get unpack status by ID
UnpackingApi PostPrivateUpload Post /private/upload/ Submit sample for unpacking
UserApi DeletePrivateUserMalpedia Delete /private/user/malpedia Remove Malpedia authentication
UserApi GetPrivateUserAccess Get /private/user/access Get user settings
UserApi GetPrivateUserMalpedia Get /private/user/malpedia Get user Malpedia info
UserApi PostPrivateUserMalpedia Post /private/user/malpedia Authenticate user to Malpedia

Documentation For Models

Documentation For Authorization

api_key

  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header

Note, each API key must be added to a map of map[string]APIKey where the key is: Authorization and passed in as the auth context for each request.

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author

Kryptos Logic

About

Go API bindings/client for unpac.me.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages