Reading Data\Etc\binary.lod
#1

Dont know if someone posted something like this, so here is how to read  binary.lod

const unsigned char key[0x32] ={
0x3B, 0x21, 0x6B, 0x2E, 0x61, 0x7A, 0x22, 0x4D, 0x41, 0x45, 0x6A, 0x68, 0x67, 0x61, 0x73, 0x62,
0x75, 0x62, 0x65, 0x31, 0x38, 0x33, 0x34, 0x30, 0x2D, 0x66, 0x5A, 0x2C, 0x3B, 0x61, 0x73, 0x41,
0x4F, 0x4A, 0x4D, 0x2E, 0x6A, 0x6F, 0x71, 0x77, 0x41, 0x73, 0x65, 0x66, 0x46, 0x73, 0x46, 0x6A,
0x64, 0x00

};

const unsigned char* Getkey(int &pKeyLen){
pKeyLen = 0x31;
return key;
}
void DecriptBinary_lod(unsigned char* output, int keylen,const unsigned char* input ,int length){
const unsigned char* key = Getkey(keylen);
if (length == 0){
return NULL;
}
int randomlen = length;
for(int i = 0; i < length; i++){
int bKey = key[(randomlen) % keylen];
int bData = input[i];
bKey = (bKey ^ bData) << 0x10;
int bResult = (length -i)& 0x80000007;
if(! bResult){
bResult--;
bResult = bResult | 0xFFFFFFF8;
bResult++;
}
bKey = bKey << (unsigned char)7 - bResult;
int reusult = bKey;
bKey = bKey >> 0x10;
reusult = reusult >> 0x18;
output[i] = (unsigned char)(reusult | bKey);
randomlen += 0x17;
}
}

Output:

5
20130611_160529
Bin\Engine.dll
4870248
Bin\EntitiesMP.dll
2162800
Bin\GameMP.dll
155752
Bin\Shaders.dll
106602
Bin\Nksp.exe
659556



Forum Jump:


Users browsing this thread: 1 Guest(s)