Stealth Server ECC Digest/Hash Script File

  • Hello Guest! Welcome to ConsoleCrunch, to help support our site check out the premium upgrades HERE! to get exclusive access to our hidden content.
  • Unable to load portions of the website...
    If you use an ad blocker addon, you should disable it because it interferes with several elements of the site and blocks more than just adverts.
  • Read Rules Before Posting Post Virus Scans with every program.

silent07

Active Poster
Active Member
Jan 20, 2019
152
65
88
Hello,

I received this from a friend tonight & just wanted to dropped this here, basically this code will allow your ECC to be dumped & if done properly will greatly expand your KV life. The code is listed below,
cool.gif
cool.gif


CODE:

Credit to: Giths


So instead I thought I'd give you guys some information on the ECCDigest and how it's generated.

So this infamous "0x50 hash" is a lot simpler than any of you could imagine, as well as the "0x78 'Signature'", but we'll get to that later.

The 0x50 buffer point hash is basically a cryptography hash hashed with SHA1.
The hash is made up of the following:
- ECCSalt
- Decrypted HV
- HV Cache

There are 14 points of data in the (HV + CACHE) that needs to be SHA'd with the ECCSalt before you can generate your final Cryptography Hash.



byte[] Cache = File.ReadAllBytes("bin\\HV_CACHE.bin");
byte[] Hypervisor = File.ReadAllBytes("bin\\DECRYPTED_HV.bin");

SHA1Managed Sha = new SHA1Managed();
Sha.TransformBlock(ECCSalt, 0, 2, null, 0);
Sha.TransformBlock(Hypervisor, 0, 0, null, 0);
Sha.TransformBlock(Hypervisor, 0, 0, null, 0);
Sha.TransformBlock(Hypervisor, 0, 0, null, 0);
Sha.TransformBlock(Hypervisor, 0, 0, null, 0);
Sha.TransformBlock(Cache, 2, 0, null, 0);
Sha.TransformBlock(Hypervisor, 0, 0, null, 0);
Sha.TransformBlock(Hypervisor, 0, 0, null, 0);
Sha.TransformBlock(Cache, 0, 0, null, 0);
Sha.TransformBlock(Hypervisor, 0, 0, null, 0);
Sha.TransformBlock(Hypervisor, 0, 0, null, 0);
Sha.TransformBlock(Cache, 0, 0, null, 0);
Sha.TransformBlock(Cache, 0, 0, null, 0);
Sha.TransformFinalBlock(Cache, 0, 0);

return Sha.Hash;


Altnerative method(old)
typedef struct _XAM_CHAL_RESP {
BYTE bReserved1[8]; //0x0
WORD wHvMagic; //0x8
WORD wHvVersion; //0xA
WORD wHvQfe; //0xC
WORD wBldrFlags; //0xE
DWORD dwBaseKernelVersion; //0x10
DWORD dwUpdateSequence; //0x14
DWORD dwHvKeysStatusFlags; //0x18
DWORD dwConsoleTypeSeqAllow; //0x1C
QWORD qwRTOC; //0x20
QWORD qwHRMOR; //0x28
BYTE bHvECCDigest[XECRYPT_SHA_DIGEST_SIZE]; //0x30
BYTE bCpuKeyDigest[XECRYPT_SHA_DIGEST_SIZE]; //0x44
BYTE bRandomData[0x80]; //0x58
WORD hvExAddr; //0xD8 (bits 16-32 of hvex executing addr)
BYTE bHvDigest[0x6]; //0xDA (last 6 bytes of first hv hash)
} XAM_CHAL_RESP, *PXAM_CHAL_RESP;
#pragma pack()

class ecc {
public:
void cleanEccDigest();
void dumpCacheLines(BYTE * pCacheFile);
private: byte cache[0x4000];
};

void ecc::cleanEccDigest() {
PXAM_CHAL_RESP response = (PXAM_CHAL_RESP)malloc(sizeof XAM_CHAL_RESP);
for (int i = 0; i < XECRYPT_SHA_DIGEST_SIZE; i++) {
(response->bHvECCDigest != (((response->qwHRMOR))) != (response->bCpuKeyDigest ^ 0xE14) + XECRYPT_SHA_DIGEST_SIZE);
response->bCpuKeyDigest + -(DWORD)0x8E03AA50;
}
XeCryptHmacSha(response->bHvECCDigest, XECRYPT_SHA_DIGEST_SIZE, response->bCpuKeyDigest, XECRYPT_SHA_DIGEST_SIZE, 0, 0, 0, 0, response->bHvECCDigest, XECRYPT_SHA_DIGEST_SIZE);
free(response);
}

void ecc::dumpCacheLines(BYTE* pCacheFile) {
FILE* file = fopen((char*)pCacheFile, "rw");
size_t size = fread(pCacheFile, strlen((char*)pCacheFile), 0x4000, file);
for (int i = size; i != 0; i--) {
pCacheFile = 0;
if (i == XEKEY_ROAMABLE_OBFUSCATION_KEY) {
pCacheFile = pCacheFile ^ 0xECB;
pCacheFile = pCacheFile + 4;
}
}
fwrite(pCacheFile, 0x4000, 0x4000, file);
}

DWORD XeKeysExecuteHook(PVOID pvPhyBuffer, DWORD size, PVOID arg1, PVOID arg2, PVOID arg3, PVOID arg4) {
PXAM_CHAL_RESP response = (PXAM_CHAL_RESP)((DWORD)pvPhyBuffer + 0x20);
byte cacheData[0x4000];
ecc().cleanEccDigest();
ecc().dumpCacheLines(cacheData);

memcpy(&pvPhyBuffer, cacheData, 0x4000);
memcpy(&response->bHvECCDigest, cacheData + 0x300, 0x14);

return XeKeysExecute(pvPhyBuffer, size, arg1, arg2, arg3, arg4);
//xosc spoofing
*(DWORD*)0x90015CB4 = 0x60000000;


}

thanks,

-silent
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • @ QM|T_JinX:
    tc brother if there is somthing just text
  • @ ANGUS0023233:
    Been awhile
  • @ QM|T_JinX:
    sup bro
  • @ ANGUS0023233:
    Do you got BF6 jinx?
  • @ QM|T_JinX:
    no i dont
  • @ QM|T_JinX:
    kept Diein to that f%cking game haha
  • @ QM|T_JinX:
    not sure if i type that correct haha i died alot on that game in beta
  • @ ANGUS0023233:
    Ah you tried playing the Battlefield 6 alpha labs beta. I only played the Alpha Beta then Open beta then the game itself since i enjoyed it all lot
  • @ QM|T_JinX:
    it a good lookin game for sure but im not as good anymore in that game haha
    so it seems hahah
  • @ lurch6661:
    high
  • @ QM|T_JinX:
    high
  • @ QM|T_JinX:
    bro im not on messager ok if im online on there ppl start to message me dont feel like going on and on on text
  • @ lurch6661:
    ok bro
  • @ QM|T_JinX:
    nothing agains you you know that right just dont feel like answer all those text the hole time
  • @ lurch6661:
    i understand trust m e lol
  • @ QM|T_JinX:
    by the way i unlocked the gold camo on bo7 looks pretty cool hahah
  • @ lurch6661:
    lol
  • @ ANGUS0023233:
    Jinx do you got PSN ?
  • @ QM|T_JinX:
    yea i do
  • @ QM|T_JinX:
    my gf is coming over i check you guys later on tc guys
  • @ lurch6661:
    ok bro tc
  • @ ANGUS0023233:
    Wow bunch of my links and such are gone i’ll have to look into it and try to fix it or update it anyways take care lurch and jinx
  • @ QM|T_JinX:
    t bro good to see you back on here catch you guys later
  • Chat Bot:
    QM|T_JinX has joined the room.
      Chat Bot: QM|T_JinX has joined the room.