mirror of
https://github.com/cheat-engine/cheat-engine
synced 2026-08-15 02:26:08 -04:00
3016 lines
106 KiB
Text
Executable file
3016 lines
106 KiB
Text
Executable file
object formSettings: TformSettings
|
|
Left = 593
|
|
Height = 817
|
|
Top = 147
|
|
Width = 902
|
|
AutoSize = True
|
|
BorderIcons = [biSystemMenu]
|
|
Caption = 'Cheat Engine settings'
|
|
ClientHeight = 817
|
|
ClientWidth = 902
|
|
OnChangeBounds = FormChangeBounds
|
|
OnClose = FormClose
|
|
OnCreate = FormCreate
|
|
OnDestroy = FormDestroy
|
|
OnShow = FormShow
|
|
Position = poMainFormCenter
|
|
LCLVersion = '2.2.2.0'
|
|
Scaled = False
|
|
object pnlConfig: TPanel
|
|
Left = 0
|
|
Height = 780
|
|
Top = 0
|
|
Width = 902
|
|
Align = alClient
|
|
AutoSize = True
|
|
ClientHeight = 780
|
|
ClientWidth = 902
|
|
TabOrder = 0
|
|
object tvMenuSelection: TTreeView
|
|
Left = 1
|
|
Height = 778
|
|
Top = 1
|
|
Width = 153
|
|
Align = alLeft
|
|
HideSelection = False
|
|
Indent = 19
|
|
ReadOnly = True
|
|
RightClickSelect = True
|
|
ScrollBars = ssVertical
|
|
ShowRoot = False
|
|
TabOrder = 0
|
|
ToolTips = False
|
|
OnChange = tvMenuSelectionChange
|
|
OnCollapsing = tvMenuSelectionCollapsing
|
|
Options = [tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines]
|
|
Items.Data = {
|
|
F9FFFFFF02000B000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010000000000
|
|
0000011000000047656E6572616C2053657474696E6773FFFFFFFFFFFFFFFFFF
|
|
FFFFFFFFFFFFFF00000000000000000005000000546F6F6C73FFFFFFFFFFFFFF
|
|
FFFFFFFFFFFFFFFFFF0000000000000000000700000053796D626F6C73FFFFFF
|
|
FFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000007000000486F746B6579
|
|
73FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000C000000556E
|
|
72616E646F6D697A6572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
|
|
0000000D0000005363616E2053657474696E6773FFFFFFFFFFFFFFFFFFFFFFFF
|
|
FFFFFFFF00000000000000000007000000506C7567696E73FFFFFFFFFFFFFFFF
|
|
FFFFFFFFFFFFFFFF000000000000000000090000004C616E677561676573FFFF
|
|
FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000100000004465627567
|
|
676572204F7074696F6E73FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000
|
|
00000000030000004C7561FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000
|
|
00000000050000004578747261FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
|
|
000000000000070000005369676E696E67
|
|
}
|
|
end
|
|
object pcSetting: TPageControl
|
|
Left = 154
|
|
Height = 778
|
|
Top = 1
|
|
Width = 747
|
|
ActivePage = GeneralSettings
|
|
Align = alClient
|
|
TabIndex = 0
|
|
TabOrder = 1
|
|
OnChange = pcSettingChange
|
|
object GeneralSettings: TTabSheet
|
|
Caption = 'General Settings'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
object ScrollBox1: TScrollBox
|
|
Left = 0
|
|
Height = 750
|
|
Top = 0
|
|
Width = 739
|
|
HorzScrollBar.Page = 494
|
|
HorzScrollBar.Tracking = True
|
|
VertScrollBar.Page = 599
|
|
VertScrollBar.Tracking = True
|
|
Align = alClient
|
|
ClientHeight = 746
|
|
ClientWidth = 735
|
|
TabOrder = 0
|
|
OnClick = ScrollBox1Click
|
|
object Label11: TLabel
|
|
AnchorSideLeft.Control = EditUpdateInterval
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = EditUpdateInterval
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 234
|
|
Height = 15
|
|
Top = 526
|
|
Width = 16
|
|
Caption = 'ms'
|
|
ParentColor = False
|
|
end
|
|
object Label12: TLabel
|
|
AnchorSideLeft.Control = EditFreezeInterval
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = EditFreezeInterval
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 234
|
|
Height = 15
|
|
Top = 551
|
|
Width = 16
|
|
Caption = 'ms'
|
|
ParentColor = False
|
|
end
|
|
object Label13: TLabel
|
|
AnchorSideTop.Control = EditUpdateInterval
|
|
AnchorSideTop.Side = asrCenter
|
|
AnchorSideRight.Control = EditUpdateInterval
|
|
Left = 97
|
|
Height = 15
|
|
Top = 526
|
|
Width = 80
|
|
Anchors = [akTop, akRight]
|
|
BorderSpacing.Right = 4
|
|
Caption = 'Update interval'
|
|
ParentColor = False
|
|
end
|
|
object Label14: TLabel
|
|
AnchorSideTop.Control = EditFreezeInterval
|
|
AnchorSideTop.Side = asrCenter
|
|
AnchorSideRight.Control = EditFreezeInterval
|
|
Left = 102
|
|
Height = 15
|
|
Top = 551
|
|
Width = 75
|
|
Anchors = [akTop, akRight]
|
|
BorderSpacing.Right = 4
|
|
Caption = 'Freeze interval'
|
|
ParentColor = False
|
|
end
|
|
object Label18: TLabel
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = editUpdatefoundInterval
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 0
|
|
Height = 15
|
|
Top = 576
|
|
Width = 177
|
|
Caption = 'Found address list update interval'
|
|
ParentColor = False
|
|
end
|
|
object Label19: TLabel
|
|
AnchorSideLeft.Control = editUpdatefoundInterval
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = editUpdatefoundInterval
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 234
|
|
Height = 15
|
|
Top = 576
|
|
Width = 16
|
|
Caption = 'ms'
|
|
ParentColor = False
|
|
end
|
|
object Label23: TLabel
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = EditAutoAttach
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 0
|
|
Height = 15
|
|
Top = 482
|
|
Width = 218
|
|
Caption = 'Automatically attach to processes named'
|
|
ParentColor = False
|
|
end
|
|
object Label24: TLabel
|
|
AnchorSideLeft.Control = EditAutoAttach
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = EditAutoAttach
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 368
|
|
Height = 15
|
|
Top = 482
|
|
Width = 126
|
|
BorderSpacing.Left = 5
|
|
Caption = '(Seperate entries with ; )'
|
|
ParentColor = False
|
|
end
|
|
object cbShowUndo: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbAlwaysAttemptToLaunchAsAdmin
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 19
|
|
Width = 119
|
|
Caption = 'Show undo button'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 0
|
|
end
|
|
object EditUpdateInterval: TEdit
|
|
AnchorSideLeft.Control = editUpdatefoundInterval
|
|
AnchorSideTop.Control = cbAlwaysAutoAttach
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 181
|
|
Height = 23
|
|
Hint = 'The number of milliseconds that Cheat Engine will wait before refreshing the list of addresses'
|
|
Top = 522
|
|
Width = 53
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 1
|
|
Text = '500'
|
|
end
|
|
object EditFreezeInterval: TEdit
|
|
AnchorSideLeft.Control = editUpdatefoundInterval
|
|
AnchorSideTop.Control = EditUpdateInterval
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 181
|
|
Height = 23
|
|
Hint = 'The number of milliseconds that Cheat Engine will wait before resetting the frozen addresses to their original value.'
|
|
Top = 547
|
|
Width = 53
|
|
BorderSpacing.Top = 2
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 2
|
|
Text = '100'
|
|
end
|
|
object GroupBox1: TGroupBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbAlwaysForceLoad
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = ScrollBox1
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 0
|
|
Height = 60
|
|
Top = 415
|
|
Width = 735
|
|
Anchors = [akTop, akLeft, akRight]
|
|
AutoSize = True
|
|
Caption = 'Address list specific'
|
|
ClientHeight = 40
|
|
ClientWidth = 731
|
|
TabOrder = 3
|
|
object cbShowAsSigned: TCheckBox
|
|
AnchorSideLeft.Control = GroupBox1
|
|
AnchorSideTop.Control = GroupBox1
|
|
Left = 16
|
|
Height = 19
|
|
Top = 0
|
|
Width = 192
|
|
BorderSpacing.Left = 16
|
|
Caption = 'Show values as if they are signed'
|
|
TabOrder = 0
|
|
end
|
|
object cbsimplecopypaste: TCheckBox
|
|
AnchorSideLeft.Control = cbShowAsSigned
|
|
AnchorSideTop.Control = cbShowAsSigned
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 16
|
|
Height = 19
|
|
Top = 19
|
|
Width = 87
|
|
BorderSpacing.Bottom = 2
|
|
Caption = 'Simple paste'
|
|
TabOrder = 1
|
|
end
|
|
end
|
|
object cbUpdatefoundList: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbShowUndo
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 38
|
|
Width = 305
|
|
Caption = 'Update the list of found addresses even after scanning'
|
|
Checked = True
|
|
OnClick = cbUpdatefoundListClick
|
|
State = cbChecked
|
|
TabOrder = 4
|
|
end
|
|
object editUpdatefoundInterval: TEdit
|
|
AnchorSideLeft.Control = Label18
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = EditFreezeInterval
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = EditUpdateInterval
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 181
|
|
Height = 23
|
|
Hint = 'The number of milliseconds that Cheat Engine will wait before refreshing the list of found addresses'
|
|
Top = 572
|
|
Width = 53
|
|
BorderSpacing.Left = 4
|
|
BorderSpacing.Top = 2
|
|
BorderSpacing.Bottom = 4
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 5
|
|
Text = '1000'
|
|
end
|
|
object EditAutoAttach: TEdit
|
|
AnchorSideLeft.Control = Label23
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = GroupBox1
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 220
|
|
Height = 23
|
|
Hint = 'Type the name of the process you want to automatically open. Note: Only works when NO process has been opened yet'
|
|
Top = 478
|
|
Width = 143
|
|
BorderSpacing.Left = 2
|
|
BorderSpacing.Top = 3
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 6
|
|
end
|
|
object cbAlwaysAutoAttach: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = EditAutoAttach
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 503
|
|
Width = 361
|
|
BorderSpacing.Top = 2
|
|
Caption = 'Even autoattach when another process has already been selected'
|
|
TabOrder = 7
|
|
end
|
|
object cbSaveWindowPos: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbOverrideDefaultFont
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 244
|
|
Width = 140
|
|
Caption = 'Save window positions'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 8
|
|
end
|
|
object cbProcessIcons: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbShowProcesslist
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 320
|
|
Width = 188
|
|
Caption = 'Get process icons for processlist'
|
|
Checked = True
|
|
OnClick = cbProcessIconsClick
|
|
State = cbChecked
|
|
TabOrder = 9
|
|
end
|
|
object cbShowMainMenu: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbShowallWindows
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 282
|
|
Width = 113
|
|
Caption = 'Show main menu'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 10
|
|
end
|
|
object cbOldPointerAddMethod: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbUpdatefoundList
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 57
|
|
Width = 293
|
|
Caption = 'Pointer adding: Append pointerline instead of insert'
|
|
TabOrder = 11
|
|
end
|
|
object cbShowallWindows: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbSaveWindowPos
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 263
|
|
Width = 188
|
|
Caption = 'Show all windows in the taskbar'
|
|
TabOrder = 12
|
|
end
|
|
object cbShowProcesslist: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbShowMainMenu
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 301
|
|
Width = 187
|
|
Caption = 'Show process list in main menu'
|
|
TabOrder = 13
|
|
end
|
|
object cbWriteLoggingOn: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbAskToClearListOnOpen
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Hint = 'When enabled CE will record writes done by the user and allows the user to undo those changes'
|
|
Top = 358
|
|
Width = 184
|
|
Caption = 'Enable write logging by default'
|
|
OnChange = cbWriteLoggingOnChange
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 14
|
|
end
|
|
object Label8: TLabel
|
|
AnchorSideLeft.Control = cbWriteLoggingOn
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = cbWriteLoggingOn
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 189
|
|
Height = 15
|
|
Top = 360
|
|
Width = 139
|
|
BorderSpacing.Left = 5
|
|
Caption = 'Max log size (nr of entries)'
|
|
Enabled = False
|
|
ParentColor = False
|
|
end
|
|
object edtWriteLogSize: TEdit
|
|
AnchorSideLeft.Control = Label8
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = Label8
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 333
|
|
Height = 23
|
|
Top = 356
|
|
Width = 80
|
|
BorderSpacing.Left = 5
|
|
Enabled = False
|
|
TabOrder = 15
|
|
Text = '250'
|
|
end
|
|
object cbOverrideDefaultFont: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbDPIAware
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 225
|
|
Width = 251
|
|
Caption = 'Override the default font (Requires a restart)'
|
|
OnChange = cbOverrideDefaultFontChange
|
|
TabOrder = 16
|
|
end
|
|
object btnSetFont: TButton
|
|
AnchorSideLeft.Control = cbOverrideDefaultFont
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = cbOverrideDefaultFont
|
|
AnchorSideBottom.Control = cbOverrideDefaultFont
|
|
AnchorSideBottom.Side = asrBottom
|
|
Left = 251
|
|
Height = 19
|
|
Top = 225
|
|
Width = 69
|
|
Anchors = [akTop, akLeft, akBottom]
|
|
AutoSize = True
|
|
Caption = 'Set Font'
|
|
Enabled = False
|
|
OnClick = btnSetFontClick
|
|
TabOrder = 17
|
|
end
|
|
object cbDPIAware: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbDisableDarkModeSupport
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 206
|
|
Width = 175
|
|
Caption = 'DPI Aware (Requires a restart)'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 18
|
|
end
|
|
object GroupBox5: TGroupBox
|
|
AnchorSideLeft.Control = cbOldPointerAddMethod
|
|
AnchorSideTop.Control = cbOldPointerAddMethod
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 16
|
|
Height = 111
|
|
Top = 76
|
|
Width = 218
|
|
AutoSize = True
|
|
BorderSpacing.Left = 16
|
|
Caption = 'Table: Lua scripts'
|
|
ClientHeight = 91
|
|
ClientWidth = 214
|
|
TabOrder = 19
|
|
object miLuaExecAlways: TRadioButton
|
|
AnchorSideLeft.Control = GroupBox5
|
|
AnchorSideTop.Control = Label16
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 15
|
|
Width = 57
|
|
Caption = 'Always'
|
|
TabOrder = 0
|
|
end
|
|
object miLuaExecSignedOnly: TRadioButton
|
|
AnchorSideLeft.Control = GroupBox5
|
|
AnchorSideTop.Control = miLuaExecAlways
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 34
|
|
Width = 161
|
|
Caption = 'Only when signed, else ask'
|
|
Checked = True
|
|
TabOrder = 1
|
|
TabStop = True
|
|
end
|
|
object Label16: TLabel
|
|
AnchorSideLeft.Control = GroupBox5
|
|
AnchorSideTop.Control = GroupBox5
|
|
Left = 0
|
|
Height = 15
|
|
Top = 0
|
|
Width = 210
|
|
BorderSpacing.Right = 4
|
|
Caption = 'When a table has a lua script, execute it:'
|
|
ParentColor = False
|
|
end
|
|
object miLuaExecAsk: TRadioButton
|
|
AnchorSideLeft.Control = GroupBox5
|
|
AnchorSideTop.Control = miLuaExecSignedOnly
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 53
|
|
Width = 77
|
|
Caption = 'Always ask'
|
|
TabOrder = 2
|
|
end
|
|
object miLuaExecNever: TRadioButton
|
|
AnchorSideLeft.Control = miLuaExecAsk
|
|
AnchorSideTop.Control = miLuaExecAsk
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 72
|
|
Width = 51
|
|
Caption = 'Never'
|
|
TabOrder = 3
|
|
end
|
|
end
|
|
object cbNeverChangeProtection: TCheckBox
|
|
AnchorSideLeft.Control = cbWriteLoggingOn
|
|
AnchorSideTop.Control = cbWriteLoggingOn
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Hint = 'When enabled CE will never call "VirtualProtectEx" before it changes memory. This means that read-only memory can not be changed then. (code is usually read only)'
|
|
Top = 377
|
|
Width = 271
|
|
Caption = 'Never change memory protection when editing'
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 20
|
|
end
|
|
object cbAlwaysForceLoad: TCheckBox
|
|
AnchorSideLeft.Control = cbNeverChangeProtection
|
|
AnchorSideTop.Control = cbNeverChangeProtection
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Hint = 'When enabled CE''s internal injectDLL routine will not use loadlibrary in the target at all and always use manual mapping to load the dll'#13#10'(When disabled CE will still use manual mapping when normal dll injection fails)'
|
|
Top = 396
|
|
Width = 162
|
|
Caption = 'Always force load modules'
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 21
|
|
end
|
|
object cbUseThreadForFreeze: TCheckBox
|
|
AnchorSideLeft.Control = Label12
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = Label12
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 258
|
|
Height = 19
|
|
Top = 549
|
|
Width = 128
|
|
BorderSpacing.Left = 8
|
|
Caption = 'Use thread for freeze'
|
|
TabOrder = 22
|
|
end
|
|
object cbDisableDarkModeSupport: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = GroupBox5
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 187
|
|
Width = 264
|
|
Caption = 'Disable Dark Mode support (Requires a restart)'
|
|
TabOrder = 23
|
|
end
|
|
object cbAlwaysAttemptToLaunchAsAdmin: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = ScrollBox1
|
|
Left = 0
|
|
Height = 19
|
|
Top = 0
|
|
Width = 206
|
|
Caption = 'Always attempt to launch as admin'
|
|
TabOrder = 24
|
|
end
|
|
object cbAskToClearListOnOpen: TCheckBox
|
|
AnchorSideLeft.Control = ScrollBox1
|
|
AnchorSideTop.Control = cbProcessIcons
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Hint = 'When unchecked CE will not clear the list when opening a process'
|
|
Top = 339
|
|
Width = 231
|
|
Caption = 'Ask to clear list on opening new process'
|
|
Checked = True
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
State = cbChecked
|
|
TabOrder = 25
|
|
end
|
|
end
|
|
end
|
|
object tsSymbols: TTabSheet
|
|
Caption = 'Symbols'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
object cbSkipPDB: TCheckBox
|
|
AnchorSideLeft.Control = tsSymbols
|
|
AnchorSideTop.Control = cbDontDeleteSymbols
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 84
|
|
Width = 517
|
|
BorderSpacing.Top = 4
|
|
Caption = 'Do not load external debug symbols like .PDB/.DBG files (Breaks tables that use these symbols)'
|
|
TabOrder = 0
|
|
end
|
|
object cbSynchronizeSymbols: TCheckBox
|
|
AnchorSideLeft.Control = tsSymbols
|
|
AnchorSideTop.Control = tsSymbols
|
|
Left = 0
|
|
Height = 19
|
|
Hint = 'Share symbollists with other CE instances that have the same process open, and remember them when closing and reopening CE'
|
|
Top = 0
|
|
Width = 131
|
|
Caption = 'Synchronize symbols'
|
|
Checked = True
|
|
OnChange = cbSynchronizeSymbolsChange
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
State = cbChecked
|
|
TabOrder = 1
|
|
end
|
|
object cbClearSymbolsOnProcessOpen: TCheckBox
|
|
AnchorSideLeft.Control = cbSymbolSyncInterval
|
|
AnchorSideTop.Control = edtSymbolSyncTimer
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 16
|
|
Height = 19
|
|
Top = 42
|
|
Width = 272
|
|
Caption = 'Clear all symbols when a new process is opened'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 2
|
|
end
|
|
object cbDontDeleteSymbols: TCheckBox
|
|
AnchorSideLeft.Control = cbSymbolSyncInterval
|
|
AnchorSideTop.Control = cbClearSymbolsOnProcessOpen
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 16
|
|
Height = 19
|
|
Hint = 'When synchronizing and another CE instance has updated the symbols of the current process, only load new symbols, don''t delete symbols that got removed'
|
|
Top = 61
|
|
Width = 240
|
|
Caption = 'Don''t delete symbols when synchronizing'
|
|
Checked = True
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
State = cbChecked
|
|
TabOrder = 3
|
|
end
|
|
object cbSymbolSyncInterval: TCheckBox
|
|
AnchorSideLeft.Control = tsSymbols
|
|
AnchorSideTop.Control = edtSymbolSyncTimer
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 16
|
|
Height = 19
|
|
Hint = 'When checked the symbols will be synchronized with other CE instances every few seconds. When not checked, only when a CE instance gets closed or a different process gets opened'
|
|
Top = 21
|
|
Width = 183
|
|
BorderSpacing.Left = 16
|
|
Caption = 'Synchronize every few seconds'
|
|
Checked = True
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
State = cbChecked
|
|
TabOrder = 4
|
|
end
|
|
object edtSymbolSyncTimer: TEdit
|
|
AnchorSideTop.Control = cbSynchronizeSymbols
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 200
|
|
Height = 23
|
|
Top = 19
|
|
Width = 40
|
|
TabOrder = 5
|
|
Text = '10'
|
|
end
|
|
end
|
|
object tsHotkeys: TTabSheet
|
|
Caption = 'Hotkeys'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
ImageIndex = 7
|
|
inline frameHotkeyConfig: TframeHotkeyConfig
|
|
Height = 750
|
|
Width = 739
|
|
Align = alClient
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
DesignLeft = 737
|
|
DesignTop = 306
|
|
inherited Panel1: TPanel
|
|
Height = 660
|
|
Width = 513
|
|
ClientHeight = 660
|
|
ClientWidth = 513
|
|
inherited Label1: TLabel
|
|
Width = 513
|
|
end
|
|
inherited ListBox1: TListBox
|
|
Height = 645
|
|
Width = 513
|
|
end
|
|
end
|
|
inherited Panel2: TPanel
|
|
Left = 513
|
|
Height = 660
|
|
Width = 226
|
|
ClientHeight = 660
|
|
ClientWidth = 226
|
|
inherited Edit1: TEdit
|
|
Width = 222
|
|
end
|
|
inherited Button3: TButton
|
|
Left = 171
|
|
end
|
|
inherited Panel3: TPanel
|
|
Left = 126
|
|
end
|
|
inherited Panel4: TPanel
|
|
Left = 6
|
|
Width = 220
|
|
ClientWidth = 220
|
|
inherited Edit4: TEdit
|
|
Width = 216
|
|
end
|
|
end
|
|
end
|
|
inherited Panel5: TPanel
|
|
Width = 739
|
|
ClientWidth = 739
|
|
inherited Label4: TLabel
|
|
Left = 121
|
|
end
|
|
inherited Label5: TLabel
|
|
Left = 121
|
|
end
|
|
inherited edtKeypollInterval: TEdit
|
|
Width = 117
|
|
end
|
|
inherited edtHotkeyDelay: TEdit
|
|
Width = 117
|
|
Text = '350'
|
|
end
|
|
inherited btnExcludeProcesses: TButton
|
|
OnClick = nil
|
|
end
|
|
end
|
|
end
|
|
end
|
|
object Unrandomizer: TTabSheet
|
|
Caption = 'Unrandomizer'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
ImageIndex = 8
|
|
object Label5: TLabel
|
|
AnchorSideLeft.Control = Unrandomizer
|
|
AnchorSideTop.Control = edtDefault
|
|
Left = 8
|
|
Height = 15
|
|
Top = 11
|
|
Width = 104
|
|
BorderSpacing.Left = 8
|
|
BorderSpacing.Top = 3
|
|
Caption = 'Default return value'
|
|
ParentColor = False
|
|
end
|
|
object edtDefault: TEdit
|
|
AnchorSideLeft.Control = Label5
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = Unrandomizer
|
|
Left = 115
|
|
Height = 23
|
|
Top = 8
|
|
Width = 149
|
|
BorderSpacing.Left = 3
|
|
BorderSpacing.Top = 8
|
|
TabOrder = 0
|
|
Text = '0'
|
|
end
|
|
object cbIncremental: TCheckBox
|
|
AnchorSideLeft.Control = Label5
|
|
AnchorSideTop.Control = edtDefault
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 19
|
|
Top = 31
|
|
Width = 114
|
|
Caption = 'Incremental value'
|
|
TabOrder = 1
|
|
end
|
|
end
|
|
object ScanSettings: TTabSheet
|
|
Caption = 'Scan Settings'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
ImageIndex = 1
|
|
object ScrollBox2: TScrollBox
|
|
Left = 0
|
|
Height = 750
|
|
Top = 0
|
|
Width = 739
|
|
HorzScrollBar.Page = 599
|
|
HorzScrollBar.Tracking = True
|
|
VertScrollBar.Page = 432
|
|
VertScrollBar.Tracking = True
|
|
Align = alClient
|
|
ClientHeight = 746
|
|
ClientWidth = 735
|
|
TabOrder = 0
|
|
object Label3: TLabel
|
|
AnchorSideTop.Control = cbMemMapped
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 15
|
|
Top = 394
|
|
Width = 77
|
|
BorderSpacing.Top = 5
|
|
Caption = 'Thread priority'
|
|
ParentColor = False
|
|
OnClick = Label3Click
|
|
end
|
|
object Label1: TLabel
|
|
AnchorSideTop.Control = EditBufsize
|
|
AnchorSideTop.Side = asrCenter
|
|
AnchorSideRight.Control = EditBufsize
|
|
Left = 0
|
|
Height = 15
|
|
Top = 8
|
|
Width = 124
|
|
Caption = 'Size of scanbuffer (KB) :'
|
|
ParentColor = False
|
|
end
|
|
object Label15: TLabel
|
|
AnchorSideLeft.Control = EditBufsize
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = EditBufsize
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 178
|
|
Height = 15
|
|
Top = 8
|
|
Width = 149
|
|
BorderSpacing.Left = 3
|
|
Caption = '(Can affect scan speed a lot)'
|
|
ParentColor = False
|
|
end
|
|
object Label21: TLabel
|
|
AnchorSideTop.Control = edtTempScanFolder
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 15
|
|
Top = 317
|
|
Width = 217
|
|
BorderSpacing.Top = 10
|
|
Caption = 'Scan the following memory region types:'
|
|
ParentColor = False
|
|
end
|
|
object combothreadpriority: TComboBox
|
|
AnchorSideTop.Control = Label3
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 23
|
|
Top = 409
|
|
Width = 122
|
|
ItemHeight = 15
|
|
ItemIndex = 4
|
|
Items.Strings = (
|
|
'Idle'
|
|
'Lowest'
|
|
'Lower'
|
|
'Normal'
|
|
'Higher'
|
|
'Highest'
|
|
'TimeCritical'
|
|
)
|
|
PopupMenu = MainForm.emptypopup
|
|
Style = csDropDownList
|
|
TabOrder = 0
|
|
Text = 'Higher'
|
|
end
|
|
object cbFastscan: TCheckBox
|
|
AnchorSideTop.Control = EditBufsize
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 28
|
|
Width = 141
|
|
BorderSpacing.Top = 1
|
|
Caption = 'Fast scan on by default'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 1
|
|
end
|
|
object cbSkip_PAGE_NOCACHE: TCheckBox
|
|
AnchorSideTop.Control = cbFastscan
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Hint = 'Some systems crash when trying to read memory with this protection. If that happens check this option.'
|
|
Top = 47
|
|
Width = 352
|
|
Caption = 'Don''t scan memory that is protected with the No Cache option'
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 2
|
|
end
|
|
object cbMemImage: TCheckBox
|
|
AnchorSideTop.Control = cbMemPrivate
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 351
|
|
Width = 397
|
|
Caption = 'MEM_IMAGE:Memory that is mapped into the view of an image section'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 3
|
|
end
|
|
object cbMemMapped: TCheckBox
|
|
AnchorSideTop.Control = cbMemImage
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 370
|
|
Width = 599
|
|
Caption = 'MEM_MAPPED:Memory that is mapped into the view of a section. (E.g:File mapping, emulator memory, slow)'
|
|
TabOrder = 4
|
|
end
|
|
object cbMemPrivate: TCheckBox
|
|
AnchorSideTop.Control = Label21
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 332
|
|
Width = 222
|
|
Caption = 'MEM_PRIVATE:Memory that is private.'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 5
|
|
end
|
|
object EditBufsize: TEdit
|
|
AnchorSideLeft.Control = Label1
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = ScrollBox2
|
|
Left = 124
|
|
Height = 23
|
|
Top = 4
|
|
Width = 51
|
|
BorderSpacing.Top = 4
|
|
TabOrder = 6
|
|
Text = '1024'
|
|
end
|
|
object cbDontusetempdir: TCheckBox
|
|
AnchorSideTop.Control = gbAllTypes
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 250
|
|
Width = 332
|
|
Caption = 'Don''t store the temporary scanfiles in the windows tempdir'
|
|
OnChange = cbDontusetempdirChange
|
|
TabOrder = 7
|
|
end
|
|
object edtTempScanFolder: TEdit
|
|
AnchorSideLeft.Control = cbDontusetempdir
|
|
AnchorSideTop.Control = Label2
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = cbDontusetempdir
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 15
|
|
Height = 23
|
|
Top = 284
|
|
Width = 317
|
|
Anchors = [akTop, akLeft, akRight]
|
|
BorderSpacing.Left = 15
|
|
Enabled = False
|
|
TabOrder = 8
|
|
end
|
|
object Label2: TLabel
|
|
AnchorSideLeft.Control = cbDontusetempdir
|
|
AnchorSideTop.Control = cbDontusetempdir
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 15
|
|
Height = 15
|
|
Top = 269
|
|
Width = 223
|
|
BorderSpacing.Left = 15
|
|
Caption = 'Store the temporary scanfiles here instead:'
|
|
Enabled = False
|
|
ParentColor = False
|
|
end
|
|
object LoadButton: TSpeedButton
|
|
AnchorSideLeft.Control = edtTempScanFolder
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = edtTempScanFolder
|
|
AnchorSideTop.Side = asrCenter
|
|
AnchorSideRight.Control = ScrollBox2
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 332
|
|
Height = 25
|
|
Top = 283
|
|
Width = 25
|
|
BorderSpacing.Right = 15
|
|
Enabled = False
|
|
Glyph.Data = {
|
|
D6020000424DD6020000000000003600000028000000100000000E0000000100
|
|
180000000000A0020000C40E0000C40E00000000000000000000C0C0C0C0C0C0
|
|
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
|
|
C0C0C0C0C0C0C0C0C0C000000000000000000000000000000000000000000000
|
|
0000000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000000000
|
|
008484008484008484008484008484008484008484008484008484000000C0C0
|
|
C0C0C0C0C0C0C0C0C0C000000000FFFF00000000848400848400848400848400
|
|
8484008484008484008484008484000000C0C0C0C0C0C0C0C0C0000000FFFFFF
|
|
00FFFF0000000084840084840084840084840084840084840084840084840084
|
|
84000000C0C0C0C0C0C000000000FFFFFFFFFF00FFFF00000000848400848400
|
|
8484008484008484008484008484008484008484000000C0C0C0000000FFFFFF
|
|
00FFFFFFFFFF00FFFF0000000000000000000000000000000000000000000000
|
|
0000000000000000000000000000FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00
|
|
FFFFFFFFFF00FFFF000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000FFFFFF
|
|
00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF000000C0C0C0C0C0
|
|
C0C0C0C0C0C0C0C0C0C000000000FFFFFFFFFF00FFFF00000000000000000000
|
|
0000000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000
|
|
000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000
|
|
00000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
|
|
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000000000C0C0C0C0C0C0C0C0C0
|
|
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000C0C0C0C0C0C0C0C0C00000
|
|
00C0C0C0000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
|
|
C0C0C0C0C0000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0
|
|
}
|
|
OnClick = LoadButtonClick
|
|
ShowHint = True
|
|
ParentShowHint = False
|
|
end
|
|
object cbPauseWhenScanningOnByDefault: TCheckBox
|
|
AnchorSideTop.Control = cbSaveMemoryregionScanSettings
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 104
|
|
Width = 206
|
|
Caption = 'Pause while scanning on by default'
|
|
TabOrder = 9
|
|
end
|
|
object cbSkip_PAGE_WRITECOMBINE: TCheckBox
|
|
AnchorSideLeft.Control = cbSkip_PAGE_NOCACHE
|
|
AnchorSideTop.Control = cbSkip_PAGE_NOCACHE
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 66
|
|
Width = 380
|
|
Caption = 'Don''t scan memory that is protected with the Write Combine option'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 10
|
|
end
|
|
object lblRepeatDelay: TLabel
|
|
AnchorSideLeft.Control = cbPauseWhenScanningOnByDefault
|
|
AnchorSideTop.Control = cbPauseWhenScanningOnByDefault
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 15
|
|
Top = 123
|
|
Width = 94
|
|
Caption = 'Repeat scan delay'
|
|
ParentColor = False
|
|
end
|
|
object edtRepeatDelay: TEdit
|
|
AnchorSideLeft.Control = lblRepeatDelay
|
|
AnchorSideTop.Control = lblRepeatDelay
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 23
|
|
Hint = 'The delay in milliseconds to wait before starting a next scan when the ''repeat'' checkbox is ticked'#13#10#13#10'0=no wait'
|
|
Top = 138
|
|
Width = 80
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 11
|
|
Text = '0'
|
|
end
|
|
object Label25: TLabel
|
|
AnchorSideLeft.Control = edtRepeatDelay
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = edtRepeatDelay
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 80
|
|
Height = 15
|
|
Top = 142
|
|
Width = 16
|
|
Caption = 'ms'
|
|
ParentColor = False
|
|
end
|
|
object gbAllTypes: TGroupBox
|
|
AnchorSideLeft.Control = ScrollBox2
|
|
AnchorSideTop.Control = edtRepeatDelay
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 89
|
|
Top = 161
|
|
Width = 243
|
|
AutoSize = True
|
|
Caption = 'The ''all'' type includes'
|
|
ChildSizing.LeftRightSpacing = 6
|
|
ChildSizing.TopBottomSpacing = 6
|
|
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
|
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
|
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
|
ChildSizing.ShrinkVertical = crsScaleChilds
|
|
ChildSizing.Layout = cclTopToBottomThenLeftToRight
|
|
ChildSizing.ControlsPerLine = 3
|
|
ClientHeight = 69
|
|
ClientWidth = 239
|
|
TabOrder = 12
|
|
object cbAllByte: TCheckBox
|
|
Left = 6
|
|
Height = 19
|
|
Top = 6
|
|
Width = 57
|
|
Caption = 'Byte'
|
|
TabOrder = 0
|
|
end
|
|
object cbAllWord: TCheckBox
|
|
Left = 6
|
|
Height = 19
|
|
Top = 25
|
|
Width = 57
|
|
Caption = '2 Bytes'
|
|
TabOrder = 1
|
|
end
|
|
object cbAllDword: TCheckBox
|
|
Left = 6
|
|
Height = 19
|
|
Top = 44
|
|
Width = 57
|
|
Caption = '4 Bytes'
|
|
TabOrder = 2
|
|
end
|
|
object cbAllQword: TCheckBox
|
|
Left = 63
|
|
Height = 19
|
|
Top = 6
|
|
Width = 58
|
|
Caption = '8 Bytes'
|
|
TabOrder = 3
|
|
end
|
|
object cbAllSingle: TCheckBox
|
|
Left = 63
|
|
Height = 19
|
|
Top = 25
|
|
Width = 58
|
|
Caption = 'Float'
|
|
TabOrder = 4
|
|
end
|
|
object cbAllDouble: TCheckBox
|
|
Left = 63
|
|
Height = 19
|
|
Top = 44
|
|
Width = 58
|
|
Caption = 'Double'
|
|
TabOrder = 5
|
|
end
|
|
object cbAllCustom: TCheckBox
|
|
Left = 121
|
|
Height = 19
|
|
Top = 6
|
|
Width = 112
|
|
Caption = 'All Custom Types'
|
|
TabOrder = 6
|
|
end
|
|
end
|
|
object cbSaveMemoryregionScanSettings: TCheckBox
|
|
AnchorSideLeft.Control = cbSkip_PAGE_NOCACHE
|
|
AnchorSideTop.Control = cbSkip_PAGE_WRITECOMBINE
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Hint = 'Saves "Writable" "Executable" "Copy-On-Write" '
|
|
Top = 85
|
|
Width = 235
|
|
Caption = 'Save the memoryregions to scan options'
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 13
|
|
end
|
|
end
|
|
end
|
|
object Plugins: TTabSheet
|
|
Caption = 'Plugins'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
ImageIndex = 3
|
|
object Panel7: TPanel
|
|
Left = 641
|
|
Height = 750
|
|
Top = 0
|
|
Width = 98
|
|
Align = alRight
|
|
AutoSize = True
|
|
BevelOuter = bvNone
|
|
ClientHeight = 750
|
|
ClientWidth = 98
|
|
TabOrder = 0
|
|
object Button5: TButton
|
|
AnchorSideLeft.Control = Panel7
|
|
AnchorSideTop.Control = Button4
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = Panel7
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 4
|
|
Height = 25
|
|
Top = 37
|
|
Width = 90
|
|
Anchors = [akTop, akLeft, akRight]
|
|
AutoSize = True
|
|
BorderSpacing.Left = 4
|
|
BorderSpacing.Top = 4
|
|
BorderSpacing.Right = 4
|
|
Caption = 'Delete'
|
|
Constraints.MinWidth = 90
|
|
OnClick = Button5Click
|
|
TabOrder = 0
|
|
end
|
|
object Button4: TButton
|
|
AnchorSideLeft.Control = Panel7
|
|
AnchorSideTop.Control = Panel7
|
|
AnchorSideRight.Control = Panel7
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 4
|
|
Height = 25
|
|
Top = 8
|
|
Width = 90
|
|
Anchors = [akTop, akLeft, akRight]
|
|
AutoSize = True
|
|
BorderSpacing.Left = 4
|
|
BorderSpacing.Top = 8
|
|
BorderSpacing.Right = 4
|
|
Caption = 'Add new'
|
|
Constraints.MinWidth = 90
|
|
OnClick = Button4Click
|
|
TabOrder = 1
|
|
end
|
|
end
|
|
object Panel8: TPanel
|
|
Left = 0
|
|
Height = 750
|
|
Top = 0
|
|
Width = 641
|
|
Align = alClient
|
|
BevelOuter = bvNone
|
|
ClientHeight = 750
|
|
ClientWidth = 641
|
|
TabOrder = 1
|
|
object Label22: TLabel
|
|
Left = 0
|
|
Height = 15
|
|
Top = 0
|
|
Width = 641
|
|
Align = alTop
|
|
Caption = 'The following plugins are available:'
|
|
ParentColor = False
|
|
end
|
|
object clbPlugins: TCheckListBox
|
|
Left = 0
|
|
Height = 735
|
|
Top = 15
|
|
Width = 641
|
|
Align = alClient
|
|
ItemHeight = 0
|
|
TabOrder = 0
|
|
end
|
|
end
|
|
end
|
|
object Languages: TTabSheet
|
|
Caption = 'Languages'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
object Panel1: TPanel
|
|
AnchorSideLeft.Control = Languages
|
|
AnchorSideTop.Control = Languages
|
|
AnchorSideRight.Control = Languages
|
|
AnchorSideRight.Side = asrBottom
|
|
AnchorSideBottom.Control = Languages
|
|
AnchorSideBottom.Side = asrBottom
|
|
Left = 0
|
|
Height = 750
|
|
Top = 0
|
|
Width = 739
|
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
|
BevelOuter = bvNone
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
TabOrder = 0
|
|
object cbShowLanguageMenuItem: TCheckBox
|
|
AnchorSideLeft.Control = Panel1
|
|
AnchorSideBottom.Control = Panel1
|
|
AnchorSideBottom.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 731
|
|
Width = 312
|
|
Anchors = [akLeft, akBottom]
|
|
Caption = 'Show language selection menu item at the main screen'
|
|
TabOrder = 0
|
|
end
|
|
object lbLanguages: TListBox
|
|
AnchorSideLeft.Control = Panel1
|
|
AnchorSideTop.Control = Label9
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = Panel10
|
|
AnchorSideBottom.Control = cbShowLanguageMenuItem
|
|
Left = 0
|
|
Height = 716
|
|
Top = 15
|
|
Width = 619
|
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
|
ItemHeight = 0
|
|
OnDblClick = btnSelectLanguageClick
|
|
PopupMenu = miLanguages
|
|
TabOrder = 1
|
|
end
|
|
object Label9: TLabel
|
|
AnchorSideLeft.Control = Panel1
|
|
AnchorSideTop.Control = Panel1
|
|
Left = 0
|
|
Height = 15
|
|
Top = 0
|
|
Width = 197
|
|
Caption = 'The folowing languages are available:'
|
|
ParentColor = False
|
|
end
|
|
object Panel10: TPanel
|
|
AnchorSideTop.Control = Label9
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = Panel1
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 619
|
|
Height = 67
|
|
Top = 15
|
|
Width = 120
|
|
Anchors = [akTop, akRight]
|
|
AutoSize = True
|
|
BevelOuter = bvNone
|
|
ClientHeight = 67
|
|
ClientWidth = 120
|
|
TabOrder = 2
|
|
object btnSelectLanguage: TButton
|
|
AnchorSideLeft.Control = Panel10
|
|
AnchorSideTop.Control = lblCurrentLanguage
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = Panel10
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 4
|
|
Height = 25
|
|
Top = 42
|
|
Width = 112
|
|
Anchors = [akTop, akLeft, akRight]
|
|
AutoSize = True
|
|
BorderSpacing.Left = 4
|
|
BorderSpacing.Right = 4
|
|
Caption = 'Select Language'
|
|
Default = True
|
|
OnClick = btnSelectLanguageClick
|
|
TabOrder = 0
|
|
end
|
|
object Label10: TLabel
|
|
AnchorSideLeft.Control = Panel10
|
|
AnchorSideTop.Control = Panel10
|
|
Left = 4
|
|
Height = 15
|
|
Top = 0
|
|
Width = 98
|
|
BorderSpacing.Left = 4
|
|
BorderSpacing.Right = 4
|
|
Caption = 'Current Language:'
|
|
ParentColor = False
|
|
end
|
|
object lblCurrentLanguage: TLabel
|
|
AnchorSideLeft.Control = Panel10
|
|
AnchorSideTop.Control = Label10
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = Panel10
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 4
|
|
Height = 15
|
|
Top = 21
|
|
Width = 112
|
|
Alignment = taCenter
|
|
Anchors = [akTop, akLeft, akRight]
|
|
BorderSpacing.Left = 4
|
|
BorderSpacing.Top = 6
|
|
BorderSpacing.Right = 4
|
|
BorderSpacing.Bottom = 6
|
|
Caption = 'English'
|
|
ParentColor = False
|
|
end
|
|
end
|
|
end
|
|
end
|
|
object Assembler: TTabSheet
|
|
Caption = 'Debugger Options'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
ImageIndex = 5
|
|
object ScrollBox3: TScrollBox
|
|
Left = 0
|
|
Height = 750
|
|
Top = 0
|
|
Width = 739
|
|
HorzScrollBar.Page = 688
|
|
HorzScrollBar.Tracking = True
|
|
VertScrollBar.Page = 746
|
|
VertScrollBar.Tracking = True
|
|
Align = alClient
|
|
ClientHeight = 746
|
|
ClientWidth = 718
|
|
TabOrder = 0
|
|
object replacewithnops: TCheckBox
|
|
AnchorSideLeft.Control = Label4
|
|
AnchorSideTop.Control = Label4
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 19
|
|
Hint = 'If you type in a opcode and it is smaller than the opcode you replaced, it will fill the missing bytes with NOP instructions. If the opcode is longer it will replace the opcode(s) that have been overwritten with NOP''s'
|
|
Top = 92
|
|
Width = 227
|
|
Caption = 'Replace incomplete opcodes with nops'
|
|
Checked = True
|
|
OnClick = replacewithnopsClick
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
State = cbChecked
|
|
TabOrder = 0
|
|
end
|
|
object askforreplacewithnops: TCheckBox
|
|
AnchorSideLeft.Control = replacewithnops
|
|
AnchorSideTop.Control = replacewithnops
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 24
|
|
Height = 19
|
|
Top = 111
|
|
Width = 148
|
|
BorderSpacing.Left = 16
|
|
Caption = 'Ask for replace with nop'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 1
|
|
end
|
|
object GroupBox2: TGroupBox
|
|
AnchorSideTop.Control = gbDebuggerInterface
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = ScrollBox3
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 8
|
|
Height = 220
|
|
Top = 432
|
|
Width = 680
|
|
BorderSpacing.Top = 2
|
|
Caption = 'Debugger interface config'
|
|
ClientHeight = 200
|
|
ClientWidth = 676
|
|
TabOrder = 2
|
|
object pcDebugConfig: TPageControl
|
|
Left = 0
|
|
Height = 200
|
|
Top = 0
|
|
Width = 676
|
|
ActivePage = tsMacDebuggerInterface
|
|
Align = alClient
|
|
TabIndex = 3
|
|
TabOrder = 0
|
|
object tsVEHDebugConfig: TTabSheet
|
|
Caption = 'VEH Debugger'
|
|
ClientHeight = 172
|
|
ClientWidth = 668
|
|
object rbVEHHookThreadCreation: TRadioButton
|
|
AnchorSideLeft.Control = tsVEHDebugConfig
|
|
AnchorSideTop.Control = rbVEHPollThread
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 40
|
|
Width = 215
|
|
BorderSpacing.Top = 3
|
|
Caption = 'Hook thread-create and destroy api''s'
|
|
Enabled = False
|
|
TabOrder = 2
|
|
end
|
|
object lblThreadFollowing: TLabel
|
|
AnchorSideLeft.Control = tsVEHDebugConfig
|
|
AnchorSideTop.Control = tsVEHDebugConfig
|
|
Left = 0
|
|
Height = 15
|
|
Top = 0
|
|
Width = 92
|
|
Caption = 'Thread following:'
|
|
ParentColor = False
|
|
end
|
|
object rbVEHUseProcessWatcher: TRadioButton
|
|
AnchorSideLeft.Control = tsVEHDebugConfig
|
|
AnchorSideTop.Control = rbVEHHookThreadCreation
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 62
|
|
Width = 124
|
|
BorderSpacing.Top = 3
|
|
Caption = 'Use processwatcher'
|
|
Enabled = False
|
|
TabOrder = 1
|
|
end
|
|
object rbVEHPollThread: TRadioButton
|
|
AnchorSideLeft.Control = tsVEHDebugConfig
|
|
AnchorSideTop.Control = lblThreadFollowing
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 18
|
|
Width = 100
|
|
BorderSpacing.Top = 3
|
|
Caption = 'Poll for threads'
|
|
Checked = True
|
|
TabOrder = 0
|
|
TabStop = True
|
|
end
|
|
object cbVEHRealContextOnThreadCreation: TCheckBox
|
|
AnchorSideLeft.Control = rbVEHPollThread
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = rbVEHPollThread
|
|
AnchorSideRight.Control = rbVEHPollThread
|
|
Left = 110
|
|
Height = 19
|
|
Top = 18
|
|
Width = 202
|
|
BorderSpacing.Left = 10
|
|
Caption = 'Get/Set thread context on creation'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 3
|
|
end
|
|
end
|
|
object tsWindowsDebuggerConfig: TTabSheet
|
|
Caption = 'Windows Debugger'
|
|
ClientHeight = 172
|
|
ClientWidth = 668
|
|
object CheckBox1: TCheckBox
|
|
AnchorSideLeft.Control = tsWindowsDebuggerConfig
|
|
AnchorSideTop.Control = tsWindowsDebuggerConfig
|
|
Left = 0
|
|
Height = 19
|
|
Top = 0
|
|
Width = 234
|
|
Caption = 'Try to prevent detection of the debugger'
|
|
OnChange = CheckBox1Change
|
|
TabOrder = 0
|
|
end
|
|
end
|
|
object tsKernelDebugConfig: TTabSheet
|
|
Caption = 'Kernel Debug'
|
|
ClientHeight = 172
|
|
ClientWidth = 668
|
|
object cbGlobalDebug: TCheckBox
|
|
AnchorSideLeft.Control = tsKernelDebugConfig
|
|
AnchorSideTop.Control = tsKernelDebugConfig
|
|
Left = 0
|
|
Height = 19
|
|
Top = 0
|
|
Width = 160
|
|
Caption = 'Use Global Debug routines'
|
|
TabOrder = 0
|
|
end
|
|
object cbCanStepKernelcode: TCheckBox
|
|
AnchorSideLeft.Control = cbGlobalDebug
|
|
AnchorSideTop.Control = cbGlobalDebug
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 19
|
|
Width = 203
|
|
Caption = 'Ability to step through kernel code'
|
|
TabOrder = 1
|
|
end
|
|
end
|
|
object tsMacDebuggerInterface: TTabSheet
|
|
Caption = 'Mac Debug'
|
|
ClientHeight = 172
|
|
ClientWidth = 668
|
|
object rbMacDebugTaskLevel: TRadioButton
|
|
AnchorSideLeft.Control = tsMacDebuggerInterface
|
|
AnchorSideTop.Control = tsMacDebuggerInterface
|
|
Left = 0
|
|
Height = 19
|
|
Top = 0
|
|
Width = 73
|
|
Caption = 'Task Level'
|
|
Checked = True
|
|
TabOrder = 1
|
|
TabStop = True
|
|
end
|
|
object rbMacDebugThreadLevel: TRadioButton
|
|
AnchorSideLeft.Control = tsMacDebuggerInterface
|
|
AnchorSideTop.Control = rbMacDebugTaskLevel
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 19
|
|
Width = 83
|
|
Caption = 'Thread level'
|
|
TabOrder = 0
|
|
end
|
|
object cbAttachDebuggerToRosettaOnProcessOpen: TCheckBox
|
|
AnchorSideLeft.Control = cbUseRosettaDebugserver
|
|
AnchorSideTop.Control = cbUseRosettaDebugserver
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 171
|
|
Height = 19
|
|
Top = 19
|
|
Width = 335
|
|
Caption = 'Attach debugger to Rosetta targets when opening a process'
|
|
Checked = True
|
|
OnChange = cbAttachDebuggerToRosettaOnProcessOpenChange
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
State = cbChecked
|
|
TabOrder = 2
|
|
end
|
|
object cbAskToAttachToRosetta: TCheckBox
|
|
AnchorSideLeft.Control = cbAttachDebuggerToRosettaOnProcessOpen
|
|
AnchorSideTop.Control = cbAttachDebuggerToRosettaOnProcessOpen
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 171
|
|
Height = 19
|
|
Top = 38
|
|
Width = 89
|
|
Caption = 'Ask to attach'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 3
|
|
end
|
|
object lblRosettaLaunchCommand: TLabel
|
|
AnchorSideLeft.Control = tsMacDebuggerInterface
|
|
AnchorSideTop.Control = cbAskToAttachToRosetta
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 2
|
|
Height = 15
|
|
Top = 61
|
|
Width = 204
|
|
BorderSpacing.Left = 2
|
|
BorderSpacing.Top = 4
|
|
Caption = 'Rosetta debugserver launch command'
|
|
ParentColor = False
|
|
end
|
|
object lblRosettaPort: TLabel
|
|
AnchorSideTop.Control = lblRosettaLaunchCommand
|
|
Left = 582
|
|
Height = 15
|
|
Top = 61
|
|
Width = 22
|
|
Caption = 'Port'
|
|
ParentColor = False
|
|
end
|
|
object edtRosettaDebugserverLaunchCommand: TEdit
|
|
AnchorSideLeft.Control = lblRosettaLaunchCommand
|
|
AnchorSideTop.Control = lblRosettaLaunchCommand
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = edtRosettaDebugserverPort
|
|
Left = 2
|
|
Height = 23
|
|
Top = 76
|
|
Width = 578
|
|
Anchors = [akTop, akLeft, akRight]
|
|
BorderSpacing.Right = 8
|
|
TabOrder = 4
|
|
Text = '/usr/libexec/rosetta/debugserver 0.0.0.0:33453'
|
|
end
|
|
object edtRosettaDebugserverPort: TEdit
|
|
AnchorSideTop.Control = lblRosettaPort
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = tsMacDebuggerInterface
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 588
|
|
Height = 23
|
|
Top = 76
|
|
Width = 80
|
|
Anchors = [akTop, akRight]
|
|
TabOrder = 5
|
|
Text = '33453'
|
|
end
|
|
object cbGDBWriteCode2: TCheckBox
|
|
AnchorSideLeft.Control = edtRosettaDebugserverLaunchCommand
|
|
AnchorSideTop.Control = edtRosettaDebugserverLaunchCommand
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 2
|
|
Height = 19
|
|
Hint = 'Use this in case the target JIT''s code to native code'
|
|
Top = 99
|
|
Width = 179
|
|
Caption = 'Use debugserver to write code'
|
|
OnChange = cbGDBWriteCode2Change
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 6
|
|
end
|
|
object cbUseRosettaDebugserver: TCheckBox
|
|
AnchorSideLeft.Control = rbMacDebugThreadLevel
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = tsMacDebuggerInterface
|
|
Left = 171
|
|
Height = 19
|
|
Top = 0
|
|
Width = 241
|
|
BorderSpacing.Left = 88
|
|
Caption = 'Use rosetta debugserver on rosetta targets'
|
|
Checked = True
|
|
OnChange = cbUseRosettaDebugserverChange
|
|
State = cbChecked
|
|
TabOrder = 7
|
|
end
|
|
end
|
|
object TabSheet1: TTabSheet
|
|
Caption = 'DBVM'
|
|
ClientHeight = 172
|
|
ClientWidth = 668
|
|
object cbDBVMDebugTriggerCOW: TCheckBox
|
|
AnchorSideLeft.Control = TabSheet1
|
|
AnchorSideTop.Control = TabSheet1
|
|
Left = 0
|
|
Height = 19
|
|
Top = 0
|
|
Width = 274
|
|
Caption = 'Trigger copy-on-write before activating watches'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 0
|
|
end
|
|
object cbDBVMDebugTargetedProcessOnly: TCheckBox
|
|
AnchorSideLeft.Control = TabSheet1
|
|
AnchorSideTop.Control = cbDBVMDebugTriggerCOW
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 19
|
|
Width = 135
|
|
Caption = 'Targeted process only'
|
|
TabOrder = 1
|
|
end
|
|
object cbDBVMDebugKernelmodeBreaks: TCheckBox
|
|
AnchorSideLeft.Control = cbDBVMDebugTriggerCOW
|
|
AnchorSideTop.Control = cbDBVMDebugTargetedProcessOnly
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 38
|
|
Width = 207
|
|
Caption = 'Kernelmode breaks (when possible)'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 2
|
|
end
|
|
end
|
|
object tsGDBDebug: TTabSheet
|
|
Caption = 'GDB Server'
|
|
ClientHeight = 172
|
|
ClientWidth = 668
|
|
object cbLaunchGDBServer: TCheckBox
|
|
AnchorSideLeft.Control = tsGDBDebug
|
|
AnchorSideTop.Control = tsGDBDebug
|
|
Left = 0
|
|
Height = 19
|
|
Hint = 'When the debugger starts instead of asking for an HOST/PORT just launch a gdbserver instance yourself and connect to that'
|
|
Top = 0
|
|
Width = 418
|
|
Caption = 'On debugstart launch gdbserver and connect to localhost on the given port'
|
|
OnChange = cbLaunchGDBServerChange
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 0
|
|
end
|
|
object edtGDBServerCommand: TEdit
|
|
AnchorSideTop.Control = Label26
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = edtGDBPort
|
|
Left = 0
|
|
Height = 23
|
|
Top = 34
|
|
Width = 582
|
|
Anchors = [akTop, akLeft, akRight]
|
|
BorderSpacing.Right = 6
|
|
Enabled = False
|
|
TabOrder = 1
|
|
end
|
|
object Label26: TLabel
|
|
AnchorSideLeft.Control = tsGDBDebug
|
|
AnchorSideTop.Control = cbLaunchGDBServer
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 15
|
|
Top = 19
|
|
Width = 152
|
|
Caption = 'GDBServer launch command'
|
|
Enabled = False
|
|
ParentColor = False
|
|
end
|
|
object Label27: TLabel
|
|
AnchorSideLeft.Control = edtGDBPort
|
|
AnchorSideBottom.Control = edtGDBPort
|
|
Left = 588
|
|
Height = 15
|
|
Top = 19
|
|
Width = 22
|
|
Anchors = [akLeft, akBottom]
|
|
Caption = 'Port'
|
|
Enabled = False
|
|
ParentColor = False
|
|
end
|
|
object edtGDBPort: TEdit
|
|
AnchorSideTop.Control = edtGDBServerCommand
|
|
AnchorSideRight.Control = tsGDBDebug
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 588
|
|
Height = 23
|
|
Top = 34
|
|
Width = 80
|
|
Anchors = [akTop, akRight]
|
|
Enabled = False
|
|
TabOrder = 2
|
|
Text = '33453'
|
|
end
|
|
object cbGDBWriteCode: TCheckBox
|
|
AnchorSideLeft.Control = tsGDBDebug
|
|
AnchorSideTop.Control = edtGDBServerCommand
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Hint = 'Use this in case the target JIT''s code to native code'
|
|
Top = 57
|
|
Width = 137
|
|
Caption = 'Use GDB to write code'
|
|
OnChange = cbGDBWriteCodeChange
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 3
|
|
end
|
|
end
|
|
end
|
|
end
|
|
object gbDebuggerInterface: TGroupBox
|
|
AnchorSideLeft.Control = edtStacksize
|
|
AnchorSideTop.Control = edtStacksize
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 134
|
|
Top = 296
|
|
Width = 379
|
|
AutoSize = True
|
|
Caption = 'Debugger method'
|
|
ChildSizing.LeftRightSpacing = 6
|
|
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
|
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
|
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
|
ChildSizing.ShrinkVertical = crsScaleChilds
|
|
ChildSizing.ControlsPerLine = 1
|
|
ClientHeight = 114
|
|
ClientWidth = 375
|
|
TabOrder = 3
|
|
object cbUseVEHDebugger: TRadioButton
|
|
AnchorSideLeft.Control = gbDebuggerInterface
|
|
AnchorSideTop.Control = gbDebuggerInterface
|
|
Left = 6
|
|
Height = 19
|
|
Top = 0
|
|
Width = 97
|
|
Caption = 'VEH Debugger'
|
|
OnChange = cbDebuggerInterfaceChange
|
|
OnClick = cbDebuggerInterfaceChange
|
|
TabOrder = 0
|
|
end
|
|
object cbUseWindowsDebugger: TRadioButton
|
|
Tag = 1
|
|
AnchorSideLeft.Control = gbDebuggerInterface
|
|
AnchorSideTop.Control = cbUseGDBServer
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 6
|
|
Height = 19
|
|
Top = 38
|
|
Width = 123
|
|
Caption = 'Windows debugger'
|
|
Checked = True
|
|
OnChange = cbDebuggerInterfaceChange
|
|
OnClick = cbDebuggerInterfaceChange
|
|
TabOrder = 1
|
|
TabStop = True
|
|
end
|
|
object Panel11: TPanel
|
|
AnchorSideLeft.Control = cbKDebug
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = cbKDebug
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 144
|
|
Height = 26
|
|
Top = 53
|
|
Width = 225
|
|
AutoSize = True
|
|
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
|
ChildSizing.ControlsPerLine = 2
|
|
ClientHeight = 26
|
|
ClientWidth = 225
|
|
TabOrder = 2
|
|
object btnMakeKernelDebugPossible: TButton
|
|
Left = 0
|
|
Height = 25
|
|
Top = 0
|
|
Width = 101
|
|
Caption = 'Make possible'
|
|
OnClick = btnMakeKernelDebugPossibleClick
|
|
TabOrder = 0
|
|
Visible = False
|
|
end
|
|
object btnRestoreKernelProtection: TButton
|
|
Left = 101
|
|
Height = 25
|
|
Top = 0
|
|
Width = 123
|
|
Caption = 'Restore Protection'
|
|
OnClick = btnRestoreKernelProtectionClick
|
|
TabOrder = 1
|
|
Visible = False
|
|
end
|
|
end
|
|
object cbKDebug: TRadioButton
|
|
Tag = 2
|
|
AnchorSideLeft.Control = gbDebuggerInterface
|
|
AnchorSideTop.Control = cbUseWindowsDebugger
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 6
|
|
Height = 19
|
|
Top = 57
|
|
Width = 138
|
|
Caption = 'Kernelmode debugger'
|
|
OnChange = cbDebuggerInterfaceChange
|
|
OnClick = cbDebuggerInterfaceChange
|
|
TabOrder = 3
|
|
end
|
|
object cbUseMacDebugger: TRadioButton
|
|
AnchorSideTop.Control = cbKDebug
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 6
|
|
Height = 19
|
|
Top = 76
|
|
Width = 112
|
|
Caption = 'MacOS debugger'
|
|
OnChange = cbDebuggerInterfaceChange
|
|
OnClick = cbDebuggerInterfaceChange
|
|
TabOrder = 4
|
|
end
|
|
object cbUseDBVMDebugger: TRadioButton
|
|
Tag = 3
|
|
AnchorSideLeft.Control = cbUseMacDebugger
|
|
AnchorSideTop.Control = cbUseMacDebugger
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 6
|
|
Height = 19
|
|
Top = 95
|
|
Width = 136
|
|
Caption = 'DBVM-level debugger'
|
|
OnChange = cbDebuggerInterfaceChange
|
|
OnClick = cbDebuggerInterfaceChange
|
|
TabOrder = 5
|
|
end
|
|
object cbUseGDBServer: TRadioButton
|
|
AnchorSideLeft.Control = cbUseVEHDebugger
|
|
AnchorSideTop.Control = cbUseVEHDebugger
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 6
|
|
Height = 19
|
|
Top = 19
|
|
Width = 133
|
|
Caption = 'GDB Server Debugger'
|
|
OnChange = cbDebuggerInterfaceChange
|
|
TabOrder = 6
|
|
end
|
|
end
|
|
object Label4: TLabel
|
|
AnchorSideLeft.Control = GroupBox4
|
|
AnchorSideTop.Control = GroupBox4
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 15
|
|
Top = 77
|
|
Width = 113
|
|
Caption = 'Single line assembler:'
|
|
ParentColor = False
|
|
end
|
|
object Label6: TLabel
|
|
AnchorSideLeft.Control = cbWaitAfterGuiUpdate
|
|
AnchorSideTop.Control = cbOverrideExistingBPs
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 15
|
|
Top = 258
|
|
Width = 252
|
|
BorderSpacing.Top = 4
|
|
Caption = 'Size of stack to record on "Find what... routines"'
|
|
ParentColor = False
|
|
end
|
|
object edtStacksize: TEdit
|
|
AnchorSideLeft.Control = Label6
|
|
AnchorSideTop.Control = Label6
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 23
|
|
Top = 273
|
|
Width = 45
|
|
TabOrder = 4
|
|
Text = '4096'
|
|
end
|
|
object Label7: TLabel
|
|
AnchorSideLeft.Control = edtStacksize
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = edtStacksize
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 55
|
|
Height = 15
|
|
Top = 277
|
|
Width = 28
|
|
BorderSpacing.Left = 2
|
|
Caption = 'Bytes'
|
|
ParentColor = False
|
|
end
|
|
object cbOverrideExistingBPs: TCheckBox
|
|
AnchorSideLeft.Control = cbWaitAfterGuiUpdate
|
|
AnchorSideTop.Control = cbWaitAfterGuiUpdate
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 19
|
|
Top = 235
|
|
Width = 310
|
|
Caption = 'Override existing breakpoints when setting breakpoints'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 5
|
|
end
|
|
object GroupBox4: TGroupBox
|
|
AnchorSideLeft.Control = ScrollBox3
|
|
AnchorSideTop.Control = ScrollBox3
|
|
Left = 8
|
|
Height = 77
|
|
Top = 0
|
|
Width = 641
|
|
AutoSize = True
|
|
BorderSpacing.Left = 8
|
|
Caption = 'Prefered breakpoint method'
|
|
ClientHeight = 57
|
|
ClientWidth = 637
|
|
TabOrder = 6
|
|
object rbDebugAsBreakpoint: TRadioButton
|
|
AnchorSideLeft.Control = GroupBox4
|
|
AnchorSideTop.Control = GroupBox4
|
|
Left = 0
|
|
Height = 19
|
|
Top = 0
|
|
Width = 179
|
|
Caption = 'Hardware Breakpoints (Max 4)'
|
|
Checked = True
|
|
TabOrder = 0
|
|
TabStop = True
|
|
end
|
|
object rbInt3AsBreakpoint: TRadioButton
|
|
AnchorSideLeft.Control = GroupBox4
|
|
AnchorSideTop.Control = rbDebugAsBreakpoint
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 19
|
|
Width = 401
|
|
Caption = 'Int3 instructions (Execute BP only, falls back to hardware bp) (Unlimited)'
|
|
TabOrder = 1
|
|
end
|
|
object rbPageExceptions: TRadioButton
|
|
AnchorSideLeft.Control = GroupBox4
|
|
AnchorSideTop.Control = rbInt3AsBreakpoint
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 0
|
|
Height = 19
|
|
Top = 38
|
|
Width = 637
|
|
Caption = 'Page exceptions (Extremely slow to unplayable, buggy, best used if nothing else works. Does not use debug registers)'
|
|
TabOrder = 2
|
|
end
|
|
end
|
|
object cbWaitAfterGuiUpdate: TCheckBox
|
|
AnchorSideLeft.Control = replacewithnops
|
|
AnchorSideTop.Control = cbIPTTraceSize
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 19
|
|
Hint = 'Sometimes when using one of the "find out what..." functions they get hit so often that the gui has no time to update, resulting in anoying behaviour like certain windows not closing or unresponsive buttons.'#13#10'With this option enabled the debugger will give the gui some time to handle the messages before it sends it a new update.'#13#10'Downside: The game may become slightly slower when using these functions. (Of course, if it has been hammering the gui, it would already have been frozen)'
|
|
Top = 216
|
|
Width = 136
|
|
Caption = 'Wait after gui updates'
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 7
|
|
end
|
|
object gbUnexpectedExceptionHandling: TGroupBox
|
|
AnchorSideLeft.Control = GroupBox2
|
|
AnchorSideTop.Control = GroupBox2
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = GroupBox2
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 8
|
|
Height = 96
|
|
Top = 654
|
|
Width = 357
|
|
AutoSize = True
|
|
BorderSpacing.Top = 2
|
|
Caption = 'When CE starts default behaviour for unexpected breakpoints'
|
|
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
|
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
|
ChildSizing.ControlsPerLine = 1
|
|
ClientHeight = 76
|
|
ClientWidth = 353
|
|
TabOrder = 8
|
|
object miUnexpectedBreakpointsIgnore: TRadioButton
|
|
Left = 0
|
|
Height = 19
|
|
Top = 0
|
|
Width = 353
|
|
Caption = 'Ignore'
|
|
Checked = True
|
|
OnChange = miUnexpectedBreakpointsOptionChange
|
|
TabOrder = 3
|
|
TabStop = True
|
|
end
|
|
object miUnexpectedBreakpointsBreak: TRadioButton
|
|
Left = 0
|
|
Height = 19
|
|
Top = 19
|
|
Width = 353
|
|
Caption = 'Break'
|
|
OnChange = miUnexpectedBreakpointsOptionChange
|
|
TabOrder = 0
|
|
end
|
|
object miUnexpectedBreakpointsBreakWhenInsideRegion: TRadioButton
|
|
Left = 0
|
|
Height = 19
|
|
Top = 38
|
|
Width = 353
|
|
Caption = 'Break when inside specific regions'
|
|
OnChange = miUnexpectedBreakpointsOptionChange
|
|
TabOrder = 1
|
|
end
|
|
object cbAllocsAddToWatchedRegions: TCheckBox
|
|
Left = 0
|
|
Height = 19
|
|
Top = 57
|
|
Width = 353
|
|
Caption = 'Automatically add allocated memory by CE as watched regions'
|
|
TabOrder = 2
|
|
end
|
|
end
|
|
object cbUseIntelPT: TCheckBox
|
|
AnchorSideLeft.Control = replacewithnops
|
|
AnchorSideTop.Control = askforreplacewithnops
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 19
|
|
Top = 130
|
|
Width = 285
|
|
Caption = 'Use intel-PT feature when the debugger is enabled'
|
|
OnChange = cbUseIntelPTChange
|
|
TabOrder = 9
|
|
end
|
|
object cbIPTTraceSize: TComboBox
|
|
AnchorSideLeft.Control = askforreplacewithnops
|
|
AnchorSideTop.Control = cbRecordIPTForFindWhatRoutines
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 168
|
|
Height = 23
|
|
Top = 191
|
|
Width = 72
|
|
Anchors = [akTop]
|
|
BorderSpacing.Top = 2
|
|
BorderSpacing.Bottom = 2
|
|
ItemHeight = 15
|
|
ItemIndex = 1
|
|
Items.Strings = (
|
|
'4KB'
|
|
'8KB'
|
|
'16KB'
|
|
'32KB'
|
|
'64KB'
|
|
'128KB'
|
|
'256KB'
|
|
'512KB'
|
|
'1MB'
|
|
'2MB'
|
|
'4MB'
|
|
'8MB'
|
|
'16MB'
|
|
'32MB'
|
|
'64MB'
|
|
'128MB'
|
|
)
|
|
Style = csDropDownList
|
|
TabOrder = 10
|
|
Text = '8KB'
|
|
Visible = False
|
|
end
|
|
object lblMaxIPTSize: TLabel
|
|
AnchorSideLeft.Control = askforreplacewithnops
|
|
AnchorSideTop.Control = cbIPTTraceSize
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 24
|
|
Height = 15
|
|
Top = 195
|
|
Width = 120
|
|
Caption = 'Maximum ipt tracesize'
|
|
ParentColor = False
|
|
Visible = False
|
|
end
|
|
object cbRecordIPTForFindWhatRoutines: TCheckBox
|
|
AnchorSideLeft.Control = askforreplacewithnops
|
|
AnchorSideTop.Control = cbHideIPTCapability
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 24
|
|
Height = 19
|
|
Hint = 'When selected every single element in "find what ..." routines will get a copy of the trace for that threat at that time. (Can eat a lot of memory if this is high)'#13#10'When deselected you can only get the trace information when stopped on a breakpoint. '
|
|
Top = 170
|
|
Width = 290
|
|
BorderSpacing.Top = 2
|
|
Caption = 'Record trace in elements of "Find what ... " routines'
|
|
Checked = True
|
|
OnChange = cbRecordIPTForFindWhatRoutinesChange
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
State = cbChecked
|
|
TabOrder = 11
|
|
Visible = False
|
|
end
|
|
object cbHideIPTCapability: TCheckBox
|
|
AnchorSideTop.Control = cbUseIntelPT
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 24
|
|
Height = 19
|
|
Hint = 'In case you really do not wish to be reminded of this'
|
|
Top = 149
|
|
Width = 160
|
|
Caption = 'Hide IPT features from GUI'
|
|
ParentShowHint = False
|
|
ShowHint = True
|
|
TabOrder = 12
|
|
end
|
|
end
|
|
end
|
|
object tsLua: TTabSheet
|
|
Caption = 'Lua'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
object cbLuaPassiveGarbageCollection: TCheckBox
|
|
AnchorSideLeft.Control = tsLua
|
|
AnchorSideTop.Control = tsLua
|
|
Left = 3
|
|
Height = 19
|
|
Hint = 'Constantly runs a few steps of the garbage collector sequence. (Will take a while till all garbage is cleaned if there is a lot)'
|
|
Top = 3
|
|
Width = 159
|
|
BorderSpacing.Left = 3
|
|
BorderSpacing.Top = 3
|
|
Caption = 'Passive garbage collection'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 0
|
|
end
|
|
object cbLuaGarbageCollectAll: TCheckBox
|
|
AnchorSideLeft.Control = cbLuaPassiveGarbageCollection
|
|
AnchorSideTop.Control = cbLuaPassiveGarbageCollection
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 3
|
|
Height = 19
|
|
Top = 25
|
|
Width = 217
|
|
BorderSpacing.Top = 3
|
|
Caption = 'Collect all garbage every few seconds'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 1
|
|
end
|
|
object edtLuaCollectTimer: TEdit
|
|
AnchorSideLeft.Control = cbLuaGarbageCollectAll
|
|
AnchorSideTop.Control = cbLuaGarbageCollectAll
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 19
|
|
Height = 23
|
|
Top = 44
|
|
Width = 62
|
|
BorderSpacing.Left = 16
|
|
TabOrder = 2
|
|
Text = '60'
|
|
end
|
|
object Label17: TLabel
|
|
AnchorSideLeft.Control = edtLuaCollectTimer
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = edtLuaCollectTimer
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 84
|
|
Height = 15
|
|
Top = 48
|
|
Width = 44
|
|
BorderSpacing.Left = 3
|
|
Caption = 'Seconds'
|
|
ParentColor = False
|
|
end
|
|
object cbLuaOnlyCollectWhenLarger: TCheckBox
|
|
AnchorSideLeft.Control = edtLuaCollectTimer
|
|
AnchorSideTop.Control = edtLuaCollectTimer
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 19
|
|
Height = 19
|
|
Top = 70
|
|
Width = 197
|
|
BorderSpacing.Top = 3
|
|
Caption = 'Only when the size is bigger than:'
|
|
TabOrder = 3
|
|
end
|
|
object edtLuaMinCollectSize: TEdit
|
|
AnchorSideLeft.Control = cbLuaOnlyCollectWhenLarger
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = cbLuaOnlyCollectWhenLarger
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 216
|
|
Height = 23
|
|
Top = 68
|
|
Width = 57
|
|
TabOrder = 4
|
|
Text = '200'
|
|
end
|
|
object Label20: TLabel
|
|
AnchorSideLeft.Control = edtLuaMinCollectSize
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = edtLuaMinCollectSize
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 276
|
|
Height = 15
|
|
Top = 72
|
|
Width = 53
|
|
BorderSpacing.Left = 3
|
|
Caption = 'Megabyte'
|
|
ParentColor = False
|
|
end
|
|
end
|
|
object Extra: TTabSheet
|
|
Caption = 'Extra'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
ImageIndex = 6
|
|
object TauntOldOsUser: TLabel
|
|
Left = 0
|
|
Height = 15
|
|
Top = 735
|
|
Width = 739
|
|
Align = alBottom
|
|
Alignment = taCenter
|
|
Caption = 'I really recommend upgrading to Windows 2000 or later mister Flintstone'
|
|
ParentColor = False
|
|
Visible = False
|
|
end
|
|
object GroupBox3: TGroupBox
|
|
Left = 5
|
|
Height = 77
|
|
Top = 0
|
|
Width = 729
|
|
Align = alTop
|
|
AutoSize = True
|
|
BorderSpacing.Left = 5
|
|
BorderSpacing.Right = 5
|
|
Caption = 'Use the following CE Kernel routines instead of the original windows version'
|
|
ClientHeight = 57
|
|
ClientWidth = 725
|
|
TabOrder = 0
|
|
object cbKernelQueryMemoryRegion: TCheckBox
|
|
AnchorSideLeft.Control = GroupBox3
|
|
AnchorSideTop.Control = GroupBox3
|
|
Left = 8
|
|
Height = 19
|
|
Top = 0
|
|
Width = 183
|
|
BorderSpacing.Left = 8
|
|
Caption = 'Query memory region routines'
|
|
OnClick = cbKernelQueryMemoryRegionClick
|
|
TabOrder = 0
|
|
end
|
|
object cbKernelReadWriteProcessMemory: TCheckBox
|
|
AnchorSideLeft.Control = cbKernelQueryMemoryRegion
|
|
AnchorSideTop.Control = cbKernelQueryMemoryRegion
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 19
|
|
Top = 19
|
|
Width = 306
|
|
Caption = 'Read/Write Process Memory (Will cause slower scans)'
|
|
OnClick = cbKernelQueryMemoryRegionClick
|
|
TabOrder = 1
|
|
end
|
|
object cbKernelOpenProcess: TCheckBox
|
|
AnchorSideLeft.Control = cbKernelReadWriteProcessMemory
|
|
AnchorSideTop.Control = cbKernelReadWriteProcessMemory
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 19
|
|
Top = 38
|
|
Width = 92
|
|
Caption = 'Open Process'
|
|
OnChange = cbKernelOpenProcessChange
|
|
TabOrder = 2
|
|
end
|
|
object cbDontOpenHandle: TCheckBox
|
|
AnchorSideLeft.Control = cbKernelOpenProcess
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = cbKernelOpenProcess
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 108
|
|
Height = 19
|
|
Top = 38
|
|
Width = 168
|
|
BorderSpacing.Left = 8
|
|
Caption = 'Do not try to obtain handles'
|
|
Enabled = False
|
|
TabOrder = 3
|
|
Visible = False
|
|
end
|
|
end
|
|
object cbProcessWatcher: TCheckBox
|
|
AnchorSideLeft.Control = GroupBox3
|
|
AnchorSideTop.Control = GroupBox3
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 5
|
|
Height = 19
|
|
Top = 77
|
|
Width = 200
|
|
Caption = 'Enable use of the Process Watcher'
|
|
OnChange = cbProcessWatcherChange
|
|
TabOrder = 1
|
|
end
|
|
object cbInjectDLLWithAPC: TCheckBox
|
|
AnchorSideLeft.Control = cbProcessWatcher
|
|
AnchorSideTop.Control = cbProcessWatcher
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 5
|
|
Height = 19
|
|
Top = 112
|
|
Width = 135
|
|
BorderSpacing.Top = 16
|
|
Caption = 'Use APC to inject dll''s'
|
|
TabOrder = 2
|
|
Visible = False
|
|
end
|
|
object CheckBox4: TCheckBox
|
|
Left = 0
|
|
Height = 19
|
|
Top = 296
|
|
Width = 181
|
|
Caption = 'Use APC to create new threads'
|
|
TabOrder = 3
|
|
Visible = False
|
|
end
|
|
object cbProcessWatcherOpensHandles: TCheckBox
|
|
AnchorSideLeft.Control = cbProcessWatcher
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = cbProcessWatcher
|
|
AnchorSideTop.Side = asrCenter
|
|
Left = 213
|
|
Height = 19
|
|
Top = 77
|
|
Width = 219
|
|
BorderSpacing.Left = 8
|
|
Caption = 'Open handle to processes on creation'
|
|
Checked = True
|
|
Enabled = False
|
|
State = cbChecked
|
|
TabOrder = 4
|
|
Visible = False
|
|
end
|
|
end
|
|
object tsTools: TTabSheet
|
|
Caption = 'tsTools'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
ImageIndex = 9
|
|
object Panel2: TPanel
|
|
Left = 0
|
|
Height = 19
|
|
Top = 0
|
|
Width = 739
|
|
Align = alTop
|
|
AutoSize = True
|
|
BevelOuter = bvNone
|
|
ClientHeight = 19
|
|
ClientWidth = 739
|
|
TabOrder = 0
|
|
object cbShowTools: TCheckBox
|
|
Left = 0
|
|
Height = 19
|
|
Top = 0
|
|
Width = 145
|
|
Caption = 'Show ''tools'' menu item'
|
|
Checked = True
|
|
OnClick = cbShowToolsClick
|
|
State = cbChecked
|
|
TabOrder = 0
|
|
end
|
|
end
|
|
object Panel3: TPanel
|
|
Left = 509
|
|
Height = 731
|
|
Top = 19
|
|
Width = 230
|
|
Align = alRight
|
|
AutoSize = True
|
|
BevelOuter = bvNone
|
|
ClientHeight = 731
|
|
ClientWidth = 230
|
|
Constraints.MinWidth = 230
|
|
TabOrder = 1
|
|
OnClick = Panel3Click
|
|
OnResize = Panel3Resize
|
|
object lblApplicationTool: TLabel
|
|
AnchorSideLeft.Control = lblToolsName
|
|
AnchorSideTop.Control = edtToolsName
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 15
|
|
Top = 38
|
|
Width = 123
|
|
Caption = 'Application/Command'
|
|
Enabled = False
|
|
ParentColor = False
|
|
end
|
|
object lblShortcut: TLabel
|
|
AnchorSideLeft.Control = edtApplicationTool
|
|
AnchorSideTop.Control = edtApplicationTool
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 15
|
|
Top = 76
|
|
Width = 48
|
|
Caption = 'Shortcut:'
|
|
Enabled = False
|
|
ParentColor = False
|
|
end
|
|
object lblShortcutText: TLabel
|
|
AnchorSideLeft.Control = lblShortcut
|
|
AnchorSideTop.Control = lblShortcut
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 15
|
|
Top = 91
|
|
Width = 48
|
|
Caption = 'xxxxxxxx'
|
|
Enabled = False
|
|
ParentColor = False
|
|
end
|
|
object lblToolsName: TLabel
|
|
AnchorSideLeft.Control = Panel3
|
|
AnchorSideTop.Control = Panel3
|
|
Left = 8
|
|
Height = 15
|
|
Top = 0
|
|
Width = 32
|
|
BorderSpacing.Left = 8
|
|
Caption = 'Name'
|
|
Enabled = False
|
|
ParentColor = False
|
|
end
|
|
object OpenButton: TSpeedButton
|
|
AnchorSideTop.Control = edtApplicationTool
|
|
AnchorSideTop.Side = asrCenter
|
|
AnchorSideRight.Control = Panel3
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 200
|
|
Height = 26
|
|
Top = 51
|
|
Width = 27
|
|
Anchors = [akTop, akRight]
|
|
BorderSpacing.Right = 3
|
|
Constraints.MinWidth = 26
|
|
Enabled = False
|
|
Glyph.Data = {
|
|
D6020000424DD6020000000000003600000028000000100000000E0000000100
|
|
180000000000A0020000C40E0000C40E00000000000000000000C0C0C0C0C0C0
|
|
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
|
|
C0C0C0C0C0C0C0C0C0C000000000000000000000000000000000000000000000
|
|
0000000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000000000
|
|
008484008484008484008484008484008484008484008484008484000000C0C0
|
|
C0C0C0C0C0C0C0C0C0C000000000FFFF00000000848400848400848400848400
|
|
8484008484008484008484008484000000C0C0C0C0C0C0C0C0C0000000FFFFFF
|
|
00FFFF0000000084840084840084840084840084840084840084840084840084
|
|
84000000C0C0C0C0C0C000000000FFFFFFFFFF00FFFF00000000848400848400
|
|
8484008484008484008484008484008484008484000000C0C0C0000000FFFFFF
|
|
00FFFFFFFFFF00FFFF0000000000000000000000000000000000000000000000
|
|
0000000000000000000000000000FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00
|
|
FFFFFFFFFF00FFFF000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000FFFFFF
|
|
00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF000000C0C0C0C0C0
|
|
C0C0C0C0C0C0C0C0C0C000000000FFFFFFFFFF00FFFF00000000000000000000
|
|
0000000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000
|
|
000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C00000
|
|
00000000000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
|
|
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000000000C0C0C0C0C0C0C0C0C0
|
|
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0000000C0C0C0C0C0C0C0C0C00000
|
|
00C0C0C0000000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
|
|
C0C0C0C0C0000000000000000000C0C0C0C0C0C0C0C0C0C0C0C0
|
|
}
|
|
OnClick = OpenButtonClick
|
|
ShowHint = True
|
|
ParentShowHint = False
|
|
end
|
|
object edtApplicationTool: TEdit
|
|
AnchorSideLeft.Control = lblApplicationTool
|
|
AnchorSideTop.Control = lblApplicationTool
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = OpenButton
|
|
Left = 8
|
|
Height = 23
|
|
Top = 53
|
|
Width = 190
|
|
Anchors = [akTop, akLeft, akRight]
|
|
BorderSpacing.Right = 2
|
|
Enabled = False
|
|
MaxLength = 255
|
|
OnChange = edtApplicationToolChange
|
|
TabOrder = 1
|
|
end
|
|
object btnSetToolShortcut: TButton
|
|
AnchorSideLeft.Control = lblShortcutText
|
|
AnchorSideTop.Control = lblShortcutText
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 8
|
|
Height = 25
|
|
Top = 110
|
|
Width = 89
|
|
AutoSize = True
|
|
BorderSpacing.Top = 4
|
|
Caption = 'Set shortcut'
|
|
Enabled = False
|
|
OnClick = btnSetToolShortcutClick
|
|
TabOrder = 2
|
|
end
|
|
object edtToolsName: TEdit
|
|
AnchorSideLeft.Control = lblToolsName
|
|
AnchorSideTop.Control = lblToolsName
|
|
AnchorSideTop.Side = asrBottom
|
|
AnchorSideRight.Control = Panel3
|
|
AnchorSideRight.Side = asrBottom
|
|
Left = 8
|
|
Height = 23
|
|
Top = 15
|
|
Width = 217
|
|
Anchors = [akTop, akLeft, akRight]
|
|
BorderSpacing.Right = 5
|
|
Enabled = False
|
|
MaxLength = 255
|
|
OnChange = edtToolsNameChange
|
|
TabOrder = 0
|
|
end
|
|
object spbUp: TSpeedButton
|
|
AnchorSideLeft.Control = spbDown
|
|
AnchorSideBottom.Control = spbDown
|
|
Left = 0
|
|
Height = 28
|
|
Top = 646
|
|
Width = 21
|
|
Anchors = [akLeft, akBottom]
|
|
BorderSpacing.Bottom = 2
|
|
Enabled = False
|
|
Glyph.Data = {
|
|
76010000424D7601000000000000760000002800000020000000100000000100
|
|
04000000000000010000120B0000120B00001000000000000000000000000000
|
|
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
|
|
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333000333
|
|
3333333333777F33333333333309033333333333337F7F333333333333090333
|
|
33333333337F7F33333333333309033333333333337F7F333333333333090333
|
|
33333333337F7F33333333333309033333333333FF7F7FFFF333333000090000
|
|
3333333777737777F333333099999990333333373F3333373333333309999903
|
|
333333337F33337F33333333099999033333333373F333733333333330999033
|
|
3333333337F337F3333333333099903333333333373F37333333333333090333
|
|
33333333337F7F33333333333309033333333333337373333333333333303333
|
|
333333333337F333333333333330333333333333333733333333
|
|
}
|
|
NumGlyphs = 2
|
|
OnClick = spbUpClick
|
|
end
|
|
object spbDown: TSpeedButton
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideBottom.Side = asrBottom
|
|
Left = 0
|
|
Height = 27
|
|
Top = 676
|
|
Width = 21
|
|
Anchors = [akLeft, akBottom]
|
|
Enabled = False
|
|
Glyph.Data = {
|
|
76010000424D7601000000000000760000002800000020000000100000000100
|
|
04000000000000010000120B0000120B00001000000000000000000000000000
|
|
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
|
|
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333303333
|
|
333333333337F33333333333333033333333333333373F333333333333090333
|
|
33333333337F7F33333333333309033333333333337373F33333333330999033
|
|
3333333337F337F33333333330999033333333333733373F3333333309999903
|
|
333333337F33337F33333333099999033333333373333373F333333099999990
|
|
33333337FFFF3FF7F33333300009000033333337777F77773333333333090333
|
|
33333333337F7F33333333333309033333333333337F7F333333333333090333
|
|
33333333337F7F33333333333309033333333333337F7F333333333333090333
|
|
33333333337F7F33333333333300033333333333337773333333
|
|
}
|
|
NumGlyphs = 2
|
|
OnClick = spbDownClick
|
|
end
|
|
end
|
|
object Panel5: TPanel
|
|
Left = 0
|
|
Height = 731
|
|
Top = 19
|
|
Width = 509
|
|
Align = alClient
|
|
BevelOuter = bvNone
|
|
ClientHeight = 731
|
|
ClientWidth = 509
|
|
TabOrder = 2
|
|
object Panel4: TPanel
|
|
Left = 0
|
|
Height = 33
|
|
Top = 698
|
|
Width = 509
|
|
Align = alBottom
|
|
AutoSize = True
|
|
BevelOuter = bvNone
|
|
ClientHeight = 33
|
|
ClientWidth = 509
|
|
TabOrder = 0
|
|
object btnToolNew: TButton
|
|
AnchorSideLeft.Control = Panel4
|
|
AnchorSideTop.Control = Panel4
|
|
Left = 4
|
|
Height = 25
|
|
Top = 4
|
|
Width = 92
|
|
AutoSize = True
|
|
BorderSpacing.Left = 4
|
|
BorderSpacing.Top = 4
|
|
BorderSpacing.Bottom = 4
|
|
Caption = 'New'
|
|
Constraints.MinWidth = 92
|
|
OnClick = btnToolNewClick
|
|
TabOrder = 0
|
|
end
|
|
object btnToolDelete: TButton
|
|
AnchorSideLeft.Control = btnToolNew
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = btnToolNew
|
|
Left = 100
|
|
Height = 25
|
|
Top = 4
|
|
Width = 92
|
|
AutoSize = True
|
|
BorderSpacing.Left = 4
|
|
BorderSpacing.Right = 4
|
|
BorderSpacing.Bottom = 4
|
|
Caption = 'Delete'
|
|
Constraints.MinWidth = 92
|
|
OnClick = btnToolDeleteClick
|
|
TabOrder = 1
|
|
end
|
|
end
|
|
object lvTools: TListView
|
|
Left = 0
|
|
Height = 698
|
|
Top = 0
|
|
Width = 509
|
|
Align = alClient
|
|
Columns = <
|
|
item
|
|
Caption = 'Name'
|
|
Width = 74
|
|
end
|
|
item
|
|
Caption = 'Application'
|
|
Width = 234
|
|
end
|
|
item
|
|
AutoSize = True
|
|
Caption = 'Shortcut'
|
|
Width = 60
|
|
end>
|
|
HideSelection = False
|
|
ReadOnly = True
|
|
RowSelect = True
|
|
TabOrder = 1
|
|
ViewStyle = vsReport
|
|
OnClick = lvToolsClick
|
|
end
|
|
end
|
|
end
|
|
object CodeFinder: TTabSheet
|
|
Caption = 'CodeFinder'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
ImageIndex = 4
|
|
object cbHandleBreakpoints: TCheckBox
|
|
Left = 15
|
|
Height = 19
|
|
Top = 9
|
|
Width = 213
|
|
Caption = 'Handle beakpoints not caused by CE'
|
|
OnClick = CheckBox1Click
|
|
TabOrder = 0
|
|
end
|
|
end
|
|
object tsSigning: TTabSheet
|
|
Caption = 'tsSigning'
|
|
ClientHeight = 750
|
|
ClientWidth = 739
|
|
object cbAlwaysSignTable: TCheckBox
|
|
AnchorSideLeft.Control = tsSigning
|
|
AnchorSideTop.Control = tsSigning
|
|
Left = 2
|
|
Height = 19
|
|
Top = 2
|
|
Width = 221
|
|
BorderSpacing.Left = 2
|
|
BorderSpacing.Top = 2
|
|
Caption = 'Always sign Cheat Tables when saving'
|
|
TabOrder = 0
|
|
end
|
|
object cbAlwaysAskForPassword: TCheckBox
|
|
AnchorSideLeft.Control = cbAlwaysSignTable
|
|
AnchorSideTop.Control = cbAlwaysSignTable
|
|
AnchorSideTop.Side = asrBottom
|
|
Left = 2
|
|
Height = 19
|
|
Top = 21
|
|
Width = 222
|
|
Caption = 'Always ask for password when signing'
|
|
TabOrder = 1
|
|
end
|
|
end
|
|
end
|
|
end
|
|
object Panel6: TPanel
|
|
Left = 0
|
|
Height = 37
|
|
Top = 780
|
|
Width = 902
|
|
Align = alBottom
|
|
AutoSize = True
|
|
BevelOuter = bvNone
|
|
ClientHeight = 37
|
|
ClientWidth = 902
|
|
TabOrder = 1
|
|
OnResize = Panel6Resize
|
|
object AboutLabel: TLabel
|
|
AnchorSideRight.Control = Panel6
|
|
AnchorSideRight.Side = asrBottom
|
|
AnchorSideBottom.Control = Panel6
|
|
AnchorSideBottom.Side = asrBottom
|
|
Cursor = crHandPoint
|
|
Left = 852
|
|
Height = 15
|
|
Top = 22
|
|
Width = 50
|
|
Anchors = [akRight, akBottom]
|
|
Caption = 'About CE'
|
|
Font.Color = clBlue
|
|
Font.Style = [fsUnderline]
|
|
ParentColor = False
|
|
ParentFont = False
|
|
OnClick = AboutLabelClick
|
|
end
|
|
object Panel9: TPanel
|
|
AnchorSideLeft.Control = Panel6
|
|
AnchorSideLeft.Side = asrCenter
|
|
AnchorSideTop.Control = Panel6
|
|
Left = 372
|
|
Height = 25
|
|
Top = 6
|
|
Width = 158
|
|
AutoSize = True
|
|
BorderSpacing.Top = 6
|
|
BorderSpacing.Bottom = 6
|
|
BevelOuter = bvNone
|
|
ClientHeight = 25
|
|
ClientWidth = 158
|
|
TabOrder = 0
|
|
object btnOK: TButton
|
|
AnchorSideLeft.Control = Panel9
|
|
AnchorSideTop.Control = Panel9
|
|
Left = 0
|
|
Height = 25
|
|
Top = 0
|
|
Width = 75
|
|
AutoSize = True
|
|
Caption = 'OK'
|
|
Constraints.MinWidth = 75
|
|
OnClick = btnOKClick
|
|
TabOrder = 0
|
|
end
|
|
object btnCancel: TButton
|
|
AnchorSideLeft.Control = btnOK
|
|
AnchorSideLeft.Side = asrBottom
|
|
AnchorSideTop.Control = Panel9
|
|
Left = 83
|
|
Height = 25
|
|
Top = 0
|
|
Width = 75
|
|
AutoSize = True
|
|
BorderSpacing.Left = 8
|
|
Cancel = True
|
|
Caption = 'Cancel'
|
|
Constraints.MinWidth = 75
|
|
ModalResult = 2
|
|
OnClick = btnCancelClick
|
|
TabOrder = 1
|
|
end
|
|
end
|
|
end
|
|
object defaultbuffer: TPopupMenu
|
|
Left = 16
|
|
Top = 264
|
|
object Default1: TMenuItem
|
|
Caption = 'Default'
|
|
OnClick = Default1Click
|
|
end
|
|
end
|
|
object OpenDialog1: TOpenDialog
|
|
DefaultExt = '.DLL'
|
|
Filter = 'Cheat Engine Plugins (*.dll)|*.dll'
|
|
Left = 52
|
|
Top = 264
|
|
end
|
|
object OpenDialog2: TOpenDialog
|
|
DefaultExt = '.exe'
|
|
Filter = 'Application (*.exe)|*.exe'
|
|
Left = 52
|
|
Top = 352
|
|
end
|
|
object SelectDirectoryDialog1: TSelectDirectoryDialog
|
|
Left = 40
|
|
Top = 224
|
|
end
|
|
object FontDialog1: TFontDialog
|
|
MinFontSize = 0
|
|
MaxFontSize = 0
|
|
Left = 801
|
|
Top = 143
|
|
end
|
|
object miLanguages: TPopupMenu
|
|
Left = 536
|
|
Top = 240
|
|
object MenuItem1: TMenuItem
|
|
Caption = 'Refresh'
|
|
OnClick = MenuItem1Click
|
|
end
|
|
end
|
|
end
|