bananatools/amcus/iauth.h

212 lines
7.0 KiB
C

#pragma once
#include <windows.h>
#include <combaseapi.h>
#include <rpcproxy.h>
#include <stdint.h>
#include "amcus/config.h"
void iauth_set_config(struct amcus_config *cfg);
// member names are wrong lol
/* Memory Size: 20 */
struct Struct_1 {
/* Offset: 0 */ /* ENUM32 */ uint32_t Member0;
/* Offset: 4 */ /* ENUM32 */ uint32_t Member4;
/* Offset: 8 */ int32_t Member8;
/* Offset: 12 */ int32_t MemberC;
/* Offset: 16 */ int32_t Member10;
};
/* Memory Size: 144 */
struct Struct_2 {
/* Offset: 0 */ /* ENUM32 */ uint32_t Member0;
/* Offset: 4 */ /* ENUM32 */ uint32_t Member4;
/* Offset: 8 */ int32_t Member8;
/* Offset: 12 */ int32_t MemberC;
/* Offset: 16 */ int32_t Member10;
/* Offset: 20 */ int32_t Member14;
/* Offset: 24 */ int32_t Member18;
/* Offset: 28 */ int32_t Member1C;
/* Offset: 32 */ int32_t Member20;
/* Offset: 36 */ int16_t cacfg_ver_whole;
/* Offset: 38 */ int16_t cacfg_ver_decimal;
/* Offset: 40 */ int16_t app_ver_whole;
/* Offset: 42 */ int16_t app_ver_decimal;
/* Offset: 44 */ int16_t Member2C;
/* Offset: 46 */ int16_t Member2E;
/* Offset: 48 */ int32_t Member30;
/* Offset: 52 */ int32_t Member34;
/* Offset: 56 */ int64_t Member38;
/* Offset: 64 */ int64_t Member40;
/* Offset: 72 */ int64_t Member48;
/* Offset: 80 */ int64_t Member50;
/* Offset: 88 */ int64_t Member58;
/* Offset: 96 */ int32_t Member60;
/* Offset: 100 */ int32_t Member64;
/* Offset: 104 */ int32_t Member68;
/* Offset: 108 */ int32_t Member6C;
/* Offset: 112 */ int32_t Member70;
/* Offset: 116 */ int32_t Member74;
/* Offset: 120 */ int32_t Member78;
/* Offset: 124 */ int32_t Member7C;
/* Offset: 128 */ int32_t Member80;
/* Offset: 132 */ int32_t Member84;
/* Offset: 136 */ int32_t Member88;
};
/* Memory Size: 200 */
struct amcus_updater_state {
/* Offset: 0 */ struct Struct_1 Member0;
/* Offset: 24 */ struct Struct_2 Member18;
/* Offset: 168 */ int64_t MemberA8;
/* Offset: 176 */ int64_t MemberB0;
/* Offset: 184 */ /* ENUM32 */ uint32_t MemberB8;
/* Offset: 188 */ /* ENUM32 */ uint32_t MemberBC;
/* Offset: 192 */ /* ENUM32 */ uint32_t MemberC0;
/* Offset: 196 */ /* ENUM32 */ uint32_t MemberC4;
};
/* Memory Size: 316 */
struct amcus_version_info {
char game_rev[4];
char auth_type[16];
char game_id[8];
char game_ver[8];
char game_cd[8];
char cacfg_game_ver[8];
char game_board_type[4];
char game_board_id[4];
char auth_url[256];
};
/* Memory Size: 168 */
struct amcus_cab_config {
char mode[16];
char pcbid[16];
char dongle_serial[16];
char shop_router_ip[16];
char auth_server_ip[16];
char local_ip[16];
char subnet_mask[16];
char gateway[16];
char primary_dns[16];
int hop_count;
uint32_t line_type;
uint32_t line_status;
uint32_t unknown9C;
uint32_t router_status;
uint32_t unknownA4;
};
/* Memory Size: 3808 */
struct amcus_arr18 {
/* Offset: 0 */ char Member0[256];
/* Offset: 256 */ char Member100[256];
/* Offset: 512 */ char Member200[256];
/* Offset: 768 */ char Member300[256];
/* Offset: 1024 */ char Member400[256];
/* Offset: 1280 */ char Member500[16];
/* Offset: 1296 */ char Member510[16];
/* Offset: 1312 */ char Member520[256];
/* Offset: 1568 */ char Member620[128];
/* Offset: 1696 */ char Member6A0[64];
/* Offset: 1760 */ char Member6E0[64];
/* Offset: 1824 */ char Member720[64];
/* Offset: 1888 */ char Member760[64];
/* Offset: 1952 */ char Member7A0[256];
/* Offset: 2208 */ char Member8A0[256];
/* Offset: 2464 */ char Member9A0[256];
/* Offset: 2720 */ char MemberAA0[256];
/* Offset: 2976 */ char MemberBA0[64];
/* Offset: 3040 */ char MemberBE0[32];
/* Offset: 3072 */ char MemberC00[32];
/* Offset: 3104 */ char MemberC20[32];
/* Offset: 3136 */ char MemberC40[32];
/* Offset: 3168 */ char MemberC60[32];
/* Offset: 3200 */ char MemberC80[128];
/* Offset: 3328 */ char MemberD00[128];
/* Offset: 3456 */ char MemberD80[128];
/* Offset: 3584 */ char MemberE00[128];
/* Offset: 3712 */ char MemberE80[16];
/* Offset: 3728 */ char MemberE90[16];
/* Offset: 3744 */ char MemberEA0[16];
/* Offset: 3760 */ char MemberEB0[32];
/* Offset: 3792 */ char MemberED0[8];
/* Offset: 3800 */ char MemberED8[8];
};
/* Memory Size: 56 */
struct amcus_arr19 {
/* Offset: 0 */ /* ENUM32 */ uint32_t Member0;
/* Offset: 8 */ int64_t Member8;
/* Offset: 16 */ int64_t Member10;
/* Offset: 24 */ int64_t Member18;
/* Offset: 32 */ int64_t Member20;
/* Offset: 40 */ int64_t Member28;
/* Offset: 48 */ int16_t Member30;
/* Offset: 50 */ int16_t Member32;
};
/* Memory Size: 2210 */
struct amcus_auth_server_resp {
char uri[257];
char host[257];
char shop_name[256];
char shop_nickname[256];
char region0[16];
char region_name0[256];
char region_name1[256];
char region_name2[256];
char region_name3[256];
char place_id[16];
char setting[16];
char country[16];
char timezone[32];
char res_class[64];
};
#undef INTERFACE
#define INTERFACE IAuth
DECLARE_INTERFACE_(IAuth,CStdStubBuffer)
{
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD_(HRESULT,Func3)(THIS_ int64_t p0) PURE;
STDMETHOD_(HRESULT,InvalidateAuth)(THIS) PURE;
STDMETHOD_(HRESULT,Func5)(THIS_ int64_t p0) PURE;
STDMETHOD_(LONG,Func6)() PURE;
STDMETHOD_(HRESULT,Func7)() PURE;
STDMETHOD_(HRESULT,Func8)() PURE;
STDMETHOD_(HRESULT,GetUpdaterState)(THIS_ struct amcus_updater_state *arr) PURE;
STDMETHOD_(HRESULT,GetCabinetConfig)(THIS_ struct amcus_cab_config *arr) PURE;
STDMETHOD_(HRESULT,GetVersionInfo)(THIS_ struct amcus_version_info *arr) PURE;
STDMETHOD_(HRESULT,Func12)() PURE;
STDMETHOD_(HRESULT,Func13)() PURE;
STDMETHOD_(HRESULT,GetAuthServerResp)(THIS_ struct amcus_auth_server_resp *arr) PURE;
STDMETHOD_(HRESULT,Func15)() PURE;
STDMETHOD_(HRESULT,Func16)() PURE;
STDMETHOD_(HRESULT,Func17)() PURE;
STDMETHOD_(HRESULT,Func18)(THIS_ struct amcus_arr18 *arr) PURE;
STDMETHOD_(HRESULT,Func19)(THIS_ struct amcus_arr19 *arr) PURE;
STDMETHOD_(HRESULT,Func20)() PURE;
STDMETHOD_(HRESULT,Func21)() PURE;
STDMETHOD_(HRESULT,Func22)() PURE;
STDMETHOD_(HRESULT,Func23)(THIS_ int64_t p0) PURE;
STDMETHOD_(HRESULT,Func24)() PURE;
STDMETHOD_(HRESULT,Func25)() PURE;
STDMETHOD_(HRESULT,Func26)() PURE;
STDMETHOD_(HRESULT,Func27)() PURE;
STDMETHOD_(HRESULT,Func28)() PURE;
STDMETHOD_(HRESULT,Func29)() PURE;
STDMETHOD_(HRESULT,Func30)() PURE;
STDMETHOD_(HRESULT,Func31)() PURE;
STDMETHOD_(HRESULT,Func32)(THIS_ int64_t p0, int64_t* p1) PURE;
STDMETHOD_(HRESULT,Func33)(THIS_ int64_t p0, int64_t* p1, int64_t* p2, int64_t* p3, int64_t* p4) PURE;
};
#undef INTERFACE
extern IAuth *iauth_stub;