μ΄ ν¬μ€ν
μ μΏ ν‘ ννΈλμ€ νλμ μΌνμΌλ‘, μ΄μ λ°λ₯Έ μΌμ μ‘μ μμλ£λ₯Ό μ 곡λ°μ μ μμ΅λλ€.
//βββββ λμ Έμ€νμΌ νλνλλ²κΈ΄λ€μ λμ½λ©μν¨λ€μ νλ©΄μΌλ‘ 볡μ¬μν€κΈ°ββββ //ββ λμ Έμ€ μ½μ΄μ μ΄λ―Έμ§ ν΄λμ€ λμ ν λΉ ββ// //ββ μ΄κ²μ 32λΉνΈμμ λλ μκ³ μμ§ μλλ? ////ββ 16λΉνΈλ‘ λ§λλκ² μμ μ΄λ―λ‘ λ§λ€λλ‘ νμ¬λΌ. m_Image = new CImages[IMG_END]; HANDLE hFile; BYTE byNameSize; char szAlxName[128]; DWORD dwFileSize; DWORD dwRead; BYTE* pData; int i; //μ’ νμΌμ μ½κΈ°λͺ¨λλ‘ νΈλ€μ‘μ hFile = CreateFile("jot.dgs", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); //pData νμΌνλμ©νλμ© κΉμ νλ©΄μΌλ‘ 볡μ¬μμΌμ£Όλ Loadν¨μμ νμ¬μμΌλ²λ¦°λ€. for(i = 0; i < IMG_END; i++) { //μ΄λ¦μ΄ νμνμ§λ μμ§λ§ μκΈ°λλ¬Έμ νμμ μΌλ‘ μ½μ΄μ€λ€ //μλ μ€ : 건λλ°κ³ μ½μ΄μ€λ λκ² μ§λ§ κ·Έλ₯ μ½μΌλ©΄ ν¬μΈν°κ° μ΄λνλκΉ // μ΄κ² νΈν΄μ μ΄λ κ² νλ κ±°κ² μ§ ???? ReadFile(hFile, &byNameSize, 1, &dwRead, NULL); memset(szAlxName, 0, 128); ReadFile(hFile, szAlxName, byNameSize, &dwRead, NULL); //ββνμΌ νλ~~νλ~~~λ₯Ό νλ©΄ νλ~~νλμλ€κ° 볡μ¬μν€κΈ° //νμΌμ¬μ΄μ¦μ λ°μ΄νλ₯Ό μ½λλ€ //ALEX : μ΄λΆλΆμ΄ μ€μνλ€. μ€μ λ‘ Data λ₯Ό μ½μ΄λλ¦°λ€μ // νλ©΄μλ€κ° 볡μ¬μν€κΈ° μν΄ Loadν¨μλ₯Ό λΆλ¬λλ¦°λ€. ReadFile(hFile, &dwFileSize, 4, &dwRead, NULL); pData = new BYTE[dwFileSize]; ReadFile(hFile, pData, dwFileSize, &dwRead, NULL); //μνΈνλμ΄μμΌλ λμ½λ©νκ³ Decode(pData, dwFileSize); //볡μ¬λ리μ!!!μΊ¬μΊ¬ if(m_Image[i].Load(m_lpDD, pData, nBit, nMemOff) == false) return false; delete [] pData ; } CloseHandle(hFile); //ββ μΉ΄μ΄ν° ν΄λμ€ λμ ν λΉ ββ// m_Count = new CCount; m_Count->SetUp(); if(SetClip() == false) return false; return true; } //βββββββββββββββββββββββββββββββββββββββ // βββ 08-02-15, 볡νΈν νλ€ seth. βββ //βββββββββββββββββββββββββββββββββββββββ void CMainGame::Decode(BYTE* pAlxData, int dwFileSize) { BYTE* pData; BYTE byPassWord[3]; int i; pData = new BYTE[dwFileSize - 3]; memset(pData, 0, dwFileSize - 3); byPassWord[0] = pAlxData[1]; byPassWord[1] = pAlxData[3]; byPassWord[2] = pAlxData[6]; for(i = 0; i < dwFileSize; i++) { pAlxData[i] = pAlxData[i] ^ byPassWord[0]; pAlxData[i] = pAlxData[i] ^ byPassWord[1]; pAlxData[i] = pAlxData[i] ^ byPassWord[2]; } //μλ μ€ ν€λμΉ΄νΌ pData[0] = pAlxData[0]; pData[1] = pAlxData[2]; pData[2] = pAlxData[4]; pData[3] = pAlxData[5]; memcpy(&pData[4], &pAlxData[7], 4); memcpy(&pData[sizeof(tagAlex)], &pAlxData[sizeof(tagAlex) + 3], dwFileSize - sizeof(tagAlex) - 3); memset(pAlxData, 0, dwFileSize); memcpy(pAlxData, pData, dwFileSize - 3); delete [] pData; }
|