Files
mountcloud 3dbac60203 1:重构规则引擎,支持多种逻辑运算,支持多种统计运算,支持多种比较运算。
2:重构特征库格式,从json改用yaml(json确实看起来不好看)。
3:更改特征匹配逻辑,将字节匹配与校验匹配结果拆分。
4:编辑器适配新的规则引擎和特征库格式。
2022-06-30 01:48:43 +08:00

624 lines
18 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FireDogEditorClass</class>
<widget class="QMainWindow" name="FireDogEditorClass">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1314</width>
<height>777</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>1280</width>
<height>768</height>
</size>
</property>
<property name="windowTitle">
<string>FireDogEditor</string>
</property>
<widget class="QWidget" name="centralWidget">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<widget class="QTabWidget" name="tabWidgetMain">
<property name="enabled">
<bool>true</bool>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tabFeatureLibrary">
<property name="styleSheet">
<string notr="true"/>
</property>
<attribute name="title">
<string>Feature Library</string>
</attribute>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>8</number>
</property>
<property name="topMargin">
<number>8</number>
</property>
<property name="rightMargin">
<number>8</number>
</property>
<property name="bottomMargin">
<number>8</number>
</property>
<item row="1" column="1">
<widget class="QGroupBox" name="groupBoxLibrarays">
<property name="title">
<string>Librarays</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QTableView" name="tableViewLibrary"/>
</item>
</layout>
</widget>
</item>
<item row="0" column="1">
<widget class="QGroupBox" name="groupBoxSearch">
<property name="minimumSize">
<size>
<width>0</width>
<height>70</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>70</height>
</size>
</property>
<property name="title">
<string>Search</string>
</property>
<widget class="QLineEdit" name="lineEditSearchName">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>281</width>
<height>21</height>
</rect>
</property>
<property name="placeholderText">
<string>Please enter</string>
</property>
</widget>
<widget class="QPushButton" name="pushButtonSearchName">
<property name="geometry">
<rect>
<x>300</x>
<y>26</y>
<width>81</width>
<height>28</height>
</rect>
</property>
<property name="text">
<string>Search</string>
</property>
</widget>
</widget>
</item>
<item row="0" column="2" rowspan="2">
<widget class="QGroupBox" name="groupBoxLibraryInfo">
<property name="minimumSize">
<size>
<width>500</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="title">
<string>Info</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="labelLibraryInfoName">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>15</height>
</size>
</property>
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QLineEdit" name="lineEditLibraryInfoName">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>24</height>
</size>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<widget class="QLabel" name="labelLibraryInfoAuthor">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>15</height>
</size>
</property>
<property name="text">
<string>Author</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="QLineEdit" name="lineEditLibraryInfoAuthor">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>24</height>
</size>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<widget class="QLabel" name="labelLibraryInfoDescribe">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>15</height>
</size>
</property>
<property name="text">
<string>Describe</string>
</property>
</widget>
</item>
<item row="5" column="0" colspan="2">
<widget class="QTextEdit" name="textEditLibraryInfoDescribe">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
</widget>
</item>
<item row="6" column="0" colspan="2">
<widget class="QLabel" name="labelLibraryInfoFeatures">
<property name="text">
<string>Features</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QTableView" name="tableViewLibraryInfoFeatures"/>
</item>
<item row="8" column="0">
<widget class="QLabel" name="labelLibraryInfoRule">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>15</height>
</size>
</property>
<property name="text">
<string>Rule</string>
</property>
</widget>
</item>
<item row="9" column="0" colspan="2">
<widget class="QTreeView" name="treeViewLibraryInfoRules">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="headerHidden">
<bool>true</bool>
</property>
</widget>
</item>
<item row="10" column="0" colspan="2">
<widget class="QPushButton" name="pushButtonLibraryInfoSave">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>28</height>
</size>
</property>
<property name="text">
<string>Add</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabMatching">
<property name="enabled">
<bool>true</bool>
</property>
<attribute name="title">
<string>Matching</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_4">
<property name="leftMargin">
<number>8</number>
</property>
<property name="topMargin">
<number>8</number>
</property>
<property name="rightMargin">
<number>8</number>
</property>
<property name="bottomMargin">
<number>8</number>
</property>
<item row="0" column="1" rowspan="3">
<widget class="QGroupBox" name="groupBoxResult">
<property name="title">
<string>Result</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QLineEdit" name="lineEditSearchResult">
<property name="placeholderText">
<string>Please enter</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="pushButtonSearchResult">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Search</string>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="QTableView" name="tableViewSearchResult"/>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QGroupBox" name="groupBoxInput">
<property name="maximumSize">
<size>
<width>410</width>
<height>16777215</height>
</size>
</property>
<property name="title">
<string>Input</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="labelText">
<property name="text">
<string>Text</string>
</property>
</widget>
</item>
<item>
<widget class="QPlainTextEdit" name="plainTextText"/>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="labelHex">
<property name="text">
<string>Hex</string>
</property>
</widget>
</item>
<item>
<widget class="HexEditor" name="plainTextHex">
<property name="placeholderText">
<string>00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="labelFiles">
<property name="text">
<string>Files</string>
</property>
</widget>
</item>
<item>
<widget class="QTableView" name="tableViewFiles"/>
</item>
<item>
<widget class="QPushButton" name="pushButtonAddFiles">
<property name="text">
<string>Add Files</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="pushButtonMatch">
<property name="text">
<string>Match</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="groupBoxConfig">
<property name="minimumSize">
<size>
<width>0</width>
<height>80</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>410</width>
<height>80</height>
</size>
</property>
<property name="title">
<string>Config</string>
</property>
<widget class="QLabel" name="labelThreadNum">
<property name="geometry">
<rect>
<x>10</x>
<y>53</y>
<width>131</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Thread</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QSpinBox" name="spinBoxThreadNum">
<property name="geometry">
<rect>
<x>150</x>
<y>50</y>
<width>50</width>
<height>22</height>
</rect>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
<widget class="QLabel" name="label100MB">
<property name="geometry">
<rect>
<x>12</x>
<y>23</y>
<width>131</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>File&gt;100MB Slice</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QSpinBox" name="spinBox100MB">
<property name="geometry">
<rect>
<x>150</x>
<y>20</y>
<width>50</width>
<height>22</height>
</rect>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
<widget class="QLabel" name="label1GB">
<property name="geometry">
<rect>
<x>209</x>
<y>23</y>
<width>131</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>File&gt;1GB Slice</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QSpinBox" name="spinBox1GB">
<property name="geometry">
<rect>
<x>350</x>
<y>20</y>
<width>50</width>
<height>22</height>
</rect>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="value">
<number>10</number>
</property>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1314</width>
<height>26</height>
</rect>
</property>
<widget class="QMenu" name="menuOperation">
<property name="title">
<string>Operation</string>
</property>
<addaction name="actionOpen"/>
<addaction name="separator"/>
<addaction name="actionSave"/>
<addaction name="actionSaveTo"/>
</widget>
<widget class="QMenu" name="menuHelp">
<property name="title">
<string>Help</string>
</property>
<addaction name="actionReportIssue"/>
<addaction name="actionHomePage"/>
<addaction name="separator"/>
<addaction name="actionFireKylin"/>
<addaction name="separator"/>
<addaction name="actionAbout"/>
</widget>
<widget class="QMenu" name="menuSetting">
<property name="title">
<string>Setting</string>
</property>
<addaction name="actionLanguage"/>
</widget>
<addaction name="menuOperation"/>
<addaction name="menuSetting"/>
<addaction name="menuHelp"/>
</widget>
<widget class="QStatusBar" name="statusBar"/>
<action name="actionOpen">
<property name="text">
<string>Open</string>
</property>
</action>
<action name="actionSave">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Save</string>
</property>
</action>
<action name="actionHomePage">
<property name="text">
<string>Github</string>
</property>
</action>
<action name="actionAbout">
<property name="text">
<string>About</string>
</property>
</action>
<action name="actionSaveTo">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Save To</string>
</property>
</action>
<action name="actionReportIssue">
<property name="text">
<string>Report Issue</string>
</property>
</action>
<action name="actionLanguage">
<property name="text">
<string>Language</string>
</property>
</action>
<action name="actionFireKylin">
<property name="text">
<string>FireKylin</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>
<customwidget>
<class>HexEditor</class>
<extends>QPlainTextEdit</extends>
<header>hexeditor.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="FireDogEditor.qrc"/>
</resources>
<connections/>
</ui>