Jump to content

PsychoJr

Members
  • Posts

    78
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by PsychoJr

  1. PsychoJr

    Rap

    Mancavar cainii, ma vorbiti pe aici a ? Nu am avut cu cine sa vin in Heaven's Hell sambata .. si am plecat in unplugged la o bere, doua .. :D
  2. And u suck balls! GO WORK U LAZY ASS !
  3. Eu astept pe lazy ass asta de Setekh sa termine serveru de l2
  4. Seth, u can suck my BALLS ! Raspunde pe messenger ca te fute pula.
  5. Trance tu ti-ai dat demisia de pe l2canyon ca sa te joci wow ?=))
  6. E cineva pe aici care e in stare sa transcrie codul asta in java ? // SimpleModulus.cpp : Defines the entry point for the application. // #include "Header\StdAfx.h" #include "SimpleModules.h" DWORD CSimpleModulus::s_dwSaveLoadXOR[4]={0x3F08A79B, 0xE25CC287, 0x93D27AB9, 0x20DEA7BF}; //#pragma warning(disable : 4244) CSimpleModulus::CSimpleModulus() // Completed { this->Init(); } CSimpleModulus::~CSimpleModulus() // Completed { return; } VOID CSimpleModulus::Init() // Completed { memset(this->m_dwEncryptionKey, 0, sizeof(this->m_dwEncryptionKey)); memset(this->m_dwModulus, 0, sizeof(this->m_dwModulus)); memset(this->m_dwDecryptionKey, 0, sizeof(this->m_dwDecryptionKey)); } int CSimpleModulus::Encrypt(void * lpDest, void * lpSource, int iSize) // Emulated - Completed { int iTempSize = iSize; int iTempSize2; int iOriSize ; unsigned char * lpTempDest = (LPBYTE)lpDest; unsigned char * lpTempSource = (LPBYTE)lpSource; int iDec = ((iSize+7)/8); iSize = (iDec + iDec*4)*2 + iDec; if ( lpDest != NULL ) { iOriSize = iTempSize; for ( int i=0; i<iTempSize; i+=8,iOriSize-=8,lpTempDest+=11) { iTempSize2 = iOriSize; if ( iOriSize >= 8 ) iTempSize2 = 8; this->EncryptBlock(lpTempDest, lpTempSource+i, iTempSize2); } } return iSize; } int CSimpleModulus::Decrypt(void * lpDest, void * lpSource, int iSize) { if ( lpDest == NULL) { return iSize*8/11; } LPBYTE lpTempDest = (LPBYTE)lpDest; LPBYTE lpTempSrc = (LPBYTE)lpSource; int iResult = 0; int iDecLen = 0; if ( iSize > 0 ) { while ( iDecLen < iSize ) { int iTempResult = this->DecryptBlock(lpTempDest, lpTempSrc); if ( iResult < 0 ) { return iResult; } iResult += iTempResult; iDecLen += 11; lpTempSrc += 11; lpTempDest += 8; } } return iResult; } int CSimpleModulus::EncryptBlock(void*lpDest,void*lpSource,int iSize) { DWORD dwEncBuffer[4]; DWORD dwEncValue=0; // TempVar1 LPBYTE lpEncDest = (LPBYTE)lpDest; LPBYTE lpEncSource = (LPBYTE)lpSource; memset(lpEncDest, 0, 11); int i=0; for ( i=0;i<4;i++) { dwEncBuffer[i]=((this->m_dwXORKey[i]^((WORD*)lpEncSource)[i]^dwEncValue)*this->m_dwEncryptionKey[i])%this->m_dwModulus[i]; dwEncValue=dwEncBuffer[i]&0xFFFF; } for ( i=0;i<3;i++) { dwEncBuffer[i] = dwEncBuffer[i] ^ this->m_dwXORKey[i] ^ ( dwEncBuffer[i+1] & 0xFFFF ); } int iBitPos = 0; for ( i=0;i<4;i++) { iBitPos = this->AddBits(lpDest, iBitPos, &dwEncBuffer[i], 0, 16); iBitPos = this->AddBits(lpDest, iBitPos, &dwEncBuffer[i], 22, 2); } BYTE btCheckSum = 0xF8; for ( i=0;i<8;i++) btCheckSum ^= lpEncSource[i]; ((LPBYTE)&dwEncValue)[1] = btCheckSum ; ((LPBYTE)&dwEncValue)[0] = btCheckSum ^ iSize ^ 0x3D; return this->AddBits(lpDest, iBitPos, &dwEncValue, 0, 16); } int CSimpleModulus::DecryptBlock(void*lpDest,void*lpSource) { memset(lpDest, 0, 8); DWORD dwDecBuffer[4]= {0}; int iBitPosition = 0; LPBYTE lpDecDest = (LPBYTE)lpDest; LPBYTE lpDecSource = (LPBYTE)lpSource; int i=0; for(i=0;i<4;i++) { this->AddBits(&dwDecBuffer[i], 0, lpDecSource, iBitPosition, 16); iBitPosition += 16; this->AddBits(&dwDecBuffer[i], 22, lpDecSource, iBitPosition, 2); iBitPosition += 2; } for(i=2;i>=0;i--) { dwDecBuffer[i] = dwDecBuffer[i] ^ this->m_dwXORKey[i] ^ (dwDecBuffer[i+1]&0xFFFF); } DWORD Temp=0,Temp1; for(i=0;i<4;i++) { Temp1 = (( this->m_dwDecryptionKey[i] * (dwDecBuffer[i])) % ( this->m_dwModulus[i])) ^ this->m_dwXORKey[i]^Temp; Temp = dwDecBuffer[i]&0xFFFF; ((WORD*)lpDecDest)[i] = WORD(Temp1); } dwDecBuffer[0]=0; this->AddBits(&dwDecBuffer[0], 0, lpDecSource, iBitPosition, 16); ((LPBYTE)dwDecBuffer)[0]=((LPBYTE)dwDecBuffer)[1]^ ((LPBYTE)dwDecBuffer)[0]^0x3D; BYTE btCheckSum=0xF8; for(i=0;i<8;i++) btCheckSum ^= lpDecDest[i]; if( btCheckSum != ((LPBYTE)dwDecBuffer)[1] ) return -1; return ((LPBYTE)dwDecBuffer)[0]; } int CSimpleModulus::AddBits(void*lpDest,int iDestBitPos,void*lpSource,int iBitSourcePos,int iBitLen) // Completed Emulated { // Get Buffer Lens int iSourceBufferBitLen = iBitLen + iBitSourcePos ; int iTempBufferLen = this->GetByteOfBit(iSourceBufferBitLen-1); iTempBufferLen += 1 - this->GetByteOfBit(iBitSourcePos); // Copy the Source Buffer unsigned char * pTempBuffer = new unsigned char[iTempBufferLen+1]; memset(pTempBuffer, 0, iTempBufferLen+1); memcpy(pTempBuffer, (unsigned char *)lpSource+ this->GetByteOfBit(iBitSourcePos), iTempBufferLen); // Save the Last ibt if exist if ( (iSourceBufferBitLen%8 ) != 0 ) { pTempBuffer[iTempBufferLen - 1] &= 255 << (8 - (iSourceBufferBitLen%8)); } // Get the Values to Shift int iShiftLeft = (iBitSourcePos%8); int iShiftRight = (iDestBitPos%8); // Shift the Values to Add the right space of the desired bits this->Shift(pTempBuffer, iTempBufferLen, -iShiftLeft); this->Shift(pTempBuffer, iTempBufferLen+1, iShiftRight); // Copy the the bits of Source to the Dest int iNewTempBufferLen = (( iShiftRight <= iShiftLeft )?0:1) + iTempBufferLen; unsigned char * TempDist = (unsigned char *)lpDest + this->GetByteOfBit(iDestBitPos); for ( int i=0;i<iNewTempBufferLen;i++) { TempDist[i] |= pTempBuffer[i]; } // Delete the temp Buffer delete [] pTempBuffer; // Return the number of bits of the new Dest Buffer return iDestBitPos + iBitLen; } VOID CSimpleModulus::Shift(void*lpBuff,int iSize,int ShiftLen) // Need To be Checked { unsigned char * TempBuff = (unsigned char *)lpBuff; // Case no Shift Len if ( ShiftLen != 0 ) { // Shift Right if ( ShiftLen > 0 ) { if ( (iSize -1 ) > 0 ) { for ( int i=(iSize-1); i>0 ; i--) { TempBuff[i] = (TempBuff[i-1]<<((8 - ShiftLen))) | (TempBuff[i]>>ShiftLen ); } } TempBuff[0] >>= ShiftLen; } else // Shift Left { ShiftLen = - ShiftLen; if ( (iSize-1) > 0 ) { for ( int i=0; i<(iSize-1) ;i++) { TempBuff[i] = (TempBuff[i+1]>>((8 - ShiftLen))) | (TempBuff[i]<<ShiftLen ); } } TempBuff[iSize-1] <<= ShiftLen; } } } int CSimpleModulus::GetByteOfBit(int btByte) { return btByte >> 3; } BOOL CSimpleModulus::SaveAllKey(LPSTR lpszFileName ) { return this->SaveKey(lpszFileName, 4370, TRUE, TRUE, TRUE, TRUE); } BOOL CSimpleModulus::LoadAllKey(LPSTR lpszFileName) { return this->LoadKey(lpszFileName, 4370, TRUE, TRUE, TRUE, TRUE); } BOOL CSimpleModulus::SaveEncryptionKey(LPSTR lpszFileName) { return this->SaveKey(lpszFileName, 4370, TRUE, TRUE, FALSE, TRUE); } BOOL CSimpleModulus::LoadEncryptionKey(LPSTR lpszFileName) { return this->LoadKey(lpszFileName, 4370, TRUE, TRUE, FALSE ,TRUE); } BOOL CSimpleModulus::SaveDecryptionKey(LPSTR lpszFileName) { return this->SaveKey(lpszFileName, 4370, TRUE, FALSE, TRUE, TRUE); } BOOL CSimpleModulus::LoadDecryptionKey(LPSTR lpszFileName) { return this->LoadKey(lpszFileName, 4370, TRUE, FALSE ,TRUE ,TRUE); } BOOL CSimpleModulus::SaveKey(LPSTR lpszFileName, WORD wFileHeader, BOOL bSaveModulus, BOOL bSaveEncKey, BOOL bSaveDecKey, BOOL bSaveXORKey) { // MAde by Deathway ENCDEC_FILEHEADER HeaderBuffer; int iSize; DWORD XORTable[4]; HANDLE hFile = CreateFile(lpszFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0x80, NULL); if ( hFile == INVALID_HANDLE_VALUE ) { return FALSE; } HeaderBuffer.sFileHeader = wFileHeader; HeaderBuffer.dwSize = ( bSaveModulus + bSaveEncKey + bSaveDecKey + bSaveXORKey ) * sizeof(XORTable) + sizeof(ENCDEC_FILEHEADER); WriteFile( hFile, &HeaderBuffer, sizeof(ENCDEC_FILEHEADER), (ULONG*)&iSize, NULL); if ( bSaveModulus != FALSE ) { for ( int n = 0 ; n < 4 ; n++ ) { XORTable[n] = this->m_dwModulus[n] ^ s_dwSaveLoadXOR[n]; } WriteFile(hFile, &XORTable, sizeof(XORTable), (ULONG*)&iSize, NULL); } if ( bSaveEncKey != FALSE ) { for ( int n = 0 ; n < 4 ; n++ ) { XORTable[n] = this->m_dwEncryptionKey[n] ^ s_dwSaveLoadXOR[n]; } WriteFile(hFile, &XORTable, sizeof(XORTable), (ULONG*)&iSize, NULL); } if ( bSaveDecKey != FALSE ) { for ( int n = 0 ; n < 4 ; n++ ) { XORTable[n] = this->m_dwDecryptionKey[n] ^ s_dwSaveLoadXOR[n]; } WriteFile(hFile, &XORTable, sizeof(XORTable), (ULONG*)&iSize, NULL); } if ( bSaveXORKey != FALSE ) { for ( int n = 0 ; n < 4 ; n++ ) { XORTable[n] = this->m_dwXORKey[n] ^ s_dwSaveLoadXOR[n]; } WriteFile(hFile, &XORTable, sizeof(XORTable), (ULONG*)&iSize, NULL); } CloseHandle(hFile); return TRUE; } BOOL CSimpleModulus::LoadKey(LPSTR lpszFileName, WORD wFileHeader, BOOL bLoadModulus, BOOL bLoadEncKey, BOOL bLoadDecKey, BOOL bLoadXORKey) { ENCDEC_FILEHEADER HeaderBuffer; int iSize; DWORD XORTable[4]; HANDLE hFile = CreateFile(lpszFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0x80, NULL); if ( hFile != INVALID_HANDLE_VALUE ) { ReadFile( hFile, &HeaderBuffer, sizeof(ENCDEC_FILEHEADER), (ULONG*)&iSize, NULL); } if ( HeaderBuffer.sFileHeader == wFileHeader ) { if ( (HeaderBuffer.dwSize) == (int)((( bLoadModulus + bLoadEncKey + bLoadDecKey + bLoadXORKey )*sizeof(XORTable))+sizeof(ENCDEC_FILEHEADER)) ) { if ( bLoadModulus != FALSE ) { ReadFile(hFile, XORTable, sizeof(XORTable) , (ULONG*)&iSize, NULL); for ( int n = 0 ; n<4;n++) { this->m_dwModulus[n] = s_dwSaveLoadXOR[n] ^ XORTable[n]; } } if ( bLoadEncKey != FALSE ) { ReadFile(hFile, XORTable, sizeof(XORTable) , (ULONG*)&iSize, NULL); for ( int n = 0 ; n<4;n++) { this->m_dwEncryptionKey[n] = s_dwSaveLoadXOR[n] ^ XORTable[n]; } } if ( bLoadDecKey != FALSE ) { ReadFile(hFile, XORTable, sizeof(XORTable) , (ULONG*)&iSize, NULL); for ( int n = 0 ; n<4;n++) { this->m_dwDecryptionKey[n] = s_dwSaveLoadXOR[n] ^ XORTable[n]; } } if ( bLoadXORKey != FALSE ) { ReadFile(hFile, XORTable,sizeof(XORTable) , (ULONG*)&iSize, NULL); for ( int n = 0 ; n<4;n++) { this->m_dwXORKey[n] = s_dwSaveLoadXOR[n] ^ XORTable[n]; } } CloseHandle(hFile); return TRUE; } } else { CloseHandle(hFile); } return FALSE; }
×
×
  • Create New...