📄 mainunit.pas.svn-base
字号:
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
ComCtrls, StdCtrls, Menus, CEFuncproc, Buttons,shellapi,
ExtCtrls, Dialogs, Clipbrd,debugger,debugger2, assemblerunit,
registry,{xpman,}math,hexeditor, Gauges, ImgList,commctrl,NewKernelHandler,
hotkeyhandler,tlhelp32,undochanges,winsvc,imagehlp,unrandomizer,symbolhandler,
ActnList,hypermode,autoassembler,injectedpointerscanunit,plugin,savefirstscan,
foundlisthelper,disassembler, underc, psapi, peinfounit, PEInfoFunctions, memscan;
//the following are just for compatibility
const copypasteversion=4;
const wm_freedebugger=WM_USER+1;
const wm_scandone=WM_USER+2;
type TFlash = class (TThread)
public
procedure Execute; override;
procedure col;
end;
type TToggleWindows = class(TThread)
private
public
constructor Create(CreateSuspended: Boolean);
procedure Execute; override;
end;
type grouptype = array[1..6] of boolean;
type TFcontrol= class( TEdit)
private
public
procedure wmMouseWheel (var Msg : TWMMouseWheel); message wm_MouseWheel;
end;
type
TMainForm = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
SortByFrozenButton: TButton;
SortByDescriptionButton: TButton;
SortByAddressButton: TButton;
SortByTypeButton: TButton;
SortByValueButton: TButton;
UpdateTimer: TTimer;
FreezeTimer: TTimer;
PopupMenu2: TPopupMenu;
Deletethisrecord1: TMenuItem;
Browsethismemoryregion1: TMenuItem;
Calculatenewvaluepart21: TMenuItem;
Freezealladdresses2: TMenuItem;
sep1: TMenuItem;
Unfreezealladdresses1: TMenuItem;
N1: TMenuItem;
Groupoption1: TMenuItem;
Settogroup11: TMenuItem;
Settogroup21: TMenuItem;
Settogroup31: TMenuItem;
Settogroup41: TMenuItem;
Settonogroup1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Sortaddressesbygroup1: TMenuItem;
N4: TMenuItem;
Copy1: TMenuItem;
Paste1: TMenuItem;
Cut1: TMenuItem;
Setbreakpoint1: TMenuItem;
SetHotkey1: TMenuItem;
Findoutwhatreadsfromthisaddress1: TMenuItem;
N5: TMenuItem;
Panel4: TPanel;
advancedbutton: TSpeedButton;
Label7: TLabel;
CommentButton: TSpeedButton;
Panel5: TPanel;
ProcessLabel: TLabel;
foundcountlabel: TLabel;
ScanText: TLabel;
Label4: TLabel;
Label8: TLabel;
LoadButton: TSpeedButton;
SaveButton: TSpeedButton;
Label6: TLabel;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Dos: TRadioButton;
Windows: TRadioButton;
Readonly: TCheckBox;
FromAddress: TMemo;
ToAddress: TMemo;
NewScan: TButton;
NextScanButton: TButton;
ScanType: TComboBox;
VarType: TComboBox;
Button3: TButton;
Button1: TButton;
ProgressBar1: TProgressBar;
HexadecimalCheckbox: TCheckBox;
UndoScan: TButton;
rbBit: TRadioButton;
rbDec: TRadioButton;
scanvalue: TEdit;
PopupMenu1: TPopupMenu;
Browsethismemoryarrea1: TMenuItem;
Removeselectedaddresses1: TMenuItem;
Selectallitems1: TMenuItem;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
TopDisabler: TTimer;
emptypopup: TPopupMenu;
ccpmenu: TPopupMenu;
Cut2: TMenuItem;
Copy2: TMenuItem;
Paste2: TMenuItem;
Splitter1: TSplitter;
SpeedButton4: TSpeedButton;
cbCaseSensitive: TCheckBox;
cbFastScan: TCheckBox;
Timer1: TTimer;
btnShowRegions: TButton;
Foundlist3: TListView;
Findoutwhataccessesthisaddress1: TMenuItem;
Showashexadecimal1: TMenuItem;
Trytofindbasepointer1: TMenuItem;
Settogroup42: TMenuItem;
Settogroup51: TMenuItem;
cbFasterScan: TCheckBox;
AllClick: TRadioButton;
Panel7: TPanel;
SpeedButton1: TSpeedButton;
cbPauseWhileScanning: TCheckBox;
btnSetSpeedhack: TButton;
Label51: TLabel;
Label52: TLabel;
Edit2: TEdit;
Edit1: TEdit;
cbSpeedhack: TCheckBox;
Change1: TMenuItem;
Description1: TMenuItem;
Address1: TMenuItem;
ype1: TMenuItem;
Value1: TMenuItem;
LabelModifiedmem: TLabel;
Timer4: TTimer;
pnlFloat: TPanel;
rt3: TRadioButton;
rt1: TRadioButton;
rt2: TRadioButton;
cbUnicode: TCheckBox;
cbUnrandomizer: TCheckBox;
Changescript1: TMenuItem;
ActionList1: TActionList;
actSave: TAction;
actOpen: TAction;
ImageList1: TImageList;
actAutoAssemble: TAction;
Forcerechecksymbols1: TMenuItem;
Label5: TLabel;
Label38: TLabel;
Smarteditaddresses1: TMenuItem;
Label53: TLabel;
Pointerscanforthisaddress1: TMenuItem;
Label55: TLabel;
Label57: TLabel;
Label58: TLabel;
Plugins1: TMenuItem;
Label59: TLabel;
UpdateFoundlisttimer: TTimer;
mode16: TCheckBox;
Browsethismemoryregioninthedisassembler1: TMenuItem;
AutoAttachTimer: TTimer;
Button2: TButton;
Button4: TButton;
cbNewscanroutine: TCheckBox;
LogoPanel: TPanel;
Logo: TImage;
ScrollBox1: TScrollBox;
HeaderControl1: THeaderControl;
Panel3: TPanel;
Label30: TLabel;
Label29: TLabel;
Label12: TLabel;
Label27: TLabel;
Label15: TLabel;
Label16: TLabel;
Label13: TLabel;
Label18: TLabel;
Label23: TLabel;
Label28: TLabel;
Label3: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label14: TLabel;
Label17: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label39: TLabel;
Label40: TLabel;
Label41: TLabel;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
vscrollpanel: TPanel;
ScrollBar1: TScrollBar;
procedure ShowProcessListButtonClick(Sender: TObject);
procedure NewScanClick(Sender: TObject);
procedure NextScanButtonClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure AddressKeyPress(Sender: TObject; var Key: Char);
procedure Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure FoundListDblClick(Sender: TObject);
procedure Browsethismemoryarrea1Click(Sender: TObject);
procedure UpdateTimerTimer(Sender: TObject);
procedure FreezeTimerTimer(Sender: TObject);
procedure ScrollBar1Change(Sender: TObject);
procedure Label28Click(Sender: TObject);
procedure AddressClick(Sender: TObject);
procedure TypeClick(Sender: TObject);
procedure ValueClick(Sender: TObject);
procedure Browsethismemoryregion1Click(Sender: TObject);
procedure Label24ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
procedure Deletethisrecord1Click(Sender: TObject);
procedure SortByFrozenButtonClick(Sender: TObject);
procedure SortByDescriptionButtonClick(Sender: TObject);
procedure SortByAddressButtonClick(Sender: TObject);
procedure SortByTypeButtonClick(Sender: TObject);
procedure SortByValueButtonClick(Sender: TObject);
procedure ScanvalueoldKeyPress(Sender: TObject; var Key: Char);
procedure Calculatenewvaluepart21Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ScanTypeChange(Sender: TObject);
procedure VarTypeChange(Sender: TObject);
procedure LogoClick(Sender: TObject);
procedure DosClick(Sender: TObject);
procedure WindowsClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure Selectallitems1Click(Sender: TObject);
procedure Label37Click(Sender: TObject);
procedure Freezealladdresses2Click(Sender: TObject);
procedure SlectItem(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure PopupMenu2Popup(Sender: TObject);
procedure CheckBox2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure CheckBox1Click(Sender: TObject);
procedure Unfreezealladdresses1Click(Sender: TObject);
procedure PopupMenu1Popup(Sender: TObject);
procedure Removeselectedaddresses1Click(Sender: TObject);
procedure FControlKeyPress(Sender: TObject; var Key: Char);
procedure FControlKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ScrollBar1Enter(Sender: TObject);
procedure FControlExit(Sender: TObject);
procedure Panel1Click(Sender: TObject);
procedure FControlEnter(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CommentButtonClick(Sender: TObject);
procedure CommentButtonMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure SettogroupXClick(Sender: TObject);
procedure Settonogroup1Click(Sender: TObject);
procedure SetPrioritys1Click(Sender: TObject);
procedure Copy1Click(Sender: TObject);
procedure Cut1Click(Sender: TObject);
procedure Paste1Click(Sender: TObject);
procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Sortaddressesbygroup1Click(Sender: TObject);
procedure Setbreakpoint1Click(Sender: TObject);
procedure TopDisablerTimer(Sender: TObject);
procedure Panel1Resize(Sender: TObject);
procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
procedure advancedbuttonClick(Sender: TObject);
procedure HexadecimalCheckboxClick(Sender: TObject);
procedure SetHotkey1Click(Sender: TObject);
procedure Findoutwhatreadsfromthisaddress1Click(Sender: TObject);
procedure UndoScanClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure rbBitClick(Sender: TObject);
procedure rbDecClick(Sender: TObject);
procedure Cut2Click(Sender: TObject);
procedure Copy2Click(Sender: TObject);
procedure Paste2Click(Sender: TObject);
procedure ccpmenuPopup(Sender: TObject);
procedure Splitter1CanResize(Sender: TObject; var NewSize: Integer;
var Accept: Boolean);
procedure Splitter1Moved(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure cbCaseSensitiveClick(Sender: TObject);
procedure LogoMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure directionclick(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure btnShowRegionsClick(Sender: TObject);
procedure Findoutwhataccessesthisaddress1Click(Sender: TObject);
procedure OpenProcesslist1Click(Sender: TObject);
procedure CloseCheatEngine1Click(Sender: TObject);
procedure Showashexadecimal1Click(Sender: TObject);
procedure OpenMemorybrowser1Click(Sender: TObject);
procedure Trytofindbasepointer1Click(Sender: TObject);
procedure cbFastScanClick(Sender: TObject);
procedure AllClickClick(Sender: TObject);
procedure cbPauseWhileScanningClick(Sender: TObject);
procedure btnSetSpeedhackClick(Sender: TObject);
procedure Description1Click(Sender: TObject);
procedure Address1Click(Sender: TObject);
procedure ype1Click(Sender: TObject);
procedure Value1Click(Sender: TObject);
procedure ProcessLabelDblClick(Sender: TObject);
procedure Timer4Timer(Sender: TObject);
procedure ProcessLabelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure cbUnrandomizerClick(Sender: TObject);
procedure cbUnrandomizerMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure Foundlist3CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure actOpenExecute(Sender: TObject);
procedure actSaveExecute(Sender: TObject);
procedure actAutoAssembleExecute(Sender: TObject);
procedure Changescript1Click(Sender: TObject);
procedure Forcerechecksymbols1Click(Sender: TObject);
procedure Label5Click(Sender: TObject);
procedure Smarteditaddresses1Click(Sender: TObject);
procedure Pointerscanforthisaddress1Click(Sender: TObject);
procedure Label53Click(Sender: TObject);
procedure Label57Click(Sender: TObject);
procedure Foundlist3Data(Sender: TObject; Item: TListItem);
procedure UpdateFoundlisttimerTimer(Sender: TObject);
procedure Foundlist3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure mode16Click(Sender: TObject);
procedure Label59Click(Sender: TObject);
procedure Label38Click(Sender: TObject);
procedure Browsethismemoryregioninthedisassembler1Click(
Sender: TObject);
procedure AutoAttachTimerTimer(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure ScanTypeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure HeaderControl1SectionClick(HeaderControl: THeaderControl;
Section: THeaderSection);
procedure HeaderControl1SectionResize(HeaderControl: THeaderControl;
Section: THeaderSection);
private
fcontrol: tfcontrol;
aaa:single;
hotkeypressed: integer;
cancelbutton: Tbutton;
CreateCustomScanButton: TButton;
EditCustomScanButton: TButton;
CustomScanScripts: array of record
name: string;
data: TStringlist;
CustomScanType: TCustomScanType;
end;
oldwidth,oldheight: integer;
newaddress: Dword;
isbit: boolean;
tempbitmap: Tbitmap;
dontrunshow:boolean;
LastWasHex: boolean;
dontconvert:boolean;
FlashProcessButton: TFlash;
oldvartype: integer;
unrandomize: Tunrandomize;
scantext2: tlabel;
andlabel: tlabel;
scanvalue2: tedit;
cbpercentage: tcheckbox;
ceclipboardformat: THandle;
reinterpretcheck: integer;
ffoundcount: int64;
SaveFirstScanThread: TSaveFirstScanThread;
foundlist: Tfoundlist;
lastscantype: integer;
editingscript: boolean;
editedscript: integer;
procedure doNewScan;
procedure SetExpectedTableName;
procedure autoattachcheck;
procedure aprilfoolsscan;
function CheckIfSaved: Boolean;
procedure checkpaste;
procedure hotkey(var Message: TMessage); message WM_HOTKEY;
procedure WMGetMinMaxInfo(var Message: TMessage); message WM_GETMINMAXINFO;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -