]> git.sesse.net Git - freerainbowtables/blob - Client Applications/rcracki_mt/rcrackiThread.h
rcracki_mt updated to rti2
[freerainbowtables] / Client Applications / rcracki_mt / rcrackiThread.h
1 #pragma once
2 #include "ChainWalkContext.h"
3 #include "Public.h"
4 #include "HashSet.h"
5 //#include <process.h>
6 #include <pthread.h>
7
8 class rcrackiThread
9 {
10 private:
11         unsigned char* t_TargetHash;
12         int t_nPos;
13         int t_nRainbowChainLen;
14         CChainWalkContext t_cwc;
15         vector<uint64> t_vStartPosIndexE;
16         int t_ID;
17         int t_count;
18         uint64* t_pStartPosIndexE;
19         int t_nChainWalkStep;
20         bool falseAlarmChecker;
21         bool falseAlarmCheckerO;
22         vector<RainbowChain *> t_pChainsFound;
23         vector<RainbowChainO *> t_pChainsFoundO;
24         vector<int> t_nGuessedPoss;
25         unsigned char* t_pHash;
26         bool foundHash;
27         int t_nChainWalkStepDueToFalseAlarm;
28         int t_nFalseAlarm;
29         string t_Hash;
30         string t_Plain;
31         string t_Binary;
32
33 public:
34         rcrackiThread(unsigned char* TargetHash, int thread_id, int nRainbowChainLen, int thread_count, uint64* pStartPosIndexE);
35         rcrackiThread(unsigned char* pHash);
36         rcrackiThread(unsigned char* pHash, bool oldFormat);
37         rcrackiThread(void);
38         ~rcrackiThread(void);
39
40         //void SetWork(unsigned char* TargetHash, int nPos, int nRainbowChainLen);
41         //static unsigned __stdcall rcrackiThread::rcrackiThreadStaticEntryPoint(void * pThis);
42         static void * rcrackiThreadStaticEntryPointPthread(void * pThis);
43         int GetIndexCount();
44         int GetChainWalkStep();
45         uint64 GetIndex(int nPos);
46         bool FoundHash();
47         void AddAlarmCheck(RainbowChain* pChain, int nGuessedPos);
48         void AddAlarmCheckO(RainbowChainO* pChain, int nGuessedPos);
49         int GetChainWalkStepDueToFalseAlarm();
50         int GetnFalseAlarm();
51         string GetHash();
52         string GetPlain();
53         string GetBinary();
54
55 private:
56         void rcrackiThreadEntryPoint();
57         void PreCalculate();
58         void CheckAlarm();
59         void CheckAlarmO();
60 };