Skip to content

Instantly share code, notes, and snippets.

@thekoma
Last active January 5, 2024 07:50
Show Gist options
  • Save thekoma/bcdceff8560cf0d1047fcfd7a7d26319 to your computer and use it in GitHub Desktop.
Save thekoma/bcdceff8560cf0d1047fcfd7a7d26319 to your computer and use it in GitHub Desktop.

Inim Cloud API reverse engineered

Endpoint: https://api.inimcloud.com/?req=<HTTP ENCODED JSON>


Unregister

{
    "Node": "",
    "Name": "AlienMobilePro",
    "ClientIP": "",
    "Method": "UnregisterClient",
    "ClientId": "SELFGENERATEDID",
    "Token": "LONGLIVEDTOKEN",
    "Params": {}
}

RegisterClient

Request

{
    "Node": "",
    "Name": "AlienMobilePro",
    "ClientIP": "",
    "Method": "RegisterClient",
    "ClientId": "",
    "Token": "",
    "Params": {
        "Username": "koma@reversed.it",
        "Password": "PASSWORD",
        "ClientId": "SELFGENERATEDID",
        "ClientName": "MyFKNphone",
        "ClientInfo": "{\"name\":\"com.inim.alienmobileplus\",\"version\":\"3.1.0\",\"device\":\"MyPhone\",\"brand\":\"Satan Incorporated\",\"platform\":\"android\",\"osversion\":\"Q+v10.0,+API+Level:+29\"}",
        "Role": "1",
        "Brand": "0"
    }
}

Reply

{
    "Data": {
        "Company": null,
        "Email": "koma@reversed.it",
        "Firstname": "Koma",
        "Language": "it",
        "Lastname": "The",
        "Privacy": 1,
        "PrivacyDate": "2020-11-02T11:13:11Z",
        "Role": 1,  // I've only one account, I think that this is my ID in the Device
        "TTL": 5184000,
        "Token": "LONGLIVEDTOKEN"
    },
    "ErrMsg": "",
    "Status": 0,
    "ts": "2020-11-02T11:13:11Z"
}

Authenticate (SEMBRA VADA FATTO CON IL TOKEN PER AVVISARE CHE DEVI LAVORARE)

{
    "Node": "",
    "Name": "AlienMobilePro",
    "ClientIP": "",
    "Method": "Authenticate",
    "ClientId": "SELFGENERATEDID",
    "Token": "LONGLIVEDTOKEN",
    "Params": {}
}

GetUserInfo (ESTRAE INFO in base al ClientID)

Request

{
    "Node": "",
    "Name": "AlienMobilePro",
    "ClientIP": "",
    "Method": "GetUserInfo",
    "ClientId": "SELFGENERATEDID",
    "Token": "LONGLIVEDTOKEN",
    "Params": {}
}

Reply

{
    "Data": {
        "Address": "hell road 17",
        "AvatarTimestamp": null,
        "BackupQuota": 512,
        "Brand": 0,
        "City": "HellCity",
        "Company": null,
        "Country": "it",
        "Email": "koma@reversed.it",
        "Enabled": true,
        "Firstname": "Koma",
        "Id": 30175,
        "Language": "it",
        "Lastname": "The",
        "Mobile": "2128971964",
        "Phone": "2128971964",
        "Privacy": 1,
        "PrivacyDate": "2020-11-02T11:13:11Z",
        "Province": "HE",
        "Role_Id": 1,
        "Timezone": "Europe/Hell",
        "Username": "koma@reversed.it",
        "Vat": null,
        "VoiceFlag": 0,
        "ZipCode": "01011"
    },
    "ErrMsg": "",
    "Status": 0,
    "ts": "2020-11-03T19:22:14Z"
}

GetDevices (Extract Centrals)

Request

{
    "Node": "",
    "Name": "AlienMobilePro",
    "ClientIP": "",
    "Method": "GetDevices",
    "ClientId": "SELFGENERATEDID",
    "Token": "LONGLIVEDTOKEN",
    "Params": {}
}

Reply

{
    "Data": [
        {
            "ActiveScenario": "1,2,3,4",
            "ActiveScenarios": "1,2,3,4",
            "Address": null,
            "AlarmEventDate": "",
            "AlarmEventDescription": "",
            "AlarmEventId": null,
            "AlarmEventLocalDate": "",
            "AreaMask": 123,
            "BlockUserBinding": 0,
            "CSS": null,
            "CodeIndex": 1,
            "Compliant": 1,
            "ControlledBy": 2,
            "DeviceTeam_Id": 0,
            "DeviceUser_Id": 000000,
            "Distributor": "DISTRIBUTORID",
            "Enabled": 1,
            "EnrollDate": "2020-11-03T19:22:14Z",
            "FaultEventDate": "",
            "FaultEventDescription": "",
            "FaultEventId": null,
            "FaultEventLocalDate": "",
            "Faults": 0,
            "Favorite": 1,
            "FirmwareVersionMajor": "6",
            "FirmwareVersionMinor": "07",
            "Id": 999999,
            "InstReqPending": 0,
            "Language": "it",
            "LastCommunicationDate": "2020-11-03T19:22:14Z",
            "LastMaintenance_Id": null,
            "Lat": 0,
            "Lng": 0,
            "Master": 0,
            "ModelFamily": "MODEL",
            "ModelNumber": "000",
            "Name": "The Koma",
            "NetworkStatus": 4,
            "NexusFavorite": 0,
            "Options": 123456,
            "OutputMask": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
            "OutputMask0": 0,
            "OutputMask1": 0,
            "OutputMask2": 0,
            "OutputMask3": 0,
            "PrimaryChannel": "SI",
            "PrimaryIPAddress": "1.2.3.4",
            "ReleMask": 0,
            "SecondaryChannel": null,
            "SecondaryIPAddress": null,
            "SerialNumber": "1234567890",
            "TZOffset": 4,
            "Voltage": 13.59852,
            "counter_0": 5,
            "counter_1": 0,
            "counter_2": 0,
            "counter_3": 0,
            "counter_4": 0
        }
    ],
    "ErrMsg": "",
    "Status": 0,
    "ts": "2020-11-03T19:21:57Z"
}

AuthenticateCode

Request

{
    "Node": "",
    "Name": "AlienMobilePro",
    "ClientIP": "",
    "Method": "AuthenticateCode",
    "ClientId": "SELFGENERATEDID",
    "Token": "LONGLIVEDTOKEN",
    "Params": {
        "DeviceId": 999999, //IDNUMERICODELLACENTRALE
        "Code": "PIN CENTRALE PER ID",
        "Role": "1"
    }
}

Reply

{
    "Data": {
        "ActiveScenario": "1,2,3,4",
        "ActiveScenarios": "1,2,3,4",
        "AreaMask": 15,
        "Code": "1234",
        "CodeIndex": 1,
        "Device_Id": 999999,
        "Favorite": true,
        "IsInstaller": 0,
        "LastMaintenance_Id": null,
        "Master": false,
        "OutputMask": "AAAA",
        "OutputMask0": 0,
        "OutputMask1": 0,
        "OutputMask2": 0,
        "OutputMask3": 0,
        "ReleMask": 0,
        "Role_Id": 1,
        "User_Id": 12345
    },
    "ErrMsg": "",
    "Status": 0,
    "ts": "2020-11-03T19:22:14Z"
}

GetDeviceCodeInfo

{
    "Node": "",
    "Name": "AlienMobilePro",
    "ClientIP": "",
    "Method": "GetDeviceCodeInfo",
    "ClientId": "SELFGENERATEDID",
    "Token": "LONGLIVEDTOKEN",
    "Params": {
        "DeviceId": 999999 //IDNUMERICODELLACENTRALE
    }
}

GetDeviceEvents

{
    "Node": "",
    "Name": "AlienMobilePro",
    "ClientIP": "",
    "Method": "GetDeviceEvents",
    "ClientId": "SELFGENERATEDID",
    "Token": "LONGLIVEDTOKEN",
    "Params": {
        "DeviceId": 999999, //IDNUMERICODELLACENTRALE
        "StartId": "0",
        "Reverse": 1,
        "ArchivedStatus": 0,
        "ReadStatus": -1,
        "Class": 1,
        "Acknowledged": -1,
        "Limit": 100
    }
}

GetDeviceScenarios

{
    "Node": "",
    "Name": "AlienMobilePro",
    "ClientIP": "",
    "Method": "GetDeviceScenarios",
    "ClientId": "SELFGENERATEDID",
    "Token": "LONGLIVEDTOKEN",
    "Params": {
        "DeviceId": 999999 //IDNUMERICODELLACENTRALE
    }
}

GetLastEventId

{
    "Node": "",
    "Name": "AlienMobilePro",
    "ClientIP": "",
    "Method": "GetLastEventId",
    "ClientId": "SELFGENERATEDID",
    "Token": "LONGLIVEDTOKEN",
    "Params": {
        "DeviceId": 999999, //IDNUMERICODELLACENTRALE
        "ArchivedStatus": 0,
        "ReadStatus": -1,
        "Class": 4
    }
}

Reverse engineered by TheKoma

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment