Add option to disable ASLR + fix race condition with breakpoints
Closes #1764 Closes #2716
This commit is contained in:
parent
870039f1d1
commit
1de3253cbd
2
deps
2
deps
|
@ -1 +1 @@
|
|||
Subproject commit 5b9c401097d846928d4d401a2eaad250a78149c5
|
||||
Subproject commit 5f577f4258ca7b9b13062c7651d7779a24368670
|
|
@ -58,6 +58,8 @@
|
|||
#define UE_ENGINE_SET_DEBUG_PRIVILEGE 9
|
||||
#define UE_ENGINE_SAFE_ATTACH 10
|
||||
#define UE_ENGINE_MEMBP_ALT 11
|
||||
#define UE_ENGINE_DISABLE_ASLR 12
|
||||
#define UE_ENGINE_SAFE_STEP 13
|
||||
|
||||
#define UE_OPTION_REMOVEALL 1
|
||||
#define UE_OPTION_DISABLEALL 2
|
||||
|
|
|
@ -1098,6 +1098,7 @@ extern "C" DLL_EXPORT duint _dbg_sendmessage(DBGMSG type, void* param1, void* pa
|
|||
SetEngineVariable(UE_ENGINE_SET_DEBUG_PRIVILEGE, settingboolget("Engine", "EnableDebugPrivilege"));
|
||||
SetEngineVariable(UE_ENGINE_SAFE_ATTACH, settingboolget("Engine", "SafeAttach"));
|
||||
SetEngineVariable(UE_ENGINE_MEMBP_ALT, settingboolget("Engine", "MembpAlt"));
|
||||
SetEngineVariable(UE_ENGINE_DISABLE_ASLR, settingboolget("Engine", "DisableAslr"));
|
||||
bOnlyCipAutoComments = settingboolget("Disassembler", "OnlyCipAutoComments");
|
||||
bNoSourceLineAutoComments = settingboolget("Disassembler", "NoSourceLineAutoComments");
|
||||
bListAllPages = settingboolget("Engine", "ListAllPages");
|
||||
|
|
|
@ -66,6 +66,7 @@ void SettingsDialog::LoadSettings()
|
|||
settings.engineNoScriptTimeout = false;
|
||||
settings.engineIgnoreInconsistentBreakpoints = false;
|
||||
settings.engineNoWow64SingleStepWorkaround = false;
|
||||
settings.engineDisableAslr = false;
|
||||
settings.engineMaxTraceCount = 50000;
|
||||
settings.engineAnimateInterval = 50;
|
||||
settings.engineHardcoreThreadSwitchWarning = false;
|
||||
|
@ -161,6 +162,7 @@ void SettingsDialog::LoadSettings()
|
|||
GetSettingBool("Engine", "HardcoreThreadSwitchWarning", &settings.engineHardcoreThreadSwitchWarning);
|
||||
GetSettingBool("Engine", "VerboseExceptionLogging", &settings.engineVerboseExceptionLogging);
|
||||
GetSettingBool("Engine", "NoWow64SingleStepWorkaround", &settings.engineNoWow64SingleStepWorkaround);
|
||||
GetSettingBool("Engine", "DisableAslr", &settings.engineDisableAslr);
|
||||
if(BridgeSettingGetUint("Engine", "MaxTraceCount", &cur))
|
||||
settings.engineMaxTraceCount = int(cur);
|
||||
if(BridgeSettingGetUint("Engine", "AnimateInterval", &cur))
|
||||
|
@ -206,6 +208,7 @@ void SettingsDialog::LoadSettings()
|
|||
ui->chkHardcoreThreadSwitchWarning->setChecked(settings.engineHardcoreThreadSwitchWarning);
|
||||
ui->chkVerboseExceptionLogging->setChecked(settings.engineVerboseExceptionLogging);
|
||||
ui->chkNoWow64SingleStepWorkaround->setChecked(settings.engineNoWow64SingleStepWorkaround);
|
||||
ui->chkDisableAslr->setChecked(settings.engineDisableAslr);
|
||||
ui->spinMaxTraceCount->setValue(settings.engineMaxTraceCount);
|
||||
ui->spinAnimateInterval->setValue(settings.engineAnimateInterval);
|
||||
|
||||
|
@ -418,6 +421,7 @@ void SettingsDialog::SaveSettings()
|
|||
BridgeSettingSetUint("Engine", "VerboseExceptionLogging", settings.engineVerboseExceptionLogging);
|
||||
BridgeSettingSetUint("Engine", "HardcoreThreadSwitchWarning", settings.engineHardcoreThreadSwitchWarning);
|
||||
BridgeSettingSetUint("Engine", "NoWow64SingleStepWorkaround", settings.engineNoWow64SingleStepWorkaround);
|
||||
BridgeSettingSetUint("Engine", "DisableAslr", settings.engineDisableAslr);
|
||||
|
||||
//Exceptions tab
|
||||
QString exceptionRange = "";
|
||||
|
@ -1083,6 +1087,11 @@ void SettingsDialog::on_chkNoWow64SingleStepWorkaround_toggled(bool checked)
|
|||
settings.engineNoWow64SingleStepWorkaround = checked;
|
||||
}
|
||||
|
||||
void SettingsDialog::on_chkDisableAslr_toggled(bool checked)
|
||||
{
|
||||
settings.engineDisableAslr = checked;
|
||||
}
|
||||
|
||||
void SettingsDialog::on_chkNoCurrentModuleText_toggled(bool checked)
|
||||
{
|
||||
bTokenizerConfigUpdated = true;
|
||||
|
|
|
@ -62,6 +62,7 @@ private slots:
|
|||
void on_chkHardcoreThreadSwitchWarning_toggled(bool checked);
|
||||
void on_chkVerboseExceptionLogging_toggled(bool checked);
|
||||
void on_chkNoWow64SingleStepWorkaround_toggled(bool checked);
|
||||
void on_chkDisableAslr_toggled(bool checked);
|
||||
void on_spinMaxTraceCount_valueChanged(int arg1);
|
||||
void on_spinAnimateInterval_valueChanged(int arg1);
|
||||
//Exception tab
|
||||
|
@ -203,6 +204,7 @@ private:
|
|||
bool engineHardcoreThreadSwitchWarning;
|
||||
bool engineVerboseExceptionLogging;
|
||||
bool engineNoWow64SingleStepWorkaround;
|
||||
bool engineDisableAslr;
|
||||
int engineMaxTraceCount;
|
||||
int engineAnimateInterval;
|
||||
//Exception Tab
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>386</width>
|
||||
<height>525</height>
|
||||
<height>542</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
|
@ -375,6 +375,13 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chkDisableAslr">
|
||||
<property name="text">
|
||||
<string>Disable ASLR</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayoutMaxTraceCount">
|
||||
<item>
|
||||
|
|
Loading…
Reference in New Issue