parent
c9d7d15297
commit
a905656230
|
@ -9,7 +9,7 @@ CapstoneTokenizer::CapstoneTokenizer(int maxModuleLength)
|
||||||
isNop(false),
|
isNop(false),
|
||||||
_mnemonicType(TokenType::Uncategorized)
|
_mnemonicType(TokenType::Uncategorized)
|
||||||
{
|
{
|
||||||
SetConfig(false, false, false, false, false, false);
|
SetConfig(false, false, false, false, false, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
CapstoneTokenizer::TokenColor colorNamesMap[CapstoneTokenizer::TokenType::Last];
|
CapstoneTokenizer::TokenColor colorNamesMap[CapstoneTokenizer::TokenType::Last];
|
||||||
|
@ -173,12 +173,13 @@ void CapstoneTokenizer::UpdateConfig()
|
||||||
ConfigBool("Disassembler", "ArgumentSpaces"),
|
ConfigBool("Disassembler", "ArgumentSpaces"),
|
||||||
ConfigBool("Disassembler", "MemorySpaces"),
|
ConfigBool("Disassembler", "MemorySpaces"),
|
||||||
ConfigBool("Disassembler", "NoHighlightOperands"),
|
ConfigBool("Disassembler", "NoHighlightOperands"),
|
||||||
ConfigBool("Disassembler", "NoCurrentModuleText"));
|
ConfigBool("Disassembler", "NoCurrentModuleText"),
|
||||||
|
ConfigBool("Disassembler", "0xPrefixValues"));
|
||||||
_maxModuleLength = (int)ConfigUint("Disassembler", "MaxModuleSize");
|
_maxModuleLength = (int)ConfigUint("Disassembler", "MaxModuleSize");
|
||||||
UpdateStringPool();
|
UpdateStringPool();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CapstoneTokenizer::SetConfig(bool bUppercase, bool bTabbedMnemonic, bool bArgumentSpaces, bool bMemorySpaces, bool bNoHighlightOperands, bool bNoCurrentModuleText)
|
void CapstoneTokenizer::SetConfig(bool bUppercase, bool bTabbedMnemonic, bool bArgumentSpaces, bool bMemorySpaces, bool bNoHighlightOperands, bool bNoCurrentModuleText, bool b0xPrefixValues)
|
||||||
{
|
{
|
||||||
_bUppercase = bUppercase;
|
_bUppercase = bUppercase;
|
||||||
_bTabbedMnemonic = bTabbedMnemonic;
|
_bTabbedMnemonic = bTabbedMnemonic;
|
||||||
|
@ -186,6 +187,7 @@ void CapstoneTokenizer::SetConfig(bool bUppercase, bool bTabbedMnemonic, bool bA
|
||||||
_bMemorySpaces = bMemorySpaces;
|
_bMemorySpaces = bMemorySpaces;
|
||||||
_bNoHighlightOperands = bNoHighlightOperands;
|
_bNoHighlightOperands = bNoHighlightOperands;
|
||||||
_bNoCurrentModuleText = bNoCurrentModuleText;
|
_bNoCurrentModuleText = bNoCurrentModuleText;
|
||||||
|
_b0xPrefixValues = b0xPrefixValues;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CapstoneTokenizer::Size() const
|
int CapstoneTokenizer::Size() const
|
||||||
|
@ -349,6 +351,8 @@ QString CapstoneTokenizer::printValue(const TokenValue & value, bool expandModul
|
||||||
finalText = QString("%1%2").arg(moduleText).arg(addrText);
|
finalText = QString("%1%2").arg(moduleText).arg(addrText);
|
||||||
else if(bHasLabel) //<label>
|
else if(bHasLabel) //<label>
|
||||||
finalText = QString("<%1>").arg(labelText);
|
finalText = QString("<%1>").arg(labelText);
|
||||||
|
else if (_b0xPrefixValues)
|
||||||
|
finalText = QString("0x")+addrText;
|
||||||
else
|
else
|
||||||
finalText = addrText;
|
finalText = addrText;
|
||||||
return finalText;
|
return finalText;
|
||||||
|
|
|
@ -147,7 +147,7 @@ public:
|
||||||
bool Tokenize(duint addr, const unsigned char* data, int datasize, InstructionToken & instruction);
|
bool Tokenize(duint addr, const unsigned char* data, int datasize, InstructionToken & instruction);
|
||||||
bool TokenizeData(const QString & datatype, const QString & data, InstructionToken & instruction);
|
bool TokenizeData(const QString & datatype, const QString & data, InstructionToken & instruction);
|
||||||
void UpdateConfig();
|
void UpdateConfig();
|
||||||
void SetConfig(bool bUppercase, bool bTabbedMnemonic, bool bArgumentSpaces, bool bMemorySpaces, bool bNoHighlightOperands, bool bNoCurrentModuleText);
|
void SetConfig(bool bUppercase, bool bTabbedMnemonic, bool bArgumentSpaces, bool bMemorySpaces, bool bNoHighlightOperands, bool bNoCurrentModuleText, bool b0xPrefixValues);
|
||||||
int Size() const;
|
int Size() const;
|
||||||
const Capstone & GetCapstone() const;
|
const Capstone & GetCapstone() const;
|
||||||
|
|
||||||
|
@ -173,6 +173,7 @@ private:
|
||||||
bool _bMemorySpaces;
|
bool _bMemorySpaces;
|
||||||
bool _bNoHighlightOperands;
|
bool _bNoHighlightOperands;
|
||||||
bool _bNoCurrentModuleText;
|
bool _bNoCurrentModuleText;
|
||||||
|
bool _b0xPrefixValues;
|
||||||
TokenType _mnemonicType;
|
TokenType _mnemonicType;
|
||||||
|
|
||||||
void addToken(TokenType type, QString text, const TokenValue & value);
|
void addToken(TokenType type, QString text, const TokenValue & value);
|
||||||
|
|
|
@ -70,6 +70,7 @@ void SettingsDialog::LoadSettings()
|
||||||
settings.disasmOnlyCipAutoComments = false;
|
settings.disasmOnlyCipAutoComments = false;
|
||||||
settings.disasmTabBetweenMnemonicAndArguments = false;
|
settings.disasmTabBetweenMnemonicAndArguments = false;
|
||||||
settings.disasmNoCurrentModuleText = false;
|
settings.disasmNoCurrentModuleText = false;
|
||||||
|
settings.disasm0xPrefixValues = false;
|
||||||
settings.guiNoForegroundWindow = true;
|
settings.guiNoForegroundWindow = true;
|
||||||
|
|
||||||
//Events tab
|
//Events tab
|
||||||
|
@ -196,6 +197,7 @@ void SettingsDialog::LoadSettings()
|
||||||
GetSettingBool("Disassembler", "NoHighlightOperands", &settings.disasmNoHighlightOperands);
|
GetSettingBool("Disassembler", "NoHighlightOperands", &settings.disasmNoHighlightOperands);
|
||||||
GetSettingBool("Disassembler", "PermanentHighlightingMode", &settings.disasmPermanentHighlightingMode);
|
GetSettingBool("Disassembler", "PermanentHighlightingMode", &settings.disasmPermanentHighlightingMode);
|
||||||
GetSettingBool("Disassembler", "NoCurrentModuleText", &settings.disasmNoCurrentModuleText);
|
GetSettingBool("Disassembler", "NoCurrentModuleText", &settings.disasmNoCurrentModuleText);
|
||||||
|
GetSettingBool("Disassembler", "0xPrefixValues", &settings.disasm0xPrefixValues);
|
||||||
ui->chkArgumentSpaces->setChecked(settings.disasmArgumentSpaces);
|
ui->chkArgumentSpaces->setChecked(settings.disasmArgumentSpaces);
|
||||||
ui->chkMemorySpaces->setChecked(settings.disasmMemorySpaces);
|
ui->chkMemorySpaces->setChecked(settings.disasmMemorySpaces);
|
||||||
ui->chkUppercase->setChecked(settings.disasmUppercase);
|
ui->chkUppercase->setChecked(settings.disasmUppercase);
|
||||||
|
@ -204,6 +206,7 @@ void SettingsDialog::LoadSettings()
|
||||||
ui->chkNoHighlightOperands->setChecked(settings.disasmNoHighlightOperands);
|
ui->chkNoHighlightOperands->setChecked(settings.disasmNoHighlightOperands);
|
||||||
ui->chkPermanentHighlightingMode->setChecked(settings.disasmPermanentHighlightingMode);
|
ui->chkPermanentHighlightingMode->setChecked(settings.disasmPermanentHighlightingMode);
|
||||||
ui->chkNoCurrentModuleText->setChecked(settings.disasmNoCurrentModuleText);
|
ui->chkNoCurrentModuleText->setChecked(settings.disasmNoCurrentModuleText);
|
||||||
|
ui->chk0xPrefixValues->setChecked(settings.disasm0xPrefixValues);
|
||||||
|
|
||||||
//Gui tab
|
//Gui tab
|
||||||
GetSettingBool("Gui", "FpuRegistersLittleEndian", &settings.guiFpuRegistersLittleEndian);
|
GetSettingBool("Gui", "FpuRegistersLittleEndian", &settings.guiFpuRegistersLittleEndian);
|
||||||
|
@ -336,6 +339,7 @@ void SettingsDialog::SaveSettings()
|
||||||
BridgeSettingSetUint("Disassembler", "NoHighlightOperands", settings.disasmNoHighlightOperands);
|
BridgeSettingSetUint("Disassembler", "NoHighlightOperands", settings.disasmNoHighlightOperands);
|
||||||
BridgeSettingSetUint("Disassembler", "PermanentHighlightingMode", settings.disasmPermanentHighlightingMode);
|
BridgeSettingSetUint("Disassembler", "PermanentHighlightingMode", settings.disasmPermanentHighlightingMode);
|
||||||
BridgeSettingSetUint("Disassembler", "NoCurrentModuleText", settings.disasmNoCurrentModuleText);
|
BridgeSettingSetUint("Disassembler", "NoCurrentModuleText", settings.disasmNoCurrentModuleText);
|
||||||
|
BridgeSettingSetUint("Disassembler", "0xPrefixValues", settings.disasm0xPrefixValues);
|
||||||
|
|
||||||
//Gui tab
|
//Gui tab
|
||||||
BridgeSettingSetUint("Gui", "FpuRegistersLittleEndian", settings.guiFpuRegistersLittleEndian);
|
BridgeSettingSetUint("Gui", "FpuRegistersLittleEndian", settings.guiFpuRegistersLittleEndian);
|
||||||
|
@ -780,3 +784,9 @@ void SettingsDialog::on_chkNoCurrentModuleText_toggled(bool checked)
|
||||||
bTokenizerConfigUpdated = true;
|
bTokenizerConfigUpdated = true;
|
||||||
settings.disasmNoCurrentModuleText = checked;
|
settings.disasmNoCurrentModuleText = checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingsDialog::on_chk0xPrefixValues_toggled(bool checked)
|
||||||
|
{
|
||||||
|
bTokenizerConfigUpdated = true;
|
||||||
|
settings.disasm0xPrefixValues = checked;
|
||||||
|
}
|
||||||
|
|
|
@ -70,6 +70,7 @@ private slots:
|
||||||
void on_chkNoHighlightOperands_toggled(bool checked);
|
void on_chkNoHighlightOperands_toggled(bool checked);
|
||||||
void on_chkNoCurrentModuleText_toggled(bool checked);
|
void on_chkNoCurrentModuleText_toggled(bool checked);
|
||||||
void on_chkPermanentHighlightingMode_toggled(bool checked);
|
void on_chkPermanentHighlightingMode_toggled(bool checked);
|
||||||
|
void on_chk0xPrefixValues_toggled(bool checked);
|
||||||
//Gui Tab
|
//Gui Tab
|
||||||
void on_chkFpuRegistersLittleEndian_stateChanged(int arg1);
|
void on_chkFpuRegistersLittleEndian_stateChanged(int arg1);
|
||||||
void on_chkSaveColumnOrder_stateChanged(int arg1);
|
void on_chkSaveColumnOrder_stateChanged(int arg1);
|
||||||
|
@ -156,6 +157,7 @@ private:
|
||||||
bool disasmNoHighlightOperands;
|
bool disasmNoHighlightOperands;
|
||||||
bool disasmNoCurrentModuleText;
|
bool disasmNoCurrentModuleText;
|
||||||
bool disasmPermanentHighlightingMode;
|
bool disasmPermanentHighlightingMode;
|
||||||
|
bool disasm0xPrefixValues;
|
||||||
//Gui Tab
|
//Gui Tab
|
||||||
bool guiFpuRegistersLittleEndian;
|
bool guiFpuRegistersLittleEndian;
|
||||||
bool guiSaveColumnOrder;
|
bool guiSaveColumnOrder;
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>381</width>
|
<width>381</width>
|
||||||
<height>508</height>
|
<height>514</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>3</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="tabEvents">
|
<widget class="QWidget" name="tabEvents">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
|
@ -531,6 +531,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="chk0xPrefixValues">
|
||||||
|
<property name="text">
|
||||||
|
<string>0x prefix for values</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer_2">
|
<spacer name="verticalSpacer_2">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
|
|
@ -237,6 +237,7 @@ Configuration::Configuration() : QObject(), noMoreMsgbox(false)
|
||||||
disassemblyBool.insert("LongDataInstruction", false);
|
disassemblyBool.insert("LongDataInstruction", false);
|
||||||
disassemblyBool.insert("NoHighlightOperands", false);
|
disassemblyBool.insert("NoHighlightOperands", false);
|
||||||
disassemblyBool.insert("PermanentHighlightingMode", false);
|
disassemblyBool.insert("PermanentHighlightingMode", false);
|
||||||
|
disassemblyBool.insert("0xPrefixValues", false);
|
||||||
disassemblyBool.insert("NoCurrentModuleText", false);
|
disassemblyBool.insert("NoCurrentModuleText", false);
|
||||||
defaultBools.insert("Disassembler", disassemblyBool);
|
defaultBools.insert("Disassembler", disassemblyBool);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue