Merge pull request #79 from PatrickvL/master

Review results on Xc* kernel functions
This commit is contained in:
Luke Usher 2017-01-04 14:07:57 +00:00 committed by GitHub
commit 5c79105fc7
3 changed files with 306 additions and 165 deletions

View File

@ -31,12 +31,12 @@
#define AV_QUERY_AV_CAPABILITIES 6
// ******************************************************************
// * AvGetSavedDataAddress
// * 0x0001 - AvGetSavedDataAddress()
// ******************************************************************
XBSYSAPI EXPORTNUM(1) PVOID NTAPI AvGetSavedDataAddress(void);
// ******************************************************************
// * AvSendTVEncoderOption
// * 0x0002 - AvSendTVEncoderOption()
// ******************************************************************
XBSYSAPI EXPORTNUM(2) VOID NTAPI AvSendTVEncoderOption
(
@ -47,7 +47,7 @@ XBSYSAPI EXPORTNUM(2) VOID NTAPI AvSendTVEncoderOption
);
// ******************************************************************
// * AvSetDisplayMode
// * 0x0003 - AvSetDisplayMode()
// ******************************************************************
XBSYSAPI EXPORTNUM(3) ULONG NTAPI AvSetDisplayMode
(
@ -60,7 +60,7 @@ XBSYSAPI EXPORTNUM(3) ULONG NTAPI AvSetDisplayMode
);
// ******************************************************************
// * AvSetSavedDataAddress
// * 0x0004 - AvSetSavedDataAddress()
// ******************************************************************
XBSYSAPI EXPORTNUM(4) VOID NTAPI AvSetSavedDataAddress
(
@ -68,25 +68,35 @@ XBSYSAPI EXPORTNUM(4) VOID NTAPI AvSetSavedDataAddress
);
// ******************************************************************
// * FscGetCacheSize
// * 0x0023 - FscGetCacheSize()
// ******************************************************************
XBSYSAPI EXPORTNUM(35) ULONG NTAPI FscGetCacheSize();
// ******************************************************************
// * 0x0024 - FscInvalidateIdleBlocks()
// ******************************************************************
XBSYSAPI EXPORTNUM(36) VOID NTAPI FscInvalidateIdleBlocks();
// ******************************************************************
// * FscSetCacheSize
// * 0x0025 - FscSetCacheSize()
// ******************************************************************
XBSYSAPI EXPORTNUM(37) NTSTATUS NTAPI FscSetCacheSize
(
ULONG NumberOfCachePages
);
// ******************************************************************
// * 0x0058 - KdDebuggerEnabled
// ******************************************************************
XBSYSAPI EXPORTNUM(88) BOOLEAN KdDebuggerEnabled;
// ******************************************************************
// * 0x0059 - KdDebuggerNotPresent
// ******************************************************************
XBSYSAPI EXPORTNUM(89) BOOLEAN KdDebuggerNotPresent;
// ******************************************************************
// * KfRaiseIrql
// * 0x00A0 - KfRaiseIrql()
// ******************************************************************
XBSYSAPI EXPORTNUM(160) UCHAR FASTCALL KfRaiseIrql
(
@ -94,30 +104,42 @@ XBSYSAPI EXPORTNUM(160) UCHAR FASTCALL KfRaiseIrql
);
// ******************************************************************
// * KfLowerIrql
// * 0x00A1 - KfLowerIrql()
// ******************************************************************
XBSYSAPI EXPORTNUM(161) VOID FASTCALL KfLowerIrql
(
IN UCHAR NewIrql
);
// ******************************************************************
// * 0x00A2 - KiBugCheckData
// ******************************************************************
XBSYSAPI EXPORTNUM(162) ULONG_PTR KiBugCheckData[5];
// ******************************************************************
// * 0x00A3 - KiUnlockDispatcherDatabase()
// ******************************************************************
XBSYSAPI EXPORTNUM(163) VOID FASTCALL KiUnlockDispatcherDatabase
(
IN KIRQL OldIrql
);
// ******************************************************************
// * LaunchDataPage (actually a pointer)
// * 0x00A4 - LaunchDataPage (actually a pointer)
// ******************************************************************
XBSYSAPI EXPORTNUM(164) PLAUNCH_DATA_PAGE LaunchDataPage;
// ******************************************************************
// * 0x00FC - PhyGetLinkState()
// ******************************************************************
XBSYSAPI EXPORTNUM(252) NTSTATUS NTAPI PhyGetLinkState
(
IN ULONG Mode
);
// ******************************************************************
// * 0x00FD - PhyInitialize()
// ******************************************************************
XBSYSAPI EXPORTNUM(253) NTSTATUS NTAPI PhyInitialize
(
IN ULONG forceReset,
@ -125,17 +147,17 @@ XBSYSAPI EXPORTNUM(253) NTSTATUS NTAPI PhyInitialize
);
// ******************************************************************
// * XboxEEPROMKey
// * 0x0141 - XboxEEPROMKey
// ******************************************************************
XBSYSAPI EXPORTNUM(321) UCHAR XboxEEPROMKey[16];
// ******************************************************************
// * XboxHardwareInfo
// * 0x0142 - XboxHardwareInfo
// ******************************************************************
XBSYSAPI EXPORTNUM(322) XBOX_HARDWARE_INFO XboxHardwareInfo;
// ******************************************************************
// * XboxHDKey
// * 0x0143 - XboxHDKey
// ******************************************************************
XBSYSAPI EXPORTNUM(323) UCHAR XboxHDKey[16];
@ -146,16 +168,23 @@ typedef struct _XBOX_KRNL_VERSION {
USHORT Qfe;
} XBOX_KRNL_VERSION;
// ******************************************************************
// * 0x0144 - XboxKrnlVersion
// ******************************************************************
XBSYSAPI EXPORTNUM(324) XBOX_KRNL_VERSION XboxKrnlVersion;
// ******************************************************************
// * XboxSignatureKey
// * 0x0145 - XboxSignatureKey
// ******************************************************************
XBSYSAPI EXPORTNUM(325) BYTE XboxSignatureKey[16];
XBSYSAPI EXPORTNUM(326) OBJECT_STRING XeImageFileName;
// ******************************************************************
// * 0x0147 - XeLoadSection
// * 0x0146 - XeImageFileName
// ******************************************************************
XBSYSAPI EXPORTNUM(326) OBJECT_STRING XeImageFileName;
// ******************************************************************
// * 0x0147 - XeLoadSection()
// ******************************************************************
XBSYSAPI EXPORTNUM(327) NTSTATUS NTAPI XeLoadSection
(
@ -163,7 +192,7 @@ XBSYSAPI EXPORTNUM(327) NTSTATUS NTAPI XeLoadSection
);
// ******************************************************************
// * 0x0148 - XeUnloadSection
// * 0x0148 - XeUnloadSection()
// ******************************************************************
XBSYSAPI EXPORTNUM(328) NTSTATUS NTAPI XeUnloadSection
(
@ -171,34 +200,55 @@ XBSYSAPI EXPORTNUM(328) NTSTATUS NTAPI XeUnloadSection
);
// ******************************************************************
// * XcSHAInit
// * 0x014F - XcSHAInit()
// ******************************************************************
XBSYSAPI EXPORTNUM(335) VOID NTAPI XcSHAInit(UCHAR *pbSHAContext);
// ******************************************************************
// * XcSHAUpdate
// ******************************************************************
XBSYSAPI EXPORTNUM(336) VOID NTAPI XcSHAUpdate(UCHAR *pbSHAContext, UCHAR *pbInput, ULONG dwInputLength);
// ******************************************************************
// * XcSHAFinal
// ******************************************************************
XBSYSAPI EXPORTNUM(337) VOID NTAPI XcSHAFinal(UCHAR *pbSHAContext, UCHAR *pbDigest);
XBSYSAPI EXPORTNUM(338) VOID XcRC4Key
XBSYSAPI EXPORTNUM(335) VOID NTAPI XcSHAInit
(
IN PUCHAR pbKeyStruct,
IN ULONG dwKeyLength,
IN PUCHAR pbKey
IN PUCHAR pbSHAContext
);
XBSYSAPI EXPORTNUM(339) VOID XcRC4Crypt
// ******************************************************************
// * 0x0150 - XcSHAUpdate()
// ******************************************************************
XBSYSAPI EXPORTNUM(336) VOID NTAPI XcSHAUpdate
(
IN PUCHAR pbKeyStruct,
IN ULONG dwInputLength,
IN PUCHAR pbInput
IN PUCHAR pbSHAContext,
IN PUCHAR pbInput,
IN ULONG dwInputLength
);
// ******************************************************************
// * 0x0151 - XcSHAFinal()
// ******************************************************************
XBSYSAPI EXPORTNUM(337) VOID NTAPI XcSHAFinal
(
IN PUCHAR pbSHAContext,
IN PUCHAR pbDigest
);
// ******************************************************************
// * 0x0152 - XcRC4Key()
// ******************************************************************
XBSYSAPI EXPORTNUM(338) VOID NTAPI XcRC4Key
(
IN PUCHAR pbKeyStruct,
IN ULONG dwKeyLength,
IN PUCHAR pbKey
);
// ******************************************************************
// * 0x0153 - XcRC4Crypt()
// ******************************************************************
XBSYSAPI EXPORTNUM(339) VOID NTAPI XcRC4Crypt
(
IN PUCHAR pbKeyStruct,
IN ULONG dwInputLength,
IN PUCHAR pbInput
);
// ******************************************************************
// * 0x0154 - XcHMAC()
// ******************************************************************
XBSYSAPI EXPORTNUM(340) VOID NTAPI XcHMAC
(
IN PBYTE pbKeyMaterial,
@ -210,90 +260,139 @@ XBSYSAPI EXPORTNUM(340) VOID NTAPI XcHMAC
OUT PBYTE HmacData
);
XBSYSAPI EXPORTNUM(341) VOID XcPKEncPublic
// ******************************************************************
// * 0x0155 - XcPKEncPublic()
// ******************************************************************
XBSYSAPI EXPORTNUM(341) ULONG NTAPI XcPKEncPublic
(
IN PBYTE pbPubKey,
IN PBYTE pbInput,
OUT PBYTE pbOutput
IN PUCHAR pbPubKey,
IN PUCHAR pbInput,
OUT PUCHAR pbOutput
);
XBSYSAPI EXPORTNUM(342) VOID XcPKDecPrivate
// ******************************************************************
// * 0x0156 - XcPKDecPrivate()
// ******************************************************************
XBSYSAPI EXPORTNUM(342) ULONG NTAPI XcPKDecPrivate
(
IN PBYTE pbPrvKey,
IN PBYTE pbInput,
OUT PBYTE pbOutput
IN PUCHAR pbPrvKey,
IN PUCHAR pbInput,
OUT PUCHAR pbOutput
);
XBSYSAPI EXPORTNUM(343) VOID XcPKGetKeyLen
// ******************************************************************
// * 0x0157 - XcPKGetKeyLen()
// ******************************************************************
XBSYSAPI EXPORTNUM(343) ULONG NTAPI XcPKGetKeyLen
(
OUT PBYTE pbPubKey
OUT PUCHAR pbPubKey
);
XBSYSAPI EXPORTNUM(344) VOID XcVerifyPKCS1Signature
// ******************************************************************
// * 0x0158 - XcVerifyPKCS1Signature()
// ******************************************************************
XBSYSAPI EXPORTNUM(344) BOOLEAN NTAPI XcVerifyPKCS1Signature
(
IN PBYTE pbSig,
IN PBYTE pbPubKey,
IN PBYTE pbDigest
IN PUCHAR pbSig,
IN PUCHAR pbPubKey,
IN PUCHAR pbDigest
);
XBSYSAPI EXPORTNUM(345) VOID XcModExp
// ******************************************************************
// * 0x0159 - XcModExp()
// ******************************************************************
XBSYSAPI EXPORTNUM(345) ULONG NTAPI XcModExp
(
IN PULONG pA,
IN PULONG pB,
IN PULONG pC,
IN PULONG pD,
IN LPDWORD pA,
IN LPDWORD pB,
IN LPDWORD pC,
IN LPDWORD pD,
IN ULONG dwN
);
XBSYSAPI EXPORTNUM(346) VOID XcDESKeyParity
// ******************************************************************
// * 0x015A - XcDESKeyParity()
// ******************************************************************
XBSYSAPI EXPORTNUM(346) VOID NTAPI XcDESKeyParity
(
IN PBYTE pbKey,
IN PUCHAR pbKey,
IN ULONG dwKeyLength
);
XBSYSAPI EXPORTNUM(347) VOID XcKeyTable
// ******************************************************************
// * 0x015B - XcKeyTable()
// ******************************************************************
XBSYSAPI EXPORTNUM(347) VOID NTAPI XcKeyTable
(
IN ULONG dwCipher,
IN PBYTE pbKeyTable,
IN PBYTE pbKey
OUT PUCHAR pbKeyTable,
IN PUCHAR pbKey
);
XBSYSAPI EXPORTNUM(348) VOID XcBlockCrypt
// ******************************************************************
// * 0x015C - XcBlockCrypt()
// ******************************************************************
XBSYSAPI EXPORTNUM(348) VOID NTAPI XcBlockCrypt
(
IN ULONG dwCipher,
OUT PBYTE pbOutput,
IN PBYTE pbInput,
IN PBYTE pbKeyTable,
OUT PUCHAR pbOutput,
IN PUCHAR pbInput,
IN PUCHAR pbKeyTable,
IN ULONG dwOp
);
XBSYSAPI EXPORTNUM(349) VOID XcBlockCryptCBC
// ******************************************************************
// * 0x015D - XcBlockCryptCBC()
// ******************************************************************
XBSYSAPI EXPORTNUM(349) VOID NTAPI XcBlockCryptCBC
(
IN ULONG dwCipher,
IN ULONG dwInputLength,
OUT PBYTE pbOutput,
IN PBYTE pbInput,
IN PBYTE pbKeyTable,
OUT PUCHAR pbOutput,
IN PUCHAR pbInput,
IN PUCHAR pbKeyTable,
IN ULONG dwOp,
OUT PBYTE pbFeedback
IN PUCHAR pbFeedback
);
XBSYSAPI EXPORTNUM(350) VOID XcCryptService
// ******************************************************************
// * 0x015E - XcCryptService()
// ******************************************************************
XBSYSAPI EXPORTNUM(350) ULONG NTAPI XcCryptService
(
IN ULONG dwOp,
...
IN PVOID pArgs
);
XBSYSAPI EXPORTNUM(351) VOID XcUpdateCrypto
typedef PVOID PCRYPTO_VECTOR; // TODO : Expand
// ******************************************************************
// * 0x015F - XcUpdateCrypto()
// ******************************************************************
XBSYSAPI EXPORTNUM(351) VOID NTAPI XcUpdateCrypto
(
IN PVOID pNewVector,
IN PVOID pROMVector
IN PCRYPTO_VECTOR pNewVector,
OUT PCRYPTO_VECTOR pROMVector OPTIONAL
);
// ******************************************************************
// * 0x0161 - XboxLANKey
// ******************************************************************
XBSYSAPI EXPORTNUM(353) XBOX_KEY_DATA XboxLANKey;
// ******************************************************************
// * 0x0162 - XboxAlternateSignatureKeys
// ******************************************************************
XBSYSAPI EXPORTNUM(354) XBOX_KEY_DATA XboxAlternateSignatureKeys;
// ******************************************************************
// * 0x0163 - XePublicKeyData
// ******************************************************************
XBSYSAPI EXPORTNUM(355) DWORD XePublicKeyData;
// ******************************************************************
// * 0x0165 - IdexChannelObject
// ******************************************************************
XBSYSAPI EXPORTNUM(357) BYTE IdexChannelObject[0x100];
XBSYSAPI EXPORTNUM(361) VOID *xsnprintf; // prefixed with "x" to avoid xlibc collisions

View File

@ -196,6 +196,9 @@ extern thread_local std::string _logPrefix;
// Log function with one argument
#define LOG_FUNC_ONE_ARG(arg) LOG_FUNC_BEGIN LOG_FUNC_ARG(arg) LOG_FUNC_END
// Log function with one typed argument
#define LOG_FUNC_ONE_ARG_TYPE(type, arg) LOG_FUNC_BEGIN LOG_FUNC_ARG_TYPE(type, arg) LOG_FUNC_END
// Log function with one out argument
#define LOG_FUNC_ONE_ARG_OUT(arg) LOG_FUNC_BEGIN LOG_FUNC_ARG_OUT(arg) LOG_FUNC_END

View File

@ -59,10 +59,10 @@ namespace NtDll
// ******************************************************************
XBSYSAPI EXPORTNUM(335) xboxkrnl::VOID NTAPI xboxkrnl::XcSHAInit
(
UCHAR *pbSHAContext
IN PUCHAR pbSHAContext
)
{
LOG_FUNC_ONE_ARG_OUT(pbSHAContext);
LOG_FUNC_ONE_ARG_TYPE(PBYTE, pbSHAContext);
A_SHAInit((SHA_CTX*)pbSHAContext);
}
@ -72,14 +72,14 @@ XBSYSAPI EXPORTNUM(335) xboxkrnl::VOID NTAPI xboxkrnl::XcSHAInit
// ******************************************************************
XBSYSAPI EXPORTNUM(336) xboxkrnl::VOID NTAPI xboxkrnl::XcSHAUpdate
(
UCHAR *pbSHAContext,
UCHAR *pbInput,
ULONG dwInputLength
IN PUCHAR pbSHAContext,
IN PUCHAR pbInput,
IN ULONG dwInputLength
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pbSHAContext)
LOG_FUNC_ARG_OUT(pbInput)
LOG_FUNC_ARG_TYPE(PBYTE, pbSHAContext)
LOG_FUNC_ARG_TYPE(PBYTE, pbInput)
LOG_FUNC_ARG(dwInputLength)
LOG_FUNC_END;
@ -91,13 +91,13 @@ XBSYSAPI EXPORTNUM(336) xboxkrnl::VOID NTAPI xboxkrnl::XcSHAUpdate
// ******************************************************************
XBSYSAPI EXPORTNUM(337) xboxkrnl::VOID NTAPI xboxkrnl::XcSHAFinal
(
UCHAR *pbSHAContext,
UCHAR *pbDigest
IN PUCHAR pbSHAContext,
IN PUCHAR pbDigest
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pbSHAContext)
LOG_FUNC_ARG_OUT(pbDigest)
LOG_FUNC_ARG_TYPE(PBYTE, pbSHAContext)
LOG_FUNC_ARG_TYPE(PBYTE, pbDigest)
LOG_FUNC_END;
A_SHAFinal((SHA_CTX*)pbSHAContext, pbDigest);
@ -106,7 +106,7 @@ XBSYSAPI EXPORTNUM(337) xboxkrnl::VOID NTAPI xboxkrnl::XcSHAFinal
// ******************************************************************
// * 0x0152 - XcRC4Key()
// ******************************************************************
XBSYSAPI EXPORTNUM(338) xboxkrnl::VOID xboxkrnl::XcRC4Key
XBSYSAPI EXPORTNUM(338) xboxkrnl::VOID NTAPI xboxkrnl::XcRC4Key
(
IN PUCHAR pbKeyStruct,
IN ULONG dwKeyLength,
@ -114,9 +114,9 @@ XBSYSAPI EXPORTNUM(338) xboxkrnl::VOID xboxkrnl::XcRC4Key
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pbKeyStruct)
LOG_FUNC_ARG_TYPE(PBYTE, pbKeyStruct)
LOG_FUNC_ARG(dwKeyLength)
LOG_FUNC_ARG_OUT(pbKey)
LOG_FUNC_ARG_TYPE(PBYTE, pbKey)
LOG_FUNC_END;
Rc4Initialise((Rc4Context*)pbKeyStruct, pbKey, dwKeyLength, 0);
@ -125,7 +125,7 @@ XBSYSAPI EXPORTNUM(338) xboxkrnl::VOID xboxkrnl::XcRC4Key
// ******************************************************************
// * 0x0153 - XcRC4Crypt
// ******************************************************************
XBSYSAPI EXPORTNUM(339) xboxkrnl::VOID xboxkrnl::XcRC4Crypt
XBSYSAPI EXPORTNUM(339) xboxkrnl::VOID NTAPI xboxkrnl::XcRC4Crypt
(
IN PUCHAR pbKeyStruct,
IN ULONG dwInputLength,
@ -133,9 +133,9 @@ XBSYSAPI EXPORTNUM(339) xboxkrnl::VOID xboxkrnl::XcRC4Crypt
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pbKeyStruct)
LOG_FUNC_ARG_TYPE(PBYTE, pbKeyStruct)
LOG_FUNC_ARG(dwInputLength)
LOG_FUNC_ARG_OUT(pbInput)
LOG_FUNC_ARG_TYPE(PBYTE, pbInput)
LOG_FUNC_END;
Rc4Xor((Rc4Context*)pbKeyStruct, pbInput, pbInput, dwInputLength);
@ -144,7 +144,8 @@ XBSYSAPI EXPORTNUM(339) xboxkrnl::VOID xboxkrnl::XcRC4Crypt
// ******************************************************************
// * 0x0154 - XcHMAC()
// ******************************************************************
XBSYSAPI EXPORTNUM(340) xboxkrnl::VOID NTAPI xboxkrnl::XcHMAC(
XBSYSAPI EXPORTNUM(340) xboxkrnl::VOID NTAPI xboxkrnl::XcHMAC
(
IN PBYTE pbKeyMaterial,
IN ULONG cbKeyMaterial,
IN PBYTE pbData,
@ -155,11 +156,11 @@ XBSYSAPI EXPORTNUM(340) xboxkrnl::VOID NTAPI xboxkrnl::XcHMAC(
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pbKeyMaterial)
LOG_FUNC_ARG(pbKeyMaterial)
LOG_FUNC_ARG(cbKeyMaterial)
LOG_FUNC_ARG_OUT(pbData)
LOG_FUNC_ARG(pbData)
LOG_FUNC_ARG(cbData)
LOG_FUNC_ARG_OUT(pbData2)
LOG_FUNC_ARG(pbData2)
LOG_FUNC_ARG(cbData2)
LOG_FUNC_ARG_OUT(HmacData)
LOG_FUNC_END;
@ -205,101 +206,127 @@ XBSYSAPI EXPORTNUM(340) xboxkrnl::VOID NTAPI xboxkrnl::XcHMAC(
// ******************************************************************
// * 0x0155 - XcPKEncPublic()
// ******************************************************************
XBSYSAPI EXPORTNUM(341) xboxkrnl::VOID xboxkrnl::XcPKEncPublic(
IN PBYTE pbPubKey,
IN PBYTE pbInput,
OUT PBYTE pbOutput
)
XBSYSAPI EXPORTNUM(341) xboxkrnl::ULONG NTAPI xboxkrnl::XcPKEncPublic
(
IN PUCHAR pbPubKey,
IN PUCHAR pbInput,
OUT PUCHAR pbOutput
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pbPubKey)
LOG_FUNC_ARG_OUT(pbInput)
LOG_FUNC_ARG_TYPE(PBYTE, pbPubKey)
LOG_FUNC_ARG_TYPE(PBYTE, pbInput)
LOG_FUNC_ARG_OUT(pbOutput)
LOG_FUNC_END;
ULONG ret = 0;
LOG_UNIMPLEMENTED();
RETURN(ret);
}
// ******************************************************************
// * 0x0156 - XcPKDecPrivate()
// ******************************************************************
XBSYSAPI EXPORTNUM(342) xboxkrnl::VOID xboxkrnl::XcPKDecPrivate(
IN PBYTE pbPrvKey,
IN PBYTE pbInput,
OUT PBYTE pbOutput
)
XBSYSAPI EXPORTNUM(342) xboxkrnl::ULONG NTAPI xboxkrnl::XcPKDecPrivate
(
IN PUCHAR pbPrvKey,
IN PUCHAR pbInput,
OUT PUCHAR pbOutput
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pbPrvKey)
LOG_FUNC_ARG_OUT(pbInput)
LOG_FUNC_ARG_TYPE(PBYTE, pbPrvKey)
LOG_FUNC_ARG_TYPE(PBYTE, pbInput)
LOG_FUNC_ARG_OUT(pbOutput)
LOG_FUNC_END;
ULONG ret = 0;
LOG_UNIMPLEMENTED();
RETURN(ret);
}
// ******************************************************************
// * 0x0157 - XcPKGetKeyLen()
// ******************************************************************
XBSYSAPI EXPORTNUM(343) xboxkrnl::VOID xboxkrnl::XcPKGetKeyLen(
OUT PBYTE pbPubKey
)
XBSYSAPI EXPORTNUM(343) xboxkrnl::ULONG NTAPI xboxkrnl::XcPKGetKeyLen
(
OUT PUCHAR pbPubKey
)
{
LOG_FUNC_ONE_ARG(pbPubKey);
LOG_FUNC_ONE_ARG_TYPE(PBYTE, pbPubKey);
ULONG ret = 0;
LOG_UNIMPLEMENTED();
RETURN(ret);
}
// ******************************************************************
// * 0x0158 - XcVerifyPKCS1Signature()
// ******************************************************************
XBSYSAPI EXPORTNUM(344) xboxkrnl::VOID xboxkrnl::XcVerifyPKCS1Signature(
IN PBYTE pbSig,
IN PBYTE pbPubKey,
IN PBYTE pbDigest
)
XBSYSAPI EXPORTNUM(344) xboxkrnl::BOOLEAN NTAPI xboxkrnl::XcVerifyPKCS1Signature
(
IN PUCHAR pbSig,
IN PUCHAR pbPubKey,
IN PUCHAR pbDigest
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pbSig)
LOG_FUNC_ARG_OUT(pbPubKey)
LOG_FUNC_ARG_OUT(pbDigest)
LOG_FUNC_ARG_TYPE(PBYTE, pbSig)
LOG_FUNC_ARG_TYPE(PBYTE, pbPubKey)
LOG_FUNC_ARG_TYPE(PBYTE, pbDigest)
LOG_FUNC_END;
BOOLEAN ret = TRUE;
LOG_UNIMPLEMENTED();
RETURN(ret);
}
// ******************************************************************
// * 0x0159 - XcModExp()
// ******************************************************************
XBSYSAPI EXPORTNUM(345) xboxkrnl::VOID xboxkrnl::XcModExp(
IN PULONG pA,
IN PULONG pB,
IN PULONG pC,
IN PULONG pD,
XBSYSAPI EXPORTNUM(345) xboxkrnl::ULONG NTAPI xboxkrnl::XcModExp
(
IN LPDWORD pA,
IN LPDWORD pB,
IN LPDWORD pC,
IN LPDWORD pD,
IN ULONG dwN
)
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pA)
LOG_FUNC_ARG_OUT(pB)
LOG_FUNC_ARG_OUT(pC)
LOG_FUNC_ARG_OUT(pD)
LOG_FUNC_ARG(pA)
LOG_FUNC_ARG(pB)
LOG_FUNC_ARG(pC)
LOG_FUNC_ARG(pD)
LOG_FUNC_ARG(dwN)
LOG_FUNC_END;
ULONG ret = 0;
LOG_UNIMPLEMENTED();
RETURN(ret);
}
// ******************************************************************
// * 0x015A - XcDESKeyParity()
// ******************************************************************
XBSYSAPI EXPORTNUM(346) xboxkrnl::VOID xboxkrnl::XcDESKeyParity(
IN PBYTE pbKey,
XBSYSAPI EXPORTNUM(346) xboxkrnl::VOID NTAPI xboxkrnl::XcDESKeyParity
(
IN PUCHAR pbKey,
IN ULONG dwKeyLength
)
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pbKey)
LOG_FUNC_ARG_TYPE(PBYTE, pbKey)
LOG_FUNC_ARG(dwKeyLength)
LOG_FUNC_END;
@ -309,16 +336,17 @@ XBSYSAPI EXPORTNUM(346) xboxkrnl::VOID xboxkrnl::XcDESKeyParity(
// ******************************************************************
// * 0x015B - XcKeyTable()
// ******************************************************************
XBSYSAPI EXPORTNUM(347) xboxkrnl::VOID xboxkrnl::XcKeyTable(
XBSYSAPI EXPORTNUM(347) xboxkrnl::VOID NTAPI xboxkrnl::XcKeyTable
(
IN ULONG dwCipher,
IN PBYTE pbKeyTable,
IN PBYTE pbKey
)
OUT PUCHAR pbKeyTable,
IN PUCHAR pbKey
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(dwCipher)
LOG_FUNC_ARG_OUT(pbKeyTable)
LOG_FUNC_ARG_OUT(pbKey)
LOG_FUNC_ARG_TYPE(PBYTE, pbKey)
LOG_FUNC_END;
LOG_UNIMPLEMENTED();
@ -327,19 +355,20 @@ XBSYSAPI EXPORTNUM(347) xboxkrnl::VOID xboxkrnl::XcKeyTable(
// ******************************************************************
// * 0x015C - XcBlockCrypt()
// ******************************************************************
XBSYSAPI EXPORTNUM(348) xboxkrnl::VOID xboxkrnl::XcBlockCrypt(
XBSYSAPI EXPORTNUM(348) xboxkrnl::VOID NTAPI xboxkrnl::XcBlockCrypt
(
IN ULONG dwCipher,
OUT PBYTE pbOutput,
IN PBYTE pbInput,
IN PBYTE pbKeyTable,
OUT PUCHAR pbOutput,
IN PUCHAR pbInput,
IN PUCHAR pbKeyTable,
IN ULONG dwOp
)
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(dwCipher)
LOG_FUNC_ARG_OUT(pbOutput)
LOG_FUNC_ARG_OUT(pbInput)
LOG_FUNC_ARG_OUT(pbKeyTable)
LOG_FUNC_ARG_TYPE(PBYTE, pbInput)
LOG_FUNC_ARG_TYPE(PBYTE, pbKeyTable)
LOG_FUNC_ARG(dwOp)
LOG_FUNC_END;
@ -349,24 +378,25 @@ XBSYSAPI EXPORTNUM(348) xboxkrnl::VOID xboxkrnl::XcBlockCrypt(
// ******************************************************************
// * 0x015D - XcBlockCryptCBC()
// ******************************************************************
XBSYSAPI EXPORTNUM(349) xboxkrnl::VOID xboxkrnl::XcBlockCryptCBC(
XBSYSAPI EXPORTNUM(349) xboxkrnl::VOID NTAPI xboxkrnl::XcBlockCryptCBC
(
IN ULONG dwCipher,
IN ULONG dwInputLength,
OUT PBYTE pbOutput,
IN PBYTE pbInput,
IN PBYTE pbKeyTable,
OUT PUCHAR pbOutput,
IN PUCHAR pbInput,
IN PUCHAR pbKeyTable,
IN ULONG dwOp,
OUT PBYTE pbFeedback
)
IN PUCHAR pbFeedback
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(dwCipher)
LOG_FUNC_ARG(dwInputLength)
LOG_FUNC_ARG_OUT(pbOutput)
LOG_FUNC_ARG_OUT(pbInput)
LOG_FUNC_ARG_OUT(pbKeyTable)
LOG_FUNC_ARG_TYPE(PBYTE, pbInput)
LOG_FUNC_ARG_TYPE(PBYTE, pbKeyTable)
LOG_FUNC_ARG(dwOp)
LOG_FUNC_ARG_OUT(pbFeedback)
LOG_FUNC_ARG_TYPE(PBYTE, pbFeedback)
LOG_FUNC_END;
LOG_UNIMPLEMENTED();
@ -375,28 +405,37 @@ XBSYSAPI EXPORTNUM(349) xboxkrnl::VOID xboxkrnl::XcBlockCryptCBC(
// ******************************************************************
// * 0x015E - XcCryptService()
// ******************************************************************
XBSYSAPI EXPORTNUM(350) xboxkrnl::VOID xboxkrnl::XcCryptService(
XBSYSAPI EXPORTNUM(350) xboxkrnl::ULONG NTAPI xboxkrnl::XcCryptService
(
IN ULONG dwOp,
...
)
IN PVOID pArgs
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(dwOp)
LOG_FUNC_ARG(pArgs)
LOG_FUNC_END;
ULONG ret = 0;
LOG_UNIMPLEMENTED();
RETURN(ret);
}
typedef PVOID PCRYPTO_VECTOR;
// ******************************************************************
// * 0x015F - XcUpdateCrypto()
// ******************************************************************
XBSYSAPI EXPORTNUM(351) xboxkrnl::VOID xboxkrnl::XcUpdateCrypto(
IN PVOID pNewVector,
IN PVOID pROMVector
)
XBSYSAPI EXPORTNUM(351) xboxkrnl::VOID NTAPI xboxkrnl::XcUpdateCrypto
(
IN PCRYPTO_VECTOR pNewVector,
OUT PCRYPTO_VECTOR pROMVector OPTIONAL
)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG_OUT(pNewVector)
LOG_FUNC_ARG(pNewVector)
LOG_FUNC_ARG_OUT(pROMVector)
LOG_FUNC_END;