@@ -2,7 +2,6 @@
|
|||||||
#include "linden_common.h"
|
#include "linden_common.h"
|
||||||
#include "llimagemetadatareader.h"
|
#include "llimagemetadatareader.h"
|
||||||
#include "aes.h"
|
#include "aes.h"
|
||||||
#include "llerror.h"
|
|
||||||
const unsigned long EMKDU_AES_KEY[] = {0x7810001, 0x0FEB67863, 0x12B03F6E, 0x0C16665CC, 0x0C1AC9681, 0x0F70B663B};
|
const unsigned long EMKDU_AES_KEY[] = {0x7810001, 0x0FEB67863, 0x12B03F6E, 0x0C16665CC, 0x0C1AC9681, 0x0F70B663B};
|
||||||
//const unsigned char EMKDU_AES_KEY[] = {0x01,0x00,0x81,0x07,0x63,0x78,0xB6,0xFE,0x6E,0x3F,0xB0,0x12,0xCC,0x65,0x66,0xC1,
|
//const unsigned char EMKDU_AES_KEY[] = {0x01,0x00,0x81,0x07,0x63,0x78,0xB6,0xFE,0x6E,0x3F,0xB0,0x12,0xCC,0x65,0x66,0xC1,
|
||||||
//0x81,0x96,0xAC,0xC1,0x3B,0x66,0x0B,0xF7};
|
//0x81,0x96,0xAC,0xC1,0x3B,0x66,0x0B,0xF7};
|
||||||
@@ -123,33 +122,20 @@ std::string LLImageMetaDataReader::ExtractEncodedComment(U8* data,int data_size)
|
|||||||
{
|
{
|
||||||
//this is terrible i know
|
//this is terrible i know
|
||||||
std::vector<U8> dataout(128);
|
std::vector<U8> dataout(128);
|
||||||
CRijndael aes;
|
AES aes;
|
||||||
try
|
aes.SetParameters(192);
|
||||||
{
|
aes.StartDecryption(reinterpret_cast<const unsigned char*>(EMKDU_AES_KEY));
|
||||||
aes.MakeKey(reinterpret_cast<const char*>(EMKDU_AES_KEY),"", 24, 16);
|
aes.Decrypt(&(payload[0]),&(dataout[0]),16);
|
||||||
} catch(std::string error)
|
|
||||||
{
|
|
||||||
llinfos << error << llendl;
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
aes.Decrypt((char*)&(payload[0]), (char*)&(dataout[0]), 16, CRijndael::ECB);
|
|
||||||
} catch(std::string error)
|
|
||||||
{
|
|
||||||
llinfos << error << llendl;
|
|
||||||
}
|
|
||||||
//payload.clear();
|
//payload.clear();
|
||||||
//memcpy(&(payload[0]),&(dataout[0]),dataout.size());
|
//memcpy(&(payload[0]),&(dataout[0]),dataout.size());
|
||||||
for (i = 0 ; i < 128; ++i)
|
for (i = 0 ; i < 128; ++i)
|
||||||
{
|
{
|
||||||
if (dataout[i] == '\0') break;
|
if (dataout[i] == 0) break;
|
||||||
}
|
}
|
||||||
if(i == 0) continue;
|
if(i == 0) continue;
|
||||||
if(result.length() > 0)
|
if(result.length() > 0)
|
||||||
result.append(" ");
|
result.append(" ");
|
||||||
|
result.assign(dataout.begin(),dataout.begin()+i);
|
||||||
result = "(AES) ";
|
|
||||||
result.append(dataout.begin(),dataout.begin()+i);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -160,8 +146,6 @@ std::string LLImageMetaDataReader::ExtractEncodedComment(U8* data,int data_size)
|
|||||||
if(i < 4) continue;
|
if(i < 4) continue;
|
||||||
if(result.length() > 0)
|
if(result.length() > 0)
|
||||||
result.append(" ");
|
result.append(" ");
|
||||||
|
|
||||||
result = "(XOR) ";
|
|
||||||
result.append(payload.begin()+4,payload.begin()+i);
|
result.append(payload.begin()+4,payload.begin()+i);
|
||||||
}
|
}
|
||||||
//llinfos << "FOUND COMMENT: " << result << llendl;
|
//llinfos << "FOUND COMMENT: " << result << llendl;
|
||||||
|
|||||||
Reference in New Issue
Block a user