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;
|