62 lines
1.9 KiB
C++
62 lines
1.9 KiB
C++
/*****************************************************************************
|
|
* checkbrute Checksum Bruteforcing Tool
|
|
* Copyright (C) 2020 Syping
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without modification,
|
|
* are permitted provided that the following conditions are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright notice,
|
|
* this list of conditions and the following disclaimer.
|
|
*
|
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
* this list of conditions and the following disclaimer in the documentation
|
|
* and/or other materials provided with the distribution.
|
|
*
|
|
* This software is provided as-is, no warranties are given to you, we are not
|
|
* responsible for anything with use of the software, you are self responsible.
|
|
*****************************************************************************/
|
|
|
|
#ifndef MAINTHREAD_H
|
|
#define MAINTHREAD_H
|
|
|
|
// Qt includes
|
|
#include <QEventLoop>
|
|
#include <QObject>
|
|
|
|
// checkbrute includes
|
|
#include "brutethread.h"
|
|
#include "checksum.h"
|
|
|
|
class mainthread : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit mainthread(const QString &bruteforceFile, const QString &checksumsFile, const QString &algorithms, const QString &start, const QString &stop, const QString &lenghts, const QString &threads, bool strictHash, const std::map<std::string,checksum*> &checksum_map);
|
|
bool isInitialised();
|
|
void run();
|
|
|
|
public slots:
|
|
void threadFinished();
|
|
void matched();
|
|
|
|
private:
|
|
std::map<std::string,checksum*> checksum_map;
|
|
QVector<checksum*> checksum_vector;
|
|
QVector<QByteArray> checksums;
|
|
QVector<brutelength> lengths;
|
|
QByteArray fileContent;
|
|
QEventLoop eventLoop;
|
|
bool doneThreads;
|
|
bool initialised;
|
|
bool strictHash;
|
|
quint8 mthreads;
|
|
quint8 threads;
|
|
quint64 found;
|
|
quint64 begin;
|
|
quint64 end;
|
|
|
|
signals:
|
|
void finished();
|
|
};
|
|
|
|
#endif // MAINTHREAD_H
|