RESTful4Up icon

RESTful4Up

RESTful API 4 Unipacker

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "http://restful4up.local"
    },
    {
      "url": "/v1"
    }
  ],
  "info": {
    "description": "RESTful API 4 Unipacker",
    "title": "RESTful4Up",
    "version": "1.0.0",
    "x-apisguru-categories": [
      "developer_tools"
    ],
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://raw.githubusercontent.com/rpgeeganage/restful4up/master/app/spec/api.yml",
        "version": "3.0"
      }
    ],
    "x-providerName": "restful4up.local",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
    }
  },
  "paths": {
    "/apply-yara-rules": {
      "post": {
        "description": "apply given YARA rules to the given executable. (upto 10 rules)",
        "operationId": "applyYaraRules",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "description": "file",
                    "format": "binary",
                    "type": "string"
                  },
                  "is_unpacking_required": {
                    "enum": [
                      "true",
                      "false"
                    ],
                    "type": "string"
                  },
                  "rules": {
                    "items": {
                      "description": "Rule as BASE-64 encoded string",
                      "type": "string"
                    },
                    "maxItems": 10,
                    "minItems": 1,
                    "type": "array"
                  }
                },
                "required": [
                  "file",
                  "rules"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "properties": {
                    "result": {
                      "$ref": "#/components/schemas/apply_yara_rule"
                    }
                  }
                }
              }
            },
            "description": "Yara rules"
          },
          "400": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "request error"
          },
          "500": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "server error"
          }
        }
      }
    },
    "/clean": {
      "head": {
        "description": "clean up the uploaded files",
        "operationId": "clean",
        "responses": {
          "204": {
            "description": "Ok"
          },
          "500": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "server error"
          }
        }
      }
    },
    "/emulation-output": {
      "post": {
        "description": "try to get the emulation output after unpacking the file",
        "operationId": "emulationOutput",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "description": "file",
                    "format": "binary",
                    "type": "string"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "properties": {
                    "output": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "output"
                  ]
                }
              }
            },
            "description": "emulation output after unpacking the file"
          },
          "400": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "request error"
          },
          "500": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "server error"
          }
        }
      }
    },
    "/generate-partial-yara-rules": {
      "post": {
        "description": "generate partial YARA rules for give executable. (Rule without the condition section)",
        "operationId": "generatePartialYaraRule",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "description": "file",
                    "format": "binary",
                    "type": "string"
                  },
                  "is_unpacking_required": {
                    "enum": [
                      "true",
                      "false"
                    ],
                    "type": "string"
                  },
                  "minimum_string_length": {
                    "type": "string"
                  },
                  "strings_to_ignore": {
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 1000,
                    "minItems": 0,
                    "type": "array"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "properties": {
                    "rule": {
                      "$ref": "#/components/schemas/yara"
                    }
                  }
                }
              }
            },
            "description": "Yara rules"
          },
          "400": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "request error"
          },
          "500": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "server error"
          }
        }
      }
    },
    "/unpack": {
      "post": {
        "description": "try to unpack the given file",
        "operationId": "unpack",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "description": "file",
                    "format": "binary",
                    "type": "string"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Ok"
          },
          "400": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "request error"
          },
          "500": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "server error"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "apply_yara_rule": {
        "properties": {
          "error_message": {
            "description": "error message, if YARA failed",
            "type": "string"
          },
          "is_success": {
            "description": "is operation success",
            "type": "boolean"
          },
          "matched_yara_rules": {
            "description": "matched YARA rules",
            "items": {
              "items": {
                "description": "Yara rule meta data section",
                "properties": {
                  "rule": {
                    "description": "matched rule",
                    "type": "string"
                  },
                  "string_information": {
                    "description": "string which matched during the scanning",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "rule",
                  "string_information"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "type": "array"
          },
          "yara_command": {
            "description": "Yara command executed",
            "type": "string"
          }
        },
        "required": [
          "yara_command",
          "is_success"
        ]
      },
      "error": {
        "properties": {
          "message": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          }
        },
        "required": [
          "status",
          "message"
        ],
        "type": "object"
      },
      "yara": {
        "properties": {
          "meta": {
            "description": "Yara rule meta data section",
            "properties": {
              "date": {
                "description": "Date of the YARA rule created",
                "type": "string"
              },
              "md5sum": {
                "description": "MD5 check sum",
                "type": "string"
              },
              "sha256sum": {
                "description": "SHA 256 check sum",
                "type": "string"
              },
              "sha512sum": {
                "description": "SHA 512 check sum",
                "type": "string"
              }
            },
            "required": [
              "date",
              "md5sum",
              "sha256sum",
              "sha512sum"
            ],
            "type": "object"
          },
          "name": {
            "description": "Yara rule name",
            "type": "string"
          },
          "strings": {
            "description": "Yara rule string section",
            "items": {
              "items": {
                "type": "string"
              },
              "maxItems": 2,
              "minItems": 2,
              "type": "array"
            },
            "type": "array"
          }
        },
        "required": [
          "name",
          "meta",
          "strings"
        ]
      }
    }
  }
}