53 lines
1.3 KiB
C++
53 lines
1.3 KiB
C++
#ifndef WINGHEXASM_H
|
|
#define WINGHEXASM_H
|
|
|
|
#include "../WingHexExplorer/wing-hex-explorer.sourcecode/WingHexExplorer/plugin/iwingplugin.h"
|
|
#include "keystone/keystone.h"
|
|
#include <QCheckBox>
|
|
#include <QComboBox>
|
|
#include <QTextBrowser>
|
|
|
|
class WingHexAsm : public IWingPlugin {
|
|
Q_OBJECT
|
|
#if QT_VERSION >= 0x050000
|
|
Q_PLUGIN_METADATA(IID IWINGPLUGIN_INTERFACE_IID FILE "WingHexAsm.json")
|
|
#endif // QT_VERSION >= 0x050000
|
|
|
|
Q_INTERFACES(IWingPlugin)
|
|
|
|
public:
|
|
WingHexAsm(QObject *parent = nullptr);
|
|
bool init(QList<WingPluginInfo> loadedplugin) override;
|
|
~WingHexAsm() override;
|
|
void unload() override;
|
|
int sdkVersion() override;
|
|
QMenu *registerMenu() override;
|
|
QToolButton *registerToolButton() override;
|
|
void
|
|
registerDockWidget(QMap<QDockWidget *, Qt::DockWidgetArea> &rdw) override;
|
|
QString pluginName() override;
|
|
QString pluginAuthor() override;
|
|
uint pluginVersion() override;
|
|
QString signature() override;
|
|
QString pluginComment() override;
|
|
void plugin2MessagePipe(WingPluginMessage type, QList<QVariant> msg) override;
|
|
|
|
private:
|
|
void asmCode(QString code);
|
|
|
|
private:
|
|
QMenu *menu;
|
|
QToolButton *tbtn;
|
|
QWidget *w;
|
|
QDockWidget *dw;
|
|
QTextBrowser *txtAsm;
|
|
QComboBox *arch, *mode;
|
|
|
|
QCheckBox *cbintel;
|
|
|
|
ks_arch karch = ks_arch::KS_ARCH_X86;
|
|
ks_mode kmode = ks_mode::KS_MODE_64;
|
|
};
|
|
|
|
#endif // WINGHEXASM_H
|