mirror of
https://github.com/MountCloud/FireDog.git
synced 2026-10-18 13:10:34 +08:00
3dbac60203
2:重构特征库格式,从json改用yaml(json确实看起来不好看)。 3:更改特征匹配逻辑,将字节匹配与校验匹配结果拆分。 4:编辑器适配新的规则引擎和特征库格式。
624 lines
18 KiB
XML
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>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>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>
|