mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
BGSとの通信機能を削除
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@634 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
6aafdc6124
commit
d770f699aa
@ -1,808 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: Horizon
|
||||
File: BgsCommunicator.cpp
|
||||
|
||||
Copyright 2009-2011 Nintendo. All rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs contain
|
||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
Company Ltd., and are protected by Federal copyright law. They may
|
||||
not be disclosed to third parties or copied or duplicated in any form,
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Rev$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "BgsCommunicator.h"
|
||||
#include "Util.h"
|
||||
#include "CommonLogger.h"
|
||||
|
||||
#include <nn/ac.h>
|
||||
#include <nn/http.h>
|
||||
#include <nn/http/http_Connection.h>
|
||||
#include <nn/ssl.h>
|
||||
|
||||
namespace ConsoleRestore
|
||||
{
|
||||
|
||||
namespace
|
||||
{
|
||||
// Buffer for POST data must be 4096-byte aligned, and a multiple of 4096 bytes.
|
||||
static unsigned char s_PostBuffer[4096] NN_ATTRIBUTE_ALIGN(4096);
|
||||
|
||||
// DEV6接続用証明書
|
||||
u8 USER_ORIGIN_CLIENT_CERT_DATA[] =
|
||||
{
|
||||
#ifndef BUILD_FOR_PROD_BGS
|
||||
#ifndef BUILD_FOR_TEST_BGS
|
||||
// DEV6
|
||||
0x30, 0x82, 0x03, 0xef, 0x30, 0x82, 0x02, 0xd7, 0xa0, 0x03, 0x02,
|
||||
0x01, 0x02, 0x02, 0x01, 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
|
||||
0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x81,
|
||||
0x93, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13,
|
||||
0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
|
||||
0x08, 0x13, 0x0a, 0x43, 0x61, 0x6c, 0x69, 0x66, 0x6f, 0x72, 0x6e,
|
||||
0x69, 0x61, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x07,
|
||||
0x13, 0x0d, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20,
|
||||
0x56, 0x69, 0x65, 0x77, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55,
|
||||
0x04, 0x0a, 0x13, 0x0b, 0x69, 0x47, 0x77, 0x61, 0x72, 0x65, 0x20,
|
||||
0x49, 0x6e, 0x63, 0x2e, 0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55,
|
||||
0x04, 0x0b, 0x13, 0x1a, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x2d, 0x53,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x75,
|
||||
0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x1c, 0x30,
|
||||
0x1a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x13, 0x49, 0x6e, 0x74,
|
||||
0x65, 0x72, 0x2d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x53,
|
||||
0x75, 0x62, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30,
|
||||
0x31, 0x30, 0x31, 0x31, 0x32, 0x31, 0x35, 0x33, 0x32, 0x36, 0x5a,
|
||||
0x17, 0x0d, 0x33, 0x36, 0x30, 0x31, 0x31, 0x35, 0x32, 0x31, 0x35,
|
||||
0x33, 0x32, 0x36, 0x5a, 0x30, 0x81, 0x8c, 0x31, 0x0b, 0x30, 0x09,
|
||||
0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13,
|
||||
0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x43, 0x61,
|
||||
0x6c, 0x69, 0x66, 0x6f, 0x72, 0x6e, 0x69, 0x61, 0x31, 0x16, 0x30,
|
||||
0x14, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0d, 0x4d, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x56, 0x69, 0x65, 0x77, 0x31,
|
||||
0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0b, 0x69,
|
||||
0x47, 0x77, 0x61, 0x72, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31,
|
||||
0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x14, 0x41,
|
||||
0x67, 0x65, 0x6e, 0x74, 0x20, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e,
|
||||
0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x1b, 0x30,
|
||||
0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x14, 0x12, 0x4e, 0x69, 0x6e,
|
||||
0x74, 0x65, 0x6e, 0x64, 0x6f, 0x5f, 0x45, 0x43, 0x49, 0x5f, 0x61,
|
||||
0x67, 0x65, 0x6e, 0x74, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09,
|
||||
0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
|
||||
0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00,
|
||||
0xee, 0x37, 0xef, 0xbb, 0x29, 0x54, 0x42, 0x3b, 0x21, 0x08, 0xe3,
|
||||
0x77, 0x82, 0x12, 0x85, 0xc7, 0x3b, 0x58, 0x6f, 0x72, 0x6f, 0x3f,
|
||||
0x11, 0x13, 0x49, 0x40, 0xac, 0xe2, 0x26, 0x71, 0xf2, 0xd2, 0xa4,
|
||||
0xa6, 0x92, 0xfb, 0xcb, 0xc9, 0x6c, 0x45, 0xe4, 0xff, 0xbe, 0xd6,
|
||||
0x65, 0xd9, 0x71, 0x7a, 0x21, 0x4b, 0x12, 0xf5, 0xa1, 0x11, 0xe0,
|
||||
0x32, 0xd9, 0x42, 0x92, 0x39, 0x47, 0x36, 0x1a, 0x83, 0xc3, 0x62,
|
||||
0xd5, 0xda, 0x7d, 0xc0, 0x10, 0xbd, 0x75, 0x43, 0x42, 0x04, 0x49,
|
||||
0x72, 0x52, 0xaa, 0xc1, 0x72, 0x63, 0xbc, 0x16, 0x77, 0x76, 0x72,
|
||||
0x86, 0x55, 0xac, 0x9a, 0x68, 0x15, 0x58, 0x51, 0xaf, 0xb2, 0xa0,
|
||||
0xc8, 0x1b, 0xd1, 0x18, 0xad, 0x49, 0x6d, 0x16, 0x19, 0xa1, 0xfb,
|
||||
0xee, 0x7c, 0x4c, 0x74, 0x7e, 0xc7, 0xfa, 0x08, 0x23, 0x80, 0xb9,
|
||||
0xef, 0x2f, 0x6f, 0x3d, 0xaf, 0x96, 0xd1, 0x02, 0x03, 0x01, 0x00,
|
||||
0x01, 0xa3, 0x81, 0xd6, 0x30, 0x81, 0xd3, 0x30, 0x1d, 0x06, 0x03,
|
||||
0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x73, 0x9c, 0x63, 0x4b,
|
||||
0x0b, 0xcc, 0x6c, 0x5b, 0xcc, 0x60, 0x3c, 0x51, 0x87, 0x4a, 0x41,
|
||||
0x1c, 0x8a, 0x0b, 0x1a, 0x0f, 0x30, 0x81, 0xb1, 0x06, 0x03, 0x55,
|
||||
0x1d, 0x23, 0x04, 0x81, 0xa9, 0x30, 0x81, 0xa6, 0x80, 0x14, 0xb1,
|
||||
0x08, 0x84, 0xa7, 0xe2, 0xe6, 0xa8, 0x53, 0x0f, 0x4c, 0x50, 0x0f,
|
||||
0xbb, 0x7d, 0x3e, 0x68, 0xa7, 0x98, 0x5c, 0x13, 0xa1, 0x81, 0x8a,
|
||||
0xa4, 0x81, 0x87, 0x30, 0x81, 0x84, 0x31, 0x0b, 0x30, 0x09, 0x06,
|
||||
0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30,
|
||||
0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x43, 0x61, 0x6c,
|
||||
0x69, 0x66, 0x6f, 0x72, 0x6e, 0x69, 0x61, 0x31, 0x16, 0x30, 0x14,
|
||||
0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0d, 0x4d, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x61, 0x69, 0x6e, 0x20, 0x56, 0x69, 0x65, 0x77, 0x31, 0x14,
|
||||
0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0b, 0x69, 0x47,
|
||||
0x77, 0x61, 0x72, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1e,
|
||||
0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x15, 0x43, 0x65,
|
||||
0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41,
|
||||
0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x12, 0x30,
|
||||
0x10, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x09, 0x69, 0x47, 0x77,
|
||||
0x61, 0x72, 0x65, 0x20, 0x43, 0x41, 0x82, 0x01, 0x0d, 0x30, 0x0d,
|
||||
0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
|
||||
0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xa8, 0x03, 0xa4, 0xa0,
|
||||
0x91, 0x40, 0x4c, 0x08, 0xf1, 0x54, 0x01, 0x1c, 0xe3, 0x45, 0x3c,
|
||||
0x79, 0xb9, 0x16, 0xf9, 0xc9, 0x58, 0x2d, 0xb3, 0x23, 0x26, 0x50,
|
||||
0x18, 0x5f, 0x13, 0x56, 0xa9, 0x9f, 0x0e, 0xc1, 0xa9, 0xb9, 0x7c,
|
||||
0xb1, 0xe9, 0x5d, 0x74, 0x60, 0x6c, 0x3b, 0x1c, 0xf6, 0x03, 0xc7,
|
||||
0x5f, 0x08, 0x65, 0xc8, 0xcf, 0xf3, 0x71, 0xac, 0x96, 0xb2, 0xf2,
|
||||
0x92, 0x44, 0xd4, 0x03, 0x80, 0x3c, 0x83, 0x52, 0x96, 0x90, 0x1c,
|
||||
0x17, 0xa7, 0x9c, 0x05, 0xb2, 0x9e, 0xaa, 0xa7, 0x4a, 0xec, 0xf1,
|
||||
0x3e, 0x8e, 0xc9, 0x7c, 0x7e, 0x81, 0x58, 0x88, 0x2e, 0x9c, 0x44,
|
||||
0x04, 0xe7, 0x16, 0xf4, 0xa8, 0x00, 0xf1, 0xf3, 0x32, 0x11, 0x23,
|
||||
0x57, 0x85, 0x65, 0xd0, 0x6c, 0x1d, 0x29, 0xb8, 0x4a, 0xeb, 0x22,
|
||||
0xff, 0x11, 0x30, 0x92, 0x7a, 0xb1, 0x4b, 0x19, 0x71, 0xc4, 0xbb,
|
||||
0xf8, 0x75, 0xaa, 0x54, 0xe7, 0xe9, 0x31, 0xfa, 0xad, 0xb1, 0xb6,
|
||||
0x8c, 0xae, 0xbe, 0xb3, 0x7f, 0x9a, 0x8b, 0x0d, 0x3a, 0xef, 0x2d,
|
||||
0xb6, 0xec, 0x9d, 0x3e, 0x7d, 0x3a, 0xb9, 0x76, 0xf0, 0x3c, 0x64,
|
||||
0x4b, 0xa8, 0x48, 0x58, 0x89, 0x5a, 0x28, 0x36, 0x86, 0x75, 0xe3,
|
||||
0x70, 0xb3, 0xd4, 0x5a, 0xff, 0x2e, 0xe5, 0xc6, 0x5c, 0xfd, 0xa8,
|
||||
0xcf, 0x23, 0x5e, 0xa2, 0x96, 0x20, 0x18, 0xc4, 0x3e, 0x6e, 0x2d,
|
||||
0xe1, 0xcb, 0x47, 0x3a, 0x67, 0x04, 0xd2, 0xb3, 0xbe, 0x38, 0x13,
|
||||
0xf1, 0x88, 0x0e, 0x5c, 0x18, 0xd5, 0x22, 0xd7, 0x8d, 0x14, 0x3e,
|
||||
0xa7, 0xcf, 0x20, 0x62, 0x28, 0x1f, 0x31, 0x62, 0x98, 0x8c, 0xe3,
|
||||
0xb0, 0xdc, 0x47, 0xee, 0x80, 0x76, 0xa3, 0x23, 0x11, 0xba, 0xe3,
|
||||
0x87, 0xac, 0x85, 0xdb, 0x25, 0xe8, 0x9a, 0x4e, 0x23, 0x0b, 0xe7,
|
||||
0xe2, 0x51, 0xa0, 0x1d, 0x87, 0xf1, 0xe9, 0x13, 0x9f, 0x1d
|
||||
#else
|
||||
// TEST
|
||||
0x42, 0x61, 0x67, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
|
||||
0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x72, 0x69,
|
||||
0x65, 0x6e, 0x64, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20,
|
||||
0x65, 0x63, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x49, 0x44,
|
||||
0x3a, 0x20, 0x46, 0x44, 0x20, 0x38, 0x41, 0x20, 0x39, 0x31, 0x20,
|
||||
0x32, 0x41, 0x20, 0x43, 0x46, 0x20, 0x43, 0x41, 0x20, 0x36, 0x33,
|
||||
0x20, 0x44, 0x45, 0x20, 0x31, 0x32, 0x20, 0x42, 0x32, 0x20, 0x31,
|
||||
0x31, 0x20, 0x32, 0x35, 0x20, 0x46, 0x46, 0x20, 0x39, 0x31, 0x20,
|
||||
0x38, 0x44, 0x20, 0x42, 0x34, 0x20, 0x35, 0x39, 0x20, 0x42, 0x35,
|
||||
0x20, 0x42, 0x45, 0x20, 0x43, 0x34, 0x20, 0x0a, 0x73, 0x75, 0x62,
|
||||
0x6a, 0x65, 0x63, 0x74, 0x3d, 0x2f, 0x43, 0x3d, 0x55, 0x53, 0x2f,
|
||||
0x53, 0x54, 0x3d, 0x43, 0x61, 0x6c, 0x69, 0x66, 0x6f, 0x72, 0x6e,
|
||||
0x69, 0x61, 0x2f, 0x4c, 0x3d, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x61,
|
||||
0x69, 0x6e, 0x20, 0x56, 0x69, 0x65, 0x77, 0x2f, 0x4f, 0x3d, 0x69,
|
||||
0x47, 0x77, 0x61, 0x72, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x2f,
|
||||
0x4f, 0x55, 0x3d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x20, 0x41, 0x75,
|
||||
0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x2f, 0x43, 0x4e, 0x3d, 0x4e, 0x69, 0x6e, 0x74, 0x65, 0x6e,
|
||||
0x64, 0x6f, 0x5f, 0x45, 0x43, 0x49, 0x5f, 0x61, 0x67, 0x65, 0x6e,
|
||||
0x74, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x3d, 0x2f, 0x43,
|
||||
0x3d, 0x55, 0x53, 0x2f, 0x53, 0x54, 0x3d, 0x43, 0x61, 0x6c, 0x69,
|
||||
0x66, 0x6f, 0x72, 0x6e, 0x69, 0x61, 0x2f, 0x4c, 0x3d, 0x4d, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x56, 0x69, 0x65, 0x77,
|
||||
0x2f, 0x4f, 0x3d, 0x69, 0x47, 0x77, 0x61, 0x72, 0x65, 0x20, 0x49,
|
||||
0x6e, 0x63, 0x2e, 0x2f, 0x4f, 0x55, 0x3d, 0x49, 0x6e, 0x74, 0x65,
|
||||
0x72, 0x2d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x6f,
|
||||
0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x2f, 0x43, 0x4e, 0x3d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x2d, 0x53,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x53, 0x75, 0x62, 0x20, 0x43,
|
||||
0x41, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49,
|
||||
0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41,
|
||||
0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49,
|
||||
0x44, 0x37, 0x7a, 0x43, 0x43, 0x41, 0x74, 0x65, 0x67, 0x41, 0x77,
|
||||
0x49, 0x42, 0x41, 0x67, 0x49, 0x42, 0x41, 0x6a, 0x41, 0x4e, 0x42,
|
||||
0x67, 0x6b, 0x71, 0x68, 0x6b, 0x69, 0x47, 0x39, 0x77, 0x30, 0x42,
|
||||
0x41, 0x51, 0x73, 0x46, 0x41, 0x44, 0x43, 0x42, 0x6b, 0x7a, 0x45,
|
||||
0x4c, 0x4d, 0x41, 0x6b, 0x47, 0x41, 0x31, 0x55, 0x45, 0x42, 0x68,
|
||||
0x4d, 0x43, 0x56, 0x56, 0x4d, 0x78, 0x0a, 0x45, 0x7a, 0x41, 0x52,
|
||||
0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x67, 0x54, 0x43, 0x6b, 0x4e,
|
||||
0x68, 0x62, 0x47, 0x6c, 0x6d, 0x62, 0x33, 0x4a, 0x75, 0x61, 0x57,
|
||||
0x45, 0x78, 0x46, 0x6a, 0x41, 0x55, 0x42, 0x67, 0x4e, 0x56, 0x42,
|
||||
0x41, 0x63, 0x54, 0x44, 0x55, 0x31, 0x76, 0x64, 0x57, 0x35, 0x30,
|
||||
0x59, 0x57, 0x6c, 0x75, 0x49, 0x46, 0x5a, 0x70, 0x5a, 0x58, 0x63,
|
||||
0x78, 0x46, 0x44, 0x41, 0x53, 0x0a, 0x42, 0x67, 0x4e, 0x56, 0x42,
|
||||
0x41, 0x6f, 0x54, 0x43, 0x32, 0x6c, 0x48, 0x64, 0x32, 0x46, 0x79,
|
||||
0x5a, 0x53, 0x42, 0x4a, 0x62, 0x6d, 0x4d, 0x75, 0x4d, 0x53, 0x4d,
|
||||
0x77, 0x49, 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x4c, 0x45, 0x78,
|
||||
0x70, 0x4a, 0x62, 0x6e, 0x52, 0x6c, 0x63, 0x69, 0x31, 0x54, 0x5a,
|
||||
0x58, 0x4a, 0x32, 0x5a, 0x58, 0x49, 0x67, 0x51, 0x32, 0x39, 0x74,
|
||||
0x62, 0x58, 0x56, 0x75, 0x0a, 0x61, 0x57, 0x4e, 0x68, 0x64, 0x47,
|
||||
0x6c, 0x76, 0x62, 0x6a, 0x45, 0x63, 0x4d, 0x42, 0x6f, 0x47, 0x41,
|
||||
0x31, 0x55, 0x45, 0x41, 0x78, 0x4d, 0x54, 0x53, 0x57, 0x35, 0x30,
|
||||
0x5a, 0x58, 0x49, 0x74, 0x55, 0x32, 0x56, 0x79, 0x64, 0x6d, 0x56,
|
||||
0x79, 0x49, 0x46, 0x4e, 0x31, 0x59, 0x69, 0x42, 0x44, 0x51, 0x54,
|
||||
0x41, 0x65, 0x46, 0x77, 0x30, 0x78, 0x4d, 0x44, 0x45, 0x77, 0x4d,
|
||||
0x54, 0x45, 0x79, 0x0a, 0x4d, 0x54, 0x55, 0x7a, 0x4d, 0x6a, 0x5a,
|
||||
0x61, 0x46, 0x77, 0x30, 0x7a, 0x4e, 0x6a, 0x41, 0x78, 0x4d, 0x54,
|
||||
0x55, 0x79, 0x4d, 0x54, 0x55, 0x7a, 0x4d, 0x6a, 0x5a, 0x61, 0x4d,
|
||||
0x49, 0x47, 0x4d, 0x4d, 0x51, 0x73, 0x77, 0x43, 0x51, 0x59, 0x44,
|
||||
0x56, 0x51, 0x51, 0x47, 0x45, 0x77, 0x4a, 0x56, 0x55, 0x7a, 0x45,
|
||||
0x54, 0x4d, 0x42, 0x45, 0x47, 0x41, 0x31, 0x55, 0x45, 0x43, 0x42,
|
||||
0x4d, 0x4b, 0x0a, 0x51, 0x32, 0x46, 0x73, 0x61, 0x57, 0x5a, 0x76,
|
||||
0x63, 0x6d, 0x35, 0x70, 0x59, 0x54, 0x45, 0x57, 0x4d, 0x42, 0x51,
|
||||
0x47, 0x41, 0x31, 0x55, 0x45, 0x42, 0x78, 0x4d, 0x4e, 0x54, 0x57,
|
||||
0x39, 0x31, 0x62, 0x6e, 0x52, 0x68, 0x61, 0x57, 0x34, 0x67, 0x56,
|
||||
0x6d, 0x6c, 0x6c, 0x64, 0x7a, 0x45, 0x55, 0x4d, 0x42, 0x49, 0x47,
|
||||
0x41, 0x31, 0x55, 0x45, 0x43, 0x68, 0x4d, 0x4c, 0x61, 0x55, 0x64,
|
||||
0x33, 0x0a, 0x59, 0x58, 0x4a, 0x6c, 0x49, 0x45, 0x6c, 0x75, 0x59,
|
||||
0x79, 0x34, 0x78, 0x48, 0x54, 0x41, 0x62, 0x42, 0x67, 0x4e, 0x56,
|
||||
0x42, 0x41, 0x73, 0x54, 0x46, 0x45, 0x46, 0x6e, 0x5a, 0x57, 0x35,
|
||||
0x30, 0x49, 0x45, 0x46, 0x31, 0x64, 0x47, 0x68, 0x6c, 0x62, 0x6e,
|
||||
0x52, 0x70, 0x59, 0x32, 0x46, 0x30, 0x61, 0x57, 0x39, 0x75, 0x4d,
|
||||
0x52, 0x73, 0x77, 0x47, 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x44,
|
||||
0x0a, 0x46, 0x42, 0x4a, 0x4f, 0x61, 0x57, 0x35, 0x30, 0x5a, 0x57,
|
||||
0x35, 0x6b, 0x62, 0x31, 0x39, 0x46, 0x51, 0x30, 0x6c, 0x66, 0x59,
|
||||
0x57, 0x64, 0x6c, 0x62, 0x6e, 0x51, 0x77, 0x67, 0x5a, 0x38, 0x77,
|
||||
0x44, 0x51, 0x59, 0x4a, 0x4b, 0x6f, 0x5a, 0x49, 0x68, 0x76, 0x63,
|
||||
0x4e, 0x41, 0x51, 0x45, 0x42, 0x42, 0x51, 0x41, 0x44, 0x67, 0x59,
|
||||
0x30, 0x41, 0x4d, 0x49, 0x47, 0x4a, 0x41, 0x6f, 0x47, 0x42, 0x0a,
|
||||
0x41, 0x4f, 0x34, 0x33, 0x37, 0x37, 0x73, 0x70, 0x56, 0x45, 0x49,
|
||||
0x37, 0x49, 0x51, 0x6a, 0x6a, 0x64, 0x34, 0x49, 0x53, 0x68, 0x63,
|
||||
0x63, 0x37, 0x57, 0x47, 0x39, 0x79, 0x62, 0x7a, 0x38, 0x52, 0x45,
|
||||
0x30, 0x6c, 0x41, 0x72, 0x4f, 0x49, 0x6d, 0x63, 0x66, 0x4c, 0x53,
|
||||
0x70, 0x4b, 0x61, 0x53, 0x2b, 0x38, 0x76, 0x4a, 0x62, 0x45, 0x58,
|
||||
0x6b, 0x2f, 0x37, 0x37, 0x57, 0x5a, 0x64, 0x6c, 0x78, 0x0a, 0x65,
|
||||
0x69, 0x46, 0x4c, 0x45, 0x76, 0x57, 0x68, 0x45, 0x65, 0x41, 0x79,
|
||||
0x32, 0x55, 0x4b, 0x53, 0x4f, 0x55, 0x63, 0x32, 0x47, 0x6f, 0x50,
|
||||
0x44, 0x59, 0x74, 0x58, 0x61, 0x66, 0x63, 0x41, 0x51, 0x76, 0x58,
|
||||
0x56, 0x44, 0x51, 0x67, 0x52, 0x4a, 0x63, 0x6c, 0x4b, 0x71, 0x77,
|
||||
0x58, 0x4a, 0x6a, 0x76, 0x42, 0x5a, 0x33, 0x64, 0x6e, 0x4b, 0x47,
|
||||
0x56, 0x61, 0x79, 0x61, 0x61, 0x42, 0x56, 0x59, 0x0a, 0x55, 0x61,
|
||||
0x2b, 0x79, 0x6f, 0x4d, 0x67, 0x62, 0x30, 0x52, 0x69, 0x74, 0x53,
|
||||
0x57, 0x30, 0x57, 0x47, 0x61, 0x48, 0x37, 0x37, 0x6e, 0x78, 0x4d,
|
||||
0x64, 0x48, 0x37, 0x48, 0x2b, 0x67, 0x67, 0x6a, 0x67, 0x4c, 0x6e,
|
||||
0x76, 0x4c, 0x32, 0x38, 0x39, 0x72, 0x35, 0x62, 0x52, 0x41, 0x67,
|
||||
0x4d, 0x42, 0x41, 0x41, 0x47, 0x6a, 0x67, 0x64, 0x59, 0x77, 0x67,
|
||||
0x64, 0x4d, 0x77, 0x48, 0x51, 0x59, 0x44, 0x0a, 0x56, 0x52, 0x30,
|
||||
0x4f, 0x42, 0x42, 0x59, 0x45, 0x46, 0x48, 0x4f, 0x63, 0x59, 0x30,
|
||||
0x73, 0x4c, 0x7a, 0x47, 0x78, 0x62, 0x7a, 0x47, 0x41, 0x38, 0x55,
|
||||
0x59, 0x64, 0x4b, 0x51, 0x52, 0x79, 0x4b, 0x43, 0x78, 0x6f, 0x50,
|
||||
0x4d, 0x49, 0x47, 0x78, 0x42, 0x67, 0x4e, 0x56, 0x48, 0x53, 0x4d,
|
||||
0x45, 0x67, 0x61, 0x6b, 0x77, 0x67, 0x61, 0x61, 0x41, 0x46, 0x4c,
|
||||
0x45, 0x49, 0x68, 0x4b, 0x66, 0x69, 0x0a, 0x35, 0x71, 0x68, 0x54,
|
||||
0x44, 0x30, 0x78, 0x51, 0x44, 0x37, 0x74, 0x39, 0x50, 0x6d, 0x69,
|
||||
0x6e, 0x6d, 0x46, 0x77, 0x54, 0x6f, 0x59, 0x47, 0x4b, 0x70, 0x49,
|
||||
0x47, 0x48, 0x4d, 0x49, 0x47, 0x45, 0x4d, 0x51, 0x73, 0x77, 0x43,
|
||||
0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x47, 0x45, 0x77, 0x4a, 0x56,
|
||||
0x55, 0x7a, 0x45, 0x54, 0x4d, 0x42, 0x45, 0x47, 0x41, 0x31, 0x55,
|
||||
0x45, 0x43, 0x42, 0x4d, 0x4b, 0x0a, 0x51, 0x32, 0x46, 0x73, 0x61,
|
||||
0x57, 0x5a, 0x76, 0x63, 0x6d, 0x35, 0x70, 0x59, 0x54, 0x45, 0x57,
|
||||
0x4d, 0x42, 0x51, 0x47, 0x41, 0x31, 0x55, 0x45, 0x42, 0x78, 0x4d,
|
||||
0x4e, 0x54, 0x57, 0x39, 0x31, 0x62, 0x6e, 0x52, 0x68, 0x61, 0x57,
|
||||
0x34, 0x67, 0x56, 0x6d, 0x6c, 0x6c, 0x64, 0x7a, 0x45, 0x55, 0x4d,
|
||||
0x42, 0x49, 0x47, 0x41, 0x31, 0x55, 0x45, 0x43, 0x68, 0x4d, 0x4c,
|
||||
0x61, 0x55, 0x64, 0x33, 0x0a, 0x59, 0x58, 0x4a, 0x6c, 0x49, 0x45,
|
||||
0x6c, 0x75, 0x59, 0x79, 0x34, 0x78, 0x48, 0x6a, 0x41, 0x63, 0x42,
|
||||
0x67, 0x4e, 0x56, 0x42, 0x41, 0x73, 0x54, 0x46, 0x55, 0x4e, 0x6c,
|
||||
0x63, 0x6e, 0x52, 0x70, 0x5a, 0x6d, 0x6c, 0x6a, 0x59, 0x58, 0x52,
|
||||
0x6c, 0x49, 0x45, 0x46, 0x31, 0x64, 0x47, 0x68, 0x76, 0x63, 0x6d,
|
||||
0x6c, 0x30, 0x65, 0x54, 0x45, 0x53, 0x4d, 0x42, 0x41, 0x47, 0x41,
|
||||
0x31, 0x55, 0x45, 0x0a, 0x41, 0x78, 0x4d, 0x4a, 0x61, 0x55, 0x64,
|
||||
0x33, 0x59, 0x58, 0x4a, 0x6c, 0x49, 0x45, 0x4e, 0x42, 0x67, 0x67,
|
||||
0x45, 0x4e, 0x4d, 0x41, 0x30, 0x47, 0x43, 0x53, 0x71, 0x47, 0x53,
|
||||
0x49, 0x62, 0x33, 0x44, 0x51, 0x45, 0x42, 0x43, 0x77, 0x55, 0x41,
|
||||
0x41, 0x34, 0x49, 0x42, 0x41, 0x51, 0x43, 0x6f, 0x41, 0x36, 0x53,
|
||||
0x67, 0x6b, 0x55, 0x42, 0x4d, 0x43, 0x50, 0x46, 0x55, 0x41, 0x52,
|
||||
0x7a, 0x6a, 0x0a, 0x52, 0x54, 0x78, 0x35, 0x75, 0x52, 0x62, 0x35,
|
||||
0x79, 0x56, 0x67, 0x74, 0x73, 0x79, 0x4d, 0x6d, 0x55, 0x42, 0x68,
|
||||
0x66, 0x45, 0x31, 0x61, 0x70, 0x6e, 0x77, 0x37, 0x42, 0x71, 0x62,
|
||||
0x6c, 0x38, 0x73, 0x65, 0x6c, 0x64, 0x64, 0x47, 0x42, 0x73, 0x4f,
|
||||
0x78, 0x7a, 0x32, 0x41, 0x38, 0x64, 0x66, 0x43, 0x47, 0x58, 0x49,
|
||||
0x7a, 0x2f, 0x4e, 0x78, 0x72, 0x4a, 0x61, 0x79, 0x38, 0x70, 0x4a,
|
||||
0x45, 0x0a, 0x31, 0x41, 0x4f, 0x41, 0x50, 0x49, 0x4e, 0x53, 0x6c,
|
||||
0x70, 0x41, 0x63, 0x46, 0x36, 0x65, 0x63, 0x42, 0x62, 0x4b, 0x65,
|
||||
0x71, 0x71, 0x64, 0x4b, 0x37, 0x50, 0x45, 0x2b, 0x6a, 0x73, 0x6c,
|
||||
0x38, 0x66, 0x6f, 0x46, 0x59, 0x69, 0x43, 0x36, 0x63, 0x52, 0x41,
|
||||
0x54, 0x6e, 0x46, 0x76, 0x53, 0x6f, 0x41, 0x50, 0x48, 0x7a, 0x4d,
|
||||
0x68, 0x45, 0x6a, 0x56, 0x34, 0x56, 0x6c, 0x30, 0x47, 0x77, 0x64,
|
||||
0x0a, 0x4b, 0x62, 0x68, 0x4b, 0x36, 0x79, 0x4c, 0x2f, 0x45, 0x54,
|
||||
0x43, 0x53, 0x65, 0x72, 0x46, 0x4c, 0x47, 0x58, 0x48, 0x45, 0x75,
|
||||
0x2f, 0x68, 0x31, 0x71, 0x6c, 0x54, 0x6e, 0x36, 0x54, 0x48, 0x36,
|
||||
0x72, 0x62, 0x47, 0x32, 0x6a, 0x4b, 0x36, 0x2b, 0x73, 0x33, 0x2b,
|
||||
0x61, 0x69, 0x77, 0x30, 0x36, 0x37, 0x79, 0x32, 0x32, 0x37, 0x4a,
|
||||
0x30, 0x2b, 0x66, 0x54, 0x71, 0x35, 0x64, 0x76, 0x41, 0x38, 0x0a,
|
||||
0x5a, 0x45, 0x75, 0x6f, 0x53, 0x46, 0x69, 0x4a, 0x57, 0x69, 0x67,
|
||||
0x32, 0x68, 0x6e, 0x58, 0x6a, 0x63, 0x4c, 0x50, 0x55, 0x57, 0x76,
|
||||
0x38, 0x75, 0x35, 0x63, 0x5a, 0x63, 0x2f, 0x61, 0x6a, 0x50, 0x49,
|
||||
0x31, 0x36, 0x69, 0x6c, 0x69, 0x41, 0x59, 0x78, 0x44, 0x35, 0x75,
|
||||
0x4c, 0x65, 0x48, 0x4c, 0x52, 0x7a, 0x70, 0x6e, 0x42, 0x4e, 0x4b,
|
||||
0x7a, 0x76, 0x6a, 0x67, 0x54, 0x38, 0x59, 0x67, 0x4f, 0x0a, 0x58,
|
||||
0x42, 0x6a, 0x56, 0x49, 0x74, 0x65, 0x4e, 0x46, 0x44, 0x36, 0x6e,
|
||||
0x7a, 0x79, 0x42, 0x69, 0x4b, 0x42, 0x38, 0x78, 0x59, 0x70, 0x69,
|
||||
0x4d, 0x34, 0x37, 0x44, 0x63, 0x52, 0x2b, 0x36, 0x41, 0x64, 0x71,
|
||||
0x4d, 0x6a, 0x45, 0x62, 0x72, 0x6a, 0x68, 0x36, 0x79, 0x46, 0x32,
|
||||
0x79, 0x58, 0x6f, 0x6d, 0x6b, 0x34, 0x6a, 0x43, 0x2b, 0x66, 0x69,
|
||||
0x55, 0x61, 0x41, 0x64, 0x68, 0x2f, 0x48, 0x70, 0x0a, 0x45, 0x35,
|
||||
0x38, 0x64, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44,
|
||||
0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54,
|
||||
0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
|
||||
#endif
|
||||
#else
|
||||
// PROD
|
||||
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20,
|
||||
0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45,
|
||||
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x44, 0x37,
|
||||
0x7a, 0x43, 0x43, 0x41, 0x74, 0x65, 0x67, 0x41, 0x77, 0x49, 0x42,
|
||||
0x41, 0x67, 0x49, 0x42, 0x41, 0x6a, 0x41, 0x4e, 0x42, 0x67, 0x6b,
|
||||
0x71, 0x68, 0x6b, 0x69, 0x47, 0x39, 0x77, 0x30, 0x42, 0x41, 0x51,
|
||||
0x73, 0x46, 0x41, 0x44, 0x43, 0x42, 0x6b, 0x7a, 0x45, 0x4c, 0x4d,
|
||||
0x41, 0x6b, 0x47, 0x41, 0x31, 0x55, 0x45, 0x42, 0x68, 0x4d, 0x43,
|
||||
0x56, 0x56, 0x4d, 0x78, 0x0a, 0x45, 0x7a, 0x41, 0x52, 0x42, 0x67,
|
||||
0x4e, 0x56, 0x42, 0x41, 0x67, 0x54, 0x43, 0x6b, 0x4e, 0x68, 0x62,
|
||||
0x47, 0x6c, 0x6d, 0x62, 0x33, 0x4a, 0x75, 0x61, 0x57, 0x45, 0x78,
|
||||
0x46, 0x6a, 0x41, 0x55, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x63,
|
||||
0x54, 0x44, 0x55, 0x31, 0x76, 0x64, 0x57, 0x35, 0x30, 0x59, 0x57,
|
||||
0x6c, 0x75, 0x49, 0x46, 0x5a, 0x70, 0x5a, 0x58, 0x63, 0x78, 0x46,
|
||||
0x44, 0x41, 0x53, 0x0a, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x6f,
|
||||
0x54, 0x43, 0x32, 0x6c, 0x48, 0x64, 0x32, 0x46, 0x79, 0x5a, 0x53,
|
||||
0x42, 0x4a, 0x62, 0x6d, 0x4d, 0x75, 0x4d, 0x53, 0x4d, 0x77, 0x49,
|
||||
0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x4c, 0x45, 0x78, 0x70, 0x4a,
|
||||
0x62, 0x6e, 0x52, 0x6c, 0x63, 0x69, 0x31, 0x54, 0x5a, 0x58, 0x4a,
|
||||
0x32, 0x5a, 0x58, 0x49, 0x67, 0x51, 0x32, 0x39, 0x74, 0x62, 0x58,
|
||||
0x56, 0x75, 0x0a, 0x61, 0x57, 0x4e, 0x68, 0x64, 0x47, 0x6c, 0x76,
|
||||
0x62, 0x6a, 0x45, 0x63, 0x4d, 0x42, 0x6f, 0x47, 0x41, 0x31, 0x55,
|
||||
0x45, 0x41, 0x78, 0x4d, 0x54, 0x53, 0x57, 0x35, 0x30, 0x5a, 0x58,
|
||||
0x49, 0x74, 0x55, 0x32, 0x56, 0x79, 0x64, 0x6d, 0x56, 0x79, 0x49,
|
||||
0x46, 0x4e, 0x31, 0x59, 0x69, 0x42, 0x44, 0x51, 0x54, 0x41, 0x65,
|
||||
0x46, 0x77, 0x30, 0x78, 0x4d, 0x44, 0x45, 0x77, 0x4d, 0x54, 0x45,
|
||||
0x79, 0x0a, 0x4d, 0x7a, 0x41, 0x79, 0x4d, 0x7a, 0x6c, 0x61, 0x46,
|
||||
0x77, 0x30, 0x7a, 0x4e, 0x6a, 0x41, 0x78, 0x4d, 0x54, 0x55, 0x79,
|
||||
0x4d, 0x7a, 0x41, 0x79, 0x4d, 0x7a, 0x6c, 0x61, 0x4d, 0x49, 0x47,
|
||||
0x4d, 0x4d, 0x51, 0x73, 0x77, 0x43, 0x51, 0x59, 0x44, 0x56, 0x51,
|
||||
0x51, 0x47, 0x45, 0x77, 0x4a, 0x56, 0x55, 0x7a, 0x45, 0x54, 0x4d,
|
||||
0x42, 0x45, 0x47, 0x41, 0x31, 0x55, 0x45, 0x43, 0x42, 0x4d, 0x4b,
|
||||
0x0a, 0x51, 0x32, 0x46, 0x73, 0x61, 0x57, 0x5a, 0x76, 0x63, 0x6d,
|
||||
0x35, 0x70, 0x59, 0x54, 0x45, 0x57, 0x4d, 0x42, 0x51, 0x47, 0x41,
|
||||
0x31, 0x55, 0x45, 0x42, 0x78, 0x4d, 0x4e, 0x54, 0x57, 0x39, 0x31,
|
||||
0x62, 0x6e, 0x52, 0x68, 0x61, 0x57, 0x34, 0x67, 0x56, 0x6d, 0x6c,
|
||||
0x6c, 0x64, 0x7a, 0x45, 0x55, 0x4d, 0x42, 0x49, 0x47, 0x41, 0x31,
|
||||
0x55, 0x45, 0x43, 0x68, 0x4d, 0x4c, 0x61, 0x55, 0x64, 0x33, 0x0a,
|
||||
0x59, 0x58, 0x4a, 0x6c, 0x49, 0x45, 0x6c, 0x75, 0x59, 0x79, 0x34,
|
||||
0x78, 0x48, 0x54, 0x41, 0x62, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41,
|
||||
0x73, 0x54, 0x46, 0x45, 0x46, 0x6e, 0x5a, 0x57, 0x35, 0x30, 0x49,
|
||||
0x45, 0x46, 0x31, 0x64, 0x47, 0x68, 0x6c, 0x62, 0x6e, 0x52, 0x70,
|
||||
0x59, 0x32, 0x46, 0x30, 0x61, 0x57, 0x39, 0x75, 0x4d, 0x52, 0x73,
|
||||
0x77, 0x47, 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x44, 0x0a, 0x46,
|
||||
0x42, 0x4a, 0x4f, 0x61, 0x57, 0x35, 0x30, 0x5a, 0x57, 0x35, 0x6b,
|
||||
0x62, 0x31, 0x39, 0x46, 0x51, 0x30, 0x6c, 0x66, 0x59, 0x57, 0x64,
|
||||
0x6c, 0x62, 0x6e, 0x51, 0x77, 0x67, 0x5a, 0x38, 0x77, 0x44, 0x51,
|
||||
0x59, 0x4a, 0x4b, 0x6f, 0x5a, 0x49, 0x68, 0x76, 0x63, 0x4e, 0x41,
|
||||
0x51, 0x45, 0x42, 0x42, 0x51, 0x41, 0x44, 0x67, 0x59, 0x30, 0x41,
|
||||
0x4d, 0x49, 0x47, 0x4a, 0x41, 0x6f, 0x47, 0x42, 0x0a, 0x41, 0x4e,
|
||||
0x4d, 0x39, 0x53, 0x6b, 0x31, 0x69, 0x47, 0x79, 0x6c, 0x79, 0x7a,
|
||||
0x6e, 0x58, 0x37, 0x78, 0x7a, 0x59, 0x48, 0x46, 0x53, 0x61, 0x4f,
|
||||
0x31, 0x67, 0x72, 0x43, 0x52, 0x2f, 0x36, 0x58, 0x46, 0x36, 0x58,
|
||||
0x6a, 0x45, 0x79, 0x51, 0x67, 0x2b, 0x4f, 0x5a, 0x79, 0x72, 0x47,
|
||||
0x4d, 0x57, 0x57, 0x57, 0x70, 0x56, 0x4c, 0x37, 0x65, 0x72, 0x72,
|
||||
0x48, 0x66, 0x6d, 0x6c, 0x4d, 0x67, 0x64, 0x0a, 0x55, 0x6f, 0x61,
|
||||
0x44, 0x4c, 0x72, 0x59, 0x71, 0x66, 0x46, 0x77, 0x30, 0x56, 0x39,
|
||||
0x38, 0x7a, 0x6b, 0x55, 0x75, 0x45, 0x68, 0x51, 0x71, 0x79, 0x64,
|
||||
0x51, 0x77, 0x62, 0x74, 0x31, 0x31, 0x44, 0x39, 0x57, 0x55, 0x4f,
|
||||
0x32, 0x6a, 0x57, 0x6d, 0x30, 0x52, 0x55, 0x6e, 0x51, 0x43, 0x78,
|
||||
0x2f, 0x36, 0x52, 0x6c, 0x54, 0x74, 0x75, 0x36, 0x58, 0x74, 0x57,
|
||||
0x2f, 0x44, 0x7a, 0x6e, 0x52, 0x77, 0x0a, 0x38, 0x4d, 0x64, 0x74,
|
||||
0x62, 0x4d, 0x6d, 0x6f, 0x70, 0x59, 0x5a, 0x76, 0x33, 0x6d, 0x33,
|
||||
0x74, 0x65, 0x6c, 0x59, 0x4e, 0x72, 0x6f, 0x34, 0x5a, 0x75, 0x4b,
|
||||
0x6c, 0x75, 0x52, 0x78, 0x58, 0x4f, 0x4f, 0x76, 0x6f, 0x69, 0x4a,
|
||||
0x45, 0x6b, 0x32, 0x41, 0x2f, 0x38, 0x31, 0x41, 0x67, 0x4d, 0x42,
|
||||
0x41, 0x41, 0x47, 0x6a, 0x67, 0x64, 0x59, 0x77, 0x67, 0x64, 0x4d,
|
||||
0x77, 0x48, 0x51, 0x59, 0x44, 0x0a, 0x56, 0x52, 0x30, 0x4f, 0x42,
|
||||
0x42, 0x59, 0x45, 0x46, 0x4f, 0x39, 0x63, 0x5a, 0x78, 0x45, 0x6e,
|
||||
0x48, 0x4a, 0x4c, 0x53, 0x41, 0x35, 0x5a, 0x37, 0x67, 0x58, 0x4e,
|
||||
0x49, 0x58, 0x73, 0x36, 0x69, 0x4e, 0x42, 0x4a, 0x2b, 0x4d, 0x49,
|
||||
0x47, 0x78, 0x42, 0x67, 0x4e, 0x56, 0x48, 0x53, 0x4d, 0x45, 0x67,
|
||||
0x61, 0x6b, 0x77, 0x67, 0x61, 0x61, 0x41, 0x46, 0x4a, 0x35, 0x62,
|
||||
0x31, 0x57, 0x6a, 0x6c, 0x0a, 0x42, 0x65, 0x53, 0x33, 0x73, 0x75,
|
||||
0x76, 0x72, 0x4e, 0x6a, 0x41, 0x37, 0x41, 0x61, 0x74, 0x31, 0x6a,
|
||||
0x76, 0x64, 0x53, 0x6f, 0x59, 0x47, 0x4b, 0x70, 0x49, 0x47, 0x48,
|
||||
0x4d, 0x49, 0x47, 0x45, 0x4d, 0x51, 0x73, 0x77, 0x43, 0x51, 0x59,
|
||||
0x44, 0x56, 0x51, 0x51, 0x47, 0x45, 0x77, 0x4a, 0x56, 0x55, 0x7a,
|
||||
0x45, 0x54, 0x4d, 0x42, 0x45, 0x47, 0x41, 0x31, 0x55, 0x45, 0x43,
|
||||
0x42, 0x4d, 0x4b, 0x0a, 0x51, 0x32, 0x46, 0x73, 0x61, 0x57, 0x5a,
|
||||
0x76, 0x63, 0x6d, 0x35, 0x70, 0x59, 0x54, 0x45, 0x57, 0x4d, 0x42,
|
||||
0x51, 0x47, 0x41, 0x31, 0x55, 0x45, 0x42, 0x78, 0x4d, 0x4e, 0x54,
|
||||
0x57, 0x39, 0x31, 0x62, 0x6e, 0x52, 0x68, 0x61, 0x57, 0x34, 0x67,
|
||||
0x56, 0x6d, 0x6c, 0x6c, 0x64, 0x7a, 0x45, 0x55, 0x4d, 0x42, 0x49,
|
||||
0x47, 0x41, 0x31, 0x55, 0x45, 0x43, 0x68, 0x4d, 0x4c, 0x61, 0x55,
|
||||
0x64, 0x33, 0x0a, 0x59, 0x58, 0x4a, 0x6c, 0x49, 0x45, 0x6c, 0x75,
|
||||
0x59, 0x79, 0x34, 0x78, 0x48, 0x6a, 0x41, 0x63, 0x42, 0x67, 0x4e,
|
||||
0x56, 0x42, 0x41, 0x73, 0x54, 0x46, 0x55, 0x4e, 0x6c, 0x63, 0x6e,
|
||||
0x52, 0x70, 0x5a, 0x6d, 0x6c, 0x6a, 0x59, 0x58, 0x52, 0x6c, 0x49,
|
||||
0x45, 0x46, 0x31, 0x64, 0x47, 0x68, 0x76, 0x63, 0x6d, 0x6c, 0x30,
|
||||
0x65, 0x54, 0x45, 0x53, 0x4d, 0x42, 0x41, 0x47, 0x41, 0x31, 0x55,
|
||||
0x45, 0x0a, 0x41, 0x78, 0x4d, 0x4a, 0x61, 0x55, 0x64, 0x33, 0x59,
|
||||
0x58, 0x4a, 0x6c, 0x49, 0x45, 0x4e, 0x42, 0x67, 0x67, 0x45, 0x4e,
|
||||
0x4d, 0x41, 0x30, 0x47, 0x43, 0x53, 0x71, 0x47, 0x53, 0x49, 0x62,
|
||||
0x33, 0x44, 0x51, 0x45, 0x42, 0x43, 0x77, 0x55, 0x41, 0x41, 0x34,
|
||||
0x49, 0x42, 0x41, 0x51, 0x42, 0x6b, 0x58, 0x50, 0x70, 0x44, 0x58,
|
||||
0x55, 0x38, 0x57, 0x36, 0x51, 0x66, 0x52, 0x39, 0x78, 0x4b, 0x63,
|
||||
0x0a, 0x63, 0x77, 0x63, 0x5a, 0x4b, 0x58, 0x2b, 0x6d, 0x41, 0x4f,
|
||||
0x49, 0x43, 0x2f, 0x6e, 0x4f, 0x69, 0x5a, 0x43, 0x37, 0x36, 0x55,
|
||||
0x4e, 0x36, 0x6d, 0x53, 0x55, 0x5a, 0x36, 0x64, 0x79, 0x72, 0x7a,
|
||||
0x55, 0x55, 0x63, 0x72, 0x34, 0x2f, 0x5a, 0x68, 0x65, 0x52, 0x68,
|
||||
0x62, 0x76, 0x58, 0x6b, 0x30, 0x6d, 0x6c, 0x41, 0x64, 0x37, 0x2f,
|
||||
0x38, 0x55, 0x51, 0x36, 0x68, 0x6d, 0x72, 0x48, 0x57, 0x37, 0x0a,
|
||||
0x61, 0x44, 0x4d, 0x59, 0x30, 0x68, 0x4b, 0x67, 0x38, 0x48, 0x62,
|
||||
0x2b, 0x44, 0x45, 0x42, 0x75, 0x6d, 0x4f, 0x31, 0x71, 0x7a, 0x4d,
|
||||
0x59, 0x53, 0x5a, 0x7a, 0x2b, 0x78, 0x34, 0x67, 0x2f, 0x2b, 0x4f,
|
||||
0x37, 0x4f, 0x5a, 0x74, 0x6a, 0x47, 0x62, 0x64, 0x62, 0x34, 0x65,
|
||||
0x58, 0x71, 0x51, 0x33, 0x45, 0x58, 0x78, 0x34, 0x35, 0x75, 0x33,
|
||||
0x33, 0x42, 0x6f, 0x6f, 0x52, 0x61, 0x65, 0x63, 0x49, 0x0a, 0x32,
|
||||
0x4b, 0x74, 0x70, 0x30, 0x64, 0x78, 0x79, 0x45, 0x4f, 0x70, 0x4c,
|
||||
0x2f, 0x39, 0x39, 0x68, 0x43, 0x66, 0x7a, 0x61, 0x6b, 0x72, 0x4c,
|
||||
0x61, 0x5a, 0x2b, 0x47, 0x6e, 0x57, 0x63, 0x65, 0x77, 0x79, 0x74,
|
||||
0x43, 0x30, 0x74, 0x75, 0x69, 0x4b, 0x33, 0x4a, 0x39, 0x6c, 0x47,
|
||||
0x61, 0x30, 0x69, 0x45, 0x4c, 0x65, 0x71, 0x75, 0x70, 0x4b, 0x53,
|
||||
0x79, 0x73, 0x78, 0x50, 0x63, 0x6b, 0x48, 0x64, 0x0a, 0x58, 0x56,
|
||||
0x4b, 0x36, 0x38, 0x53, 0x37, 0x2b, 0x31, 0x4d, 0x57, 0x6d, 0x66,
|
||||
0x56, 0x43, 0x41, 0x46, 0x4c, 0x56, 0x34, 0x63, 0x32, 0x58, 0x2b,
|
||||
0x69, 0x57, 0x55, 0x46, 0x4a, 0x58, 0x72, 0x4e, 0x38, 0x53, 0x32,
|
||||
0x4c, 0x43, 0x79, 0x68, 0x74, 0x6e, 0x41, 0x72, 0x4e, 0x34, 0x61,
|
||||
0x45, 0x43, 0x31, 0x30, 0x55, 0x58, 0x59, 0x73, 0x32, 0x6d, 0x75,
|
||||
0x30, 0x76, 0x32, 0x64, 0x47, 0x6c, 0x68, 0x0a, 0x76, 0x75, 0x65,
|
||||
0x6e, 0x42, 0x70, 0x7a, 0x36, 0x44, 0x42, 0x38, 0x79, 0x7a, 0x4b,
|
||||
0x66, 0x41, 0x75, 0x64, 0x6c, 0x69, 0x65, 0x69, 0x35, 0x73, 0x56,
|
||||
0x4e, 0x35, 0x4b, 0x38, 0x70, 0x32, 0x77, 0x63, 0x58, 0x38, 0x66,
|
||||
0x75, 0x43, 0x76, 0x63, 0x41, 0x56, 0x6d, 0x45, 0x41, 0x4d, 0x6d,
|
||||
0x72, 0x6a, 0x68, 0x46, 0x53, 0x74, 0x59, 0x4d, 0x6d, 0x48, 0x2f,
|
||||
0x71, 0x46, 0x78, 0x48, 0x7a, 0x7a, 0x0a, 0x70, 0x59, 0x32, 0x57,
|
||||
0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x43,
|
||||
0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d,
|
||||
0x2d, 0x2d, 0x2d, 0x2d, 0x0a
|
||||
#endif
|
||||
};
|
||||
|
||||
// DEV6接続用秘密鍵
|
||||
u8 USER_ORIGIN_PRIVATE_KEY[] =
|
||||
{
|
||||
#ifndef BUILD_FOR_PROD_BGS
|
||||
#ifndef BUILD_FOR_TEST_BGS
|
||||
// DEV6
|
||||
0x30, 0x82, 0x02, 0x5e, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x00,
|
||||
0xee, 0x37, 0xef, 0xbb, 0x29, 0x54, 0x42, 0x3b, 0x21, 0x08, 0xe3,
|
||||
0x77, 0x82, 0x12, 0x85, 0xc7, 0x3b, 0x58, 0x6f, 0x72, 0x6f, 0x3f,
|
||||
0x11, 0x13, 0x49, 0x40, 0xac, 0xe2, 0x26, 0x71, 0xf2, 0xd2, 0xa4,
|
||||
0xa6, 0x92, 0xfb, 0xcb, 0xc9, 0x6c, 0x45, 0xe4, 0xff, 0xbe, 0xd6,
|
||||
0x65, 0xd9, 0x71, 0x7a, 0x21, 0x4b, 0x12, 0xf5, 0xa1, 0x11, 0xe0,
|
||||
0x32, 0xd9, 0x42, 0x92, 0x39, 0x47, 0x36, 0x1a, 0x83, 0xc3, 0x62,
|
||||
0xd5, 0xda, 0x7d, 0xc0, 0x10, 0xbd, 0x75, 0x43, 0x42, 0x04, 0x49,
|
||||
0x72, 0x52, 0xaa, 0xc1, 0x72, 0x63, 0xbc, 0x16, 0x77, 0x76, 0x72,
|
||||
0x86, 0x55, 0xac, 0x9a, 0x68, 0x15, 0x58, 0x51, 0xaf, 0xb2, 0xa0,
|
||||
0xc8, 0x1b, 0xd1, 0x18, 0xad, 0x49, 0x6d, 0x16, 0x19, 0xa1, 0xfb,
|
||||
0xee, 0x7c, 0x4c, 0x74, 0x7e, 0xc7, 0xfa, 0x08, 0x23, 0x80, 0xb9,
|
||||
0xef, 0x2f, 0x6f, 0x3d, 0xaf, 0x96, 0xd1, 0x02, 0x03, 0x01, 0x00,
|
||||
0x01, 0x02, 0x81, 0x81, 0x00, 0x98, 0x91, 0x00, 0x9b, 0x98, 0xd3,
|
||||
0x9a, 0xfb, 0x6d, 0xa3, 0xd8, 0xb2, 0xf0, 0x7e, 0x56, 0x69, 0x8c,
|
||||
0x0b, 0x8e, 0x8c, 0xf6, 0xcc, 0xa8, 0x6d, 0xf6, 0xab, 0x52, 0x4e,
|
||||
0x20, 0x9b, 0x38, 0x0e, 0x4a, 0x5f, 0x58, 0xa1, 0xa5, 0x19, 0xa2,
|
||||
0x9b, 0x7d, 0x17, 0x82, 0x2c, 0xa3, 0xdc, 0x48, 0x7e, 0x14, 0x96,
|
||||
0x95, 0x54, 0xf5, 0x4c, 0x92, 0x8f, 0x5e, 0x6f, 0xf1, 0x60, 0x77,
|
||||
0xc8, 0x21, 0xdf, 0xe7, 0x45, 0x3c, 0x22, 0x22, 0xc7, 0xf8, 0x59,
|
||||
0x88, 0x63, 0xf8, 0x46, 0xf8, 0xe4, 0x69, 0xa0, 0xa8, 0x36, 0xeb,
|
||||
0x29, 0xbe, 0x39, 0x89, 0x57, 0x7d, 0x72, 0x6d, 0xd6, 0x42, 0x48,
|
||||
0xde, 0x5a, 0xd5, 0xb8, 0xaa, 0x4e, 0xe0, 0xad, 0x25, 0x7e, 0xdd,
|
||||
0xef, 0x5d, 0xad, 0xa5, 0x2c, 0x2f, 0xd8, 0x07, 0x85, 0x38, 0x82,
|
||||
0x5b, 0xf6, 0xf1, 0xf2, 0xbe, 0x75, 0xc6, 0xcd, 0xdf, 0xf5, 0x07,
|
||||
0x31, 0x02, 0x41, 0x00, 0xfa, 0xfc, 0x8f, 0xfb, 0x7a, 0x98, 0x88,
|
||||
0x61, 0x90, 0x68, 0xda, 0x12, 0x09, 0x8f, 0xd3, 0x62, 0x56, 0x95,
|
||||
0xc6, 0xc0, 0xd2, 0x50, 0xd5, 0x6d, 0xc6, 0x51, 0x9f, 0x1e, 0x5b,
|
||||
0x10, 0x19, 0x07, 0xeb, 0x3c, 0xd8, 0xdc, 0xfc, 0x93, 0xbd, 0xd3,
|
||||
0x6c, 0x02, 0x48, 0x79, 0xd5, 0xc7, 0xd7, 0x0e, 0xd4, 0x86, 0x5f,
|
||||
0x8d, 0x33, 0xe1, 0x27, 0x12, 0xeb, 0x38, 0xe0, 0x1e, 0xff, 0xfb,
|
||||
0x3d, 0xbd, 0x02, 0x41, 0x00, 0xf2, 0xfa, 0x15, 0x66, 0x1b, 0xf5,
|
||||
0x84, 0xcc, 0xd2, 0x4b, 0xe3, 0x96, 0xbb, 0x0a, 0xf0, 0x03, 0x61,
|
||||
0xcb, 0x7f, 0x25, 0x80, 0x22, 0x69, 0x37, 0x99, 0x9c, 0x23, 0xba,
|
||||
0xe8, 0x76, 0x1b, 0xb6, 0xac, 0x6d, 0x24, 0xf3, 0xa2, 0xf4, 0xfb,
|
||||
0x31, 0x16, 0x1b, 0x82, 0xaa, 0x5c, 0xc1, 0x2b, 0xca, 0x98, 0x24,
|
||||
0xf7, 0x27, 0x92, 0x2c, 0x63, 0xf3, 0xac, 0xe8, 0x4d, 0x92, 0x3a,
|
||||
0xb2, 0xbc, 0xa5, 0x02, 0x41, 0x00, 0x94, 0x16, 0x28, 0xad, 0xec,
|
||||
0x6b, 0xcb, 0x2c, 0x25, 0x94, 0x77, 0xf6, 0x64, 0x85, 0xe3, 0xe7,
|
||||
0x05, 0xc7, 0x61, 0x79, 0xab, 0x9d, 0xde, 0x0f, 0xe3, 0x0f, 0x8d,
|
||||
0x9e, 0xcf, 0x83, 0xf4, 0x00, 0xe4, 0x1f, 0x06, 0xa5, 0x7c, 0xb1,
|
||||
0x7f, 0x33, 0x1b, 0x6b, 0x4d, 0x6f, 0xf5, 0x5e, 0xef, 0xd8, 0xe4,
|
||||
0x34, 0x54, 0x74, 0x6f, 0xc3, 0xcc, 0xd6, 0x30, 0xcb, 0x62, 0x11,
|
||||
0x68, 0x5f, 0xc8, 0xd1, 0x02, 0x41, 0x00, 0xac, 0x46, 0x7a, 0xd3,
|
||||
0xaa, 0x31, 0x3b, 0x56, 0x8a, 0x28, 0xba, 0x96, 0x4d, 0xca, 0x24,
|
||||
0x81, 0x11, 0x5e, 0xda, 0xa8, 0xb9, 0x20, 0x2c, 0xdf, 0xfa, 0x2f,
|
||||
0x05, 0xfa, 0x69, 0x06, 0x0d, 0x02, 0x49, 0x61, 0x1d, 0x99, 0x0d,
|
||||
0x4a, 0x8b, 0xab, 0xb3, 0x14, 0x10, 0x62, 0x40, 0x5f, 0xca, 0x6f,
|
||||
0xdb, 0xce, 0x21, 0xdb, 0x51, 0xbd, 0xdd, 0xa4, 0x91, 0x4d, 0x28,
|
||||
0x6a, 0xec, 0xe9, 0x7b, 0xed, 0x02, 0x40, 0x62, 0xdb, 0x1b, 0x6a,
|
||||
0x32, 0x30, 0x7b, 0xe8, 0xcf, 0xe7, 0xf8, 0x31, 0xab, 0x54, 0x57,
|
||||
0x84, 0x27, 0x93, 0xcd, 0x02, 0xf5, 0x89, 0x61, 0xb6, 0x35, 0x87,
|
||||
0x76, 0xb1, 0xa4, 0x11, 0x25, 0x4b, 0x4c, 0x5a, 0xc8, 0xae, 0x51,
|
||||
0x94, 0x16, 0xec, 0x75, 0x7f, 0x77, 0xea, 0xad, 0x4d, 0xb9, 0x0b,
|
||||
0x77, 0xc3, 0x18, 0xd7, 0xc7, 0x3a, 0xc8, 0x66, 0x6b, 0x3c, 0x61,
|
||||
0xde, 0x23, 0xd8, 0xf0, 0x91
|
||||
#else
|
||||
// TEST
|
||||
0x42, 0x61, 0x67, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
|
||||
0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x72, 0x69,
|
||||
0x65, 0x6e, 0x64, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x20,
|
||||
0x65, 0x63, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x0a, 0x20, 0x20, 0x20,
|
||||
0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x49, 0x44,
|
||||
0x3a, 0x20, 0x46, 0x44, 0x20, 0x38, 0x41, 0x20, 0x39, 0x31, 0x20,
|
||||
0x32, 0x41, 0x20, 0x43, 0x46, 0x20, 0x43, 0x41, 0x20, 0x36, 0x33,
|
||||
0x20, 0x44, 0x45, 0x20, 0x31, 0x32, 0x20, 0x42, 0x32, 0x20, 0x31,
|
||||
0x31, 0x20, 0x32, 0x35, 0x20, 0x46, 0x46, 0x20, 0x39, 0x31, 0x20,
|
||||
0x38, 0x44, 0x20, 0x42, 0x34, 0x20, 0x35, 0x39, 0x20, 0x42, 0x35,
|
||||
0x20, 0x42, 0x45, 0x20, 0x43, 0x34, 0x20, 0x0a, 0x4b, 0x65, 0x79,
|
||||
0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
|
||||
0x3a, 0x20, 0x3c, 0x4e, 0x6f, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69,
|
||||
0x62, 0x75, 0x74, 0x65, 0x73, 0x3e, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d,
|
||||
0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x52, 0x53, 0x41, 0x20,
|
||||
0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59,
|
||||
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x58,
|
||||
0x67, 0x49, 0x42, 0x41, 0x41, 0x4b, 0x42, 0x67, 0x51, 0x44, 0x75,
|
||||
0x4e, 0x2b, 0x2b, 0x37, 0x4b, 0x56, 0x52, 0x43, 0x4f, 0x79, 0x45,
|
||||
0x49, 0x34, 0x33, 0x65, 0x43, 0x45, 0x6f, 0x58, 0x48, 0x4f, 0x31,
|
||||
0x68, 0x76, 0x63, 0x6d, 0x38, 0x2f, 0x45, 0x52, 0x4e, 0x4a, 0x51,
|
||||
0x4b, 0x7a, 0x69, 0x4a, 0x6e, 0x48, 0x79, 0x30, 0x71, 0x53, 0x6d,
|
||||
0x6b, 0x76, 0x76, 0x4c, 0x0a, 0x79, 0x57, 0x78, 0x46, 0x35, 0x50,
|
||||
0x2b, 0x2b, 0x31, 0x6d, 0x58, 0x5a, 0x63, 0x58, 0x6f, 0x68, 0x53,
|
||||
0x78, 0x4c, 0x31, 0x6f, 0x52, 0x48, 0x67, 0x4d, 0x74, 0x6c, 0x43,
|
||||
0x6b, 0x6a, 0x6c, 0x48, 0x4e, 0x68, 0x71, 0x44, 0x77, 0x32, 0x4c,
|
||||
0x56, 0x32, 0x6e, 0x33, 0x41, 0x45, 0x4c, 0x31, 0x31, 0x51, 0x30,
|
||||
0x49, 0x45, 0x53, 0x58, 0x4a, 0x53, 0x71, 0x73, 0x46, 0x79, 0x59,
|
||||
0x37, 0x77, 0x57, 0x0a, 0x64, 0x33, 0x5a, 0x79, 0x68, 0x6c, 0x57,
|
||||
0x73, 0x6d, 0x6d, 0x67, 0x56, 0x57, 0x46, 0x47, 0x76, 0x73, 0x71,
|
||||
0x44, 0x49, 0x47, 0x39, 0x45, 0x59, 0x72, 0x55, 0x6c, 0x74, 0x46,
|
||||
0x68, 0x6d, 0x68, 0x2b, 0x2b, 0x35, 0x38, 0x54, 0x48, 0x52, 0x2b,
|
||||
0x78, 0x2f, 0x6f, 0x49, 0x49, 0x34, 0x43, 0x35, 0x37, 0x79, 0x39,
|
||||
0x76, 0x50, 0x61, 0x2b, 0x57, 0x30, 0x51, 0x49, 0x44, 0x41, 0x51,
|
||||
0x41, 0x42, 0x0a, 0x41, 0x6f, 0x47, 0x42, 0x41, 0x4a, 0x69, 0x52,
|
||||
0x41, 0x4a, 0x75, 0x59, 0x30, 0x35, 0x72, 0x37, 0x62, 0x61, 0x50,
|
||||
0x59, 0x73, 0x76, 0x42, 0x2b, 0x56, 0x6d, 0x6d, 0x4d, 0x43, 0x34,
|
||||
0x36, 0x4d, 0x39, 0x73, 0x79, 0x6f, 0x62, 0x66, 0x61, 0x72, 0x55,
|
||||
0x6b, 0x34, 0x67, 0x6d, 0x7a, 0x67, 0x4f, 0x53, 0x6c, 0x39, 0x59,
|
||||
0x6f, 0x61, 0x55, 0x5a, 0x6f, 0x70, 0x74, 0x39, 0x46, 0x34, 0x49,
|
||||
0x73, 0x0a, 0x6f, 0x39, 0x78, 0x49, 0x66, 0x68, 0x53, 0x57, 0x6c,
|
||||
0x56, 0x54, 0x31, 0x54, 0x4a, 0x4b, 0x50, 0x58, 0x6d, 0x2f, 0x78,
|
||||
0x59, 0x48, 0x66, 0x49, 0x49, 0x64, 0x2f, 0x6e, 0x52, 0x54, 0x77,
|
||||
0x69, 0x49, 0x73, 0x66, 0x34, 0x57, 0x59, 0x68, 0x6a, 0x2b, 0x45,
|
||||
0x62, 0x34, 0x35, 0x47, 0x6d, 0x67, 0x71, 0x44, 0x62, 0x72, 0x4b,
|
||||
0x62, 0x34, 0x35, 0x69, 0x56, 0x64, 0x39, 0x63, 0x6d, 0x33, 0x57,
|
||||
0x0a, 0x51, 0x6b, 0x6a, 0x65, 0x57, 0x74, 0x57, 0x34, 0x71, 0x6b,
|
||||
0x37, 0x67, 0x72, 0x53, 0x56, 0x2b, 0x33, 0x65, 0x39, 0x64, 0x72,
|
||||
0x61, 0x55, 0x73, 0x4c, 0x39, 0x67, 0x48, 0x68, 0x54, 0x69, 0x43,
|
||||
0x57, 0x2f, 0x62, 0x78, 0x38, 0x72, 0x35, 0x31, 0x78, 0x73, 0x33,
|
||||
0x66, 0x39, 0x51, 0x63, 0x78, 0x41, 0x6b, 0x45, 0x41, 0x2b, 0x76,
|
||||
0x79, 0x50, 0x2b, 0x33, 0x71, 0x59, 0x69, 0x47, 0x47, 0x51, 0x0a,
|
||||
0x61, 0x4e, 0x6f, 0x53, 0x43, 0x59, 0x2f, 0x54, 0x59, 0x6c, 0x61,
|
||||
0x56, 0x78, 0x73, 0x44, 0x53, 0x55, 0x4e, 0x56, 0x74, 0x78, 0x6c,
|
||||
0x47, 0x66, 0x48, 0x6c, 0x73, 0x51, 0x47, 0x51, 0x66, 0x72, 0x50,
|
||||
0x4e, 0x6a, 0x63, 0x2f, 0x4a, 0x4f, 0x39, 0x30, 0x32, 0x77, 0x43,
|
||||
0x53, 0x48, 0x6e, 0x56, 0x78, 0x39, 0x63, 0x4f, 0x31, 0x49, 0x5a,
|
||||
0x66, 0x6a, 0x54, 0x50, 0x68, 0x4a, 0x78, 0x4c, 0x72, 0x0a, 0x4f,
|
||||
0x4f, 0x41, 0x65, 0x2f, 0x2f, 0x73, 0x39, 0x76, 0x51, 0x4a, 0x42,
|
||||
0x41, 0x50, 0x4c, 0x36, 0x46, 0x57, 0x59, 0x62, 0x39, 0x59, 0x54,
|
||||
0x4d, 0x30, 0x6b, 0x76, 0x6a, 0x6c, 0x72, 0x73, 0x4b, 0x38, 0x41,
|
||||
0x4e, 0x68, 0x79, 0x33, 0x38, 0x6c, 0x67, 0x43, 0x4a, 0x70, 0x4e,
|
||||
0x35, 0x6d, 0x63, 0x49, 0x37, 0x72, 0x6f, 0x64, 0x68, 0x75, 0x32,
|
||||
0x72, 0x47, 0x30, 0x6b, 0x38, 0x36, 0x4c, 0x30, 0x0a, 0x2b, 0x7a,
|
||||
0x45, 0x57, 0x47, 0x34, 0x4b, 0x71, 0x58, 0x4d, 0x45, 0x72, 0x79,
|
||||
0x70, 0x67, 0x6b, 0x39, 0x79, 0x65, 0x53, 0x4c, 0x47, 0x50, 0x7a,
|
||||
0x72, 0x4f, 0x68, 0x4e, 0x6b, 0x6a, 0x71, 0x79, 0x76, 0x4b, 0x55,
|
||||
0x43, 0x51, 0x51, 0x43, 0x55, 0x46, 0x69, 0x69, 0x74, 0x37, 0x47,
|
||||
0x76, 0x4c, 0x4c, 0x43, 0x57, 0x55, 0x64, 0x2f, 0x5a, 0x6b, 0x68,
|
||||
0x65, 0x50, 0x6e, 0x42, 0x63, 0x64, 0x68, 0x0a, 0x65, 0x61, 0x75,
|
||||
0x64, 0x33, 0x67, 0x2f, 0x6a, 0x44, 0x34, 0x32, 0x65, 0x7a, 0x34,
|
||||
0x50, 0x30, 0x41, 0x4f, 0x51, 0x66, 0x42, 0x71, 0x56, 0x38, 0x73,
|
||||
0x58, 0x38, 0x7a, 0x47, 0x32, 0x74, 0x4e, 0x62, 0x2f, 0x56, 0x65,
|
||||
0x37, 0x39, 0x6a, 0x6b, 0x4e, 0x46, 0x52, 0x30, 0x62, 0x38, 0x50,
|
||||
0x4d, 0x31, 0x6a, 0x44, 0x4c, 0x59, 0x68, 0x46, 0x6f, 0x58, 0x38,
|
||||
0x6a, 0x52, 0x41, 0x6b, 0x45, 0x41, 0x0a, 0x72, 0x45, 0x5a, 0x36,
|
||||
0x30, 0x36, 0x6f, 0x78, 0x4f, 0x31, 0x61, 0x4b, 0x4b, 0x4c, 0x71,
|
||||
0x57, 0x54, 0x63, 0x6f, 0x6b, 0x67, 0x52, 0x46, 0x65, 0x32, 0x71,
|
||||
0x69, 0x35, 0x49, 0x43, 0x7a, 0x66, 0x2b, 0x69, 0x38, 0x46, 0x2b,
|
||||
0x6d, 0x6b, 0x47, 0x44, 0x51, 0x4a, 0x4a, 0x59, 0x52, 0x32, 0x5a,
|
||||
0x44, 0x55, 0x71, 0x4c, 0x71, 0x37, 0x4d, 0x55, 0x45, 0x47, 0x4a,
|
||||
0x41, 0x58, 0x38, 0x70, 0x76, 0x0a, 0x32, 0x38, 0x34, 0x68, 0x32,
|
||||
0x31, 0x47, 0x39, 0x33, 0x61, 0x53, 0x52, 0x54, 0x53, 0x68, 0x71,
|
||||
0x37, 0x4f, 0x6c, 0x37, 0x37, 0x51, 0x4a, 0x41, 0x59, 0x74, 0x73,
|
||||
0x62, 0x61, 0x6a, 0x49, 0x77, 0x65, 0x2b, 0x6a, 0x50, 0x35, 0x2f,
|
||||
0x67, 0x78, 0x71, 0x31, 0x52, 0x58, 0x68, 0x43, 0x65, 0x54, 0x7a,
|
||||
0x51, 0x4c, 0x31, 0x69, 0x57, 0x47, 0x32, 0x4e, 0x59, 0x64, 0x32,
|
||||
0x73, 0x61, 0x51, 0x52, 0x0a, 0x4a, 0x55, 0x74, 0x4d, 0x57, 0x73,
|
||||
0x69, 0x75, 0x55, 0x5a, 0x51, 0x57, 0x37, 0x48, 0x56, 0x2f, 0x64,
|
||||
0x2b, 0x71, 0x74, 0x54, 0x62, 0x6b, 0x4c, 0x64, 0x38, 0x4d, 0x59,
|
||||
0x31, 0x38, 0x63, 0x36, 0x79, 0x47, 0x5a, 0x72, 0x50, 0x47, 0x48,
|
||||
0x65, 0x49, 0x39, 0x6a, 0x77, 0x6b, 0x51, 0x3d, 0x3d, 0x0a, 0x2d,
|
||||
0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x52, 0x53, 0x41,
|
||||
0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45,
|
||||
0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
|
||||
#endif
|
||||
#else
|
||||
// PROD
|
||||
0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20,
|
||||
0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45,
|
||||
0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d,
|
||||
0x49, 0x49, 0x43, 0x58, 0x67, 0x49, 0x42, 0x41, 0x41, 0x4b, 0x42,
|
||||
0x67, 0x51, 0x44, 0x54, 0x50, 0x55, 0x70, 0x4e, 0x59, 0x68, 0x73,
|
||||
0x70, 0x63, 0x73, 0x35, 0x31, 0x2b, 0x38, 0x63, 0x32, 0x42, 0x78,
|
||||
0x55, 0x6d, 0x6a, 0x74, 0x59, 0x4b, 0x77, 0x6b, 0x66, 0x2b, 0x6c,
|
||||
0x78, 0x65, 0x6c, 0x34, 0x78, 0x4d, 0x6b, 0x49, 0x50, 0x6a, 0x6d,
|
||||
0x63, 0x71, 0x78, 0x6a, 0x46, 0x6c, 0x6c, 0x71, 0x0a, 0x56, 0x53,
|
||||
0x2b, 0x33, 0x71, 0x36, 0x78, 0x33, 0x35, 0x70, 0x54, 0x49, 0x48,
|
||||
0x56, 0x4b, 0x47, 0x67, 0x79, 0x36, 0x32, 0x4b, 0x6e, 0x78, 0x63,
|
||||
0x4e, 0x46, 0x66, 0x66, 0x4d, 0x35, 0x46, 0x4c, 0x68, 0x49, 0x55,
|
||||
0x4b, 0x73, 0x6e, 0x55, 0x4d, 0x47, 0x37, 0x64, 0x64, 0x51, 0x2f,
|
||||
0x56, 0x6c, 0x44, 0x74, 0x6f, 0x31, 0x70, 0x74, 0x45, 0x56, 0x4a,
|
||||
0x30, 0x41, 0x73, 0x66, 0x2b, 0x6b, 0x5a, 0x0a, 0x55, 0x37, 0x62,
|
||||
0x75, 0x6c, 0x37, 0x56, 0x76, 0x77, 0x38, 0x35, 0x30, 0x63, 0x50,
|
||||
0x44, 0x48, 0x62, 0x57, 0x7a, 0x4a, 0x71, 0x4b, 0x57, 0x47, 0x62,
|
||||
0x39, 0x35, 0x74, 0x37, 0x58, 0x70, 0x57, 0x44, 0x61, 0x36, 0x4f,
|
||||
0x47, 0x62, 0x69, 0x70, 0x62, 0x6b, 0x63, 0x56, 0x7a, 0x6a, 0x72,
|
||||
0x36, 0x49, 0x69, 0x52, 0x4a, 0x4e, 0x67, 0x50, 0x2f, 0x4e, 0x51,
|
||||
0x49, 0x44, 0x41, 0x51, 0x41, 0x42, 0x0a, 0x41, 0x6f, 0x47, 0x42,
|
||||
0x41, 0x4c, 0x32, 0x35, 0x65, 0x4c, 0x6a, 0x54, 0x2b, 0x71, 0x31,
|
||||
0x5a, 0x6a, 0x68, 0x48, 0x74, 0x31, 0x31, 0x69, 0x78, 0x4e, 0x38,
|
||||
0x2f, 0x76, 0x7a, 0x6c, 0x4c, 0x50, 0x65, 0x44, 0x59, 0x7a, 0x6f,
|
||||
0x6d, 0x75, 0x39, 0x37, 0x58, 0x30, 0x76, 0x6d, 0x42, 0x33, 0x79,
|
||||
0x74, 0x4e, 0x34, 0x79, 0x50, 0x70, 0x45, 0x41, 0x66, 0x65, 0x45,
|
||||
0x72, 0x63, 0x62, 0x59, 0x6e, 0x0a, 0x42, 0x55, 0x35, 0x4f, 0x39,
|
||||
0x38, 0x59, 0x55, 0x6f, 0x4b, 0x6e, 0x41, 0x73, 0x76, 0x31, 0x6c,
|
||||
0x6a, 0x64, 0x37, 0x4d, 0x78, 0x42, 0x7a, 0x64, 0x6f, 0x31, 0x62,
|
||||
0x37, 0x34, 0x51, 0x45, 0x4d, 0x66, 0x4f, 0x55, 0x33, 0x53, 0x74,
|
||||
0x77, 0x45, 0x4e, 0x65, 0x56, 0x2b, 0x53, 0x7a, 0x51, 0x56, 0x67,
|
||||
0x7a, 0x32, 0x38, 0x61, 0x6e, 0x4b, 0x64, 0x57, 0x70, 0x69, 0x31,
|
||||
0x46, 0x6f, 0x65, 0x2b, 0x0a, 0x37, 0x50, 0x36, 0x63, 0x41, 0x5a,
|
||||
0x55, 0x44, 0x48, 0x6b, 0x36, 0x5a, 0x47, 0x6e, 0x39, 0x30, 0x43,
|
||||
0x55, 0x59, 0x6a, 0x75, 0x4e, 0x4d, 0x65, 0x4d, 0x57, 0x58, 0x5a,
|
||||
0x67, 0x6a, 0x41, 0x34, 0x61, 0x73, 0x78, 0x6a, 0x61, 0x6d, 0x5a,
|
||||
0x4c, 0x45, 0x4c, 0x51, 0x4e, 0x72, 0x56, 0x30, 0x42, 0x41, 0x6b,
|
||||
0x45, 0x41, 0x39, 0x62, 0x6c, 0x52, 0x54, 0x53, 0x4d, 0x51, 0x69,
|
||||
0x69, 0x71, 0x75, 0x0a, 0x49, 0x33, 0x52, 0x64, 0x46, 0x69, 0x4c,
|
||||
0x79, 0x36, 0x44, 0x56, 0x57, 0x71, 0x67, 0x62, 0x58, 0x70, 0x69,
|
||||
0x5a, 0x57, 0x2f, 0x75, 0x31, 0x58, 0x49, 0x44, 0x69, 0x59, 0x44,
|
||||
0x61, 0x68, 0x62, 0x4a, 0x46, 0x38, 0x6b, 0x57, 0x6d, 0x2f, 0x67,
|
||||
0x50, 0x7a, 0x66, 0x39, 0x6a, 0x69, 0x4f, 0x74, 0x6c, 0x66, 0x35,
|
||||
0x74, 0x4d, 0x7a, 0x50, 0x71, 0x62, 0x4d, 0x55, 0x35, 0x48, 0x57,
|
||||
0x31, 0x79, 0x0a, 0x6d, 0x77, 0x2b, 0x6d, 0x57, 0x34, 0x6d, 0x33,
|
||||
0x34, 0x51, 0x4a, 0x42, 0x41, 0x4e, 0x77, 0x53, 0x79, 0x58, 0x33,
|
||||
0x74, 0x78, 0x5a, 0x61, 0x46, 0x46, 0x6d, 0x6e, 0x6a, 0x6d, 0x55,
|
||||
0x61, 0x42, 0x74, 0x62, 0x6b, 0x58, 0x58, 0x54, 0x65, 0x74, 0x6d,
|
||||
0x65, 0x66, 0x6a, 0x38, 0x71, 0x53, 0x31, 0x31, 0x2f, 0x4f, 0x34,
|
||||
0x50, 0x31, 0x46, 0x73, 0x70, 0x39, 0x32, 0x68, 0x30, 0x70, 0x76,
|
||||
0x66, 0x0a, 0x50, 0x4e, 0x77, 0x67, 0x49, 0x4b, 0x67, 0x68, 0x5a,
|
||||
0x30, 0x4b, 0x30, 0x54, 0x2b, 0x32, 0x6b, 0x62, 0x54, 0x49, 0x56,
|
||||
0x4f, 0x62, 0x45, 0x71, 0x4c, 0x53, 0x65, 0x50, 0x59, 0x2f, 0x72,
|
||||
0x36, 0x49, 0x64, 0x55, 0x43, 0x51, 0x51, 0x43, 0x78, 0x44, 0x63,
|
||||
0x54, 0x4e, 0x4a, 0x66, 0x54, 0x6d, 0x2b, 0x58, 0x58, 0x63, 0x53,
|
||||
0x68, 0x35, 0x41, 0x73, 0x78, 0x48, 0x2f, 0x79, 0x31, 0x38, 0x55,
|
||||
0x0a, 0x79, 0x44, 0x56, 0x65, 0x6e, 0x4d, 0x57, 0x57, 0x6a, 0x6f,
|
||||
0x46, 0x32, 0x30, 0x42, 0x43, 0x50, 0x31, 0x72, 0x31, 0x46, 0x61,
|
||||
0x65, 0x43, 0x52, 0x34, 0x59, 0x62, 0x64, 0x52, 0x6f, 0x54, 0x47,
|
||||
0x68, 0x47, 0x4b, 0x78, 0x62, 0x31, 0x42, 0x54, 0x30, 0x70, 0x61,
|
||||
0x5a, 0x70, 0x55, 0x70, 0x51, 0x4c, 0x2b, 0x71, 0x69, 0x58, 0x42,
|
||||
0x5a, 0x73, 0x59, 0x73, 0x46, 0x42, 0x41, 0x6b, 0x41, 0x73, 0x0a,
|
||||
0x73, 0x73, 0x67, 0x6f, 0x41, 0x71, 0x59, 0x79, 0x4a, 0x7a, 0x2f,
|
||||
0x68, 0x4b, 0x2f, 0x41, 0x53, 0x79, 0x50, 0x2b, 0x65, 0x34, 0x32,
|
||||
0x62, 0x30, 0x69, 0x78, 0x63, 0x4b, 0x61, 0x56, 0x72, 0x38, 0x4a,
|
||||
0x30, 0x38, 0x41, 0x57, 0x6e, 0x6a, 0x4a, 0x30, 0x66, 0x62, 0x61,
|
||||
0x5a, 0x69, 0x61, 0x2f, 0x72, 0x2f, 0x7a, 0x4e, 0x66, 0x4e, 0x30,
|
||||
0x46, 0x4b, 0x52, 0x75, 0x76, 0x43, 0x61, 0x35, 0x2b, 0x0a, 0x52,
|
||||
0x76, 0x70, 0x43, 0x78, 0x4e, 0x72, 0x64, 0x36, 0x41, 0x49, 0x5a,
|
||||
0x32, 0x64, 0x37, 0x6c, 0x74, 0x2b, 0x34, 0x74, 0x41, 0x6b, 0x45,
|
||||
0x41, 0x6f, 0x33, 0x65, 0x46, 0x2f, 0x36, 0x65, 0x69, 0x38, 0x44,
|
||||
0x44, 0x70, 0x6e, 0x47, 0x4d, 0x68, 0x45, 0x69, 0x54, 0x58, 0x6f,
|
||||
0x5a, 0x6a, 0x36, 0x35, 0x48, 0x6f, 0x73, 0x4a, 0x71, 0x61, 0x79,
|
||||
0x42, 0x4c, 0x57, 0x47, 0x7a, 0x58, 0x69, 0x5a, 0x0a, 0x4f, 0x6c,
|
||||
0x7a, 0x45, 0x54, 0x65, 0x48, 0x32, 0x79, 0x64, 0x6c, 0x57, 0x68,
|
||||
0x48, 0x58, 0x47, 0x37, 0x50, 0x30, 0x68, 0x57, 0x51, 0x72, 0x57,
|
||||
0x31, 0x6c, 0x42, 0x32, 0x65, 0x78, 0x4e, 0x76, 0x52, 0x75, 0x55,
|
||||
0x4f, 0x30, 0x6d, 0x4d, 0x47, 0x33, 0x71, 0x54, 0x4d, 0x67, 0x77,
|
||||
0x3d, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44,
|
||||
0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54,
|
||||
0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
|
||||
#endif
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
BgsCommunicator::BgsCommunicator() : m_Result(nn::ResultSuccess())
|
||||
{
|
||||
}
|
||||
|
||||
BgsCommunicator::~BgsCommunicator()
|
||||
{
|
||||
// TODO Auto-generated destructor stub
|
||||
}
|
||||
|
||||
bool BgsCommunicator::Execute(const void* buf, size_t size)
|
||||
{
|
||||
if(!nn::ac::IsConnected())
|
||||
{
|
||||
m_Result = common::InitializeNetwork();
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
ライブラリの初期化(HTTPライブラリ使用前に、各プロセスで一度だけ実行する。)
|
||||
------------------------------------------------------------------------ */
|
||||
m_Result = nn::http::Initialize(reinterpret_cast<uptr>(s_PostBuffer), sizeof(s_PostBuffer));
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
通信準備
|
||||
------------------------------------------------------------------------ */
|
||||
|
||||
//通信先の設定
|
||||
//<<HTTPS特有コード>>URLの先頭文字はhttpsとなります
|
||||
#ifndef BUILD_FOR_PROD_BGS
|
||||
#ifndef BUILD_FOR_TEST_BGS
|
||||
// DEV6
|
||||
m_Result = m_HttpCon.Initialize("https://10.12.3.73/bgs/services/BusinessGatewaySOAP", nn::http::REQUEST_METHOD_POST);
|
||||
#else
|
||||
// TEST
|
||||
m_Result = m_HttpCon.Initialize("https://10.12.3.77/bgs/services/BusinessGatewaySOAP", nn::http::REQUEST_METHOD_POST);
|
||||
#endif
|
||||
#else
|
||||
// PROD
|
||||
// TODO:PROD用URL
|
||||
#endif
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
|
||||
m_Result = m_HttpCon.AddHeaderField("Accept-Encoding", "identity");
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
|
||||
m_Result = m_HttpCon.AddHeaderField("SOAPAction", "urn:bgs.wsapi.broadon.com/GetPreInstalledInfo");
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
|
||||
m_Result = m_HttpCon.AddHeaderField("Content-Type", "text/xml; charset=utf-8");
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
|
||||
// POSTデータの設定
|
||||
m_Result = m_HttpCon.AddPostDataRaw(buf, size);
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
<<HTTPS特有コード>>SSL処理用設定
|
||||
------------------------------------------------------------------------ */
|
||||
//ルート証明書の設定
|
||||
m_Result = m_HttpCon.SetRootCa(NNSSL_CACERT_PUBLIC_CA_1);
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED( m_Result);
|
||||
m_Result = m_HttpCon.SetRootCa(NNSSL_CACERT_PUBLIC_CA_2);
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED( m_Result);
|
||||
m_Result = m_HttpCon.SetRootCa(NNSSL_CACERT_PUBLIC_CA_3);
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED( m_Result);
|
||||
m_Result = m_HttpCon.SetRootCa(NNSSL_CACERT_PUBLIC_CA_4);
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
|
||||
m_Result = m_HttpCon.SetClientCert(USER_ORIGIN_CLIENT_CERT_DATA, sizeof(USER_ORIGIN_CLIENT_CERT_DATA),
|
||||
USER_ORIGIN_PRIVATE_KEY, sizeof(USER_ORIGIN_PRIVATE_KEY)); //クライアント証明書を設定する。
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
|
||||
|
||||
// 証明書が適当?なので検証項目を減らす
|
||||
m_Result = m_HttpCon.DisableVerifyOptionForDebug(
|
||||
nn::ssl::VERIFY_COMMON_NAME | nn::ssl::VERIFY_SUBJECT_ALT_NAME | nn::ssl::VERIFY_ROOT_CA);
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
通信実行
|
||||
------------------------------------------------------------------------ */
|
||||
//通信の開始
|
||||
m_Result = m_HttpCon.Connect(); //リクエストの送信を開始する。機器が同時実行可能な最大個数のHTTP通信がすでに実行中の場合は、空きができるまでブロック
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BgsCommunicator::GetBodySize(size_t* size)
|
||||
{
|
||||
//HTTPヘッダの情報読み出し
|
||||
s32 statusCode = 0;
|
||||
m_Result = m_HttpCon.GetStatusCode(&statusCode); //Statusコードの取得
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
NN_LOG("---HTTP ResultCode = %d---\n", statusCode);
|
||||
|
||||
char headerFields[1024];
|
||||
std::memset(headerFields, 0, sizeof(headerFields));
|
||||
u32 fieldLen = sizeof(headerFields);
|
||||
m_Result = m_HttpCon.GetHeaderField("Content-Length", headerFields, fieldLen, &fieldLen); //特定のヘッダフィールドをラベルから取得
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
*size = std::strtol(headerFields, NULL, 10);
|
||||
NN_LOG("---HTTP Content-Length = %d---\n", *size);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BgsCommunicator::GetBody(u8 *buf, size_t size)
|
||||
{
|
||||
//HTTPレスポンスの取得
|
||||
std::memset(buf, 0, size);
|
||||
m_Result = m_HttpCon.Read(buf, size); //読み取りが完了するまでブロック。Bodyの最後までの読み込みが成功した場合は、Successを表すResultが返る。バッファサイズが足りない場合は、エラー(Description==ER_RES_BODYBUF_SHORTAGEのResult)が返る*/
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BgsCommunicator::Finalize()
|
||||
{
|
||||
m_Result = m_HttpCon.Finalize();
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
m_Result = nn::http::Finalize();
|
||||
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
|
||||
return true;
|
||||
}
|
||||
|
||||
nn::Result BgsCommunicator::GetLastResult()
|
||||
{
|
||||
return m_Result;
|
||||
}
|
||||
|
||||
} /* namespace ConsoleRestore */
|
||||
@ -1,56 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: Horizon
|
||||
File: BgsCommunicator.h
|
||||
|
||||
Copyright 2009-2011 Nintendo. All rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs contain
|
||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
Company Ltd., and are protected by Federal copyright law. They may
|
||||
not be disclosed to third parties or copied or duplicated in any form,
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Rev$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef BGSCOMMUNICATOR_H_
|
||||
#define BGSCOMMUNICATOR_H_
|
||||
|
||||
#include <nn.h>
|
||||
#include <nn/http.h>
|
||||
namespace ConsoleRestore
|
||||
{
|
||||
|
||||
class BgsCommunicator
|
||||
{
|
||||
public:
|
||||
BgsCommunicator();
|
||||
virtual ~BgsCommunicator();
|
||||
|
||||
//! @brief 構築したXMLを使ってBGSと通信します
|
||||
//! @param[in] buf XMLデータへのポインタ
|
||||
//! @param[in] size XMLデータのサイズ
|
||||
bool Execute(const void* buf, size_t size);
|
||||
|
||||
//! @brief 通信結果のサイズを取得します
|
||||
//! @param[out] 通信結果を取得するのに必要なバッファサイズ
|
||||
bool GetBodySize(size_t* size);
|
||||
|
||||
//! @brief 通信結果をバッファに書き込みます。正しく結果を取得するには GetBodySizeで取得したサイズのバッファが必要です。
|
||||
//! @param[out] buf 通信結果を書き込むバッファ
|
||||
//! @param[in] size バッファサイズ
|
||||
bool GetBody(u8* buf, size_t size);
|
||||
|
||||
bool Finalize();
|
||||
|
||||
nn::Result GetLastResult();
|
||||
|
||||
private:
|
||||
nn::Result m_Result;
|
||||
|
||||
//Connectionインスタンス
|
||||
nn::http::Connection m_HttpCon;
|
||||
};
|
||||
|
||||
} /* namespace ConsoleRestore */
|
||||
#endif /* BGSCOMMUNICATOR_H_ */
|
||||
@ -1638,10 +1638,7 @@ void ControlState(common::HardwareStateManager& manager, common::OperationMessag
|
||||
{
|
||||
COMMON_LOGGER("Checking User's SD Card\n");
|
||||
s_ExecutePreparePreinstallTitleDownload = true;
|
||||
bit64 deviceId = manager.GetDeviceId() + 0x400000000;
|
||||
u8 serial[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN];
|
||||
manager.GetSerialNumberWithoutCD(serial);
|
||||
StartPreparePreinstallTitleDownload(deviceId, serial, s_ForceDownloadPreinstall);
|
||||
StartPreparePreinstallTitleDownload(s_ForceDownloadPreinstall);
|
||||
}
|
||||
|
||||
// 動いていることを表示
|
||||
|
||||
@ -31,9 +31,6 @@ SOURCES[] =
|
||||
TitleDownloader.cpp
|
||||
Shop.cpp
|
||||
RegionIdModifier.cpp
|
||||
SimpleXmlPreprocessor.cpp
|
||||
XmlCreator.cpp
|
||||
BgsCommunicator.cpp
|
||||
PreinstallImporter.cpp
|
||||
../common/Util.cpp
|
||||
../common/DrawSystemState.cpp
|
||||
|
||||
@ -16,9 +16,6 @@
|
||||
#include "CommonLogger.h"
|
||||
#include "HeapManager.h"
|
||||
#include "PreinstallImporter.h"
|
||||
#include "XmlCreator.h"
|
||||
#include "SimpleXmlPreprocessor.h"
|
||||
#include <nn/xml/simple/xml_simple_SimpleXmlParser.h>
|
||||
#include <cstring>
|
||||
#include <nn/am/am_ApiSystemMenu.h>
|
||||
|
||||
@ -59,26 +56,6 @@ nn::Result PreinstallImporter::SetupSd(bool* isAlreadyAvailable, bool forcePrein
|
||||
return nn::ResultSuccess();
|
||||
}
|
||||
|
||||
nn::Result PreinstallImporter::ListTitles(nn::ProgramId* list, size_t* num, bit64 deviceId, u8* serialNo)
|
||||
{
|
||||
// 送信用のXMLデータを構築する
|
||||
XmlCreator sendXml;
|
||||
sendXml.Exec(deviceId, serialNo);
|
||||
|
||||
// 構築したXMLデータを使ってBGSと通信する
|
||||
BgsCommunicator comm;
|
||||
if(!comm.Execute(sendXml.GetData().c_str(), sendXml.GetData().size()))
|
||||
{
|
||||
return comm.GetLastResult();
|
||||
}
|
||||
|
||||
// 通信結果をパースしてタイトルリストを作成する
|
||||
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
|
||||
GetHtmlBodyAndParseXmlData(comm, list, num)
|
||||
);
|
||||
return nn::ResultSuccess();
|
||||
}
|
||||
|
||||
nn::Result PreinstallImporter::ListTitlesBasedOnTickets(nn::ProgramId* list, size_t* num)
|
||||
{
|
||||
s32 personalizedTicketNum;
|
||||
@ -97,155 +74,4 @@ nn::Result PreinstallImporter::ListTitlesBasedOnTickets(nn::ProgramId* list, siz
|
||||
return nn::ResultSuccess();
|
||||
}
|
||||
|
||||
nn::Result PreinstallImporter::GetHtmlBodyAndParseXmlData(BgsCommunicator& comm, nn::ProgramId* list, size_t* num)
|
||||
{
|
||||
// 通信結果を取得する
|
||||
size_t bodySize;
|
||||
if(!comm.GetBodySize(&bodySize))
|
||||
{
|
||||
return comm.GetLastResult();
|
||||
}
|
||||
if(common::GetAllocatableSize() < bodySize + 1)
|
||||
{
|
||||
// 巨大な通信結果のためFATAL。1回で受信しきれるはず
|
||||
return nn::Result(nn::Result::LEVEL_FATAL, nn::Result::SUMMARY_OUT_OF_RESOURCE, nn::Result::MODULE_COMMON,
|
||||
nn::Result::DESCRIPTION_OUT_OF_MEMORY);
|
||||
}
|
||||
common::HeapManager heap(bodySize + 1);
|
||||
void* buf = heap.GetAddr();
|
||||
if(!comm.GetBody(reinterpret_cast<u8*>(buf), bodySize + 1))
|
||||
{
|
||||
return comm.GetLastResult();
|
||||
}
|
||||
// NULL終端する
|
||||
reinterpret_cast<u8*>(buf)[bodySize] = '\0';
|
||||
|
||||
if(!comm.Finalize())
|
||||
{
|
||||
return comm.GetLastResult();
|
||||
}
|
||||
|
||||
// XMLを解析してタイトルリストを設定する
|
||||
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(ParseXmlData(buf, list, num));
|
||||
|
||||
return nn::ResultSuccess();
|
||||
}
|
||||
|
||||
nn::Result PreinstallImporter::ParseXmlData(void* buf, nn::ProgramId* list, size_t* num)
|
||||
{
|
||||
// 通信結果をパースする
|
||||
// SimpleXmlParserに食わせるために変換する
|
||||
SimpleXmlPreprocessor pp;
|
||||
// システムヒープ(8MB)を超えたら正常に動かない
|
||||
std::string xmlResult(reinterpret_cast<char*>(buf));
|
||||
pp.Canonicalize(xmlResult);
|
||||
|
||||
// XMLをパースしてタイトルリストを取得する
|
||||
nn::fnd::IAllocator* pAllocator = nn::init::GetAllocator();
|
||||
nn::xml::simple::SimpleXmlParser simpleXmlParser(pAllocator);
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pTaskIdNode;
|
||||
|
||||
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(
|
||||
SetNodetoTitleIds(simpleXmlParser, xmlResult, &pTaskIdNode)
|
||||
);
|
||||
|
||||
*num = 0;
|
||||
// プリインストールタイトルが無ければ終了
|
||||
if(!pTaskIdNode)
|
||||
{
|
||||
return nn::MakePermanentResult(nn::Result::SUMMARY_NOT_FOUND, nn::Result::MODULE_APPLICATION,
|
||||
nn::Result::DESCRIPTION_NOT_FOUND);
|
||||
}
|
||||
|
||||
// タイトルIDリストをコピーする
|
||||
common::HeapManager xmlHeap(pTaskIdNode->contentSize);
|
||||
void* titleIdBuffer = xmlHeap.GetAddr();
|
||||
std::memcpy(titleIdBuffer, pTaskIdNode->content, pTaskIdNode->contentSize);
|
||||
|
||||
SplitTextAndSetupList(list, num, reinterpret_cast<char*>(titleIdBuffer));
|
||||
return nn::ResultSuccess();
|
||||
}
|
||||
|
||||
nn::Result PreinstallImporter::SetNodetoTitleIds(nn::xml::simple::SimpleXmlParser& parser, std::string& xmlData, const nn::xml::simple::SimpleXmlParser::Node** pNode)
|
||||
{
|
||||
/*
|
||||
* SimpleXmlPreprocessorを通したXMLデータはこんな形になっている
|
||||
<Envelope>
|
||||
<Body>
|
||||
<GetPreInstalledInfoResponse>
|
||||
<GetPreInstalledInfoResponse>
|
||||
<Version></Version>
|
||||
<MessageId></MessageId>
|
||||
<TimeStamp>1326939225587</TimeStamp>
|
||||
<ErrorCode>0</ErrorCode>
|
||||
<ListResultTotalSize>1</ListResultTotalSize>
|
||||
<PreinstalledInfo>
|
||||
<DeviceId>17179924184</DeviceId>
|
||||
<SerialNo>EJA20305940</SerialNo>
|
||||
<Region>JPN</Region>
|
||||
<ManufactureDate>1324339327000</ManufactureDate>
|
||||
<TitleIds>000400000FEEB400,000400000FEEB000</TitleIds>
|
||||
</PreinstalledInfo>
|
||||
</GetPreInstalledInfoResponse>
|
||||
</GetPreInstalledInfoResponse>
|
||||
</Body>
|
||||
</Envelope>
|
||||
*/
|
||||
|
||||
parser.parse(reinterpret_cast<u8*>(const_cast<char*>(xmlData.c_str())), xmlData.size());
|
||||
|
||||
if(parser.isError())
|
||||
{
|
||||
COMMON_LOGGER("invalid xml Data\n");
|
||||
return nn::Result(nn::Result::LEVEL_STATUS, nn::Result::SUMMARY_INVALID_STATE, nn::Result::MODULE_COMMON,
|
||||
nn::Result::DESCRIPTION_INVALID_RESULT_VALUE);
|
||||
}
|
||||
|
||||
// 欲しい情報がある場所まで階層を掘り下げる
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pRootNode = parser.getRootNode();
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pTargetNode = pRootNode->firstChild;
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pPriorityNode = nn::xml::simple::SimpleXmlParser::FindNextNode(
|
||||
pTargetNode, "Body");
|
||||
pPriorityNode = nn::xml::simple::SimpleXmlParser::FindNextNode(pPriorityNode->firstChild,
|
||||
"GetPreInstalledInfoResponse");
|
||||
pPriorityNode = nn::xml::simple::SimpleXmlParser::FindNextNode(pPriorityNode->firstChild,
|
||||
"GetPreInstalledInfoResponse");
|
||||
pPriorityNode = nn::xml::simple::SimpleXmlParser::FindNextNode(pPriorityNode->firstChild, "PreinstalledInfo");
|
||||
// テーブルを移行して空になっていた場合
|
||||
if(pPriorityNode == NULL)
|
||||
{
|
||||
*pNode = NULL;
|
||||
return nn::ResultSuccess();
|
||||
}
|
||||
|
||||
*pNode = nn::xml::simple::SimpleXmlParser::FindNextNode(pPriorityNode->firstChild, "TitleIds");
|
||||
|
||||
return nn::ResultSuccess();
|
||||
}
|
||||
|
||||
void PreinstallImporter::SplitTextAndSetupList(nn::ProgramId* list, size_t* num, char* text)
|
||||
{
|
||||
const char* token = ",";
|
||||
char* cutout;
|
||||
|
||||
cutout = std::strtok(text, token);
|
||||
if(!cutout)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
list[*num] = std::strtoll(cutout, NULL, 16);
|
||||
(*num)++;
|
||||
|
||||
while( cutout )
|
||||
{
|
||||
cutout = std::strtok(NULL, token);
|
||||
if(cutout)
|
||||
{
|
||||
list[*num] = std::strtoll(cutout, NULL, 16);
|
||||
(*num)++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} /* namespace ConsoleRestore */
|
||||
|
||||
@ -18,7 +18,6 @@
|
||||
|
||||
#include <nn.h>
|
||||
#include <nn/xml/simple/xml_simple_SimpleXmlParser.h>
|
||||
#include "BgsCommunicator.h"
|
||||
|
||||
namespace ConsoleRestore
|
||||
{
|
||||
@ -35,30 +34,8 @@ public:
|
||||
//! @param[in] forcePreinstall SDカードが初期化済みでもプリインストールを書き込むかどうか
|
||||
nn::Result SetupSd(bool* isAlreadyAvailable, bool forcePreinstall);
|
||||
|
||||
//! @brief ダウンロードするプリインストールタイトルをBGS経由でリストアップする
|
||||
//! @param[out] list プリインストールタイトルの配列。十分に大きいものを渡すこと。
|
||||
//! @param[out] num プリインストールタイトルの数
|
||||
//! @param[in] deviceId デバイスID
|
||||
//! @param[in] serialNo シリアルナンバー
|
||||
nn::Result ListTitles(nn::ProgramId* list, size_t* num, bit64 deviceId, u8* serialNo);
|
||||
|
||||
//!@ brief プリインストールタイトルをeTicketに基づいてリストアップする
|
||||
nn::Result ListTitlesBasedOnTickets(nn::ProgramId* list, size_t* num);
|
||||
|
||||
private:
|
||||
//! @brief HTMLレスポンスを受信してXMLデータを解析します
|
||||
nn::Result GetHtmlBodyAndParseXmlData(BgsCommunicator& comm, nn::ProgramId* list, size_t* num);
|
||||
|
||||
//! @brief 受信したXMLデータを解析してタイトルIDリストを設定します
|
||||
//! @return プリインストールアプリが存在しない場合、(Level=Status, Summary=NotFound, Module=Application, Description=NotFound)<BR/>
|
||||
//! のResultを返します
|
||||
nn::Result ParseXmlData(void* buf, nn::ProgramId* list, size_t* num);
|
||||
|
||||
//! @brief SimpleXmlパーサの解析をTitleIdノードまで進めます
|
||||
nn::Result SetNodetoTitleIds(nn::xml::simple::SimpleXmlParser& parser, std::string& xmlData, const nn::xml::simple::SimpleXmlParser::Node** pNode);
|
||||
|
||||
//! @brief カンマ区切りのプログラムIDのリストを分割して出力用のリストに設定します
|
||||
void SplitTextAndSetupList(nn::ProgramId* list, size_t* num, char* text);
|
||||
};
|
||||
|
||||
} /* namespace ConsoleRestore */
|
||||
|
||||
@ -1,180 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: Horizon
|
||||
File: SimpleXmlPreprocessor.cpp
|
||||
|
||||
Copyright 2009-2011 Nintendo. All rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs contain
|
||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
Company Ltd., and are protected by Federal copyright law. They may
|
||||
not be disclosed to third parties or copied or duplicated in any form,
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Rev$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "SimpleXmlPreprocessor.h"
|
||||
#if defined(__ARMCC_VERSION)
|
||||
#include <nn.h>
|
||||
#else
|
||||
#include "test_common.h"
|
||||
#endif
|
||||
|
||||
namespace ConsoleRestore
|
||||
{
|
||||
|
||||
bool SimpleXmlPreprocessor::Canonicalize(std::string& str)
|
||||
{
|
||||
if(!EraseXmlDeclaration(str))
|
||||
{
|
||||
NN_LOG("invalid xml!\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!EraseEmptyTag(str))
|
||||
{
|
||||
NN_LOG("can't erase empty tag");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!EraseAttribute(str))
|
||||
{
|
||||
NN_LOG("can't erase attribute\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!EraseNsTagEnd(str))
|
||||
{
|
||||
NN_LOG("can't erase ns end\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!EraseNsTagStart(str))
|
||||
{
|
||||
NN_LOG("can't erase ns start\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SimpleXmlPreprocessor::EraseXmlDeclaration(std::string& str)
|
||||
{
|
||||
std::string::size_type start = str.find("<?xml");
|
||||
if (start == std::string::npos)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string::size_type end = str.find(">");
|
||||
if (end == std::string::npos)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
str.erase(start, end + 1 - start);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SimpleXmlPreprocessor::EraseEmptyTag(std::string& str)
|
||||
{
|
||||
// XMLとしては正しい前提
|
||||
std::string::size_type end = str.find("/>");
|
||||
if (end == std::string::npos)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
std::string::size_type start = str.rfind("<", end);
|
||||
if (start == std::string::npos)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
str.erase(start, end + 2 - start);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SimpleXmlPreprocessor::EraseNsTagEnd(std::string& str)
|
||||
{
|
||||
std::string::size_type start = str.rfind("</");
|
||||
while (start != std::string::npos)
|
||||
{
|
||||
std::string::size_type end = str.find(">", start);
|
||||
if (end == std::string::npos)
|
||||
{
|
||||
// 不正なXML
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string::size_type colon = str.substr(start, end - start).find(":");
|
||||
if (colon == std::string::npos)
|
||||
{
|
||||
// 名前空間無し
|
||||
start = str.rfind("</", start - 1);
|
||||
continue;
|
||||
}
|
||||
|
||||
str.erase(start + 2, colon - 1);
|
||||
start = str.rfind("</", start - 1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SimpleXmlPreprocessor::EraseNsTagStart(std::string& str)
|
||||
{
|
||||
std::string::size_type start = str.find("<");
|
||||
while (start != std::string::npos)
|
||||
{
|
||||
std::string::size_type end = str.find(">", start);
|
||||
if (end == std::string::npos)
|
||||
{
|
||||
// 不正なXML
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string::size_type colon = str.substr(start, end - start).find(":");
|
||||
if (colon == std::string::npos)
|
||||
{
|
||||
// 名前空間無し
|
||||
start = str.find("<", end);
|
||||
continue;
|
||||
}
|
||||
|
||||
str.erase(start + 1, colon);
|
||||
start = str.find("<", end - colon);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool SimpleXmlPreprocessor::EraseAttribute(std::string& str)
|
||||
{
|
||||
std::string::size_type start = str.find("<");
|
||||
while (start != std::string::npos)
|
||||
{
|
||||
std::string::size_type end = str.find(">", start);
|
||||
if (end == std::string::npos)
|
||||
{
|
||||
// 不正なXML
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string::size_type space = str.substr(start, end - start).find(" ");
|
||||
if (space == std::string::npos)
|
||||
{
|
||||
// 属性なし
|
||||
start = str.find("<", end);
|
||||
continue;
|
||||
}
|
||||
|
||||
str.erase(start + space, end - (start + space));
|
||||
start = str.find("<", start + space);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
} /* namespace ConsoleRestore */
|
||||
@ -1,52 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: Horizon
|
||||
File: SimpleXmlPreprocessor.h
|
||||
|
||||
Copyright 2009-2011 Nintendo. All rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs contain
|
||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
Company Ltd., and are protected by Federal copyright law. They may
|
||||
not be disclosed to third parties or copied or duplicated in any form,
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Rev$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef SIMPLEXMLPREPROCESSOR_H_
|
||||
#define SIMPLEXMLPREPROCESSOR_H_
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace ConsoleRestore
|
||||
{
|
||||
|
||||
class SimpleXmlPreprocessor
|
||||
{
|
||||
public:
|
||||
SimpleXmlPreprocessor() {};
|
||||
~SimpleXmlPreprocessor() {};
|
||||
|
||||
// SimpleXmlParserで読めるように変換します
|
||||
static bool Canonicalize(std::string& str);
|
||||
|
||||
private:
|
||||
// <?xml*>の除去
|
||||
static bool EraseXmlDeclaration(std::string& str);
|
||||
|
||||
// 空タグの除去
|
||||
static bool EraseEmptyTag(std::string& str);
|
||||
|
||||
// 属性の削除
|
||||
static bool EraseAttribute(std::string& str);
|
||||
|
||||
// 終了タグの名前空間の削除
|
||||
static bool EraseNsTagEnd(std::string& str);
|
||||
|
||||
// 開始タグの名前空間の削除
|
||||
static bool EraseNsTagStart(std::string& str);
|
||||
|
||||
};
|
||||
|
||||
} /* namespace ConsoleRestore */
|
||||
#endif /* SIMPLEXMLPREPROCESSOR_H_ */
|
||||
@ -197,11 +197,9 @@ void PreparePreinstallTitleDownloadThreadFunc(PreinstallListupParam param)
|
||||
|
||||
}
|
||||
|
||||
void StartPreparePreinstallTitleDownload(bit64 deviceId, u8* serialNo, bool forcePreinstall)
|
||||
void StartPreparePreinstallTitleDownload(bool forcePreinstall)
|
||||
{
|
||||
PreinstallListupParam param;
|
||||
param.deviceId = deviceId;
|
||||
std::memcpy(param.serialNo, serialNo, nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN);
|
||||
param.forcePreinstall = forcePreinstall;
|
||||
|
||||
s_TitleDownloaderThread.Start(PreparePreinstallTitleDownloadThreadFunc, param, s_TitleDownloaderThreadStack);
|
||||
|
||||
@ -26,11 +26,9 @@ void StartTwlTitleDownload();
|
||||
|
||||
//! @brief プリインストールタイトルをSDカードにインポート可能かどうかサイズを確認し、<BR/>
|
||||
//! 可能であればSDカードをインポート可能状態にします
|
||||
//! @param[in] deviceId デバイスID
|
||||
//! @param[in] serialNo シリアルナンバー
|
||||
//! @param[in] serialNo 強制的にプリインストールを書き込むかどうか
|
||||
//! @return 正常に初期化できたかどうか
|
||||
void StartPreparePreinstallTitleDownload(bit64 deviceId, u8* serialNo, bool forcePreinstall);
|
||||
void StartPreparePreinstallTitleDownload(bool forcePreinstall);
|
||||
|
||||
//! @brief 新たにスレッドを立て、プリインストールタイトルのダウンロードを開始します <BR/>
|
||||
//! SDカードはインポート可能な状態にしておく必要があります。
|
||||
@ -40,8 +38,6 @@ void StartPreinstallTitleDownload();
|
||||
// プリインストール情報取得に必要なパラメータをまとめた構造体
|
||||
struct PreinstallListupParam
|
||||
{
|
||||
bit64 deviceId;
|
||||
u8 serialNo[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN];
|
||||
bool forcePreinstall;
|
||||
};
|
||||
|
||||
|
||||
@ -1,84 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: Horizon
|
||||
File: XmlCreator.cpp
|
||||
|
||||
Copyright 2009-2011 Nintendo. All rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs contain
|
||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
Company Ltd., and are protected by Federal copyright law. They may
|
||||
not be disclosed to third parties or copied or duplicated in any form,
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Rev$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "XmlCreator.h"
|
||||
|
||||
#include <cstring>
|
||||
#include <sstream>
|
||||
|
||||
namespace ConsoleRestore
|
||||
{
|
||||
|
||||
namespace
|
||||
{
|
||||
const char xmlDataPrefix[] = \
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
|
||||
<SOAP-ENV:Envelope xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:ns0=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:ns1=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns2=\"urn:bgs.wsapi.broadon.com\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n\
|
||||
<SOAP-ENV:Header/>\n\
|
||||
<ns1:Body>\n\
|
||||
<ns2:GetPreInstalledInfo>\n\
|
||||
<ns2:GetPreInstalledInfo>\n\
|
||||
<ns2:Version/>\n\
|
||||
<ns2:MessageId/>\n";
|
||||
const char xmlDeviceIdPrefix[] = \
|
||||
" <ns2:DeviceId>";
|
||||
const char xmlDeviceIdSuffix[] = "</ns2:DeviceId>\n";
|
||||
const char xmlSerialNoPrefix[] = \
|
||||
" <ns2:SerialNo>";
|
||||
const char xmlSerialNoSuffix[] = "</ns2:SerialNo>\n";
|
||||
const char xmlDataSuffix[] = \
|
||||
" </ns2:GetPreInstalledInfo>\n\
|
||||
</ns2:GetPreInstalledInfo>\n\
|
||||
</ns1:Body>\n\
|
||||
</SOAP-ENV:Envelope>";
|
||||
|
||||
}
|
||||
|
||||
|
||||
XmlCreator::XmlCreator()
|
||||
{
|
||||
// TODO 自動生成されたコンストラクター・スタブ
|
||||
|
||||
}
|
||||
|
||||
XmlCreator::~XmlCreator()
|
||||
{
|
||||
// TODO Auto-generated destructor stub
|
||||
}
|
||||
|
||||
void XmlCreator::Exec(bit64 deviceId, u8* serialNo)
|
||||
{
|
||||
m_Xml.append(xmlDataPrefix);
|
||||
|
||||
m_Xml.append(xmlDeviceIdPrefix);
|
||||
std::ostringstream oss;
|
||||
oss << std::dec;
|
||||
oss << deviceId;
|
||||
m_Xml.append(oss.str());
|
||||
m_Xml.append(xmlDeviceIdSuffix);
|
||||
|
||||
m_Xml.append(xmlSerialNoPrefix);
|
||||
m_Xml.append(reinterpret_cast<char*>(serialNo));
|
||||
m_Xml.append(xmlSerialNoSuffix);
|
||||
|
||||
m_Xml.append(xmlDataSuffix);
|
||||
}
|
||||
|
||||
std::string XmlCreator::GetData()
|
||||
{
|
||||
return m_Xml;
|
||||
}
|
||||
|
||||
} /* namespace ConsoleRestore */
|
||||
@ -1,51 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: Horizon
|
||||
File: XmlCreator.h
|
||||
|
||||
Copyright 2009-2011 Nintendo. All rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs contain
|
||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
Company Ltd., and are protected by Federal copyright law. They may
|
||||
not be disclosed to third parties or copied or duplicated in any form,
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Rev$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef XMLCREATOR_H_
|
||||
#define XMLCREATOR_H_
|
||||
|
||||
#include <string>
|
||||
|
||||
#if defined(__ARMCC_VERSION)
|
||||
#include <nn.h>
|
||||
#else
|
||||
#include "test_common.h"
|
||||
#endif
|
||||
|
||||
|
||||
namespace ConsoleRestore
|
||||
{
|
||||
|
||||
class XmlCreator
|
||||
{
|
||||
public:
|
||||
XmlCreator();
|
||||
virtual ~XmlCreator();
|
||||
|
||||
//! @brief プリインストール情報を取得するためのXMLを構築します
|
||||
//! @param[in] deviceId デバイスID
|
||||
//! @param[in] serialNo シリアルNo.
|
||||
void Exec(bit64 deviceId, u8* serialNo);
|
||||
|
||||
//! @brief 構築したXMLデータを取得します
|
||||
std::string GetData();
|
||||
|
||||
private:
|
||||
std::string m_Xml;
|
||||
|
||||
};
|
||||
|
||||
} /* namespace ConsoleRestore */
|
||||
#endif /* XMLCREATOR_H_ */
|
||||
@ -1,72 +0,0 @@
|
||||
#!/usr/bin/env omake
|
||||
#----------------------------------------------------------------------------
|
||||
# Project: Horizon
|
||||
# File: OMakefile
|
||||
#
|
||||
# Copyright (C)2009 Nintendo Co., Ltd. All rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs contain
|
||||
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
# Company Ltd., and are protected by Federal copyright law. They may
|
||||
# not be disclosed to third parties or copied or duplicated in any form,
|
||||
# in whole or in part, without the prior written consent of Nintendo.
|
||||
#
|
||||
# $Rev$
|
||||
#----------------------------------------------------------------------------
|
||||
SUPPORTED_TARGETS = CTR-*.Process.MPCore.*
|
||||
|
||||
include $(makePlatformDefsPath tests)
|
||||
|
||||
SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include)
|
||||
INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \
|
||||
../../../common \
|
||||
../../../ConsoleRestore \
|
||||
|
||||
|
||||
|
||||
TEST_COMMON_SOURCES[] =
|
||||
../../../ConsoleRestore/Shop.cpp
|
||||
../../../ConsoleRestore/XmlCreator.cpp
|
||||
../../../ConsoleRestore/SimpleXmlPreprocessor.cpp
|
||||
../../../ConsoleRestore/BgsCommunicator.cpp
|
||||
../../../common/Util.cpp
|
||||
../../../common/HeapManager.cpp
|
||||
../../../common/SdLogger.cpp
|
||||
../../../common/LogConsole.cpp
|
||||
../../../common/CommonLogger.cpp
|
||||
../../../common/SdMountManager.cpp
|
||||
../../../common/VersionDetect.cpp
|
||||
../../../common/HardwareStateManager.cpp
|
||||
../../../common/FileTransfer.cpp
|
||||
../../../common/SdReaderWriter.cpp
|
||||
|
||||
CCFLAGS += -DCOMMON_LOGGER_DETAIL_ENABLE
|
||||
include $(ROOT)/common/BuildSwitch.om
|
||||
|
||||
SOURCES_TEST[] = test_BgsCommunicator.cpp
|
||||
|
||||
ROMFS_ROOT = ../../../common/romfiles
|
||||
|
||||
TEST_ENVIRONMENT_PROCESSLIST = true
|
||||
TEST_ENVIRONMENT_EMUMEM = true
|
||||
|
||||
LIBS += libnn_test \
|
||||
libnn_mcu \
|
||||
libnn_ps \
|
||||
libnn_am \
|
||||
lib_demo \
|
||||
libnn_nim \
|
||||
libnn_xml_simple \
|
||||
|
||||
ROM_SPEC_FILE = ../../../ConsoleRestore/ConsoleRestore.rsf
|
||||
DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/private/RepairTool.desc
|
||||
|
||||
|
||||
DEPEND_PROCESSES[] =
|
||||
test_BgsCommunicator>$(GetProcessCdiPathList http)
|
||||
|
||||
|
||||
include $(makePlatformDefsPath build.tests)
|
||||
|
||||
|
||||
tests: $(TEST_TARGETS)
|
||||
@ -1,153 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: Horizon
|
||||
File: test_BgsCommunicator.cpp
|
||||
|
||||
Copyright (C)2012 Nintendo Co., Ltd. All rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs contain
|
||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
Company Ltd., and are protected by Federal copyright law. They may
|
||||
not be disclosed to third parties or copied or duplicated in any form,
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Rev$
|
||||
*---------------------------------------------------------------------------*/
|
||||
#include <nn.h>
|
||||
#include <nn/test/test_Test.h>
|
||||
#include <nn/cfg/CTR/cfg_ApiSys.h>
|
||||
#include <nn/fs.h>
|
||||
#include <nn/fs/CTR/fs_ArchiveTypesForSystem.h>
|
||||
#include <nn/fs/CTR/MPCore/fs_FileSystemBasePrivate.h>
|
||||
#include <nn/fs/fs_ApiSysSaveData.h>
|
||||
#include <nn/am.h>
|
||||
#include <nn/cfg.h>
|
||||
#include <nn/cfg/CTR/cfg_ApiInit.h>
|
||||
|
||||
#include "demo.h"
|
||||
|
||||
#include "common_Types.h"
|
||||
#include "CommonLogger.h"
|
||||
#include "HeapManager.h"
|
||||
#include "XmlCreator.h"
|
||||
#include "BgsCommunicator.h"
|
||||
#include "SimpleXmlPreprocessor.h"
|
||||
|
||||
using namespace nn::test;
|
||||
|
||||
class BgsCommunicatorTest : public Suite {
|
||||
public:
|
||||
virtual bool InitializeSuite();
|
||||
virtual void FinalizeSuite();
|
||||
|
||||
BgsCommunicatorTest() {
|
||||
TEST_ADD(BgsCommunicatorTest::Exec);
|
||||
}
|
||||
private:
|
||||
void Exec();
|
||||
};
|
||||
|
||||
namespace
|
||||
{
|
||||
void PutString(std::string str)
|
||||
{
|
||||
if (str.size() > 254)
|
||||
{
|
||||
for (size_t pos = 0; pos < str.size(); pos += 254)
|
||||
{
|
||||
NN_LOG("%s", str.substr(pos, nn::math::Min(static_cast<unsigned int>(254), str.size() - pos)).c_str());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
NN_LOG("%s\n", str.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
const size_t s_GxHeapSize = 0x800000;
|
||||
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
// Initialize/Finalize
|
||||
//------------------------------------------------------------------
|
||||
|
||||
bool BgsCommunicatorTest::InitializeSuite()
|
||||
{
|
||||
// os の初期化
|
||||
nn::os::Initialize();
|
||||
|
||||
nn::fs::Initialize();
|
||||
|
||||
// amの初期化
|
||||
nn::am::InitializeForLocalImporter();
|
||||
|
||||
// cfgの初期化
|
||||
nn::cfg::init::Initialize();
|
||||
nn::cfg::system::Initialize();
|
||||
|
||||
// ヒープの確保
|
||||
common::InitializeHeap();
|
||||
common::HeapManager gxHeap(s_GxHeapSize);
|
||||
|
||||
// RenderSystem の準備
|
||||
uptr heapForGx = reinterpret_cast<uptr>(gxHeap.GetAddr());
|
||||
demo::RenderSystemDrawing renderSystem;
|
||||
renderSystem.Initialize(heapForGx, s_GxHeapSize);
|
||||
|
||||
// ログ描画の初期化
|
||||
common::Logger::GetLoggerInstance()->Initialize(common::CONSOLE_WIDTH, common::CONSOLE_HEIGHT,
|
||||
common::CONSOLE_MAX_LINE, &renderSystem);
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
void BgsCommunicatorTest::FinalizeSuite()
|
||||
{
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
// Test Util
|
||||
//------------------------------------------------------------------
|
||||
|
||||
|
||||
//------------------------------------------------------------------
|
||||
// Test Functions
|
||||
//------------------------------------------------------------------
|
||||
|
||||
void BgsCommunicatorTest::Exec()
|
||||
{
|
||||
NN_LOG("BgsCommunicator Exec\n");
|
||||
ConsoleRestore::BgsCommunicator comm;
|
||||
|
||||
ConsoleRestore::XmlCreator xml;
|
||||
xml.Exec(17179924184, reinterpret_cast<u8*>(const_cast<char*>("EJA20305940")));
|
||||
|
||||
comm.Execute(xml.GetData().c_str(), xml.GetData().size());
|
||||
size_t bufSize;
|
||||
comm.GetBodySize(&bufSize);
|
||||
common::HeapManager heap(bufSize + 1);
|
||||
void* buf = heap.GetAddr();
|
||||
comm.GetBody(reinterpret_cast<u8*>(buf), bufSize + 1);
|
||||
comm.Finalize();
|
||||
|
||||
// NULL終端する
|
||||
reinterpret_cast<u8*>(buf)[bufSize] = '\0';
|
||||
|
||||
// 変換前
|
||||
std::string before(reinterpret_cast<char*>(buf));
|
||||
PutString(before);
|
||||
|
||||
// simpleXMLに変換します
|
||||
ConsoleRestore::SimpleXmlPreprocessor pp;
|
||||
std::string xmlData(reinterpret_cast<char*>(buf));
|
||||
pp.Canonicalize(xmlData);
|
||||
|
||||
PutString(xmlData);
|
||||
}
|
||||
|
||||
NN_TEST_DEFINE_MAIN(BgsCommunicatorTest)
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
End of file
|
||||
*---------------------------------------------------------------------------*/
|
||||
@ -26,9 +26,6 @@ INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \
|
||||
|
||||
TEST_COMMON_SOURCES[] =
|
||||
../../../ConsoleRestore/Shop.cpp
|
||||
../../../ConsoleRestore/XmlCreator.cpp
|
||||
../../../ConsoleRestore/SimpleXmlPreprocessor.cpp
|
||||
../../../ConsoleRestore/BgsCommunicator.cpp
|
||||
../../../ConsoleRestore/PreinstallImporter.cpp
|
||||
../../../common/Util.cpp
|
||||
../../../common/HeapManager.cpp
|
||||
|
||||
@ -26,9 +26,6 @@
|
||||
#include "common_Types.h"
|
||||
#include "CommonLogger.h"
|
||||
#include "HeapManager.h"
|
||||
#include "XmlCreator.h"
|
||||
#include "BgsCommunicator.h"
|
||||
#include "SimpleXmlPreprocessor.h"
|
||||
#include "PreinstallImporter.h"
|
||||
|
||||
using namespace nn::test;
|
||||
@ -39,12 +36,10 @@ public:
|
||||
virtual void FinalizeSuite();
|
||||
|
||||
PreinstallImporterTest() {
|
||||
TEST_ADD(PreinstallImporterTest::ListUp);
|
||||
TEST_ADD(PreinstallImporterTest::SetupSd);
|
||||
TEST_ADD(PreinstallImporterTest::ListUpBasedOnTicket);
|
||||
}
|
||||
private:
|
||||
void ListUp();
|
||||
void SetupSd();
|
||||
void ListUpBasedOnTicket();
|
||||
};
|
||||
@ -99,31 +94,6 @@ void PreinstallImporterTest::FinalizeSuite()
|
||||
// Test Functions
|
||||
//------------------------------------------------------------------
|
||||
|
||||
void PreinstallImporterTest::ListUp()
|
||||
{
|
||||
ConsoleRestore::PreinstallImporter importer;
|
||||
|
||||
size_t num;
|
||||
nn::ProgramId list[256];
|
||||
nn::Result result;
|
||||
result = importer.ListTitles(list, &num, 17179924184, reinterpret_cast<u8*>(const_cast<char*>("EJA20305940")));
|
||||
|
||||
if(result == nn::MakePermanentResult(nn::Result::SUMMARY_NOT_FOUND,
|
||||
nn::Result::MODULE_APPLICATION, nn::Result::DESCRIPTION_NOT_FOUND))
|
||||
{
|
||||
NN_LOG("No PreInstalled Application found\n");
|
||||
NN_TEST_ASSERT(num == 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
NN_LOG("Preinstalled num = %d\n", num);
|
||||
for (u32 i = 0; i < num; i++)
|
||||
{
|
||||
NN_LOG("%016llx\n", list[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PreinstallImporterTest::SetupSd()
|
||||
{
|
||||
ConsoleRestore::PreinstallImporter importer;
|
||||
|
||||
@ -1,49 +0,0 @@
|
||||
#!/usr/bin/env omake
|
||||
#----------------------------------------------------------------------------
|
||||
# Project: Horizon
|
||||
# File: OMakefile
|
||||
#
|
||||
# Copyright (C)2009 Nintendo Co., Ltd. All rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs contain
|
||||
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
# Company Ltd., and are protected by Federal copyright law. They may
|
||||
# not be disclosed to third parties or copied or duplicated in any form,
|
||||
# in whole or in part, without the prior written consent of Nintendo.
|
||||
#
|
||||
# $Rev$
|
||||
#----------------------------------------------------------------------------
|
||||
SUPPORTED_TARGETS = CTR-*.Process.MPCore.*
|
||||
|
||||
include $(makePlatformDefsPath tests)
|
||||
|
||||
SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include)
|
||||
INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \
|
||||
../../../common \
|
||||
../../../ConsoleRestore \
|
||||
|
||||
|
||||
|
||||
TEST_COMMON_SOURCES[] =
|
||||
../../../ConsoleRestore/SimpleXmlPreprocessor.cpp
|
||||
|
||||
CCFLAGS += -DCOMMON_LOGGER_DETAIL_ENABLE
|
||||
include $(ROOT)/common/BuildSwitch.om
|
||||
|
||||
SOURCES_TEST[] = test_SimpleXmlParser.cpp
|
||||
|
||||
ROMFS_ROOT = ../../../common/romfiles
|
||||
|
||||
TEST_ENVIRONMENT_PROCESSLIST = true
|
||||
TEST_ENVIRONMENT_EMUMEM = true
|
||||
|
||||
LIBS += libnn_test \
|
||||
libnn_xml_simple \
|
||||
|
||||
ROM_SPEC_FILE = ../../../ConsoleRestore/ConsoleRestore.rsf
|
||||
DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/private/RepairTool.desc
|
||||
|
||||
include $(makePlatformDefsPath build.tests)
|
||||
|
||||
|
||||
tests: $(TEST_TARGETS)
|
||||
@ -1,211 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: Horizon
|
||||
File: test_SimpleXmlParser.cpp
|
||||
|
||||
Copyright (C)2011 Nintendo Co., Ltd. All rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs contain
|
||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
Company Ltd., and are protected by Federal copyright law. They may
|
||||
not be disclosed to third parties or copied or duplicated in any form,
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Rev$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#include <nn.h>
|
||||
#include <nn/test/test_Test.h>
|
||||
#include <nn/cfg/CTR/cfg_ApiSys.h>
|
||||
#include <nn/fs.h>
|
||||
#include <nn/fs/CTR/fs_ArchiveTypesForSystem.h>
|
||||
#include <nn/fs/CTR/MPCore/fs_FileSystemBasePrivate.h>
|
||||
#include <nn/fs/fs_ApiSysSaveData.h>
|
||||
#include <nn/am.h>
|
||||
#include <nn/cfg.h>
|
||||
#include <nn/cfg/CTR/cfg_ApiInit.h>
|
||||
#include <nn/xml/simple/xml_simple_SimpleXmlParser.h>
|
||||
|
||||
#include "demo.h"
|
||||
|
||||
#include "common_Types.h"
|
||||
#include "CommonLogger.h"
|
||||
#include "HeapManager.h"
|
||||
#include "XmlCreator.h"
|
||||
#include "SimpleXmlPreprocessor.h"
|
||||
|
||||
using namespace nn::test;
|
||||
|
||||
class SimpleXmlParserTest : public Suite {
|
||||
public:
|
||||
SimpleXmlParserTest() {
|
||||
TEST_ADD(SimpleXmlParserTest::Find);
|
||||
TEST_ADD(SimpleXmlParserTest::NotFound);
|
||||
}
|
||||
private:
|
||||
void Find();
|
||||
void NotFound();
|
||||
};
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
class SimpleXmlParserGetter
|
||||
{
|
||||
public:
|
||||
static const char* GetName(const nn::xml::simple::SimpleXmlParser::Node* pNode);
|
||||
static const char* GetContent(const nn::xml::simple::SimpleXmlParser::Node* pNode);
|
||||
|
||||
static const size_t BUF_SIZE = 1024;
|
||||
|
||||
private:
|
||||
static char m_Buf[BUF_SIZE];
|
||||
|
||||
};
|
||||
|
||||
const char* SimpleXmlParserGetter::GetName(const nn::xml::simple::SimpleXmlParser::Node* pNode)
|
||||
{
|
||||
if(!pNode)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
std::memset(m_Buf, 0, sizeof(m_Buf));
|
||||
std::memcpy(m_Buf, pNode->name, pNode->nameSize);
|
||||
return m_Buf;
|
||||
}
|
||||
|
||||
const char* SimpleXmlParserGetter::GetContent(const nn::xml::simple::SimpleXmlParser::Node* pNode)
|
||||
{
|
||||
if(!pNode)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
std::memset(m_Buf, 0, sizeof(m_Buf));
|
||||
std::memcpy(m_Buf, pNode->content, pNode->contentSize);
|
||||
return m_Buf;
|
||||
}
|
||||
|
||||
char SimpleXmlParserGetter::m_Buf[SimpleXmlParserGetter::BUF_SIZE];
|
||||
|
||||
nn::Result SetNodetoPreinstalledInfo(nn::xml::simple::SimpleXmlParser& parser, std::string& xmlData, const nn::xml::simple::SimpleXmlParser::Node** pNode)
|
||||
{
|
||||
parser.parse(reinterpret_cast<u8*>(const_cast<char*>(xmlData.c_str())), xmlData.size());
|
||||
|
||||
NN_TEST_ASSERT(!parser.isError());
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pRootNode = parser.getRootNode();
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pTargetNode = pRootNode->firstChild;
|
||||
// 欲しい情報がある場所まで階層を掘り下げる
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pPriorityNode = nn::xml::simple::SimpleXmlParser::FindNextNode(
|
||||
pTargetNode, "Body");
|
||||
pPriorityNode = nn::xml::simple::SimpleXmlParser::FindNextNode(pPriorityNode->firstChild,
|
||||
"GetPreInstalledInfoResponse");
|
||||
pPriorityNode = nn::xml::simple::SimpleXmlParser::FindNextNode(pPriorityNode->firstChild,
|
||||
"GetPreInstalledInfoResponse");
|
||||
*pNode = nn::xml::simple::SimpleXmlParser::FindNextNode(pPriorityNode->firstChild, "PreinstalledInfo");
|
||||
|
||||
return nn::ResultSuccess();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
// Test Functions
|
||||
//------------------------------------------------------------------
|
||||
|
||||
void SimpleXmlParserTest::Find()
|
||||
{
|
||||
const char testText[] = "\
|
||||
<Envelope>\
|
||||
<Body>\
|
||||
<GetPreInstalledInfoResponse>\
|
||||
<GetPreInstalledInfoResponse>\
|
||||
<Version></Version>\
|
||||
<MessageId></MessageId>\
|
||||
<TimeStamp>1326939225587</TimeStamp>\
|
||||
<ErrorCode>0</ErrorCode>\
|
||||
<ListResultTotalSize>1</ListResultTotalSize>\
|
||||
<PreinstalledInfo>\
|
||||
<DeviceId>17179924184</DeviceId>\
|
||||
<SerialNo>EJA20305940</SerialNo>\
|
||||
<Region>JPN</Region>\
|
||||
<ManufactureDate>1324339327000</ManufactureDate>\
|
||||
<TitleIds>000400000FEEB400,000400000FEEB000</TitleIds>\
|
||||
</PreinstalledInfo>\
|
||||
</GetPreInstalledInfoResponse>\
|
||||
</GetPreInstalledInfoResponse>\
|
||||
</Body>\
|
||||
</Envelope>\
|
||||
";
|
||||
|
||||
nn::fnd::IAllocator* pAllocator = nn::init::GetAllocator();
|
||||
nn::xml::simple::SimpleXmlParser simpleXmlParser(pAllocator);
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pPriorityNode;
|
||||
std::string xmlData(testText);
|
||||
SetNodetoPreinstalledInfo(simpleXmlParser, xmlData, &pPriorityNode);
|
||||
|
||||
{
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pTaskIdNode = nn::xml::simple::SimpleXmlParser::FindNextNode(
|
||||
pPriorityNode->firstChild, "DeviceId");
|
||||
NN_TEST_ASSERT(pTaskIdNode);
|
||||
NN_TEST_ASSERT_EQUAL(std::strcmp("DeviceId", SimpleXmlParserGetter::GetName(pTaskIdNode)), 0);
|
||||
NN_TEST_ASSERT_EQUAL(std::strcmp("17179924184", SimpleXmlParserGetter::GetContent(pTaskIdNode)), 0);
|
||||
}
|
||||
|
||||
{
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pTaskIdNode = nn::xml::simple::SimpleXmlParser::FindNextNode(
|
||||
pPriorityNode->firstChild, "SerialNo");
|
||||
NN_TEST_ASSERT(pTaskIdNode);
|
||||
NN_TEST_ASSERT_EQUAL(std::strcmp("SerialNo", SimpleXmlParserGetter::GetName(pTaskIdNode)), 0);
|
||||
NN_TEST_ASSERT_EQUAL(std::strcmp("EJA20305940", SimpleXmlParserGetter::GetContent(pTaskIdNode)), 0);
|
||||
}
|
||||
|
||||
{
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pTaskIdNode = nn::xml::simple::SimpleXmlParser::FindNextNode(
|
||||
pPriorityNode->firstChild, "TitleIds");
|
||||
NN_TEST_ASSERT(pTaskIdNode);
|
||||
NN_TEST_ASSERT_EQUAL(std::strcmp("TitleIds", SimpleXmlParserGetter::GetName(pTaskIdNode)), 0);
|
||||
NN_TEST_ASSERT_EQUAL(std::strcmp("000400000FEEB400,000400000FEEB000", SimpleXmlParserGetter::GetContent(pTaskIdNode)), 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void SimpleXmlParserTest::NotFound()
|
||||
{
|
||||
const char testText[] = \
|
||||
"<Envelope>\
|
||||
<Body>\
|
||||
<GetPreInstalledInfoResponse>\
|
||||
<GetPreInstalledInfoResponse>\
|
||||
<Version></Version>\
|
||||
<MessageId></MessageId>\
|
||||
<TimeStamp>1327551124393</TimeStamp>\
|
||||
<ErrorCode>0</ErrorCode>\
|
||||
<ListResultTotalSize>1</ListResultTotalSize>\
|
||||
<PreinstalledInfo>\
|
||||
<DeviceId>17179924184</DeviceId>\
|
||||
<SerialNo>EJA20305940</SerialNo>\
|
||||
<Region>JPN</Region>\
|
||||
<ManufactureDate>1327545997000</ManufactureDate>\
|
||||
</PreinstalledInfo>\
|
||||
</GetPreInstalledInfoResponse>\
|
||||
</GetPreInstalledInfoResponse>\
|
||||
</Body>\
|
||||
</Envelope>";
|
||||
|
||||
nn::fnd::IAllocator* pAllocator = nn::init::GetAllocator();
|
||||
nn::xml::simple::SimpleXmlParser simpleXmlParser(pAllocator);
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pPriorityNode;
|
||||
std::string xmlData(testText);
|
||||
SetNodetoPreinstalledInfo(simpleXmlParser, xmlData, &pPriorityNode);
|
||||
|
||||
{
|
||||
const nn::xml::simple::SimpleXmlParser::Node* pTaskIdNode = nn::xml::simple::SimpleXmlParser::FindNextNode(
|
||||
pPriorityNode->firstChild, "TitleIds");
|
||||
NN_TEST_ASSERT(!pTaskIdNode);
|
||||
}
|
||||
}
|
||||
|
||||
NN_TEST_DEFINE_MAIN(SimpleXmlParserTest)
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
End of file
|
||||
*---------------------------------------------------------------------------*/
|
||||
@ -27,9 +27,6 @@ INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \
|
||||
TEST_COMMON_SOURCES[] =
|
||||
../../../ConsoleRestore/TitleDownloader.cpp
|
||||
../../../ConsoleRestore/Shop.cpp
|
||||
../../../ConsoleRestore/BgsCommunicator.cpp
|
||||
../../../ConsoleRestore/SimpleXmlPreprocessor.cpp
|
||||
../../../ConsoleRestore/XmlCreator.cpp
|
||||
../../../ConsoleRestore/PreinstallImporter.cpp
|
||||
../../../common/Util.cpp
|
||||
../../../common/HeapManager.cpp
|
||||
|
||||
@ -116,7 +116,7 @@ void TitleDownloaderTest::ListUp()
|
||||
|
||||
void TitleDownloaderTest::DownloadPreinstall()
|
||||
{
|
||||
ConsoleRestore::StartPreparePreinstallTitleDownload(17179924184, reinterpret_cast<u8*>(const_cast<char*>("EJA20305940")), false);
|
||||
ConsoleRestore::StartPreparePreinstallTitleDownload(false);
|
||||
|
||||
while(!ConsoleRestore::IsDownloadTitleFinished())
|
||||
{
|
||||
|
||||
@ -1,22 +0,0 @@
|
||||
INCLUDES[] +=
|
||||
./
|
||||
../common
|
||||
../../../ConsoleRestore
|
||||
|
||||
TARGET = testSimpleXmlPreprocessor
|
||||
TEST_TARGET = SimpleXmlPreprocessor
|
||||
|
||||
SRC_FILES[] =
|
||||
testSimpleXmlPreprocessor
|
||||
SimpleXmlPreprocessor
|
||||
|
||||
# テスト独自のスタブを使用する場合に定義する
|
||||
CXXFLAGS += -DPCTEST_USE_STUB
|
||||
|
||||
# テストディレクトリ外にあるので独自ルールでビルド
|
||||
$(TEST_TARGET)$(EXT_OBJ): ../../../ConsoleRestore/$(TEST_TARGET).cpp
|
||||
$(CXX) $(CXXFLAGS) $(PREFIXED_INCLUDES) -c $<
|
||||
|
||||
.DEFAULT: $(TEST_TARGET)$(EXT_OBJ) $(TARGET)$(EXE)
|
||||
|
||||
include $(COMMON_BUILD)
|
||||
@ -1,21 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: Horizon
|
||||
File: stub.h
|
||||
|
||||
Copyright 2009-2011 Nintendo. All rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs contain
|
||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
Company Ltd., and are protected by Federal copyright law. They may
|
||||
not be disclosed to third parties or copied or duplicated in any form,
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Rev$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef STUB_H_
|
||||
#define STUB_H_
|
||||
|
||||
#define NN_LOG(...) (void)0
|
||||
|
||||
#endif /* STUB_H_ */
|
||||
@ -1,23 +0,0 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <cstring>
|
||||
|
||||
#include "SimpleXmlPreprocessor.h"
|
||||
|
||||
using namespace ConsoleRestore;
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
const char testStr[] = "<?xml version=\"1.0\" encoding=\"utf-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><soapenv:Body><GetPreInstalledInfoResponse xmlns=\"urn:bgs.wsapi.broadon.com\"><GetPreInstalledInfoResponse><Version></Version><MessageId></MessageId><TimeStamp>1326939225587</TimeStamp><ErrorCode>0</ErrorCode><ListResultTotalSize>1</ListResultTotalSize><PreinstalledInfo><DeviceId>17179924184</DeviceId><SerialNo>EJA20305940</SerialNo><Region>JPN</Region><ManufactureDate>1324339327000</ManufactureDate><TitleIds>000400000FEEB400,000400000FEEB000</TitleIds></PreinstalledInfo></GetPreInstalledInfoResponse></GetPreInstalledInfoResponse></soapenv:Body></soapenv:Envelope>";
|
||||
const char resultStr[] = "<Envelope><Body><GetPreInstalledInfoResponse><GetPreInstalledInfoResponse><Version></Version><MessageId></MessageId><TimeStamp>1326939225587</TimeStamp><ErrorCode>0</ErrorCode><ListResultTotalSize>1</ListResultTotalSize><PreinstalledInfo><DeviceId>17179924184</DeviceId><SerialNo>EJA20305940</SerialNo><Region>JPN</Region><ManufactureDate>1324339327000</ManufactureDate><TitleIds>000400000FEEB400,000400000FEEB000</TitleIds></PreinstalledInfo></GetPreInstalledInfoResponse></GetPreInstalledInfoResponse></Body></Envelope>";
|
||||
|
||||
}
|
||||
|
||||
TEST(testSimpleXmlPreprocessor, Canonicalize)
|
||||
{
|
||||
SimpleXmlPreprocessor pp;
|
||||
|
||||
std::string str(testStr);
|
||||
pp.Canonicalize(str);
|
||||
ASSERT_STREQ(resultStr, str.c_str());
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
INCLUDES[] +=
|
||||
./
|
||||
../common
|
||||
../../../ConsoleRestore
|
||||
|
||||
TARGET = testXmlCreator
|
||||
TEST_TARGET = XmlCreator
|
||||
|
||||
SRC_FILES[] =
|
||||
testXmlCreator
|
||||
XmlCreator
|
||||
|
||||
# テストディレクトリ外にあるので独自ルールでビルド
|
||||
$(TEST_TARGET)$(EXT_OBJ): ../../../ConsoleRestore/$(TEST_TARGET).cpp
|
||||
$(CXX) $(CXXFLAGS) $(PREFIXED_INCLUDES) -c $<
|
||||
|
||||
.DEFAULT: $(TEST_TARGET)$(EXT_OBJ) $(TARGET)$(EXE)
|
||||
|
||||
include $(COMMON_BUILD)
|
||||
@ -1,33 +0,0 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <cstring>
|
||||
|
||||
#include "XmlCreator.h"
|
||||
|
||||
using namespace ConsoleRestore;
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
const char testStr[] = \
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
|
||||
<SOAP-ENV:Envelope xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:ns0=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:ns1=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns2=\"urn:bgs.wsapi.broadon.com\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n\
|
||||
<SOAP-ENV:Header/>\n\
|
||||
<ns1:Body>\n\
|
||||
<ns2:GetPreInstalledInfo>\n\
|
||||
<ns2:GetPreInstalledInfo>\n\
|
||||
<ns2:Version/>\n\
|
||||
<ns2:MessageId/>\n\
|
||||
<ns2:DeviceId>17179924184</ns2:DeviceId>\n\
|
||||
<ns2:SerialNo>EJA20305940</ns2:SerialNo>\n\
|
||||
</ns2:GetPreInstalledInfo>\n\
|
||||
</ns2:GetPreInstalledInfo>\n\
|
||||
</ns1:Body>\n\
|
||||
</SOAP-ENV:Envelope>";
|
||||
}
|
||||
|
||||
TEST(testXmlCreator, Exec)
|
||||
{
|
||||
XmlCreator xml;
|
||||
xml.Exec(17179924184, reinterpret_cast<u8*>(const_cast<char*>("EJA20305940")));
|
||||
ASSERT_STREQ(testStr, xml.GetData().c_str());
|
||||
}
|
||||
Binary file not shown.
@ -1,70 +0,0 @@
|
||||
#!/usr/bin/env omake
|
||||
#----------------------------------------------------------------------------
|
||||
# Project: Horizon
|
||||
# File: OMakefile
|
||||
#
|
||||
# Copyright (C)2009 Nintendo Co., Ltd. All rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs contain
|
||||
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
# Company Ltd., and are protected by Federal copyright law. They may
|
||||
# not be disclosed to third parties or copied or duplicated in any form,
|
||||
# in whole or in part, without the prior written consent of Nintendo.
|
||||
#
|
||||
# $Rev$
|
||||
#----------------------------------------------------------------------------
|
||||
SUPPORTED_TARGETS = CTR-T*.Process.MPCore.*
|
||||
CTR_APPTYPE = BOTH
|
||||
CTR_MAKE_DEVELOPMENT_IMAGE = true
|
||||
|
||||
TARGET_PROGRAM = PreinstallListUp
|
||||
|
||||
SAMPLED_DEMOS_COMMON_INCLUDE_DIR = $(dir $(HORIZON_ROOT)/../CTR/SampleDemos/common/include)
|
||||
INCLUDES += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR) \
|
||||
../../common
|
||||
|
||||
SOURCES[] =
|
||||
main.cpp
|
||||
../../common/Util.cpp
|
||||
../../common/FileTransfer.cpp
|
||||
../../common/FileChecker.cpp
|
||||
../../common/SdReaderWriter.cpp
|
||||
../../common/HeapManager.cpp
|
||||
../../common/SdLogger.cpp
|
||||
../../common/wave.cpp
|
||||
../../common/SimplePlayer.cpp
|
||||
../../common/LogConsole.cpp
|
||||
../../common/CommonLogger.cpp
|
||||
../../common/SdMountManager.cpp
|
||||
../../common/configLoader.cpp
|
||||
../../common/VersionDetect.cpp
|
||||
../../ConsoleRestore/PreinstallImporter.cpp
|
||||
../../ConsoleRestore/SimpleXmlPreprocessor.cpp
|
||||
../../ConsoleRestore/XmlCreator.cpp
|
||||
../../ConsoleRestore/BgsCommunicator.cpp
|
||||
|
||||
|
||||
CTR_BANNER_SPEC = AutoBoot.bsf
|
||||
|
||||
ROMFS_ROOT = ../../common/romfiles
|
||||
|
||||
LIBS += libnn_cfg \
|
||||
libnn_crypto \
|
||||
libnn_mcu \
|
||||
libnn_ps \
|
||||
lib_demo \
|
||||
libnn_nwm \
|
||||
libnn_friends \
|
||||
libnn_ns \
|
||||
libnn_am \
|
||||
libnn_nim \
|
||||
libnn_xml_simple \
|
||||
|
||||
INSTALL_SDK_TOOL = true
|
||||
|
||||
ROM_SPEC_FILE = $(TARGET_PROGRAM).rsf
|
||||
DESCRIPTOR = $(HORIZON_ROOT)/resources/specfiles/private/RepairTool.desc
|
||||
|
||||
include $(ROOT_OMAKE)/modulerules
|
||||
|
||||
build: $(DEFAULT_TARGETS)
|
||||
@ -1,47 +0,0 @@
|
||||
BasicInfo:
|
||||
Title : PreinstallListUp
|
||||
ProductCode: PreinstallListUp
|
||||
BackupMemoryType: None
|
||||
|
||||
TitleInfo:
|
||||
Use: Evaluation
|
||||
Category: Application
|
||||
UniqueId: 0xf8021
|
||||
Version: 0
|
||||
|
||||
SystemControlInfo:
|
||||
AppType : Application
|
||||
StackSize : 0x4000
|
||||
Dependency :
|
||||
- codec
|
||||
- hid
|
||||
- gsp
|
||||
- friends
|
||||
- nim
|
||||
- ac
|
||||
- ndm
|
||||
|
||||
AccessControlInfo:
|
||||
Priority : 16
|
||||
DisableDebug : true
|
||||
|
||||
FileSystemAccess:
|
||||
- DirectSdmc
|
||||
- Debug
|
||||
- Core
|
||||
- CategoryFileSystemTool
|
||||
|
||||
IoAccessControl:
|
||||
- FsMountCardSpi
|
||||
- FsMountNand
|
||||
- FsMountTwln
|
||||
|
||||
Option:
|
||||
FreeProductCode: true
|
||||
|
||||
CardInfo:
|
||||
CardDevice: None
|
||||
|
||||
Rom:
|
||||
# ROM に含めるファイルシステムのルートパスを指定します。
|
||||
HostRoot: "$(ROMFS_ROOT)"
|
||||
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫фВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫ф8ф8фШчГГГГГГВ╫В╫8фВ╫В╫В╫В╫В╫ГГГГшчфГШФВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫фВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫yнВ╫yнВ╫В╫В╫В╫В╫YнВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫ГГГГШчyнYнВ╫шчшчВ╫В╫фВ╫В╫шчyнШчВ╫yнГГГГyнШФГГГГГшчВ╫В╫В╫В╫YнГyнГВ╫В╫В╫В╫В╫yнфшчГШФГYнyнВ╫В╫В╫yнВ╫╨жВ╫В╫В╫В╫В╫yнВ╫yнВ╫В╫В╫В╫В╫YнВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫yнГYнГВ╫В╫В╫В╫В╫фВ╫В╫ГyнГ8фВ╫В╫В╫В╫фВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫
|
||||
@ -1 +0,0 @@
|
||||
В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫YнВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫8фВ╫В╫8ф8фВ╫В╫В╫╨ж8ф╨жГГшчГГГГГГГГГГГГГГГГГГГГГГГВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫8ф8фВ╫В╫фВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫ГГГГГШФГГГГГГГГГГ жфГГВ╫В╫ жВ╫ГГГГГ жГГВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫8фВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫шчВ╫шчВ╫В╫В╫В╫В╫ГВ╫ШчВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫╨жВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫ГГГГГГГГГГГГГГГГГГШФ8фШчшчВ╫В╫ жВ╫YнВ╫В╫В╫В╫В╫ГГYнyнГГyнфВ╫В╫В╫В╫В╫В╫В╫В╫фВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫шчшчГшчШФВ╫В╫ГГYнГВ╫В╫В╫В╫В╫шчВ╫шчГГГГГГГГГГГГГГГГВ╫В╫YнШч жГГГГГГГГГГГГГГГГГГГГГГГГшч╨жВ╫ жВ╫шчВ╫В╫В╫В╫В╫ШФВ╫ШФВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫шчВ╫yнВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫YнВ╫ жГГГГВ╫шчВ╫шчГГГГВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫8фВ╫В╫╨жшчВ╫В╫В╫В╫В╫YнфyнГГГГГГГГГ жГГГГ╨жВ╫YнВ╫ШФYнВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫шч жВ╫В╫В╫В╫В╫В╫yнВ╫ГШФВ╫В╫фВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫ШФВ╫ГГГГГВ╫ШчВ╫YнГГШФГВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫8фВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫ГГГГ жВ╫шчВ╫ГГГшч жВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫8фВ╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫В╫
|
||||
@ -1,232 +0,0 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
Project: Horizon
|
||||
File: main.cpp
|
||||
|
||||
Copyright (C)2011 Nintendo Co., Ltd. All rights reserved.
|
||||
|
||||
These coded instructions, statements, and computer programs contain
|
||||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
Company Ltd., and are protected by Federal copyright law. They may
|
||||
not be disclosed to third parties or copied or duplicated in any form,
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Rev$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#include <nn.h>
|
||||
#include <nn/version.h>
|
||||
#include <nn/ptm/CTR/ptm_ApiSysmenu.h>
|
||||
#include <nn/mcu.h>
|
||||
#include <nn/cfg/CTR/cfg_Api.h>
|
||||
#include <nn/cfg/CTR/cfg_ApiInit.h>
|
||||
#include <nn/cfg/CTR/cfg_ApiSys.h>
|
||||
#include <nn/ps.h>
|
||||
#include <nn/nwm.h>
|
||||
#include <nn/ac.h>
|
||||
#include <nn/friends.h>
|
||||
#include <nn/friends/CTR/friends_ApiPrivate.h>
|
||||
#include <nn/fs/CTR/fs_ArchiveTypesForSystem.h>
|
||||
#include <nn/fs/CTR/MPCore/fs_FileSystemBasePrivate.h>
|
||||
#include <nn/fs/fs_ApiSysSaveData.h>
|
||||
#include <nn/cfg/CTR/cfg_ApiNor.h>
|
||||
#include <nn/os/os_SharedInfo.h>
|
||||
#include <nn/pl/CTR/pl_Version.h>
|
||||
#include <nn/fs/fs_ApiSharedExtSaveData.h>
|
||||
#include <nn/nim.h>
|
||||
#include <nn/ndm.h>
|
||||
#include <nn/am/am_ApiSystemMenu.h>
|
||||
#include <nn/am.h>
|
||||
|
||||
#include "Aes_define.h"
|
||||
#include "FileTransfer.h"
|
||||
#include "CommonLogger.h"
|
||||
|
||||
#include "demo.h"
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
#include "DrawSystemState.h"
|
||||
#include "FileName.h"
|
||||
#include "SimplePlayer.h"
|
||||
#include "CommonLogger.h"
|
||||
#include "SDMountManager.h"
|
||||
#include "HeapManager.h"
|
||||
#include "common_Types.h"
|
||||
#include "VersionDetect.h"
|
||||
#include "Util.h"
|
||||
#include "CommonLogger.h"
|
||||
#include "SdReaderWriter.h"
|
||||
#include "../ConsoleRestore/PreinstallImporter.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
// グラフィックスに割り当てるメモリ
|
||||
const size_t s_GxHeapSize = 0x800000;
|
||||
|
||||
const u32 CONSOLE_WIDTH = 38;
|
||||
const u32 CONSOLE_HEIGHT = 24;
|
||||
const u32 CONSOLE_MAX_LINE = 1000;
|
||||
|
||||
const size_t THREAD_STACK_SIZE = 0x2000;
|
||||
nn::os::Thread s_Thread;
|
||||
nn::os::StackBuffer<THREAD_STACK_SIZE> s_ThreadStack;
|
||||
demo::RenderSystemDrawing s_RenderSystem;
|
||||
|
||||
}
|
||||
|
||||
namespace PreinstallListUp
|
||||
{
|
||||
|
||||
void ThreadFunc()
|
||||
{
|
||||
COMMON_LOGGER("GetPreinstalledInfo\n");
|
||||
nn::Result result;
|
||||
|
||||
// シリアルナンバーの取得
|
||||
u8 serialNo[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN];
|
||||
std::memset(serialNo, '\0',
|
||||
nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN);
|
||||
result = nn::cfg::CTR::system::GetSerialNo(serialNo);
|
||||
COMMON_LOGGER_RETURN_VOID_IF_FAILED(result);
|
||||
|
||||
// デバイスIDの取得
|
||||
bit32 deviceId;
|
||||
result = nn::ps::CTR::GetDeviceId(&deviceId);
|
||||
COMMON_LOGGER_RETURN_VOID_IF_FAILED(result);
|
||||
const bit64 infraDeviceId = deviceId + common::INFRA_DEVICE_ID_OFFSET;
|
||||
|
||||
ConsoleRestore::PreinstallImporter importer;
|
||||
|
||||
size_t num;
|
||||
nn::ProgramId list[256];
|
||||
result = importer.ListTitles(list, &num, infraDeviceId, serialNo);
|
||||
if(result == nn::MakePermanentResult(nn::Result::SUMMARY_NOT_FOUND,
|
||||
nn::Result::MODULE_APPLICATION, nn::Result::DESCRIPTION_NOT_FOUND))
|
||||
{
|
||||
COMMON_LOGGER("No PreInstalled Application found\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
COMMON_LOGGER("Preinstalled num = %d\n", num);
|
||||
for (u32 i = 0; i < num; i++)
|
||||
{
|
||||
COMMON_LOGGER("%016llx\n", list[i]);
|
||||
}
|
||||
}
|
||||
COMMON_LOGGER_RETURN_VOID_IF_FAILED(result);
|
||||
}
|
||||
|
||||
void FinalizeAll()
|
||||
{
|
||||
common::Logger::GetLoggerInstance()->Finalize();
|
||||
// アンマウント
|
||||
nn::fs::Unmount("nand:");
|
||||
nn::fs::Unmount("sdmc:");
|
||||
s_RenderSystem.Finalize();
|
||||
|
||||
nn::ps::Finalize();
|
||||
nn::cfg::CTR::system::Finalize();
|
||||
nn::cfg::CTR::init::Finalize();
|
||||
nn::hid::Finalize();
|
||||
nn::fs::Finalize();
|
||||
|
||||
nn::applet::PrepareToCloseApplication();
|
||||
nn::applet::CloseApplication();
|
||||
}
|
||||
|
||||
extern "C" void nninitSetupDaemons(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
extern "C" void nnMain(void)
|
||||
{
|
||||
nn::Result result;
|
||||
|
||||
// os の初期化
|
||||
nn::os::Initialize();
|
||||
|
||||
// fs の初期化
|
||||
nn::fs::Initialize();
|
||||
|
||||
// appletの初期化
|
||||
nn::applet::Enable( false );
|
||||
|
||||
// cfgの初期化
|
||||
nn::cfg::CTR::init::Initialize();
|
||||
nn::cfg::CTR::system::Initialize();
|
||||
|
||||
// hid の初期化
|
||||
result = nn::hid::Initialize();
|
||||
NN_ERR_THROW_FATAL_IF_FATAL_ONLY(result);
|
||||
|
||||
// ps の初期化
|
||||
nn::ps::Initialize();
|
||||
|
||||
// ヒープの確保
|
||||
common::InitializeHeap();
|
||||
|
||||
// RenderSystem の準備
|
||||
common::HeapManager gxHeap(s_GxHeapSize);
|
||||
uptr heapForGx = reinterpret_cast<uptr>(gxHeap.GetAddr());
|
||||
s_RenderSystem.Initialize(heapForGx, s_GxHeapSize);
|
||||
|
||||
// ログ描画の初期化
|
||||
common::Logger::GetLoggerInstance()->Initialize(CONSOLE_WIDTH, CONSOLE_HEIGHT, CONSOLE_MAX_LINE, &s_RenderSystem);
|
||||
|
||||
// RenderSystemを作ってからログが出せる
|
||||
common::Logger::InitializeEjectThread();
|
||||
|
||||
s_Thread.Start(ThreadFunc, s_ThreadStack);
|
||||
|
||||
// ボタン入力
|
||||
nn::hid::PadReader s_PadReader;
|
||||
nn::hid::PadStatus padStatus;
|
||||
|
||||
for(;;)
|
||||
{
|
||||
s_PadReader.ReadLatest(&padStatus);
|
||||
|
||||
// コンソールスクロール
|
||||
if(padStatus.hold & nn::hid::BUTTON_UP)
|
||||
{
|
||||
common::Logger::GetLoggerInstance()->ScrollUp();
|
||||
}
|
||||
|
||||
// コンソールスクロール
|
||||
if(padStatus.hold & nn::hid::BUTTON_DOWN)
|
||||
{
|
||||
common::Logger::GetLoggerInstance()->ScrollDown();
|
||||
}
|
||||
|
||||
if(padStatus.hold & nn::hid::BUTTON_LEFT)
|
||||
{
|
||||
common::Logger::GetLoggerInstance()->ScrollToBegin();
|
||||
}
|
||||
|
||||
if(padStatus.hold & nn::hid::BUTTON_RIGHT)
|
||||
{
|
||||
common::Logger::GetLoggerInstance()->ScrollToEnd();
|
||||
}
|
||||
|
||||
s_RenderSystem.SetRenderTarget(NN_GX_DISPLAY0);
|
||||
s_RenderSystem.Clear();
|
||||
s_RenderSystem.SetColor(1.f, 1.f, 1.f);
|
||||
|
||||
common::Logger::GetLoggerInstance()->DrawConsole();
|
||||
s_RenderSystem.SwapBuffers();
|
||||
|
||||
s_RenderSystem.WaitVsync(NN_GX_DISPLAY_BOTH);
|
||||
|
||||
// 電源長押しで終了
|
||||
if ( nn::applet::IsExpectedToCloseApplication())
|
||||
{
|
||||
FinalizeAll();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user