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 };