-
Notifications
You must be signed in to change notification settings - Fork 4
/
ob_main.pas
113 lines (98 loc) · 2.75 KB
/
ob_main.pas
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
unit ob_main;
{**
* This file is part of the Obfuscator for PascalScript.
* Simba Obfuscator. is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Simba Obfuscator. is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Simba Obfuscator. If not, see <http://www.gnu.org/licenses/>.
*}
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, SynEdit, SynHighlighterPas, SynMemo, Forms,
Controls, Graphics, Dialogs, ExtCtrls, ComCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
BtnList: TImageList;
OpenDialog1: TOpenDialog;
PageControl1: TPageControl;
StatusBar1: TStatusBar;
CodeMemo: TSynEdit;
CodeTab: TTabSheet;
ProcCode: TTabSheet;
SynEdit1: TSynEdit;
ObfCode: TSynMemo;
SynPasSyn1: TSynPasSyn;
FormatCode: TTabSheet;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
procedure FormCreate(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses ob_obfuscator;
{$R *.lfm}
{ TForm1 }
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Self.Caption:='Obfuscator for Simba\SCAR'+#32+ 'v 0.2.2 for' +#32+ {$IFDEF WINDOWS}'WIN'{$ELSE}'LIN'{$ENDIF}+#32+ 'by Cynic';
end;
procedure TForm1.ToolButton3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
CodeMemo.Lines.LoadFromFile(OpenDialog1.FileName);
end;
end;
procedure TForm1.ToolButton6Click(Sender: TObject);
var
obf: TObfuscator;
begin
(Sender as TToolButton).Enabled := false;
if CodeMemo.Text = '' then
Exit;
obf := TObfuscator.Create;
try
try
obf.InnerText := CodeMemo.Text;
obf.Obfuscate;
obfCode.Lines.Clear;
obfCode.Text := obf.OutText;
except
on e: Exception do
MessageDlg(e.ClassName + ': ' + e.Message, mtError, [mbOk], 0);
end;
finally
obf.Destroy;
end;
(Sender as TToolButton).Enabled := true;
end;
end.