00001 #pragma once 00002 00003 class CVobDec 00004 { 00005 int m_lfsr0, m_lfsr1; 00006 00007 void ClockLfsr0Forward(int& lfsr0); 00008 void ClockLfsr1Forward(int& lfsr1); 00009 void ClockBackward(int& lfsr0, int& lfsr1); 00010 void Salt(const BYTE salt[5], int& lfsr0, int& lfsr1); 00011 int FindLfsr(const BYTE* crypt, int offset, const BYTE* plain); 00012 00013 public: 00014 CVobDec(); 00015 virtual ~CVobDec(); 00016 00017 bool m_fFoundKey; 00018 00019 bool FindKey(BYTE* buff); 00020 void Decrypt(BYTE* buff); 00021 };