2017-03-29 10:18:37 +00:00
|
|
|
#ifndef OPTIONSDIALOG_H
|
|
|
|
#define OPTIONSDIALOG_H
|
|
|
|
|
|
|
|
#include <QDialog>
|
|
|
|
#include <QStringList>
|
2017-12-11 14:06:26 +00:00
|
|
|
#include <QTimer>
|
|
|
|
#include <QElapsedTimer>
|
2017-10-02 09:41:28 +00:00
|
|
|
#include <memory>
|
2018-03-04 17:42:02 +00:00
|
|
|
#include "Cutter.h"
|
2018-05-26 18:09:20 +00:00
|
|
|
#include "AnalTask.h"
|
2017-10-02 08:06:10 +00:00
|
|
|
#include "ui_OptionsDialog.h"
|
2017-03-29 10:18:37 +00:00
|
|
|
|
|
|
|
class MainWindow;
|
|
|
|
|
|
|
|
class OptionsDialog : public QDialog
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
2017-05-13 18:09:36 +00:00
|
|
|
explicit OptionsDialog(MainWindow *main);
|
2017-03-29 10:18:37 +00:00
|
|
|
~OptionsDialog();
|
2018-05-27 14:51:01 +00:00
|
|
|
|
2017-03-29 10:18:37 +00:00
|
|
|
QStringList asm_plugins;
|
|
|
|
|
2017-07-24 11:05:28 +00:00
|
|
|
void setupAndStartAnalysis(int level, QList<QString> advanced);
|
2017-04-28 13:09:40 +00:00
|
|
|
|
2017-03-29 10:18:37 +00:00
|
|
|
private slots:
|
|
|
|
void on_okButton_clicked();
|
|
|
|
void on_analSlider_valueChanged(int value);
|
|
|
|
void on_AdvOptButton_clicked();
|
2017-04-10 12:22:18 +00:00
|
|
|
void on_analCheckBox_clicked(bool checked);
|
2017-09-27 20:23:18 +00:00
|
|
|
void on_archComboBox_currentIndexChanged(int index);
|
|
|
|
void on_pdbSelectButton_clicked();
|
2018-04-30 06:39:48 +00:00
|
|
|
void on_scriptSelectButton_clicked();
|
2017-09-27 20:23:18 +00:00
|
|
|
|
|
|
|
void updatePDBLayout();
|
2018-04-30 06:39:48 +00:00
|
|
|
void updateScriptLayout();
|
2017-04-10 12:22:18 +00:00
|
|
|
|
2018-03-09 12:57:57 +00:00
|
|
|
protected:
|
2018-03-21 20:32:32 +00:00
|
|
|
void closeEvent(QCloseEvent *event) override;
|
2018-03-09 12:57:57 +00:00
|
|
|
|
2017-03-29 10:18:37 +00:00
|
|
|
private:
|
2018-07-24 16:49:52 +00:00
|
|
|
std::unique_ptr<Ui::OptionsDialog> ui;
|
|
|
|
|
2017-05-13 18:09:36 +00:00
|
|
|
MainWindow *main;
|
2017-10-09 18:08:35 +00:00
|
|
|
CutterCore *core;
|
2017-04-18 10:03:47 +00:00
|
|
|
int defaultAnalLevel;
|
2017-04-01 11:20:13 +00:00
|
|
|
|
2017-04-10 12:22:18 +00:00
|
|
|
QString analysisDescription(int level);
|
2018-08-10 17:12:00 +00:00
|
|
|
QString shellcode;
|
2017-09-27 20:23:18 +00:00
|
|
|
|
|
|
|
void updateCPUComboBox();
|
2017-12-21 11:29:58 +00:00
|
|
|
|
2017-09-28 22:04:57 +00:00
|
|
|
public:
|
2018-07-24 16:49:52 +00:00
|
|
|
void setInitialScript(const QString &script);
|
2018-08-10 17:12:00 +00:00
|
|
|
void setShellcode(const QString &shellcode);
|
2018-01-20 10:35:31 +00:00
|
|
|
|
2017-09-27 20:23:18 +00:00
|
|
|
QString getSelectedArch();
|
|
|
|
QString getSelectedCPU();
|
|
|
|
int getSelectedBits();
|
2018-03-07 12:02:39 +00:00
|
|
|
int getSelectedBBSize();
|
2018-05-27 16:03:29 +00:00
|
|
|
InitialOptions::Endianness getSelectedEndianness();
|
2017-09-27 20:23:18 +00:00
|
|
|
QString getSelectedOS();
|
2018-05-27 19:38:19 +00:00
|
|
|
QList<QString> getSelectedAdvancedAnalCmds();
|
2018-05-27 14:51:01 +00:00
|
|
|
|
2017-12-06 12:32:35 +00:00
|
|
|
void reject() override;
|
2017-03-29 10:18:37 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // OPTIONSDIALOG_H
|