-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCrySearchForm.h
153 lines (139 loc) · 4.7 KB
/
CrySearchForm.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#ifndef _CrySearch_CrySearchForm_h_
#define _CrySearch_CrySearchForm_h_
#include "CryChangeRecordDialog.h"
#include "CrySearchArrayCtrl.h"
#include "AddressTable.h"
#include "CrySearchWindowManager.h"
#include "CrashHandler.h"
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
// Represents the CrySearch main application window. Everything is initialized and operated from this.
class CrySearchForm : public TopWindow
{
private:
bool processLoaded;
bool ProcessTerminated;
bool wndTitleRandomized;
bool lowerPaneHidden;
MenuBar mMenuStrip;
ToolBar mToolStrip;
Label mOpenedProcess;
CrySearchArrayCtrl mScanResults;
Splitter mMainSplitter;
ParentCtrl mUserAddressPanel;
CrySearchArrayCtrl mUserAddressList;
Splitter mInputScanSplitter;
ParentCtrl mSearchResultsPanel;
Label mSearchResultCount;
ProgressIndicator mScanningProgress;
TabCtrl mTabbedDataWindows;
// CrySearch window manager will proxy operations and data between the main window and backend.
CrySearchWindowManager mWindowManager;
void MainMenu(Bar& pBar);
void ToolStrip(Bar& pBar);
void FileMenu(Bar& pBar);
void EditMenu(Bar& pBar);
void ToolsMenu(Bar& pBar);
void DebuggerMenu(Bar& pBar);
void WindowMenu(Bar& pBar);
void HelpMenu(Bar& pBar);
void UserDefinedEntryWhenBar(Bar& pBar);
void SearchResultWhenBar(Bar& pBar);
void ChangeRecordSubMenu(Bar& pBar);
void CopyAddressTableValueMenu(Bar& pBar);
void SetDataBreakpointMenu(Bar& pBar);
void CopyAddressTableEntryDescription();
void CopyAddressTableEntryAddress();
void CopyAddressTableEntryValue();
void CopyAddressTableEntryType();
void AddressTableRemovalRoutine(const Vector<int>& items);
void SetMainSplitterPosition();
void HideLowerPaneButtonClicked();
void ViewSystemHandlesButtonClicked();
void ActiveTabWindowChanged();
void RandomizeWindowTitle();
void SetBreakpointMenuFunction(const HWBP_TYPE type);
void ToggleAlwaysOnTop();
void SetDataBreakpointOnExecute();
void SetDataBreakpointOnRead();
void SetDataBreakpointOnReadWrite();
void DebugWindowErrorOccured();
void DebuggerAttachMenu();
void DebuggerDetachMenu();
void AllocateMemoryButtonClicked();
void FillMemoryButtonClicked();
void ViewPEBButtonClicked();
void MemoryDissectionButtonClicked();
void ToggleDebuggerWindow();
void ToggleAddressTableFreezeThaw();
void ToggleAddressTableValueView();
void ToggleSearchResultViewAs();
void AddressListEntryMemoryDissection();
void HeapWalkMenuClicked();
void CodeCaveMenuClicked();
void PointerScanMenuClicked();
void OpenProcessMenu();
void CloseProcessMenu();
bool CloseProcess();
void SettingsButtonClicked();
void ViewModulesButtonClicked();
void ViewThreadsButtonClicked();
void ViewGeneralButtonClicked();
void ViewImportsButtonClicked();
void ExitApplication();
void AboutCrySearch();
void ClearScanResults();
void ClearScanResultsWithoutWarning();
void SearchResultDoubleClicked();
void DeleteUserDefinedAddress();
void OpenFileMenu();
void SaveFileMenu();
void SaveFileAsMenu();
void ClearAddressList();
void ShowHideDisasmWindow();
void ManuallyAddAddressToTable();
void AddressListChangeProperty(ChangeRecordDialogMode mode);
void UserDefinedEntryWhenDoubleClicked();
void UpdateVisibleAddresses();
void SearchResultListUpdater();
void AddressValuesUpdater();
void CheckKeyPresses();
void CheckProcessTermination();
void RemoveBreakpointMenu();
void PluginsMenuClicked();
void BruteForcePIDClicked();
void ExecuteCrashHandlerWindowSafe(const String& msg, volatile bool* const comp);
// Hotkey functions.
void HotkeysProcedure();
void LinkHotkeysToActions();
void HotkeyRefreshChanged();
void HotkeyRefreshUnchanged();
void HotkeyRefreshIncreased();
void HotkeyRefreshDecreased();
void HotkeyRefreshToggelFreezeAll();
bool InitializeProcessUI(const bool bruteForce);
void ProcessOpenFailedState(const bool bruteForce);
void WhenProcessOpened(Win32ProcessInformation* pProc, const bool bruteForce);
void MemorySearch();
void RefreshSearchResults();
void StartNextScanHotkey();
void StartMemoryScanReliefGUI(const bool FirstScan);
void ScannerCompletedScan();
void ScannerCompletedThreadSafe();
void ScannerErrorOccured(MemoryScannerError error);
void ScannerErrorOccuredThreadSafe(MemoryScannerError error);
void ScannerUserInterfaceUpdate(int threadCount);
void ScannerUserInterfaceUpdateThreadSafe(int threadCount);
void ScannerScanStarted(int threadCount);
void ScannerScanStartedThreadSafe(int threadCount);
void ScannerPeekCompletion();
typedef CrySearchForm CLASSNAME;
public:
CrySearchForm(const char* fn);
~CrySearchForm();
CrySearchWindowManager* GetWindowManager();
CrySearchArrayCtrl* GetSearchResultCtrl();
void ExecuteCrashHandlerWindow(const String& msg);
bool SetActiveTabWindow(const String& wndText);
};
#endif