1
0
mirror of synced 2024-11-24 05:50:12 +01:00
bananatools/amcus/iauth.h

217 lines
7.1 KiB
C
Raw Normal View History

2023-01-03 05:35:53 +01:00
#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;
2023-01-19 07:58:21 +01:00
/* Offset: 168 */ int64_t clock_status;
/* Offset: 176 */ int64_t name_resolution_timeout;
/* Offset: 184 */ /* ENUM32 */ uint32_t network_mode;
/* Offset: 188 */ /* ENUM32 */ uint32_t cab_type;
/* Offset: 192 */ /* ENUM32 */ uint32_t amauth_init_state;
2023-01-03 05:35:53 +01:00
/* 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 */
2023-01-17 09:17:38 +01:00
struct mucha_boardauth_resp {
/* Offset: 0 */ char url_charge[256];
/* Offset: 256 */ char url_file[256];
/* Offset: 512 */ char url_url1[256];
/* Offset: 768 */ char url_url2[256];
/* Offset: 1024 */ char url_url3[256];
2023-01-19 05:09:18 +01:00
2023-01-17 09:17:38 +01:00
/* Offset: 1280 */ char place_id[16];
/* Offset: 1296 */ char country_cd[16];
/* Offset: 1312 */ char shop_name[256];
/* Offset: 1568 */ char shop_nickname[128];
/* Offset: 1696 */ char area0[64];
/* Offset: 1760 */ char area1[64];
/* Offset: 1824 */ char area2[64];
/* Offset: 1888 */ char area3[64];
/* Offset: 1952 */ char area_full0[256];
/* Offset: 2208 */ char area_full1[256];
/* Offset: 2464 */ char area_full2[256];
/* Offset: 2720 */ char area_full3[256];
2023-01-19 05:09:18 +01:00
2023-01-17 09:17:38 +01:00
/* Offset: 2976 */ char shop_name_en[64];
/* Offset: 3040 */ char shop_nickname_en[32];
/* Offset: 3072 */ char area0_en[32];
/* Offset: 3104 */ char area1_en[32];
/* Offset: 3136 */ char area2_en[32];
/* Offset: 3168 */ char area3_en[32];
/* Offset: 3200 */ char area_full0_en[128];
/* Offset: 3328 */ char area_full1_en[128];
/* Offset: 3456 */ char area_full2_en[128];
/* Offset: 3584 */ char area_full3_en[128];
2023-01-19 05:09:18 +01:00
2023-01-17 09:17:38 +01:00
/* Offset: 3712 */ char prefecture_id[16];
/* Offset: 3728 */ char expiration_date[16];
/* Offset: 3744 */ char use_token[16];
/* Offset: 3760 */ char consume_token[32];
/* Offset: 3792 */ char dongle_flag[8];
/* Offset: 3800 */ char force_boot[8];
2023-01-03 05:35:53 +01:00
};
/* Memory Size: 56 */
struct amcus_arr19 {
2023-01-17 09:17:38 +01:00
/* Offset: 0 */ /* ENUM32 */ uint64_t Member0;
2023-01-03 05:35:53 +01:00
/* 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;
2023-01-17 09:17:38 +01:00
/* Offset: 52 */ int16_t Member34;
/* Offset: 54 */ int16_t Member36;
2023-01-03 05:35:53 +01:00
};
/* 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;
2023-01-17 09:17:38 +01:00
STDMETHOD_(HRESULT,Initialize)(THIS_ int64_t p0) PURE;
STDMETHOD_(HRESULT,Finalize)(THIS) PURE;
2023-01-03 05:35:53 +01:00
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;
2023-01-17 09:17:38 +01:00
STDMETHOD_(HRESULT,GetMuchaAuthResponse)(THIS_ struct mucha_boardauth_resp *arr) PURE;
2023-01-03 05:35:53 +01:00
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;