├── .gitignore ├── Assets ├── Libs │ ├── bass │ │ └── bass.pas │ ├── bassmod20.zip │ └── bassmod20 │ │ ├── .DS_Store │ │ ├── BASSMOD.dll │ │ ├── BASSMOD.txt │ │ ├── bassmod.chm │ │ ├── c │ │ ├── BASSMOD.lib │ │ ├── bassmod.h │ │ ├── contest.c │ │ ├── contest.exe │ │ ├── makefile │ │ ├── modtest.c │ │ ├── modtest.exe │ │ └── modtest.rc │ │ ├── delphi │ │ ├── BASSMOD.pas │ │ ├── BMDemo.dpr │ │ ├── Demo.dfm │ │ └── Demo.pas │ │ ├── masm │ │ ├── bassmod.inc │ │ ├── compile.bat │ │ ├── player.asm │ │ ├── player.exe │ │ ├── rsrc.rc │ │ └── toolbar.bmp │ │ └── vb │ │ ├── BassMOD.bas │ │ └── MODtest │ │ ├── frmMODtest.frm │ │ └── prjMODtest.vbp ├── gfx │ ├── MAINICON.ico │ ├── NULLs7.png │ ├── OFFs7.png │ ├── ONs7.png │ ├── Sub7Exe.ico │ ├── Sub7Tray.ico │ ├── art.png │ ├── error.png │ ├── ico exe.png │ ├── ico exe │ │ └── ico exe.png │ ├── ico_shield-512.png │ ├── ico_shield-64.png │ ├── ico_shield-96.png │ ├── ico_tray-512.png │ ├── ico_tray-512 │ │ └── ico_tray-512.png │ ├── ico_tray-512_v2.png │ ├── icon 128 finals7_.png │ ├── icon 256 finals7_.png │ ├── icon 512 finals7_.png │ ├── icon 64 finals7_.png │ ├── icon 96 finals7_.png │ ├── information.png │ ├── kemi-illuv2.png │ ├── logo.png │ ├── question.png │ ├── s7_warn.png │ ├── server.png │ ├── slider.png │ ├── sub7.ico │ ├── sub7.png │ ├── sub7_22.bmp │ ├── sub7_22.png │ ├── sub7_22_32bit.bmp │ └── warning.png └── screenshots │ ├── banner.png │ ├── features.png │ ├── files.png │ ├── main-key.png │ ├── main.png │ ├── process.png │ └── terminal.png ├── CertGen ├── CertGenerator.dpr ├── CertGenerator.dproj ├── CertGenerator.res └── version.res ├── Helper ├── Sub7Helper.dpr ├── Sub7Helper.dproj ├── Sub7Helper.res └── version.res ├── LICENSE ├── README.md ├── Resources ├── cert_generator.RES ├── cert_generator.ini ├── cert_generator.rc ├── helper.RES ├── helper.ini ├── helper.rc ├── securedesktop.RES ├── securedesktop.ini ├── securedesktop.rc ├── service.RES ├── service.ini ├── service.rc ├── tray.RES ├── tray.ini ├── tray.rc ├── version.template.rc ├── viewer.RES ├── viewer.ini └── viewer.rc ├── Service ├── Sub7Service.dpr ├── Sub7Service.dproj ├── Sub7Service.res ├── Units │ ├── Sub7.Service.Config.pas │ ├── Sub7.Service.External.Helper.pas │ ├── Sub7.Service.Types.pas │ ├── Sub7.Thread.Net.Server.Listener.pas │ ├── Sub7.Thread.Net.Server.Peer.Base.pas │ ├── Sub7.Thread.Net.Server.Peer.Cmd.pas │ ├── Sub7.Thread.Net.Server.Peer.IntervalThread.pas │ ├── Sub7.Thread.Net.Server.Peer.NonBlockingCmd.pas │ ├── Sub7.Thread.Net.Server.Peer.Session.Cmd.pas │ ├── Sub7.Thread.Net.Server.Peer.Session.pas │ ├── Sub7.Thread.Net.Server.Peer.Transfer.Receive.pas │ ├── Sub7.Thread.Net.Server.Peer.Transfer.Send.pas │ ├── Sub7.Thread.Net.Server.RemoteShell.pas │ ├── Sub7.Thread.Net.Server.Session.Registrar.pas │ ├── Sub7.Thread.Net.Server.SystemInformationHook.pas │ ├── uMain.dfm │ └── uMain.pas └── version.res ├── Setup ├── icon.bmp ├── icon.png ├── license.txt ├── setup_server.iss └── setup_viewer.iss ├── Shared ├── S7InterProcessCommunication.pas ├── S7IntervalThread.pas ├── S7ScreenClient.pas ├── S7ScreenServer.pas ├── S7SocketContexts.pas ├── Sub7.Core.Application.Env.pas ├── Sub7.Core.Bundle.pas ├── Sub7.Core.Crypto.CRC32.pas ├── Sub7.Core.Crypto.RC4.pas ├── Sub7.Core.Diagnostic.pas ├── Sub7.Core.Exceptions.pas ├── Sub7.Core.FileSystem.Drives.Enum.pas ├── Sub7.Core.FileSystem.Enum.pas ├── Sub7.Core.FileSystem.Types.pas ├── Sub7.Core.FileSystem.Utils.Lock.pas ├── Sub7.Core.FileSystem.Utils.pas ├── Sub7.Core.Input.Validators.pas ├── Sub7.Core.IntervalThread.pas ├── Sub7.Core.Magic.pas ├── Sub7.Core.Messages.Listener.pas ├── Sub7.Core.OOP.Interfaces.pas ├── Sub7.Core.Protocol.pas ├── Sub7.Core.SafeSocketList.pas ├── Sub7.Core.Security.SecureDesktop.pas ├── Sub7.Core.Serializers.TStringList.pas ├── Sub7.Core.Shell.Emulator.pas ├── Sub7.Core.Shell.Event.pas ├── Sub7.Core.Shell.Thread.Instance.pas ├── Sub7.Core.Synchronization.CriticalSectionEx.pas ├── Sub7.Core.Thread.Watcher.pas ├── Sub7.Core.Thread.pas ├── Sub7.Core.Types.pas ├── Sub7.Core.UX.Utils.pas ├── Sub7.Core.Utils.Memory.pas ├── Sub7.Core.Utils.pas ├── Sub7.Core.Windows.Information.pas ├── Sub7.Core.Windows.PE.Version.pas ├── Sub7.Core.Windows.Process.Enum.pas ├── Sub7.Core.Windows.Process.pas ├── Sub7.Core.Windows.Services.Enum.pas ├── Sub7.Core.Windows.Services.Notify.pas ├── Sub7.Core.Windows.Services.Register.pas ├── Sub7.Core.Windows.Services.Service.pas ├── Sub7.Core.Windows.Services.Structure.pas ├── Sub7.Core.Windows.Services.Utils.pas ├── Sub7.Core.Windows.Sessions.Enum.pas ├── Sub7.Core.Windows.User.Enum.pas ├── Sub7.Core.Windows.Userland.Desktop.pas ├── Sub7.Core.Windows.pas ├── Sub7.OpenSSL.Cert.Thread.Generate.pas ├── Sub7.OpenSSL.Cert.Utils.pas ├── Sub7.OpenSSL.Headers.pas ├── Sub7.OpenSSL.TLS.Context.pas ├── Sub7.OpenSSL.TLS.Exceptions.pas ├── Sub7.OpenSSL.TLS.IOHandler.pas ├── Sub7.OpenSSL.TLS.Socket.pas ├── Sub7.OpenSSL.TLS.Utils.pas ├── Sub7.TLS.IOHandler.pas ├── Sub7.Thread.Net.Session.pas ├── Trash │ ├── S7Socket.pas │ ├── S7SocketBuilder.pas │ ├── Sub7.Core.Setting.Registry.pas │ └── Sub7.Net.Context.pas ├── VCL │ ├── Sub7.Core.VCL.Captcha.pas │ ├── Sub7.Core.VCL.MultiPanel.pas │ ├── Sub7.Core.VCL.Reg.pas │ ├── Sub7Common.dpk │ ├── Sub7Common.dproj │ ├── Sub7Common.res │ ├── Sub7CommonGroup.groupproj │ └── Sub7CommonGroup.groupproj.local ├── XSuperJSON.pas ├── XSuperObject.inc ├── XSuperObject.pas └── uWinApiHelper.pas ├── Tray ├── Resources │ ├── build.bat │ ├── config.template.json │ ├── strings.RES │ └── strings.rc ├── Sub7ServerTray.dpr ├── Sub7ServerTray.dproj ├── Sub7ServerTray.res ├── Units │ ├── uContext.pas │ ├── uFormAbout.dfm │ ├── uFormAbout.pas │ ├── uFormEditConfig.dfm │ ├── uFormEditConfig.pas │ ├── uFormHashPassword.dfm │ ├── uFormHashPassword.pas │ ├── uFormMain.dfm │ ├── uFormMain.pas │ ├── uFormWait.dfm │ └── uFormWait.pas ├── VCL │ ├── S7CButton.pas │ ├── S7CLabel.pas │ ├── S7CPopupMenu.pas │ ├── S7CReg.pas │ ├── S7CTaskList.pas │ ├── S7ControllerComponent.dpk │ ├── S7ControllerComponent.dproj │ ├── S7ControllerComponent.res │ ├── S7ControllerComponentGroup.groupproj │ └── S7ControllerComponentGroup.groupproj.local ├── strings.res └── version.res ├── Viewer ├── Resources │ ├── about.bin │ ├── about_scenes │ │ ├── sub7about_00000.png │ │ ├── sub7about_00001.png │ │ ├── sub7about_00002.png │ │ ├── sub7about_00003.png │ │ ├── sub7about_00004.png │ │ ├── sub7about_00005.png │ │ ├── sub7about_00006.png │ │ ├── sub7about_00007.png │ │ ├── sub7about_00008.png │ │ ├── sub7about_00009.png │ │ ├── sub7about_00010.png │ │ ├── sub7about_00011.png │ │ ├── sub7about_00012.png │ │ ├── sub7about_00013.png │ │ ├── sub7about_00014.png │ │ ├── sub7about_00015.png │ │ ├── sub7about_00016.png │ │ ├── sub7about_00017.png │ │ ├── sub7about_00018.png │ │ ├── sub7about_00019.png │ │ ├── sub7about_00020.png │ │ ├── sub7about_00021.png │ │ ├── sub7about_00022.png │ │ ├── sub7about_00023.png │ │ ├── sub7about_00024.png │ │ ├── sub7about_00025.png │ │ ├── sub7about_00026.png │ │ ├── sub7about_00027.png │ │ ├── sub7about_00028.png │ │ ├── sub7about_00029.png │ │ ├── sub7about_00030.png │ │ ├── sub7about_00031.png │ │ ├── sub7about_00032.png │ │ ├── sub7about_00033.png │ │ ├── sub7about_00034.png │ │ ├── sub7about_00035.png │ │ ├── sub7about_00036.png │ │ ├── sub7about_00037.png │ │ ├── sub7about_00038.png │ │ ├── sub7about_00039.png │ │ ├── sub7about_00040.png │ │ ├── sub7about_00041.png │ │ ├── sub7about_00042.png │ │ ├── sub7about_00043.png │ │ ├── sub7about_00044.png │ │ ├── sub7about_00045.png │ │ ├── sub7about_00046.png │ │ ├── sub7about_00047.png │ │ ├── sub7about_00048.png │ │ ├── sub7about_00049.png │ │ ├── sub7about_00050.png │ │ ├── sub7about_00051.png │ │ ├── sub7about_00052.png │ │ ├── sub7about_00053.png │ │ ├── sub7about_00054.png │ │ ├── sub7about_00055.png │ │ ├── sub7about_00056.png │ │ ├── sub7about_00057.png │ │ ├── sub7about_00058.png │ │ ├── sub7about_00059.png │ │ ├── sub7about_00060.png │ │ ├── sub7about_00061.png │ │ ├── sub7about_00062.png │ │ ├── sub7about_00063.png │ │ ├── sub7about_00064.png │ │ ├── sub7about_00065.png │ │ ├── sub7about_00066.png │ │ ├── sub7about_00067.png │ │ ├── sub7about_00068.png │ │ ├── sub7about_00069.png │ │ ├── sub7about_00070.png │ │ ├── sub7about_00071.png │ │ ├── sub7about_00072.png │ │ ├── sub7about_00073.png │ │ └── sub7about_00074.png │ ├── build.bat │ ├── class11.mod │ ├── sub7.RES │ ├── sub7.rc │ └── traxonic.mod ├── Sub7Viewer.dpr ├── Sub7Viewer.dproj ├── Sub7Viewer.res ├── Units │ ├── Forms │ │ ├── ___Forms │ │ │ ├── ___S7BaseForm.pas │ │ │ ├── ___S7ContextWindow.pas │ │ │ ├── ___S7ControlWindow.pas │ │ │ ├── ___S7DockWindow.dfm │ │ │ ├── ___S7DockWindow.pas │ │ │ └── ___S7MessagedWindow.pas │ │ ├── uFormAbout.dfm │ │ ├── uFormAbout.pas │ │ ├── uFormAddContact.dfm │ │ ├── uFormAddContact.pas │ │ ├── uFormAddressBook.dfm │ │ ├── uFormAddressBook.pas │ │ ├── uFormClientCertificate.dfm │ │ ├── uFormClientCertificate.pas │ │ ├── uFormExceptions.dfm │ │ ├── uFormExceptions.pas │ │ ├── uFormFileManager.dfm │ │ ├── uFormFileManager.pas │ │ ├── uFormMain.dfm │ │ ├── uFormMain.pas │ │ ├── uFormPassword.dfm │ │ ├── uFormPassword.pas │ │ ├── uFormQueue.dfm │ │ ├── uFormQueue.pas │ │ ├── uFormRemoteShell.dfm │ │ ├── uFormRemoteShell.pas │ │ ├── uFormRun.dfm │ │ ├── uFormRun.pas │ │ ├── uFormServerHive.dfm │ │ ├── uFormServerHive.pas │ │ ├── uFormSockets.dfm │ │ ├── uFormSockets.pas │ │ ├── uFormTransfer.dfm │ │ ├── uFormTransfer.pas │ │ ├── uRegistryForm.dfm │ │ └── uRegistryForm.pas │ ├── Frames │ │ ├── ___Frames │ │ │ ├── ___S7DockFrame.dfm │ │ │ ├── ___S7DockFrame.pas │ │ │ ├── ___S7Frame.dfm │ │ │ └── ___S7Frame.pas │ │ ├── uFrameComboSessions.dfm │ │ ├── uFrameComboSessions.pas │ │ ├── uFrameComboUser.dfm │ │ ├── uFrameComboUser.pas │ │ ├── uFrameOpen.dfm │ │ ├── uFrameOpen.pas │ │ ├── uFrameProcess.dfm │ │ ├── uFrameProcess.pas │ │ ├── uFrameRegistry.dfm │ │ ├── uFrameRegistry.pas │ │ ├── uFrameRunAsGroup.dfm │ │ ├── uFrameRunAsGroup.pas │ │ ├── uFrameShell.dfm │ │ ├── uFrameShell.pas │ │ ├── uFrameSystemInformationHook.dfm │ │ └── uFrameSystemInformationHook.pas │ ├── Sub7.Net.Client.Context.pas │ ├── Sub7.Thread.Net.Client.Base.pas │ ├── Sub7.Thread.Net.Client.NonBlockingCmd.pas │ ├── Sub7.Thread.Net.Client.RemoteShell.pas │ ├── Sub7.Thread.Net.Client.Session.Cmd.pas │ ├── Sub7.Thread.Net.Client.Session.pas │ ├── Sub7.Thread.Net.Client.SystemInformationHook.pas │ ├── Sub7.Thread.Net.Client.Transfer.Download.pas │ ├── Sub7.Thread.Net.Client.Transfer.Upload.pas │ ├── Sub7.Thread.Net.Client.Transfer.pas │ ├── Sub7.Viewer.Clipboard.FileSystem.pas │ ├── Sub7.Viewer.Clipboard.pas │ ├── Sub7.Viewer.Messages.pas │ ├── Sub7.Viewer.Singletons.pas │ ├── Sub7.Viewer.Types.pas │ └── bass.pas ├── VCL │ ├── S7C.dpk │ ├── S7C.dproj │ ├── S7C.res │ ├── S7CGroup.groupproj │ ├── S7CGroup.groupproj.local │ ├── S7Classes.pas │ ├── S7ComboBox.pas │ ├── S7Common.pas │ ├── S7DockCaption.pas │ ├── S7Edit.pas │ ├── S7Gauge.pas │ ├── S7GroupBox.pas │ ├── S7Hint.pas │ ├── S7ImageButton.pas │ ├── S7InputQueryForm.dfm │ ├── S7InputQueryForm.pas │ ├── S7MessageBox.pas │ ├── S7MessageBoxForm.dfm │ ├── S7MessageBoxForm.pas │ ├── S7OptionDialog.pas │ ├── S7OptionDialogForm.dfm │ ├── S7OptionDialogForm.pas │ ├── S7PaintScene.pas │ ├── S7Panel.pas │ ├── S7PopupMenu.pas │ ├── S7Reg.pas │ ├── S7ScrollingCredit.pas │ ├── S7SettingHandler.pas │ ├── S7StatusBar.pas │ ├── S7Theme.pas │ ├── S7Timer.pas │ ├── S7TreeView.pas │ ├── S7Types.pas │ ├── S7Validators.pas │ ├── Sub7.Viewer.VCL.Button.pas │ ├── Sub7.Viewer.VCL.CaptionBar.pas │ ├── Sub7.Viewer.VCL.CheckBox.pas │ ├── Sub7.Viewer.VCL.SubSevenForm.pas │ └── Utilities │ │ ├── Sub7VideoGenerator.dpr │ │ ├── Sub7VideoGenerator.dproj │ │ ├── Sub7VideoGenerator.res │ │ └── Units │ │ ├── uFormMain.dfm │ │ └── uFormMain.pas ├── sub7.RES └── version.res ├── clean.bat ├── common-bin ├── x86-32 │ ├── bass.dll │ ├── libcrypto-1_1.dll │ └── libssl-1_1.dll └── x86-64 │ ├── bass.dll │ ├── libcrypto-1_1-x64.dll │ └── libssl-1_1-x64.dll └── project.json /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/.gitignore -------------------------------------------------------------------------------- /Assets/Libs/bassmod20.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20.zip -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20/.DS_Store -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/BASSMOD.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20/BASSMOD.dll -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/bassmod.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20/bassmod.chm -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/c/BASSMOD.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20/c/BASSMOD.lib -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/c/contest.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "bassmod.h" 3 | 4 | #ifdef WIN32 5 | #include 6 | #include 7 | #else 8 | #include 9 | #include 10 | #include 11 | 12 | #define Sleep(x) usleep(x*1000) 13 | 14 | DWORD timeGetTime() 15 | { 16 | struct timeval tv; 17 | gettimeofday(&tv,0); 18 | return tv.tv_sec*1000+tv.tv_usec/1000; 19 | } 20 | 21 | int _kbhit() 22 | { 23 | int r; 24 | fd_set rfds; 25 | struct timeval tv; 26 | struct termios term,oterm; 27 | tcgetattr(0,&oterm); 28 | memcpy(&term,&oterm,sizeof(term)); 29 | cfmakeraw(&term); 30 | tcsetattr(0,TCSANOW,&term); 31 | FD_ZERO(&rfds); 32 | FD_SET(0,&rfds); 33 | tv.tv_sec=tv.tv_usec=0; 34 | r=select(1,&rfds,NULL,NULL,&tv); 35 | tcsetattr(0,TCSANOW,&oterm); 36 | return r; 37 | } 38 | #endif 39 | 40 | /* display error messages */ 41 | void Error(char *text) 42 | { 43 | printf("Error(%d): %s\n",BASSMOD_ErrorGetCode(),text); 44 | BASSMOD_Free(); 45 | exit(0); 46 | } 47 | 48 | static int starttime; 49 | 50 | void CALLBACK LoopSync(HSYNC handle, DWORD data, DWORD user) 51 | { 52 | starttime=timeGetTime(); 53 | } 54 | 55 | void main(int argc, char **argv) 56 | { 57 | int t,p; 58 | 59 | printf("Simple console BASSMOD example : IT/XM/S3M/MTM/MOD/UMX player\n" 60 | "-------------------------------------------------------------\n"); 61 | 62 | /* check that BASSMOD 2.0 was loaded */ 63 | if (BASSMOD_GetVersion()!=MAKELONG(2,0)) { 64 | printf("BASSMOD version 2.0 was not loaded\n"); 65 | return; 66 | } 67 | 68 | if (argc!=2) { 69 | printf("\tusage: contest \n"); 70 | return; 71 | } 72 | 73 | if (!BASSMOD_Init(-1,44100,0)) 74 | Error("Can't initialize device"); 75 | 76 | /* try loading the MOD (with looping, sensitive ramping, surround sound and calculate the duration) */ 77 | if (!BASSMOD_MusicLoad(FALSE,argv[1],0,0,BASS_MUSIC_LOOP|BASS_MUSIC_RAMPS|BASS_MUSIC_SURROUND|BASS_MUSIC_CALCLEN)) 78 | Error("Can't play the file"); 79 | 80 | /* set a synchronizer for when the MOD reaches the end */ 81 | BASSMOD_MusicSetSync(BASS_SYNC_END,0,&LoopSync,0); 82 | 83 | printf("playing \"%s\" [%d orders]",BASSMOD_MusicGetName(),BASSMOD_MusicGetLength(FALSE)); 84 | 85 | /* display the time length */ 86 | if (t=BASSMOD_MusicGetLength(TRUE)) { 87 | t/=176400; 88 | printf(" %d:%02d\n",t/60,t%60); 89 | } else /* no time length available */ 90 | printf("\n"); 91 | 92 | BASSMOD_MusicPlay(); 93 | starttime=timeGetTime(); 94 | 95 | while (!_kbhit()) { 96 | p=BASSMOD_MusicGetPosition(); 97 | t=(timeGetTime()-starttime)/1000; 98 | printf("pos: %03d.%03d - time: %d:%02d - cpu: %.2f%% \r",LOWORD(p),HIWORD(p),t/60,t%60,BASSMOD_GetCPU()); 99 | fflush(stdout); 100 | Sleep(50); 101 | } 102 | printf(" \n"); 103 | 104 | BASSMOD_Free(); 105 | } 106 | -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/c/contest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20/c/contest.exe -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/c/makefile: -------------------------------------------------------------------------------- 1 | CC = gcc 2 | RES = windres 3 | FLAGS = -O2 4 | GUIFLAGS = -Wl,--subsystem,windows 5 | 6 | all: contest.exe modtest.exe 7 | 8 | contest.exe: contest.c 9 | $(CC) $(FLAGS) contest.c bassmod.lib -lwinmm -o $@ 10 | 11 | modtest.exe: modtest.c modtest.rc 12 | $(RES) -i modtest.rc -o rsrc.obj 13 | $(CC) $(FLAGS) modtest.c rsrc.obj bassmod.lib -lcomdlg32 $(GUIFLAGS) -o $@ 14 | 15 | clean: 16 | del contest.exe 17 | del modtest.exe 18 | del rsrc.obj 19 | -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/c/modtest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20/c/modtest.exe -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/c/modtest.rc: -------------------------------------------------------------------------------- 1 | #include "windows.h" 2 | 3 | 1000 DIALOG DISCARDABLE 100, 100, 200, 86 4 | STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU 5 | CAPTION "BASSMOD - simple test" 6 | FONT 8, "MS Sans Serif" 7 | BEGIN 8 | PUSHBUTTON "click here to open a file...",10,5,5,190,14 9 | CTEXT "",11,5,21,190,8 10 | CTEXT "",15,20,34,45,10,SS_SUNKEN 11 | CTEXT "",16,80,34,25,10,SS_SUNKEN 12 | PUSHBUTTON "PLAY",12,120,34,30,10 13 | PUSHBUTTON "PAUSE",13,155,34,30,10 14 | SCROLLBAR 20,5,47,190,9,WS_TABSTOP 15 | CTEXT "Interpolation",-1,22,59,45,8 16 | COMBOBOX 21,22,68,45,70,CBS_DROPDOWNLIST | WS_VSCROLL | 17 | WS_TABSTOP 18 | CTEXT "Ramping",-1,77,59,45,8 19 | COMBOBOX 22,77,68,45,70,CBS_DROPDOWNLIST | WS_VSCROLL | 20 | WS_TABSTOP 21 | CTEXT "Surround",-1,132,59,45,8 22 | COMBOBOX 23,132,68,45,70,CBS_DROPDOWNLIST | WS_VSCROLL | 23 | WS_TABSTOP 24 | END 25 | -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/delphi/BMDemo.dpr: -------------------------------------------------------------------------------- 1 | program BMDemo; 2 | 3 | uses 4 | Forms, 5 | Demo in 'Demo.pas' {Form1}; 6 | 7 | {$R *.RES} 8 | 9 | begin 10 | Application.Initialize; 11 | Application.CreateForm(TForm1, Form1); 12 | Application.Run; 13 | end. 14 | -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/delphi/Demo.dfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20/delphi/Demo.dfm -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/delphi/Demo.pas: -------------------------------------------------------------------------------- 1 | unit Demo; 2 | 3 | interface 4 | 5 | uses 6 | Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 7 | StdCtrls, ExtCtrls; 8 | 9 | type 10 | TForm1 = class(TForm) 11 | Button1: TButton; 12 | Panel1: TPanel; 13 | Panel2: TPanel; 14 | Button2: TButton; 15 | Button3: TButton; 16 | ScrollBar1: TScrollBar; 17 | Timer1: TTimer; 18 | OpenDialog1: TOpenDialog; 19 | procedure FormCreate(Sender: TObject); 20 | procedure FormDestroy(Sender: TObject); 21 | procedure Timer1Timer(Sender: TObject); 22 | procedure Button1Click(Sender: TObject); 23 | procedure ScrollBar1Change(Sender: TObject); 24 | procedure Button2Click(Sender: TObject); 25 | procedure Button3Click(Sender: TObject); 26 | private 27 | { Private-Deklarationen } 28 | UserChange: Boolean; 29 | procedure Error(s: string); 30 | public 31 | { Public-Deklarationen } 32 | end; 33 | 34 | var 35 | Form1: TForm1; 36 | 37 | implementation 38 | 39 | {$R *.DFM} 40 | 41 | uses BASSMOD; 42 | 43 | procedure TForm1.Error(s: string); 44 | var 45 | t: string; 46 | begin 47 | t := s + #13#10 + '(error code: ' + IntToStr(BASSMOD_ErrorGetCode) + ')'; 48 | MessageBox(handle, PChar(t), 'Error', MB_OK or MB_ICONERROR); 49 | end; 50 | 51 | procedure TForm1.FormCreate(Sender: TObject); 52 | begin 53 | (* Check that BASSMOD 2.0 was loaded *) 54 | if BASSMOD_GetVersion <> MAKELONG(2,0) then begin 55 | Error('BASSMOD version 2.0 was not loaded'); 56 | self.Destroy; 57 | Halt; 58 | end; 59 | (* setup output - default device, 44100hz, stereo, 16 bits *) 60 | if not BASSMOD_Init(-1,44100,0) then begin 61 | Error('Can''t initialize device'); 62 | BASSMOD_Free; 63 | self.Destroy; 64 | Halt; 65 | end; 66 | UserChange := FALSE; 67 | end; 68 | 69 | procedure TForm1.FormDestroy(Sender: TObject); 70 | begin 71 | BASSMOD_Free; 72 | end; 73 | 74 | procedure TForm1.Timer1Timer(Sender: TObject); 75 | var 76 | i: Integer; 77 | begin 78 | i := BASSMOD_MusicGetPosition; 79 | if i = -1 then i := 0; 80 | Panel1.Caption := IntToStr(LoWord(i)) + '.' + IntToStr(HiWord(i)); 81 | Panel2.Caption := IntToStr(BASSMOD_GetCpu) + '%'; 82 | UserChange := FALSE; 83 | ScrollBar1.Position := LoWord(i); 84 | end; 85 | 86 | procedure TForm1.Button1Click(Sender: TObject); 87 | begin 88 | if OpenDialog1.Execute then begin 89 | BASSMOD_MusicFree; 90 | if BASSMOD_MusicLoad(FALSE, PChar(OpenDialog1.FileName), 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_RAMPS or BASS_MUSIC_SURROUND or BASS_MUSIC_POSRESET) <> 0 then begin 91 | Button1.Caption := OpenDialog1.FileName; 92 | ScrollBar1.Max := BASSMOD_MusicGetLength(FALSE); 93 | ScrollBar1.Enabled := TRUE; 94 | BASSMOD_MusicPlay; 95 | end 96 | else Error('Can''t play the file'); 97 | end; 98 | end; 99 | 100 | procedure TForm1.ScrollBar1Change(Sender: TObject); 101 | begin 102 | if UserChange then BASSMOD_MusicSetPosition(ScrollBar1.Position); 103 | UserChange := TRUE; 104 | end; 105 | 106 | procedure TForm1.Button2Click(Sender: TObject); 107 | begin 108 | BASSMOD_MusicPlay; 109 | end; 110 | 111 | procedure TForm1.Button3Click(Sender: TObject); 112 | begin 113 | BASSMOD_MusicPause; 114 | end; 115 | 116 | end. 117 | -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/masm/bassmod.inc: -------------------------------------------------------------------------------- 1 | ; BASSMOD 2.0 (c) 1999-2002 Ian Luck. 2 | ; Please report bugs/suggestions/etc... to bassmod@un4seen.com 3 | 4 | ; See the BASSMOD.CHM file for more complete documentation 5 | 6 | ; Error codes returned by BASSMOD_GetErrorCode() 7 | BASS_OK equ 0 ; all is OK 8 | BASS_ERROR_MEM equ 1 ; memory error 9 | BASS_ERROR_FILEOPEN equ 2 ; can't open the file 10 | BASS_ERROR_DRIVER equ 3 ; can't find a free/valid driver 11 | BASS_ERROR_HANDLE equ 5 ; invalid handle 12 | BASS_ERROR_FORMAT equ 6 ; unsupported format 13 | BASS_ERROR_POSITION equ 7 ; invalid playback position 14 | BASS_ERROR_INIT equ 8 ; BASS_Init has not been successfully called 15 | BASS_ERROR_ALREADY equ 14 ; already initialized/loaded 16 | BASS_ERROR_ILLTYPE equ 19 ; an illegal type was specified 17 | BASS_ERROR_ILLPARAM equ 20 ; an illegal parameter was specified 18 | BASS_ERROR_DEVICE equ 23 ; illegal device number 19 | BASS_ERROR_NOPLAY equ 24 ; not playing 20 | BASS_ERROR_NOMUSIC equ 28 ; no MOD music has been loaded 21 | BASS_ERROR_NOSYNC equ 30 ; synchronizers have been disabled 22 | BASS_ERROR_NOTAVAIL equ 37 ; requested data is not available 23 | BASS_ERROR_DECODE equ 38 ; the channel is a "decoding channel" 24 | BASS_ERROR_FILEFORM equ 41 ; unsupported file format 25 | BASS_ERROR_UNKNOWN equ -1 ; some other mystery error 26 | 27 | ; Device setup flags 28 | BASS_DEVICE_8BITS equ 1 ; use 8 bit resolution, else 16 bit 29 | BASS_DEVICE_MONO equ 2 ; use mono, else stereo 30 | BASS_DEVICE_NOSYNC equ 16 ; disable synchronizers 31 | 32 | BASS_MUSIC_RAMP equ 1 ; normal ramping 33 | BASS_MUSIC_RAMPS equ 2 ; sensitive ramping 34 | BASS_MUSIC_LOOP equ 4 ; loop music 35 | BASS_MUSIC_FT2MOD equ 16 ; play .MOD as FastTracker 2 does 36 | BASS_MUSIC_PT1MOD equ 32 ; play .MOD as ProTracker 1 does 37 | BASS_MUSIC_POSRESET equ 256 ; stop all notes when moving position 38 | BASS_MUSIC_SURROUND equ 512 ; surround sound 39 | BASS_MUSIC_SURROUND2 equ 1024 ; surround sound (mode 2) 40 | BASS_MUSIC_STOPBACK equ 2048 ; stop the music on a backwards jump effect 41 | BASS_MUSIC_CALCLEN equ 8192 ; calculate playback length 42 | BASS_MUSIC_NONINTER equ 16384 ; non-interpolated mixing 43 | BASS_MUSIC_NOSAMPLE equ 0x400000 ; don't load the samples 44 | 45 | BASS_UNICODE equ 0x80000000 46 | 47 | BASS_SYNC_MUSICPOS equ 0 48 | BASS_SYNC_POS equ 0 49 | BASS_SYNC_MUSICINST equ 1 50 | BASS_SYNC_END equ 2 51 | BASS_SYNC_MUSICFX equ 3 52 | BASS_SYNC_ONETIME equ 0x80000000 ; FLAG: sync only once, else continuously 53 | 54 | ; BASSMOD_ChannelIsActive return values 55 | BASS_ACTIVE_STOPPED equ 0 56 | BASS_ACTIVE_PLAYING equ 1 57 | BASS_ACTIVE_PAUSED equ 3 58 | 59 | ; prototypes 60 | BASSMOD_GetVersion PROTO 61 | BASSMOD_ErrorGetCode PROTO 62 | BASSMOD_GetDeviceDescription PROTO :DWORD 63 | BASSMOD_Init PROTO :DWORD,:DWORD,:DWORD 64 | BASSMOD_Free PROTO 65 | BASSMOD_GetCPU PROTO 66 | BASSMOD_SetVolume PROTO :DWORD 67 | BASSMOD_GetVolume PROTO 68 | BASSMOD_MusicLoad PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD 69 | BASSMOD_MusicFree PROTO 70 | BASSMOD_MusicGetName PROTO 71 | BASSMOD_MusicGetLength PROTO :DWORD 72 | BASSMOD_MusicPlay PROTO 73 | BASSMOD_MusicPlayEx PROTO :DWORD,:DWORD,:DWORD 74 | BASSMOD_MusicDecode PROTO :DWORD,:DWORD 75 | BASSMOD_MusicSetAmplify PROTO :DWORD 76 | BASSMOD_MusicSetPanSep PROTO :DWORD 77 | BASSMOD_MusicSetPositionScaler PROTO :DWORD 78 | BASSMOD_MusicSetVolume PROTO :DWORD,:DWORD 79 | BASSMOD_MusicGetVolume PROTO :DWORD 80 | BASSMOD_MusicIsActive PROTO 81 | BASSMOD_MusicStop PROTO 82 | BASSMOD_MusicPause PROTO 83 | BASSMOD_MusicSetPosition PROTO :DWORD 84 | BASSMOD_MusicGetPosition PROTO 85 | BASSMOD_MusicSetSync PROTO :DWORD,:DWORD,:DWORD,:DWORD 86 | BASSMOD_MusicRemoveSync PROTO :DWORD 87 | -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/masm/compile.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | del *.obj 3 | del *.res 4 | rc /v rsrc.rc 5 | cvtres /machine:ix86 rsrc.res 6 | ml /c /coff player.asm 7 | link /SUBSYSTEM:WINDOWS player.obj rsrc.obj 8 | -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/masm/player.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20/masm/player.asm -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/masm/player.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20/masm/player.exe -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/masm/rsrc.rc: -------------------------------------------------------------------------------- 1 | 750 BITMAP "toolbar.bmp" 2 | 3 | 600 MENUEX MOVEABLE IMPURE LOADONCALL DISCARDABLE 4 | BEGIN 5 | POPUP "&File", , , 0 6 | BEGIN 7 | MENUITEM "&Open", 1001 8 | MENUITEM "", , 0x0800 /*MFT_SEPARATOR*/ 9 | MENUITEM "&Exit", 1010 10 | END 11 | POPUP "&Help", , , 0 12 | BEGIN 13 | MENUITEM "&About", 1900 14 | END 15 | END 16 | 17 | -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/masm/toolbar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/Libs/bassmod20/masm/toolbar.bmp -------------------------------------------------------------------------------- /Assets/Libs/bassmod20/vb/MODtest/prjMODtest.vbp: -------------------------------------------------------------------------------- 1 | Type=Exe 2 | Form=frmMODtest.frm 3 | Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\system32\stdole2.tlb#OLE Automation 4 | Module=BassMOD; ..\BassMOD.bas 5 | Object={F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0; comdlg32.ocx 6 | IconForm="frmMODtest" 7 | Startup="frmMODtest" 8 | HelpFile="" 9 | Title="prjMODtest" 10 | ExeName32="prjMODtest.exe" 11 | Command32="" 12 | Name="prjMODtest" 13 | HelpContextID="0" 14 | CompatibleMode="0" 15 | MajorVer=1 16 | MinorVer=0 17 | RevisionVer=0 18 | AutoIncrementVer=0 19 | ServerSupportFiles=0 20 | VersionCompanyName="(: JOBnik! :) [Arthur Aminov, ISRAEL]" 21 | CompilationType=0 22 | OptimizationType=1 23 | FavorPentiumPro(tm)=0 24 | CodeViewDebugInfo=0 25 | NoAliasing=0 26 | BoundsCheck=0 27 | OverflowCheck=0 28 | FlPointCheck=0 29 | FDIVCheck=0 30 | UnroundedFP=0 31 | StartMode=0 32 | Unattended=0 33 | Retained=0 34 | ThreadPerObject=0 35 | MaxNumberOfThreads=1 36 | DebugStartupOption=0 37 | 38 | [MS Transaction Server] 39 | AutoRefresh=1 40 | -------------------------------------------------------------------------------- /Assets/gfx/MAINICON.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/MAINICON.ico -------------------------------------------------------------------------------- /Assets/gfx/NULLs7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/NULLs7.png -------------------------------------------------------------------------------- /Assets/gfx/OFFs7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/OFFs7.png -------------------------------------------------------------------------------- /Assets/gfx/ONs7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/ONs7.png -------------------------------------------------------------------------------- /Assets/gfx/Sub7Exe.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/Sub7Exe.ico -------------------------------------------------------------------------------- /Assets/gfx/Sub7Tray.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/Sub7Tray.ico -------------------------------------------------------------------------------- /Assets/gfx/art.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/art.png -------------------------------------------------------------------------------- /Assets/gfx/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/error.png -------------------------------------------------------------------------------- /Assets/gfx/ico exe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/ico exe.png -------------------------------------------------------------------------------- /Assets/gfx/ico exe/ico exe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/ico exe/ico exe.png -------------------------------------------------------------------------------- /Assets/gfx/ico_shield-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/ico_shield-512.png -------------------------------------------------------------------------------- /Assets/gfx/ico_shield-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/ico_shield-64.png -------------------------------------------------------------------------------- /Assets/gfx/ico_shield-96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/ico_shield-96.png -------------------------------------------------------------------------------- /Assets/gfx/ico_tray-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/ico_tray-512.png -------------------------------------------------------------------------------- /Assets/gfx/ico_tray-512/ico_tray-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/ico_tray-512/ico_tray-512.png -------------------------------------------------------------------------------- /Assets/gfx/ico_tray-512_v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/ico_tray-512_v2.png -------------------------------------------------------------------------------- /Assets/gfx/icon 128 finals7_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/icon 128 finals7_.png -------------------------------------------------------------------------------- /Assets/gfx/icon 256 finals7_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/icon 256 finals7_.png -------------------------------------------------------------------------------- /Assets/gfx/icon 512 finals7_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/icon 512 finals7_.png -------------------------------------------------------------------------------- /Assets/gfx/icon 64 finals7_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/icon 64 finals7_.png -------------------------------------------------------------------------------- /Assets/gfx/icon 96 finals7_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/icon 96 finals7_.png -------------------------------------------------------------------------------- /Assets/gfx/information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/information.png -------------------------------------------------------------------------------- /Assets/gfx/kemi-illuv2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/kemi-illuv2.png -------------------------------------------------------------------------------- /Assets/gfx/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/logo.png -------------------------------------------------------------------------------- /Assets/gfx/question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/question.png -------------------------------------------------------------------------------- /Assets/gfx/s7_warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/s7_warn.png -------------------------------------------------------------------------------- /Assets/gfx/server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/server.png -------------------------------------------------------------------------------- /Assets/gfx/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/slider.png -------------------------------------------------------------------------------- /Assets/gfx/sub7.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/sub7.ico -------------------------------------------------------------------------------- /Assets/gfx/sub7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/sub7.png -------------------------------------------------------------------------------- /Assets/gfx/sub7_22.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/sub7_22.bmp -------------------------------------------------------------------------------- /Assets/gfx/sub7_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/sub7_22.png -------------------------------------------------------------------------------- /Assets/gfx/sub7_22_32bit.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/sub7_22_32bit.bmp -------------------------------------------------------------------------------- /Assets/gfx/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/gfx/warning.png -------------------------------------------------------------------------------- /Assets/screenshots/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/screenshots/banner.png -------------------------------------------------------------------------------- /Assets/screenshots/features.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/screenshots/features.png -------------------------------------------------------------------------------- /Assets/screenshots/files.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/screenshots/files.png -------------------------------------------------------------------------------- /Assets/screenshots/main-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/screenshots/main-key.png -------------------------------------------------------------------------------- /Assets/screenshots/main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/screenshots/main.png -------------------------------------------------------------------------------- /Assets/screenshots/process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/screenshots/process.png -------------------------------------------------------------------------------- /Assets/screenshots/terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Assets/screenshots/terminal.png -------------------------------------------------------------------------------- /CertGen/CertGenerator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/CertGen/CertGenerator.res -------------------------------------------------------------------------------- /CertGen/version.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/CertGen/version.res -------------------------------------------------------------------------------- /Helper/Sub7Helper.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Helper/Sub7Helper.res -------------------------------------------------------------------------------- /Helper/version.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Helper/version.res -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | # SubSeven Legacy 6 | 7 | "SubSeven Legacy is a complete remake of the infamous SubSeven Backdoor (also known as Sub7), a popular remote access trojan from the late 90s. More information about the original Sub7 Backdoor can be found on the official [Wikipedia page](https://en.wikipedia.org/wiki/Sub7). 8 | 9 | Like the original Sub7 program, SubSeven Legacy is entirely coded in Delphi and supports the latest version of the Delphi IDE/Compiler. However, unlike the original Sub7, SubSeven Legacy does not include any malicious features. 10 | 11 | To preserve the old look and feel and prevent misuse, SubSeven Legacy still functions as a direct connection remote access tool and is installed as a Microsoft Windows service (which requires administrative privileges) to provide more control over the remote system. 12 | 13 | The main goal of this project is to bring back good memories for those who, like me, grew up with such awesome projects." 14 | 15 | ## Included Features: 16 | 17 |

18 | 19 |

20 | 21 | - SubSeven 2.2.X branch UX theme in pure VCL/WinAPI. 22 | - Pure Socket API with support of latest OpenSSL version. No extra libraries / components. 23 | - Multi-Threaded / Concurrency. 24 | - File Manager (Reactive). 25 | - Process Manager. 26 | - Remote Terminal. 27 | - Windows Session Manager. 28 | - Run As / Create Process As (Windows Session Supported) 29 | 30 | 31 | "Unfortunately, I have not had the time to update this project in recent years and it is currently considered paused/dead. I am currently very busy with other projects. 32 | 33 | This project was made possible during my long, sleepless nights with a newborn daughter, so please be understanding if you come across any humorous or experimental elements in the code. Thank you for your understanding." 34 | 35 | https://user-images.githubusercontent.com/2520298/187401573-f5b3702b-15ea-4771-93eb-8b0cc20de01d.mp4 36 | 37 | 38 | 39 | ## VCL Packages / Components 40 | 41 | I minimized the need of external components while making this project. Only two external components are required: 42 | 43 | - Virtual TreeView (Free and open source: https://www.jam-software.com/virtual-treeview) 44 | - SynEdit (Free and open source: https://github.com/SynEdit/SynEdit ) 45 | 46 | 47 | Other required components (custom components) mostly for the SubSeven UX can be found in the project: 48 | 49 | - SubSeven Viewer UX Components (`Viewer\VCL\*`) 50 | - SubSeven Tray Components (`Tray\VCL\*`) 51 | - Common / Shared Components (`Shared\VCL\*`) 52 | 53 | If you are not familiar with Delphi, installing components could be quite confusing. Basically, open each components corresponding `.dpk` files then right click on solution explorer and click install. 54 | 55 | You must then tell Delphi Compiler where to find the source code of each components (see: https://docwiki.embarcadero.com/RADStudio/Sydney/en/Installing_Component_Packages). 56 | 57 | ⚠️ **Import Notice**: The latest version of Delphi now supports HDPI for the IDE. However, when working with the SubSeven project, it is recommended to use the Delphi IDE in non-HDPI mode. The HDPI IDE is known to cause issues and negatively impact the user experience of the SubSeven project. To open and compile the project, simply disable HDPI mode in the Delphi IDE. 58 | 59 | ## Screen Shots of the Viewer 60 | 61 | ### Main Window (Viewer) 62 | 63 |

64 | 65 |

66 | 67 | ### Main Window (Certificate Information) 68 | 69 |

70 | 71 |

72 | 73 | ### Remote Terminal Concurrency 74 | 75 |

76 | 77 |

78 | 79 | ### Remote File Browser Concurrency + Reactive 80 | 81 |

82 | 83 |

84 | 85 | ### Remote Process List 86 | 87 |

88 | 89 |

90 | 91 | ## SubSeven Art Gallery 92 | 93 |

94 | 95 |

96 | -------------------------------------------------------------------------------- /Resources/cert_generator.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Resources/cert_generator.RES -------------------------------------------------------------------------------- /Resources/cert_generator.ini: -------------------------------------------------------------------------------- 1 | [Tags] 2 | version=common 3 | description=SubSeven Legacy SSL/TLS Certificate Generator -------------------------------------------------------------------------------- /Resources/cert_generator.rc: -------------------------------------------------------------------------------- 1 | VS_VERSION_INFO VERSIONINFO 2 | FILEVERSION 0,1,0 3 | PRODUCTVERSION 0,1,0 4 | FILEFLAGSMASK 0x3fL 5 | FILEFLAGS 0x0L 6 | FILEOS 0x4L 7 | FILETYPE 0x1L 8 | FILESUBTYPE 0x0L 9 | BEGIN 10 | BLOCK "StringFileInfo" 11 | BEGIN 12 | BLOCK "080904B0" 13 | BEGIN 14 | VALUE "FileDescription", "SubSeven Legacy SSL/TLS Certificate Generator\0" 15 | VALUE "FileVersion", "0.1.0\0" 16 | VALUE "InternalName", "\0" 17 | VALUE "LegalCopyright", "Copyright \251 Sub7Crew.org\0" 18 | VALUE "ProductName", "SubSeven Legacy\0" 19 | VALUE "ProductVersion","0.1.0\0" 20 | END 21 | END 22 | 23 | BLOCK "VarFileInfo" 24 | BEGIN 25 | VALUE "Translation", 0x809,1200 26 | END 27 | END 28 | -------------------------------------------------------------------------------- /Resources/helper.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Resources/helper.RES -------------------------------------------------------------------------------- /Resources/helper.ini: -------------------------------------------------------------------------------- 1 | [Tags] 2 | version=common 3 | description=SubSeven User-land Helper -------------------------------------------------------------------------------- /Resources/helper.rc: -------------------------------------------------------------------------------- 1 | VS_VERSION_INFO VERSIONINFO 2 | FILEVERSION 0,1,0 3 | PRODUCTVERSION 0,1,0 4 | FILEFLAGSMASK 0x3fL 5 | FILEFLAGS 0x0L 6 | FILEOS 0x4L 7 | FILETYPE 0x1L 8 | FILESUBTYPE 0x0L 9 | BEGIN 10 | BLOCK "StringFileInfo" 11 | BEGIN 12 | BLOCK "080904B0" 13 | BEGIN 14 | VALUE "FileDescription", "SubSeven User-land Helper\0" 15 | VALUE "FileVersion", "0.1.0\0" 16 | VALUE "InternalName", "\0" 17 | VALUE "LegalCopyright", "Copyright \251 Sub7Crew.org\0" 18 | VALUE "ProductName", "SubSeven Legacy\0" 19 | VALUE "ProductVersion","0.1.0\0" 20 | END 21 | END 22 | 23 | BLOCK "VarFileInfo" 24 | BEGIN 25 | VALUE "Translation", 0x809,1200 26 | END 27 | END 28 | -------------------------------------------------------------------------------- /Resources/securedesktop.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Resources/securedesktop.RES -------------------------------------------------------------------------------- /Resources/securedesktop.ini: -------------------------------------------------------------------------------- 1 | [Tags] 2 | version=common 3 | description=SubSeven Legacy Secure Desktop -------------------------------------------------------------------------------- /Resources/securedesktop.rc: -------------------------------------------------------------------------------- 1 | VS_VERSION_INFO VERSIONINFO 2 | FILEVERSION 0,1,0 3 | PRODUCTVERSION 0,1,0 4 | FILEFLAGSMASK 0x3fL 5 | FILEFLAGS 0x0L 6 | FILEOS 0x4L 7 | FILETYPE 0x1L 8 | FILESUBTYPE 0x0L 9 | BEGIN 10 | BLOCK "StringFileInfo" 11 | BEGIN 12 | BLOCK "080904B0" 13 | BEGIN 14 | VALUE "FileDescription", "SubSeven Legacy Secure Desktop\0" 15 | VALUE "FileVersion", "0.1.0\0" 16 | VALUE "InternalName", "\0" 17 | VALUE "LegalCopyright", "Copyright \251 Sub7Crew.org\0" 18 | VALUE "ProductName", "SubSeven Legacy\0" 19 | VALUE "ProductVersion","0.1.0\0" 20 | END 21 | END 22 | 23 | BLOCK "VarFileInfo" 24 | BEGIN 25 | VALUE "Translation", 0x809,1200 26 | END 27 | END 28 | -------------------------------------------------------------------------------- /Resources/service.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Resources/service.RES -------------------------------------------------------------------------------- /Resources/service.ini: -------------------------------------------------------------------------------- 1 | [Tags] 2 | version=common 3 | description=SubSeven Server Service -------------------------------------------------------------------------------- /Resources/service.rc: -------------------------------------------------------------------------------- 1 | VS_VERSION_INFO VERSIONINFO 2 | FILEVERSION 0,1,0 3 | PRODUCTVERSION 0,1,0 4 | FILEFLAGSMASK 0x3fL 5 | FILEFLAGS 0x0L 6 | FILEOS 0x4L 7 | FILETYPE 0x1L 8 | FILESUBTYPE 0x0L 9 | BEGIN 10 | BLOCK "StringFileInfo" 11 | BEGIN 12 | BLOCK "080904B0" 13 | BEGIN 14 | VALUE "FileDescription", "SubSeven Server Service\0" 15 | VALUE "FileVersion", "0.1.0\0" 16 | VALUE "InternalName", "\0" 17 | VALUE "LegalCopyright", "Copyright \251 Sub7Crew.org\0" 18 | VALUE "ProductName", "SubSeven Legacy\0" 19 | VALUE "ProductVersion","0.1.0\0" 20 | END 21 | END 22 | 23 | BLOCK "VarFileInfo" 24 | BEGIN 25 | VALUE "Translation", 0x809,1200 26 | END 27 | END 28 | -------------------------------------------------------------------------------- /Resources/tray.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Resources/tray.RES -------------------------------------------------------------------------------- /Resources/tray.ini: -------------------------------------------------------------------------------- 1 | [Tags] 2 | version=common 3 | description=SubSeven Service Controller (Tray) -------------------------------------------------------------------------------- /Resources/tray.rc: -------------------------------------------------------------------------------- 1 | VS_VERSION_INFO VERSIONINFO 2 | FILEVERSION 0,1,0 3 | PRODUCTVERSION 0,1,0 4 | FILEFLAGSMASK 0x3fL 5 | FILEFLAGS 0x0L 6 | FILEOS 0x4L 7 | FILETYPE 0x1L 8 | FILESUBTYPE 0x0L 9 | BEGIN 10 | BLOCK "StringFileInfo" 11 | BEGIN 12 | BLOCK "080904B0" 13 | BEGIN 14 | VALUE "FileDescription", "SubSeven Service Controller (Tray)\0" 15 | VALUE "FileVersion", "0.1.0\0" 16 | VALUE "InternalName", "\0" 17 | VALUE "LegalCopyright", "Copyright \251 Sub7Crew.org\0" 18 | VALUE "ProductName", "SubSeven Legacy\0" 19 | VALUE "ProductVersion","0.1.0\0" 20 | END 21 | END 22 | 23 | BLOCK "VarFileInfo" 24 | BEGIN 25 | VALUE "Translation", 0x809,1200 26 | END 27 | END 28 | -------------------------------------------------------------------------------- /Resources/version.template.rc: -------------------------------------------------------------------------------- 1 | VS_VERSION_INFO VERSIONINFO 2 | FILEVERSION @version-comma 3 | PRODUCTVERSION @version-comma 4 | FILEFLAGSMASK 0x3fL 5 | FILEFLAGS 0x0L 6 | FILEOS 0x4L 7 | FILETYPE 0x1L 8 | FILESUBTYPE 0x0L 9 | BEGIN 10 | BLOCK "StringFileInfo" 11 | BEGIN 12 | BLOCK "080904B0" 13 | BEGIN 14 | VALUE "FileDescription", "@description\0" 15 | VALUE "FileVersion", "@version-dot\0" 16 | VALUE "InternalName", "\0" 17 | VALUE "LegalCopyright", "Copyright \251 Sub7Crew.org\0" 18 | VALUE "ProductName", "SubSeven Legacy\0" 19 | VALUE "ProductVersion","@version-dot\0" 20 | END 21 | END 22 | 23 | BLOCK "VarFileInfo" 24 | BEGIN 25 | VALUE "Translation", 0x809,1200 26 | END 27 | END -------------------------------------------------------------------------------- /Resources/viewer.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Resources/viewer.RES -------------------------------------------------------------------------------- /Resources/viewer.ini: -------------------------------------------------------------------------------- 1 | [Tags] 2 | version=common 3 | description=SubSeven Legacy Viewer -------------------------------------------------------------------------------- /Resources/viewer.rc: -------------------------------------------------------------------------------- 1 | VS_VERSION_INFO VERSIONINFO 2 | FILEVERSION 0,1,0 3 | PRODUCTVERSION 0,1,0 4 | FILEFLAGSMASK 0x3fL 5 | FILEFLAGS 0x0L 6 | FILEOS 0x4L 7 | FILETYPE 0x1L 8 | FILESUBTYPE 0x0L 9 | BEGIN 10 | BLOCK "StringFileInfo" 11 | BEGIN 12 | BLOCK "080904B0" 13 | BEGIN 14 | VALUE "FileDescription", "SubSeven Legacy Viewer\0" 15 | VALUE "FileVersion", "0.1.0\0" 16 | VALUE "InternalName", "\0" 17 | VALUE "LegalCopyright", "Copyright \251 Sub7Crew.org\0" 18 | VALUE "ProductName", "SubSeven Legacy\0" 19 | VALUE "ProductVersion","0.1.0\0" 20 | END 21 | END 22 | 23 | BLOCK "VarFileInfo" 24 | BEGIN 25 | VALUE "Translation", 0x809,1200 26 | END 27 | END 28 | -------------------------------------------------------------------------------- /Service/Sub7Service.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Service/Sub7Service.res -------------------------------------------------------------------------------- /Service/Units/Sub7.Service.Config.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Service/Units/Sub7.Service.Config.pas -------------------------------------------------------------------------------- /Service/Units/Sub7.Service.Types.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit Sub7.Service.Types; 56 | 57 | interface 58 | 59 | type 60 | TSessionUID = String; 61 | 62 | implementation 63 | 64 | end. 65 | -------------------------------------------------------------------------------- /Service/Units/uMain.dfm: -------------------------------------------------------------------------------- 1 | object Sub7Legacy: TSub7Legacy 2 | OldCreateOrder = False 3 | OnCreate = ServiceCreate 4 | OnDestroy = ServiceDestroy 5 | DisplayName = 'SubSeven Legacy Server' 6 | BeforeInstall = ServiceBeforeInstall 7 | AfterInstall = ServiceAfterInstall 8 | BeforeUninstall = ServiceBeforeUninstall 9 | AfterUninstall = ServiceAfterUninstall 10 | OnContinue = ServiceContinue 11 | OnExecute = ServiceExecute 12 | OnPause = ServicePause 13 | OnShutdown = ServiceShutdown 14 | OnStart = ServiceStart 15 | OnStop = ServiceStop 16 | Height = 150 17 | Width = 215 18 | end 19 | -------------------------------------------------------------------------------- /Service/version.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Service/version.res -------------------------------------------------------------------------------- /Setup/icon.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Setup/icon.bmp -------------------------------------------------------------------------------- /Setup/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Setup/icon.png -------------------------------------------------------------------------------- /Setup/license.txt: -------------------------------------------------------------------------------- 1 | Disclaimer for SubSeven Legacy 2 | 3 | We are doing our best to prepare the content of this app. However, SubSeven Legacy cannot warranty the expressions and suggestions of the contents, as well as its accuracy. In addition, to the extent permitted by the law, SubSeven Legacy shall not be responsible for any losses and/or damages due to the usage of the information on our app. Our Disclaimer was generated with the help of the App Disclaimer Generator from App-Privacy-Policy.com 4 | 5 | By using our app, you hereby consent to our disclaimer and agree to its terms. 6 | 7 | Any links contained in our app may lead to external sites are provided for convenience only. Any information or statements that appeared in these sites or app are not sponsored, endorsed, or otherwise approved by SubSeven Legacy. For these external sites, SubSeven Legacy cannot be held liable for the availability of, or the content located on or through it. Plus, any losses or damages occurred from using these contents or the internet generally. 8 | 9 | --- 10 | 11 | End-User License Agreement (EULA) of SubSeven Legacy 12 | 13 | This End-User License Agreement ("EULA") is a legal agreement between you and Sub7Crew. Our EULA was created by EULA Template for SubSeven Legacy. 14 | 15 | This EULA agreement governs your acquisition and use of our SubSeven Legacy software ("Software") directly from Sub7Crew or indirectly through a Sub7Crew authorized reseller or distributor (a "Reseller"). Our Privacy Policy was created by the Privacy Policy Generator. 16 | 17 | Please read this EULA agreement carefully before completing the installation process and using the SubSeven Legacy software. It provides a license to use the SubSeven Legacy software and contains warranty information and liability disclaimers. 18 | 19 | If you register for a free trial of the SubSeven Legacy software, this EULA agreement will also govern that trial. By clicking "accept" or installing and/or using the SubSeven Legacy software, you are confirming your acceptance of the Software and agreeing to become bound by the terms of this EULA agreement. 20 | 21 | If you are entering into this EULA agreement on behalf of a company or other legal entity, you represent that you have the authority to bind such entity and its affiliates to these terms and conditions. If you do not have such authority or if you do not agree with the terms and conditions of this EULA agreement, do not install or use the Software, and you must not accept this EULA agreement. 22 | 23 | This EULA agreement shall apply only to the Software supplied by Sub7Crew herewith regardless of whether other software is referred to or described herein. The terms also apply to any Sub7Crew updates, supplements, Internet-based services, and support services for the Software, unless other terms accompany those items on delivery. If so, those terms apply. 24 | 25 | License Grant 26 | 27 | Sub7Crew hereby grants you a personal, non-transferable, non-exclusive licence to use the SubSeven Legacy software on your devices in accordance with the terms of this EULA agreement. 28 | 29 | You are permitted to load the SubSeven Legacy software (for example a PC, laptop, mobile or tablet) under your control. You are responsible for ensuring your device meets the minimum requirements of the SubSeven Legacy software. 30 | 31 | You are not permitted to: 32 | 33 | Edit, alter, modify, adapt, translate or otherwise change the whole or any part of the Software nor permit the whole or any part of the Software to be combined with or become incorporated in any other software, nor decompile, disassemble or reverse engineer the Software or attempt to do any such things 34 | Reproduce, copy, distribute, resell or otherwise use the Software for any commercial purpose 35 | Allow any third party to use the Software on behalf of or for the benefit of any third party 36 | Use the Software in any way which breaches any applicable local, national or international law 37 | use the Software for any purpose that Sub7Crew considers is a breach of this EULA agreement 38 | Intellectual Property and Ownership 39 | 40 | Sub7Crew shall at all times retain ownership of the Software as originally downloaded by you and all subsequent downloads of the Software by you. The Software (and the copyright, and other intellectual property rights of whatever nature in the Software, including any modifications made thereto) are and shall remain the property of Sub7Crew. 41 | 42 | Sub7Crew reserves the right to grant licences to use the Software to third parties. 43 | 44 | Termination 45 | 46 | This EULA agreement is effective from the date you first use the Software and shall continue until terminated. You may terminate it at any time upon written notice to Sub7Crew. 47 | 48 | It will also terminate immediately if you fail to comply with any term of this EULA agreement. Upon such termination, the licenses granted by this EULA agreement will immediately terminate and you agree to stop all access and use of the Software. The provisions that by their nature continue and survive will survive any termination of this EULA agreement. 49 | 50 | Governing Law 51 | 52 | This EULA agreement, and any dispute arising out of or in connection with this EULA agreement, shall be governed by and construed in accordance with the laws of ro. -------------------------------------------------------------------------------- /Shared/S7InterProcessCommunication.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Shared/S7InterProcessCommunication.pas -------------------------------------------------------------------------------- /Shared/S7IntervalThread.pas: -------------------------------------------------------------------------------- 1 | unit S7IntervalThread; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /Shared/Sub7.Core.FileSystem.Types.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit Sub7.Core.FileSystem.Types; 56 | 57 | interface 58 | 59 | type 60 | TFileAction = ( 61 | faCopy, 62 | faMove, 63 | faDelete 64 | ); 65 | 66 | implementation 67 | 68 | end. 69 | -------------------------------------------------------------------------------- /Shared/Sub7.Core.Input.Validators.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Shared/Sub7.Core.Input.Validators.pas -------------------------------------------------------------------------------- /Shared/Sub7.Core.OOP.Interfaces.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit Sub7.Core.OOP.Interfaces; 56 | 57 | interface 58 | 59 | uses System.Classes, XSuperObject; 60 | 61 | type 62 | IS7Enumerator = Interface(IInterface) 63 | function Refresh() : Integer; 64 | 65 | procedure Clear(); 66 | end; 67 | 68 | IS7Serializable = Interface(IInterface) 69 | function Serialize() : ISuperObject; 70 | procedure DeSerialize(const ASerializedObject : ISuperObject); 71 | end; 72 | 73 | implementation 74 | 75 | end. 76 | -------------------------------------------------------------------------------- /Shared/Sub7.Core.Types.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | unit Sub7.Core.Types; 55 | 56 | interface 57 | 58 | type 59 | TWorkerKind = ( 60 | wkUnknown, 61 | /// 62 | wkMainHandler, 63 | wkRemoteDesktopHandler, 64 | wkUploadHandler, 65 | wkDownloadHandler, 66 | wkSessionListener, 67 | wkTerminal 68 | ); 69 | 70 | implementation 71 | 72 | end. 73 | -------------------------------------------------------------------------------- /Shared/Sub7.Core.Windows.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit Sub7.Core.Windows; 56 | 57 | interface 58 | 59 | uses Winapi.Windows; 60 | 61 | procedure CloseValidPositiveHandle(const AHandle : THandle); 62 | 63 | implementation 64 | 65 | { CloseValidHandle 66 | 67 | To avoid errors, we validate that handle is > 0 before closing it. 68 | } 69 | procedure CloseValidPositiveHandle(const AHandle : THandle); 70 | begin 71 | if AHandle <> 0 then 72 | CloseHandle(AHandle); 73 | end; 74 | 75 | end. 76 | -------------------------------------------------------------------------------- /Shared/Sub7.Thread.Net.Session.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit Sub7.Thread.Net.Session; 56 | 57 | interface 58 | 59 | uses System.Classes, Winapi.Winsock2, Sub7.Core.Thread; 60 | 61 | 62 | 63 | implementation 64 | 65 | end. 66 | -------------------------------------------------------------------------------- /Shared/Trash/S7Socket.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Shared/Trash/S7Socket.pas -------------------------------------------------------------------------------- /Shared/VCL/Sub7.Core.VCL.Reg.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit Sub7.Core.VCL.Reg; 56 | 57 | interface 58 | 59 | uses Classes, Sub7.Core.VCL.MultiPanel, Sub7.Core.VCL.Captcha; 60 | 61 | procedure register; 62 | 63 | implementation 64 | 65 | {------------------------------------------------------------------------------- 66 | ___Register 67 | -------------------------------------------------------------------------------} 68 | procedure register; 69 | begin 70 | RegisterComponents('S7Common', [ 71 | TS7CMultiPanel, 72 | TS7CCaptcha 73 | ]); 74 | end; 75 | 76 | end. 77 | -------------------------------------------------------------------------------- /Shared/VCL/Sub7Common.dpk: -------------------------------------------------------------------------------- 1 | package Sub7Common; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$IMPLICITBUILD ON} 29 | 30 | requires 31 | rtl, 32 | vcl; 33 | 34 | contains 35 | Sub7.Core.VCL.MultiPanel in 'Sub7.Core.VCL.MultiPanel.pas', 36 | Sub7.Core.VCL.Reg in 'Sub7.Core.VCL.Reg.pas', 37 | Sub7.Core.VCL.Captcha in 'Sub7.Core.VCL.Captcha.pas'; 38 | 39 | end. 40 | -------------------------------------------------------------------------------- /Shared/VCL/Sub7Common.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Shared/VCL/Sub7Common.res -------------------------------------------------------------------------------- /Shared/VCL/Sub7CommonGroup.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {DD497661-C31E-4E67-9D6C-EBB13AE1E86C} 4 | 5 | 6 | Default.Personality.12 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Shared/VCL/Sub7CommonGroup.groupproj.local: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 2021/05/25 08:30:12.635,I:\2021\Sub7\Shared\VCL\Sub7CommonGroup.groupproj=C:\Users\xxx\Documents\Embarcadero\Studio\Projects\ProjectGroup1.groupproj 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Shared/XSuperObject.inc: -------------------------------------------------------------------------------- 1 | (* 2 | * XSuperObject - Simple JSON Framework 3 | * 4 | * The MIT License (MIT) 5 | * Copyright (c) 2015 Onur YILDIZ 6 | * 7 | * 8 | * Permission is hereby granted, free of charge, to any person 9 | * obtaining a copy of this software and associated documentation 10 | * files (the "Software"), to deal in the Software without restriction, 11 | * including without limitation the rights to use, copy, modify, 12 | * merge, publish, distribute, sublicense, and/or sell copies of the Software, 13 | * and to permit persons to whom the Software is furnished to do so, 14 | * subject to the following conditions: 15 | * 16 | * The above copyright notice and this permission notice shall 17 | * be included in all copies or substantial portions of the Software. 18 | * 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 23 | * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 | * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH 25 | * THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | * 27 | *) 28 | 29 | (* 30 | * Marshalling Options 31 | *) 32 | {$DEFINE SP_DATASET} 33 | {$DEFINE SP_STREAM} 34 | 35 | // ** Zero Based Strings Definations... 36 | {$UNDEF XE2UP} 37 | {$IFDEF DCC} 38 | {$IF CompilerVersion >= 24} 39 | {$DEFINE XE2UP} 40 | {$ENDIF} 41 | {$ENDIF} -------------------------------------------------------------------------------- /Shared/uWinApiHelper.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit uWinApiHelper; 56 | 57 | interface 58 | 59 | const PROCESS_QUERY_LIMITED_INFORMATION = $00001000; 60 | 61 | function GetQueryInformationFlag() : Cardinal; 62 | 63 | implementation 64 | 65 | uses System.SysUtils, Winapi.Windows; 66 | 67 | function GetQueryInformationFlag() : Cardinal; 68 | begin 69 | if TOSVersion.Major < 6 then 70 | result := PROCESS_QUERY_INFORMATION 71 | else 72 | result := PROCESS_QUERY_LIMITED_INFORMATION; 73 | end; 74 | 75 | 76 | end. 77 | -------------------------------------------------------------------------------- /Tray/Resources/build.bat: -------------------------------------------------------------------------------- 1 | brcc32 strings.rc 2 | copy /b strings.res ..\strings.res 3 | pause -------------------------------------------------------------------------------- /Tray/Resources/config.template.json: -------------------------------------------------------------------------------- 1 | { 2 | "servers": [{ 3 | "bind_address": "127.0.0.1", 4 | "bind_port": 2801, 5 | "concurrency": true, 6 | "certificate": "", 7 | "authentication": { 8 | "method": "pubkey" 9 | } 10 | }] 11 | } -------------------------------------------------------------------------------- /Tray/Resources/strings.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Tray/Resources/strings.RES -------------------------------------------------------------------------------- /Tray/Resources/strings.rc: -------------------------------------------------------------------------------- 1 | config_template RCDATA config.template.json -------------------------------------------------------------------------------- /Tray/Sub7ServerTray.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Tray/Sub7ServerTray.res -------------------------------------------------------------------------------- /Tray/Units/uContext.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit uContext; 56 | 57 | interface 58 | 59 | uses System.SysUtils; 60 | 61 | var SUB7_SVC_APP : String = ''; 62 | SUB7_SVC_NAME : String = 'Sub7Legacy'; 63 | SUB7_SVC_DNAME : String = 'SubSeven Legacy Server'; 64 | 65 | const SUB7_SVC = 'Sub7Service.exe'; 66 | 67 | implementation 68 | 69 | uses UntFunctions; 70 | 71 | initialization 72 | {$IFDEF DEBUG} 73 | {$IFDEF WIN64} 74 | SUB7_SVC_APP := 'I:\2021\Sub7\Service\Win64\Debug\' + SUB7_SVC; 75 | {$ELSE} 76 | SUB7_SVC_APP := 'I:\2021\Sub7\Service\Win32\Debug\' + SUB7_SVC; 77 | {$ENDIF} 78 | {$ELSE} 79 | SUB7_SVC_APP := GetHostFolderFile(SUB7_SVC); 80 | {$ENDIF} 81 | 82 | end. 83 | -------------------------------------------------------------------------------- /Tray/Units/uFormAbout.dfm: -------------------------------------------------------------------------------- 1 | object FormAbout: TFormAbout 2 | Left = 0 3 | Top = 0 4 | BorderIcons = [biSystemMenu] 5 | BorderStyle = bsSingle 6 | Caption = 'About SubSeven Legacy' 7 | ClientHeight = 223 8 | ClientWidth = 267 9 | Color = clGray 10 | DoubleBuffered = True 11 | Font.Charset = DEFAULT_CHARSET 12 | Font.Color = clWhite 13 | Font.Height = -11 14 | Font.Name = 'Arial' 15 | Font.Style = [] 16 | OldCreateOrder = False 17 | Position = poScreenCenter 18 | OnCreate = FormCreate 19 | OnResize = FormResize 20 | OnShow = FormShow 21 | PixelsPerInch = 96 22 | TextHeight = 14 23 | object PanelClient: TS7Panel 24 | Left = 0 25 | Top = 0 26 | Width = 267 27 | Height = 223 28 | BorderTop = 0 29 | BorderLeft = 0 30 | BorderRight = 0 31 | BorderBottom = 0 32 | Color = clWhite 33 | BorderColor = clBlack 34 | Align = alClient 35 | TabOrder = 0 36 | object ImageLogo: TImage 37 | Left = 104 38 | Top = 24 39 | Width = 64 40 | Height = 64 41 | AutoSize = True 42 | Center = True 43 | Picture.Data = { 44 | 0954506E67496D61676589504E470D0A1A0A0000000D49484452000000400000 45 | 00400806000000AA6971DE000000097048597300000B1300000B1301009A9C18 46 | 000000017352474200AECE1CE90000000467414D410000B18F0BFC6105000003 47 | 8B4944415478DAED9A4D4BEB401486AF608B0A55440B556B298A5AACD585F801 48 | 52D02EA4F8D18D140BFE81F617E92F702BD48D7FC085B8110411578228820B41 49 | 296DB5E085175EB833246D62A2497BCF6C1E0AC924E76972E6CC64BAFEF8B77D 50 | 393CBFCBB58344803F0374458408F0E10DA33D3E3E82E170D8D679C160D056AC 51 | 22C0EBC0CBE532383131010E0E0E5A0A3C100828BF3F3F3F5B89100176052881 52 | 178B45706060008CC7E3E0D8D818188944C0BEBEBEA637DEDBDB0BF6F4F4580A 53 | B45533132102DC1670787808F6F7F783A3A3A3602C1603474646C0EEEE6E4701 54 | 3915F1F4F404F28F11016E0968F50A249349707C7CDC1301E7E7E7E0C6C6869D 55 | 1845806501EBEBEB60281402676767410E5B0C7C616101D493225F8D5AAD067E 56 | 7C7C80F57A1D7C7D7D552ECE7E793D264DB7021701360E5244B060E123CF1BA4 57 | 00BE1A9B9B9B4D3BAD56ABE0CBCB0B787171A1F4A30BD705380D5C047CE36043 58 | 111C06392C3280B5B535E5E49B9B1BF0FEFE1EE464E7FDFD5D099449756B6B4B 59 | 11CD7EF90A9D9E9E8207070722E0B704188AE00D520803999F9F57023E3A3A6A 60 | DA29FB6112DDDEDE0657575715010F0F0FE0E4E4A41BB18800274B6210313434 61 | 841FA9540AD45F05DEF0F1F1B1D9B5BFFE15C8E4994EA74126434E9AAEAEAEC0 62 | E5E56511E00B016C4B4B4BE0D4D4942280C98F494B0F5C3F7F6F6F0F5C595951 63 | C4721276777707CECDCD8900AF052822381D8E46A3204BE1E7E767F0F2F2D250 64 | 00931F1F7992C990C32C4BE9939313D0E9F02702DC16F08D6BE23C26B9FDFD7D 65 | 30914880D3D3D320875596CC6E0D7F22C0450156451826BFDDDD5DB0502880FA 66 | 749AC9CFEDE14F04FC80005BA258F8E4F37990A5334B5F163E3F95FC4480D702 67 | F4C2874B6CFAF4D7EDC247047828C017A5AF08F08B000E7F5C3ADBD9D90159FA 68 | 72115404749A00B3C98FBEF4C526023A4040D3479FC3DFE2E222C84F622C80DC 69 | 5E0415015E09D01F7D4E7AF4E9AFBE654604748A00163E994C06E447D45602DE 70 | DEDEC0E1E16111D06E020C4B5F263B0A6009CC02C86C8BCDD9D91998CBE54440 71 | 5B0AD03F7E32D06C366B49001745AD6E7F13017E11C00F26333333A0BE1182DB 72 | EEB824C64F6B5C32E3B4B8D16880064B6322C06F020C931F97B9D928828D819A 73 | 25478ABABEBE069D6E8E12013F20A0E9D619366E8A326BBA184E9A28E4F6F616 74 | 2C954A22C0D702F48D8E0CBC52A9D8EA9449D1C2A62B11E02B01BFD87C330CFE 75 | F7027E5B846F27436D25E02FC384245F9C51E3B50000000049454E44AE426082} 76 | end 77 | object LabelName: TLabel 78 | Left = 72 79 | Top = 109 80 | Width = 135 81 | Height = 16 82 | Caption = 'SubSeven Legacy' 83 | Color = clWhite 84 | Font.Charset = DEFAULT_CHARSET 85 | Font.Color = 2301723 86 | Font.Height = -16 87 | Font.Name = 'Courier' 88 | Font.Style = [] 89 | ParentColor = False 90 | ParentFont = False 91 | end 92 | object LabelVersion: TLabel 93 | Left = 72 94 | Top = 131 95 | Width = 72 96 | Height = 13 97 | Caption = '%version%' 98 | Color = clWhite 99 | Font.Charset = DEFAULT_CHARSET 100 | Font.Color = 2301723 101 | Font.Height = -11 102 | Font.Name = 'Courier' 103 | Font.Style = [] 104 | ParentColor = False 105 | ParentFont = False 106 | end 107 | object LabelWebSite: TLabel 108 | Left = 64 109 | Top = 166 110 | Width = 128 111 | Height = 13 112 | Cursor = crHandPoint 113 | Caption = 'www.sub7crew.org' 114 | Color = clWhite 115 | Font.Charset = DEFAULT_CHARSET 116 | Font.Color = 5187328 117 | Font.Height = -11 118 | Font.Name = 'Courier' 119 | Font.Style = [fsUnderline] 120 | ParentColor = False 121 | ParentFont = False 122 | OnClick = LabelWebSiteClick 123 | end 124 | end 125 | end 126 | -------------------------------------------------------------------------------- /Tray/Units/uFormHashPassword.dfm: -------------------------------------------------------------------------------- 1 | object FormHashPassword: TFormHashPassword 2 | Left = 0 3 | Top = 0 4 | BorderIcons = [biSystemMenu] 5 | BorderStyle = bsDialog 6 | Caption = 'Hash Password (Sha512)' 7 | ClientHeight = 159 8 | ClientWidth = 343 9 | Color = clWhite 10 | Font.Charset = DEFAULT_CHARSET 11 | Font.Color = clWindowText 12 | Font.Height = -11 13 | Font.Name = 'Tahoma' 14 | Font.Style = [] 15 | OldCreateOrder = False 16 | Position = poOwnerFormCenter 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object LabelTitle: TLabel 20 | AlignWithMargins = True 21 | Left = 16 22 | Top = 16 23 | Width = 311 24 | Height = 13 25 | Margins.Left = 16 26 | Margins.Top = 16 27 | Margins.Right = 16 28 | Margins.Bottom = 4 29 | Align = alTop 30 | Caption = 'Enter password to hash:' 31 | ExplicitWidth = 118 32 | end 33 | object LabelResult: TLabel 34 | AlignWithMargins = True 35 | Left = 16 36 | Top = 66 37 | Width = 311 38 | Height = 13 39 | Margins.Left = 16 40 | Margins.Top = 8 41 | Margins.Right = 16 42 | Margins.Bottom = 4 43 | Align = alTop 44 | Caption = 'Result:' 45 | ExplicitWidth = 34 46 | end 47 | object ButtonOk: TS7CButton 48 | Left = 227 49 | Top = 119 50 | Width = 100 51 | Height = 34 52 | Enabled = True 53 | Caption = 'Ok' 54 | Value = 0 55 | OnClick = ButtonOkClick 56 | end 57 | object ButtonCopy: TS7CButton 58 | Left = 121 59 | Top = 119 60 | Width = 100 61 | Height = 34 62 | Enabled = False 63 | Caption = 'Copy' 64 | Value = 0 65 | OnClick = ButtonCopyClick 66 | end 67 | object Shape: TShape 68 | AlignWithMargins = True 69 | Left = 3 70 | Top = 111 71 | Width = 337 72 | Height = 2 73 | Align = alTop 74 | Pen.Color = 16448250 75 | ExplicitLeft = 0 76 | ExplicitTop = 108 77 | ExplicitWidth = 343 78 | end 79 | object EditPassword: TEdit 80 | AlignWithMargins = True 81 | Left = 16 82 | Top = 33 83 | Width = 311 84 | Height = 21 85 | Margins.Left = 16 86 | Margins.Top = 0 87 | Margins.Right = 16 88 | Margins.Bottom = 4 89 | Align = alTop 90 | TabOrder = 0 91 | OnChange = EditPasswordChange 92 | end 93 | object EditResult: TEdit 94 | AlignWithMargins = True 95 | Left = 16 96 | Top = 83 97 | Width = 311 98 | Height = 21 99 | Margins.Left = 16 100 | Margins.Top = 0 101 | Margins.Right = 16 102 | Margins.Bottom = 4 103 | Align = alTop 104 | ReadOnly = True 105 | TabOrder = 1 106 | OnChange = EditResultChange 107 | end 108 | end 109 | -------------------------------------------------------------------------------- /Tray/Units/uFormWait.dfm: -------------------------------------------------------------------------------- 1 | object FormWait: TFormWait 2 | Left = 0 3 | Top = 0 4 | BorderIcons = [] 5 | BorderStyle = bsSingle 6 | Caption = 'Operation in progress, please wait...' 7 | ClientHeight = 49 8 | ClientWidth = 274 9 | Color = clWhite 10 | Font.Charset = DEFAULT_CHARSET 11 | Font.Color = clWindowText 12 | Font.Height = -11 13 | Font.Name = 'Tahoma' 14 | Font.Style = [] 15 | OldCreateOrder = False 16 | Position = poScreenCenter 17 | OnClose = FormClose 18 | OnShow = FormShow 19 | PixelsPerInch = 96 20 | TextHeight = 13 21 | object ProgressBar: TProgressBar 22 | Left = 8 23 | Top = 16 24 | Width = 258 25 | Height = 17 26 | TabOrder = 0 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /Tray/Units/uFormWait.pas: -------------------------------------------------------------------------------- 1 | unit uFormWait; 2 | 3 | interface 4 | 5 | uses 6 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, 7 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls; 8 | 9 | type 10 | TFormWait = class(TForm) 11 | ProgressBar: TProgressBar; 12 | procedure FormShow(Sender: TObject); 13 | procedure FormClose(Sender: TObject; var Action: TCloseAction); 14 | private 15 | { Private declarations } 16 | public 17 | { Public declarations } 18 | end; 19 | 20 | var 21 | FormWait: TFormWait; 22 | 23 | implementation 24 | 25 | {$R *.dfm} 26 | 27 | procedure TFormWait.FormClose(Sender: TObject; var Action: TCloseAction); 28 | begin 29 | self.ProgressBar.Style := pbstNormal; 30 | 31 | Application.MainForm.Enabled := True; 32 | end; 33 | 34 | procedure TFormWait.FormShow(Sender: TObject); 35 | begin 36 | self.ProgressBar.Style := pbstMarquee; 37 | 38 | Application.MainForm.Enabled := False; 39 | end; 40 | 41 | end. 42 | -------------------------------------------------------------------------------- /Tray/VCL/S7CReg.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit S7CReg; 56 | 57 | interface 58 | 59 | uses System.Classes, S7CLabel, S7CButton, S7CTaskList; 60 | 61 | procedure register; 62 | 63 | implementation 64 | 65 | {------------------------------------------------------------------------------- 66 | ___Register 67 | -------------------------------------------------------------------------------} 68 | procedure register; 69 | begin 70 | RegisterComponents('S7Controller', [TS7CLabel, TS7CButton, TS7CTaskList]); 71 | end; 72 | 73 | end. 74 | -------------------------------------------------------------------------------- /Tray/VCL/S7CTaskList.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Tray/VCL/S7CTaskList.pas -------------------------------------------------------------------------------- /Tray/VCL/S7ControllerComponent.dpk: -------------------------------------------------------------------------------- 1 | package S7ControllerComponent; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$IMPLICITBUILD ON} 29 | 30 | requires 31 | rtl, 32 | vcl, 33 | S7C; 34 | 35 | contains 36 | S7CLabel in 'S7CLabel.pas', 37 | S7CReg in 'S7CReg.pas', 38 | S7CButton in 'S7CButton.pas', 39 | S7CTaskList in 'S7CTaskList.pas'; 40 | 41 | end. 42 | -------------------------------------------------------------------------------- /Tray/VCL/S7ControllerComponent.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Tray/VCL/S7ControllerComponent.res -------------------------------------------------------------------------------- /Tray/VCL/S7ControllerComponentGroup.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {7F9AE8BD-0112-4F06-95B3-8B572C31D470} 4 | 5 | 6 | Default.Personality.12 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Tray/VCL/S7ControllerComponentGroup.groupproj.local: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tray/strings.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Tray/strings.res -------------------------------------------------------------------------------- /Tray/version.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Tray/version.res -------------------------------------------------------------------------------- /Viewer/Resources/about.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about.bin -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00000.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00001.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00002.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00003.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00004.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00005.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00006.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00007.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00008.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00009.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00010.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00011.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00012.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00013.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00014.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00015.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00016.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00017.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00018.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00019.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00020.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00021.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00022.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00023.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00024.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00025.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00026.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00027.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00028.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00029.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00030.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00031.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00032.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00033.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00034.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00035.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00036.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00036.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00037.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00037.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00038.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00038.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00039.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00039.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00040.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00040.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00041.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00042.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00042.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00043.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00043.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00044.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00044.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00045.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00046.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00046.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00047.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00047.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00048.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00049.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00049.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00050.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00050.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00051.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00052.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00052.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00053.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00053.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00054.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00055.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00055.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00056.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00057.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00058.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00058.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00059.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00059.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00060.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00060.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00061.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00061.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00062.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00062.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00063.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00063.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00064.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00064.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00065.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00065.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00066.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00066.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00067.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00067.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00068.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00068.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00069.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00069.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00070.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00070.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00071.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00071.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00072.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00072.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00073.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00073.png -------------------------------------------------------------------------------- /Viewer/Resources/about_scenes/sub7about_00074.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/about_scenes/sub7about_00074.png -------------------------------------------------------------------------------- /Viewer/Resources/build.bat: -------------------------------------------------------------------------------- 1 | brcc32 sub7.rc 2 | 3 | -------------------------------------------------------------------------------- /Viewer/Resources/class11.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/class11.mod -------------------------------------------------------------------------------- /Viewer/Resources/sub7.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/sub7.RES -------------------------------------------------------------------------------- /Viewer/Resources/sub7.rc: -------------------------------------------------------------------------------- 1 | mktn sub7 class11.mod 2 | about_textures sub7 about.bin -------------------------------------------------------------------------------- /Viewer/Resources/traxonic.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Resources/traxonic.mod -------------------------------------------------------------------------------- /Viewer/Sub7Viewer.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Sub7Viewer.res -------------------------------------------------------------------------------- /Viewer/Units/Forms/___Forms/___S7ContextWindow.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit ___S7ContextWindow; 56 | 57 | interface 58 | 59 | uses VCL.Forms, System.Classes, ___S7MessagedWindow; 60 | 61 | type 62 | TS7ContextWindow = class(TS7MessagedWindow) 63 | protected 64 | {@M} 65 | procedure OnSub7Disconnected(); override; 66 | public 67 | end; 68 | 69 | implementation 70 | 71 | procedure TS7ContextWindow.OnSub7Disconnected(); 72 | begin 73 | FReleaseOnClose := True; 74 | 75 | self.Close(); 76 | end; 77 | 78 | end. 79 | -------------------------------------------------------------------------------- /Viewer/Units/Forms/___Forms/___S7DockWindow.dfm: -------------------------------------------------------------------------------- 1 | object S7WindowDock: TS7WindowDock 2 | Left = 0 3 | Top = 0 4 | BorderStyle = bsNone 5 | BorderWidth = 2 6 | ClientHeight = 324 7 | ClientWidth = 360 8 | Color = clGray 9 | Constraints.MinHeight = 80 10 | Constraints.MinWidth = 200 11 | DoubleBuffered = True 12 | Font.Charset = DEFAULT_CHARSET 13 | Font.Color = clWindowText 14 | Font.Height = -11 15 | Font.Name = 'Arial' 16 | Font.Style = [] 17 | OldCreateOrder = False 18 | Position = poOwnerFormCenter 19 | OnCreate = FormCreate 20 | PixelsPerInch = 96 21 | TextHeight = 14 22 | object CaptionBar: TS7CaptionBar 23 | Left = 0 24 | Top = 0 25 | Width = 360 26 | Height = 19 27 | Caption = '' 28 | BorderIcons = [biSystemMenu, biMinimize, biMaximize] 29 | S7Form = S7Form1 30 | Dockable = True 31 | Transparent = False 32 | Collapsible = True 33 | TextCenter = False 34 | MainColor = 16744576 35 | SecondaryColor = clBlack 36 | OnDock = CaptionBarDock 37 | Align = alTop 38 | end 39 | object S7Form1: TS7Form 40 | Resizable = True 41 | ShowBorder = True 42 | Color = clGray 43 | Left = 304 44 | Top = 160 45 | end 46 | end 47 | -------------------------------------------------------------------------------- /Viewer/Units/Forms/uFormAbout.dfm: -------------------------------------------------------------------------------- 1 | object FormAbout: TFormAbout 2 | Left = 0 3 | Top = 0 4 | BorderStyle = bsNone 5 | Caption = 'about subseven legacy - www.sub7crew.org' 6 | ClientHeight = 400 7 | ClientWidth = 600 8 | Color = clBlack 9 | Constraints.MinHeight = 80 10 | Constraints.MinWidth = 200 11 | DoubleBuffered = True 12 | Font.Charset = DEFAULT_CHARSET 13 | Font.Color = clWindowText 14 | Font.Height = -11 15 | Font.Name = 'Arial' 16 | Font.Style = [] 17 | Position = poOwnerFormCenter 18 | OnClose = FormClose 19 | OnCreate = FormCreate 20 | OnDestroy = FormDestroy 21 | OnResize = FormResize 22 | OnShow = FormShow 23 | TextHeight = 14 24 | object PanelScene: TPanel 25 | Left = 0 26 | Top = 0 27 | Width = 600 28 | Height = 400 29 | Align = alClient 30 | BevelOuter = bvNone 31 | Color = clBlack 32 | ParentBackground = False 33 | TabOrder = 0 34 | object ScrollingCredits: TS7ScrollingCredit 35 | AlignWithMargins = True 36 | Left = 154 37 | Top = -155 38 | Width = 450 39 | Height = 220 40 | Margins.Left = 128 41 | Margins.Right = 128 42 | Margins.Bottom = 32 43 | Active = False 44 | Text.Strings = ( 45 | '#SubSeven Legacy' 46 | '' 47 | '%version%' 48 | 'Compiled with Delphi 11' 49 | '' 50 | '' 51 | 'Made with love from' 52 | 'RA 3h 17m 46s Dec -62'#176' 34'#8242' 31'#8243 53 | '' 54 | '' 55 | 'Coded By DarkCoderSc' 56 | 'Music Maktone' 57 | '' 58 | '' 59 | '' 60 | '' 61 | '_https://www.twitter.com/darkcodersc' 62 | '_https://github.com/darkcodersc' 63 | '' 64 | '' 65 | '' 66 | '_www.sub7crew.org' 67 | '') 68 | LogoBegin.Data = { 69 | 0954506E67496D61676589504E470D0A1A0A0000000D49484452000000200000 70 | 00200806000000737A7AF4000000017352474200AECE1CE90000000467414D41 71 | 0000B18F0BFC6105000000097048597300000EC300000EC301C76FA864000002 72 | 504944415478DACDD72150C2501800E047231808068281605830100C04C38261 73 | C14030100C04C3026181B04058202C1016080B06828160201816080403C1B060 74 | 20180806828160803B3C7CEF77E3B6BDFFB1B7E11DFE6577FB7FFE7DF7B6FDBC 75 | 15C891A3F09F00DB635C3B06A041C83721EBCD9AAC562B423684AC3689233DCF 76 | 9DA347613D9233DA8600B0D9C2C5532F2840C8D69BA689034269F1A428B58693 77 | C904EAD56B55AADEB66DA8373B7280B407749B00A4D6A703BE7E97AA542AC901 78 | C613A8D7344D0ED0B5A1DEB22C1CB05C2E41583A9503789E07F5DA8D1C002E4C 79 | EBADEE1E00BB0DE57299CB611D13002C623DD2019F4B58220CE0BFFAC2D70D3B 80 | A7EB3A0FE85890836701032C160B68503EE301D3E934D33CD05B3C005E3F9AB3 81 | 7B22C0C7029A542A15A95B8085EBBA6240DB84FE8EE36406C8C6D6EDBBD0C330 82 | 0CAE7F2A603E9F83BE729E1F00CD13E336CC018AE69CBE08F03E07A1A2280701 83 | D873101DB73B40CB80FE709B8400FA63E5E20040CFE1E6BD3460369BC1120500 84 | D988F5C0C66D98835793E6DC0711E06D96E92FB6D96CF20064DCEE00F73AE406 85 | 83010EF07D3FD31E4008A0F5D1691703D0DCE0310550BDACE6BE05D8B80D7300 86 | A639312018B7B55A2D99930D74DCEE00774DC80D87431C108EDBDAD58100BACC 87 | D1711BE61A8D06F41F3EED01B01FABAA9A1B80CDFB2880F51F8D4602C0CB1496 88 | E82000326E7780DB06E484808C5B2C14808DDB3057AFD721377ADE03604B146C 89 | B1720503B01EC1B48B0503B01C6C645040B0C7FBB36F0241BD10106EB1B27E68 90 | 64057A630120F7BAE70B0E7094383AE007B0EACE3F9720BF2F0000000049454E 91 | 44AE426082} 92 | Font.Charset = DEFAULT_CHARSET 93 | Font.Color = clWhite 94 | Font.Height = -11 95 | Font.Name = 'Courier' 96 | Font.Style = [] 97 | end 98 | object Scene: TImage 99 | Left = 0 100 | Top = 0 101 | Width = 600 102 | Height = 400 103 | Align = alClient 104 | OnMouseDown = SceneMouseDown 105 | ExplicitLeft = 56 106 | ExplicitTop = 80 107 | ExplicitWidth = 105 108 | ExplicitHeight = 105 109 | end 110 | object CaptionBar: TS7CaptionBar 111 | Left = 15 112 | Top = 8 113 | Width = 500 114 | Height = 25 115 | Caption = 'about subseven legacy - www.sub7crew.org' 116 | BorderIcons = [biSystemMenu] 117 | Dockable = False 118 | Transparent = True 119 | Collapsible = False 120 | TextCenter = True 121 | MainColor = clBlack 122 | SecondaryColor = clGray 123 | end 124 | end 125 | object TimerScene: TS7Timer 126 | DueTime = 80 127 | Period = 80 128 | OnTimer = TimerSceneTimer 129 | Left = 248 130 | Top = 211 131 | end 132 | end 133 | -------------------------------------------------------------------------------- /Viewer/Units/Forms/uFormFileManager.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/Units/Forms/uFormFileManager.pas -------------------------------------------------------------------------------- /Viewer/Units/Forms/uFormPassword.dfm: -------------------------------------------------------------------------------- 1 | object FormPassword: TFormPassword 2 | Left = 0 3 | Top = 0 4 | BorderStyle = bsNone 5 | BorderWidth = 2 6 | Caption = 'log to server' 7 | ClientHeight = 107 8 | ClientWidth = 249 9 | Color = clGray 10 | Constraints.MinHeight = 80 11 | Constraints.MinWidth = 200 12 | DoubleBuffered = True 13 | Font.Charset = DEFAULT_CHARSET 14 | Font.Color = clWindowText 15 | Font.Height = -11 16 | Font.Name = 'Arial' 17 | Font.Style = [] 18 | KeyPreview = True 19 | OldCreateOrder = False 20 | Position = poMainFormCenter 21 | OnClose = FormClose 22 | OnCreate = FormCreate 23 | OnKeyUp = FormKeyUp 24 | OnShow = FormShow 25 | PixelsPerInch = 96 26 | TextHeight = 14 27 | object CaptionBar: TS7CaptionBar 28 | Left = 0 29 | Top = 0 30 | Width = 249 31 | Height = 19 32 | Caption = 'log to server' 33 | BorderIcons = [biSystemMenu] 34 | Dockable = False 35 | Transparent = False 36 | Collapsible = True 37 | TextCenter = False 38 | MainColor = 16744576 39 | SecondaryColor = clBlack 40 | OnClose = CaptionBarClose 41 | Align = alTop 42 | end 43 | object PanelClient: TS7Panel 44 | Left = 0 45 | Top = 19 46 | Width = 249 47 | Height = 88 48 | BorderTop = 0 49 | BorderLeft = 0 50 | BorderRight = 0 51 | BorderBottom = 0 52 | Color = clBlack 53 | BorderColor = clBlack 54 | Align = alClient 55 | TabOrder = 0 56 | object LabelPassword: TLabel 57 | AlignWithMargins = True 58 | Left = 8 59 | Top = 15 60 | Width = 53 61 | Height = 14 62 | Margins.Left = 8 63 | Margins.Top = 15 64 | Caption = 'password:' 65 | Color = clBlack 66 | Font.Charset = DEFAULT_CHARSET 67 | Font.Color = clWhite 68 | Font.Height = -11 69 | Font.Name = 'Arial' 70 | Font.Style = [] 71 | ParentColor = False 72 | ParentFont = False 73 | end 74 | object ButtonConnect: TS7Button 75 | Left = 136 76 | Top = 45 77 | Width = 97 78 | Height = 28 79 | Font.Charset = DEFAULT_CHARSET 80 | Font.Color = clWhite 81 | Font.Height = -11 82 | Font.Name = 'MS Sans Serif' 83 | Font.Style = [] 84 | Enabled = True 85 | TextAlign = taCenter 86 | Down = False 87 | Chevron = False 88 | Caption = 'connect' 89 | Value = 0 90 | OnClick = ButtonConnectClick 91 | Busy = False 92 | end 93 | object EditPassword: TS7Edit 94 | AlignWithMargins = True 95 | Left = 66 96 | Top = 10 97 | Width = 167 98 | Height = 22 99 | Hint = 'server password / passphrase used to secure your connection.' 100 | Margins.Left = 0 101 | Margins.Top = 10 102 | Margins.Right = 0 103 | Margins.Bottom = 10 104 | AutoSize = False 105 | Color = clBlack 106 | Enabled = True 107 | Font.Charset = DEFAULT_CHARSET 108 | Font.Color = clWhite 109 | Font.Height = -13 110 | Font.Name = 'Courier New' 111 | Font.Style = [fsBold] 112 | ParentFont = False 113 | ParentShowHint = False 114 | PasswordChar = #8226 115 | ShowHint = True 116 | TabOrder = 0 117 | OnChange = EditPasswordChange 118 | AlternativeTheme = False 119 | Status = csNormal 120 | Validators = [] 121 | end 122 | end 123 | object SubSevenForms: TS7Form 124 | Resizable = False 125 | ShowBorder = True 126 | Color = clGray 127 | Left = 24 128 | Top = 56 129 | end 130 | end 131 | -------------------------------------------------------------------------------- /Viewer/Units/Forms/uFormRemoteShell.dfm: -------------------------------------------------------------------------------- 1 | object FormRemoteShell: TFormRemoteShell 2 | Left = 0 3 | Top = 0 4 | BorderStyle = bsNone 5 | BorderWidth = 2 6 | Caption = 'remote shell' 7 | ClientHeight = 258 8 | ClientWidth = 513 9 | Color = clGray 10 | Constraints.MinHeight = 240 11 | Constraints.MinWidth = 320 12 | DoubleBuffered = True 13 | Font.Charset = DEFAULT_CHARSET 14 | Font.Color = clWindowText 15 | Font.Height = -11 16 | Font.Name = 'Arial' 17 | Font.Style = [] 18 | KeyPreview = True 19 | OldCreateOrder = False 20 | Position = poOwnerFormCenter 21 | OnKeyDown = FormKeyDown 22 | OnKeyPress = FormKeyPress 23 | PixelsPerInch = 96 24 | TextHeight = 14 25 | object CaptionBar: TS7CaptionBar 26 | Left = 0 27 | Top = 0 28 | Width = 513 29 | Height = 19 30 | Caption = 'remote shell' 31 | BorderIcons = [biSystemMenu, biMinimize, biMaximize] 32 | S7Form = SubSevenForms 33 | Dockable = False 34 | Transparent = False 35 | Collapsible = True 36 | TextCenter = False 37 | MainColor = 16744576 38 | SecondaryColor = clBlack 39 | OnClickCaption = CaptionBarClickCaption 40 | Align = alTop 41 | end 42 | object PanelClient: TS7Panel 43 | Left = 0 44 | Top = 19 45 | Width = 513 46 | Height = 239 47 | BorderTop = 0 48 | BorderLeft = 0 49 | BorderRight = 0 50 | BorderBottom = 0 51 | Color = clBlack 52 | BorderColor = clBlack 53 | Align = alClient 54 | TabOrder = 0 55 | ExplicitTop = 0 56 | ExplicitHeight = 258 57 | object PanelCommand: TS7Panel 58 | AlignWithMargins = True 59 | Left = 2 60 | Top = 212 61 | Width = 509 62 | Height = 25 63 | Margins.Left = 2 64 | Margins.Top = 0 65 | Margins.Right = 2 66 | Margins.Bottom = 2 67 | BorderTop = 0 68 | BorderLeft = 0 69 | BorderRight = 0 70 | BorderBottom = 0 71 | Color = 8404992 72 | BorderColor = clBlack 73 | Align = alBottom 74 | TabOrder = 0 75 | ExplicitTop = 231 76 | object ButtonRun: TS7ImageButton 77 | AlignWithMargins = True 78 | Left = 483 79 | Top = 2 80 | Width = 24 81 | Height = 23 82 | Hint = 'run command to current terminal session' 83 | Margins.Left = 2 84 | Margins.Top = 2 85 | Margins.Right = 2 86 | Margins.Bottom = 0 87 | Align = alRight 88 | Background = 8404992 89 | ImageList = FormMain.ImageSubSeven 90 | ImageIndex = 13 91 | OnClick = ButtonRunClick 92 | Value = 0 93 | ExplicitLeft = 2 94 | ExplicitHeight = 645 95 | end 96 | object EditCommand: TS7Edit 97 | AlignWithMargins = True 98 | Left = 2 99 | Top = 2 100 | Width = 477 101 | Height = 21 102 | Margins.Left = 2 103 | Margins.Top = 2 104 | Margins.Right = 2 105 | Margins.Bottom = 2 106 | Align = alClient 107 | AutoSize = False 108 | Color = 8404992 109 | Enabled = True 110 | Font.Charset = DEFAULT_CHARSET 111 | Font.Color = clWhite 112 | Font.Height = -11 113 | Font.Name = 'Courier New' 114 | Font.Style = [] 115 | ParentFont = False 116 | ParentShowHint = False 117 | ShowHint = True 118 | TabOrder = 0 119 | OnKeyDown = EditCommandKeyDown 120 | OnKeyUp = EditCommandKeyUp 121 | AlternativeTheme = True 122 | Status = csNormal 123 | Validators = [] 124 | end 125 | end 126 | object Terminal: TMemo 127 | AlignWithMargins = True 128 | Left = 2 129 | Top = 1 130 | Width = 509 131 | Height = 209 132 | Margins.Left = 2 133 | Margins.Top = 1 134 | Margins.Right = 2 135 | Margins.Bottom = 2 136 | TabStop = False 137 | Align = alClient 138 | BevelInner = bvNone 139 | BevelOuter = bvNone 140 | BorderStyle = bsNone 141 | Color = 8404992 142 | Font.Charset = DEFAULT_CHARSET 143 | Font.Color = clWhite 144 | Font.Height = -12 145 | Font.Name = 'Courier New' 146 | Font.Style = [] 147 | ParentFont = False 148 | ReadOnly = True 149 | ScrollBars = ssVertical 150 | TabOrder = 1 151 | OnMouseDown = TerminalMouseDown 152 | ExplicitHeight = 228 153 | end 154 | end 155 | object SubSevenForms: TS7Form 156 | Resizable = True 157 | ShowBorder = True 158 | Color = clGray 159 | Left = 472 160 | Top = 88 161 | end 162 | end 163 | -------------------------------------------------------------------------------- /Viewer/Units/Forms/uRegistryForm.dfm: -------------------------------------------------------------------------------- 1 | object FormRegistry: TFormRegistry 2 | Left = 0 3 | Top = 0 4 | BorderStyle = bsNone 5 | BorderWidth = 2 6 | Caption = 'registry editor' 7 | ClientHeight = 349 8 | ClientWidth = 566 9 | Color = clGray 10 | Constraints.MinHeight = 240 11 | Constraints.MinWidth = 320 12 | DoubleBuffered = True 13 | Font.Charset = DEFAULT_CHARSET 14 | Font.Color = clWindowText 15 | Font.Height = -11 16 | Font.Name = 'Arial' 17 | Font.Style = [] 18 | OldCreateOrder = False 19 | PixelsPerInch = 96 20 | TextHeight = 14 21 | object CaptionBar: TS7CaptionBar 22 | Left = 0 23 | Top = 0 24 | Width = 566 25 | Height = 19 26 | Caption = 'registry editor' 27 | BorderIcons = [biSystemMenu, biMinimize, biMaximize] 28 | S7Form = SubSevenForms 29 | Dockable = False 30 | Transparent = False 31 | Collapsible = True 32 | TextCenter = False 33 | MainColor = 16744576 34 | SecondaryColor = clBlack 35 | Align = alTop 36 | end 37 | object PanelHeader: TS7Panel 38 | Left = 0 39 | Top = 19 40 | Width = 566 41 | Height = 28 42 | BorderTop = 1 43 | BorderLeft = 2 44 | BorderRight = 2 45 | BorderBottom = 2 46 | Color = 8404992 47 | BorderColor = clBlack 48 | Align = alTop 49 | TabOrder = 0 50 | object ButtonClear: TS7ImageButton 51 | AlignWithMargins = True 52 | Left = 30 53 | Top = 2 54 | Width = 24 55 | Height = 24 56 | Hint = 'clear list' 57 | Margins.Left = 2 58 | Margins.Top = 2 59 | Margins.Right = 2 60 | Margins.Bottom = 2 61 | Align = alLeft 62 | Background = 8404992 63 | ImageIndex = 1 64 | Value = 0 65 | ExplicitLeft = 2 66 | ExplicitHeight = 494 67 | end 68 | object ButtonDeleteException: TS7ImageButton 69 | AlignWithMargins = True 70 | Left = 2 71 | Top = 2 72 | Width = 24 73 | Height = 24 74 | Hint = 'delete selected row' 75 | Margins.Left = 2 76 | Margins.Top = 2 77 | Margins.Right = 2 78 | Margins.Bottom = 2 79 | Align = alLeft 80 | Enabled = False 81 | Background = 8404992 82 | ImageIndex = 6 83 | Value = 0 84 | ExplicitLeft = -10 85 | ExplicitTop = 5 86 | ExplicitHeight = 28 87 | end 88 | object ButtonOptions: TS7ImageButton 89 | AlignWithMargins = True 90 | Left = 58 91 | Top = 2 92 | Width = 24 93 | Height = 24 94 | Hint = 'show options' 95 | Margins.Left = 2 96 | Margins.Top = 2 97 | Margins.Right = 2 98 | Margins.Bottom = 2 99 | Align = alLeft 100 | Background = 8404992 101 | ImageIndex = 30 102 | Value = 0 103 | ExplicitLeft = 190 104 | end 105 | end 106 | object PanelClient: TS7Panel 107 | Left = 0 108 | Top = 47 109 | Width = 566 110 | Height = 283 111 | BorderTop = 0 112 | BorderLeft = 0 113 | BorderRight = 0 114 | BorderBottom = 0 115 | Color = clBlack 116 | BorderColor = clBlack 117 | Align = alClient 118 | TabOrder = 1 119 | end 120 | object PanelLocation: TS7Panel 121 | Left = 0 122 | Top = 330 123 | Width = 566 124 | Height = 19 125 | BorderTop = 0 126 | BorderLeft = 2 127 | BorderRight = 2 128 | BorderBottom = 2 129 | Color = 8404992 130 | BorderColor = clBlack 131 | Align = alBottom 132 | TabOrder = 2 133 | object EditPath: TS7Edit 134 | AlignWithMargins = True 135 | Left = 2 136 | Top = 0 137 | Width = 562 138 | Height = 17 139 | Margins.Left = 2 140 | Margins.Top = 0 141 | Margins.Right = 2 142 | Margins.Bottom = 2 143 | Align = alClient 144 | AutoSize = False 145 | Color = 8404992 146 | Enabled = True 147 | Font.Charset = DEFAULT_CHARSET 148 | Font.Color = clWhite 149 | Font.Height = -11 150 | Font.Name = 'Arial' 151 | Font.Style = [] 152 | ParentFont = False 153 | ParentShowHint = False 154 | ReadOnly = True 155 | ShowHint = True 156 | TabOrder = 0 157 | AlternativeTheme = True 158 | Status = csNormal 159 | Validators = [] 160 | end 161 | end 162 | object SubSevenForms: TS7Form 163 | Resizable = True 164 | ShowBorder = True 165 | Color = clGray 166 | Left = 432 167 | Top = 192 168 | end 169 | end 170 | -------------------------------------------------------------------------------- /Viewer/Units/Frames/___Frames/___S7DockFrame.dfm: -------------------------------------------------------------------------------- 1 | inherited S7FrameDock: TS7FrameDock 2 | Width = 461 3 | Height = 387 4 | Align = alClient 5 | ExplicitWidth = 461 6 | ExplicitHeight = 387 7 | object DockCaption: TS7DockCaption 8 | AlignWithMargins = True 9 | Left = 2 10 | Top = 2 11 | Width = 457 12 | Height = 22 13 | Margins.Left = 2 14 | Margins.Top = 2 15 | Margins.Right = 2 16 | Margins.Bottom = 2 17 | ImageList = FormMain.ImageSubSeven 18 | Caption = 'subseven' 19 | Docked = True 20 | OnDockStatusChange = DockCaptionDockStatusChange 21 | DockImageIndex = 32 22 | UndockImageIndex = 31 23 | Align = alTop 24 | Font.Charset = DEFAULT_CHARSET 25 | Font.Color = clWhite 26 | Font.Height = -11 27 | Font.Name = 'Arial' 28 | Font.Style = [] 29 | ExplicitLeft = 80 30 | ExplicitTop = 32 31 | ExplicitWidth = 0 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Viewer/Units/Frames/___Frames/___S7Frame.dfm: -------------------------------------------------------------------------------- 1 | object S7Frame: TS7Frame 2 | Left = 0 3 | Top = 0 4 | Width = 320 5 | Height = 240 6 | DoubleBuffered = True 7 | Color = clBlack 8 | ParentBackground = False 9 | ParentColor = False 10 | ParentDoubleBuffered = False 11 | TabOrder = 0 12 | end 13 | -------------------------------------------------------------------------------- /Viewer/Units/Frames/uFrameComboSessions.dfm: -------------------------------------------------------------------------------- 1 | inherited FrameComboSessions: TFrameComboSessions 2 | Width = 286 3 | Height = 45 4 | ExplicitWidth = 286 5 | ExplicitHeight = 45 6 | object ComboSessions: TS7ComboBox 7 | Left = 0 8 | Top = 0 9 | Width = 286 10 | Height = 21 11 | Hint = 'active windows session list you may interact with' 12 | Margins.Left = 6 13 | Margins.Top = 0 14 | Margins.Right = 6 15 | Margins.Bottom = 8 16 | ArrowColor = clGray 17 | ButtonBackgroundColor = clBlack 18 | BorderColor = clGray 19 | Enabled = True 20 | Status = csNormal 21 | Validators = [reqFilled] 22 | Align = alTop 23 | Style = csDropDownList 24 | Color = clBlack 25 | Font.Charset = DEFAULT_CHARSET 26 | Font.Color = clWhite 27 | Font.Height = -11 28 | Font.Name = 'MS Sans Serif' 29 | Font.Style = [fsBold] 30 | ParentFont = False 31 | ParentShowHint = False 32 | ShowHint = True 33 | TabOrder = 0 34 | ItemIndex = -1 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /Viewer/Units/Frames/uFrameComboUser.dfm: -------------------------------------------------------------------------------- 1 | inherited FrameComboUser: TFrameComboUser 2 | Height = 76 3 | ExplicitHeight = 76 4 | object ComboUser: TS7ComboBox 5 | Left = 0 6 | Top = 0 7 | Width = 320 8 | Height = 21 9 | Hint = 'existing windows user list.' 10 | Margins.Left = 6 11 | Margins.Top = 0 12 | Margins.Right = 6 13 | Margins.Bottom = 8 14 | ArrowColor = clGray 15 | ButtonBackgroundColor = clBlack 16 | BorderColor = clGray 17 | Enabled = True 18 | Status = csNormal 19 | Validators = [reqFilled] 20 | Align = alTop 21 | Color = clBlack 22 | Font.Charset = DEFAULT_CHARSET 23 | Font.Color = clWhite 24 | Font.Height = -11 25 | Font.Name = 'MS Sans Serif' 26 | Font.Style = [fsBold] 27 | ParentFont = False 28 | ParentShowHint = False 29 | ShowHint = True 30 | TabOrder = 0 31 | ItemIndex = -1 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /Viewer/Units/Frames/uFrameOpen.dfm: -------------------------------------------------------------------------------- 1 | inherited FrameOpen: TFrameOpen 2 | Width = 485 3 | Height = 348 4 | ExplicitWidth = 485 5 | ExplicitHeight = 348 6 | inherited DockCaption: TS7DockCaption 7 | Width = 481 8 | Caption = 'open (ShellExecute)' 9 | ExplicitLeft = 2 10 | ExplicitTop = 0 11 | ExplicitWidth = 481 12 | end 13 | object PanelForm: TS7Panel 14 | Left = 80 15 | Top = 80 16 | Width = 289 17 | Height = 145 18 | BorderTop = 0 19 | BorderLeft = 0 20 | BorderRight = 0 21 | BorderBottom = 0 22 | Color = clBlack 23 | BorderColor = clBlack 24 | TabOrder = 0 25 | object LabelOpenCommand: TLabel 26 | AlignWithMargins = True 27 | Left = 0 28 | Top = 4 29 | Width = 289 30 | Height = 14 31 | Margins.Left = 0 32 | Margins.Top = 4 33 | Margins.Right = 0 34 | Margins.Bottom = 4 35 | Align = alTop 36 | Caption = 'open command' 37 | Color = clBlack 38 | Font.Charset = DEFAULT_CHARSET 39 | Font.Color = clWhite 40 | Font.Height = -11 41 | Font.Name = 'Arial' 42 | Font.Style = [] 43 | ParentColor = False 44 | ParentFont = False 45 | ExplicitWidth = 73 46 | end 47 | object LabelSession: TLabel 48 | AlignWithMargins = True 49 | Left = 0 50 | Top = 53 51 | Width = 289 52 | Height = 14 53 | Margins.Left = 0 54 | Margins.Top = 4 55 | Margins.Right = 0 56 | Margins.Bottom = 4 57 | Align = alTop 58 | Caption = 'open in session' 59 | Color = clBlack 60 | Font.Charset = DEFAULT_CHARSET 61 | Font.Color = clWhite 62 | Font.Height = -11 63 | Font.Name = 'Arial' 64 | Font.Style = [] 65 | ParentColor = False 66 | ParentFont = False 67 | ExplicitWidth = 76 68 | end 69 | object ButtonOpen: TS7Button 70 | AlignWithMargins = True 71 | Left = 96 72 | Top = 116 73 | Width = 100 74 | Height = 28 75 | Hint = 'run shellexecute api' 76 | Margins.Left = 0 77 | Margins.Top = 4 78 | Margins.Right = 0 79 | Margins.Bottom = 4 80 | Font.Charset = DEFAULT_CHARSET 81 | Font.Color = clWindowText 82 | Font.Height = -12 83 | Font.Name = 'MS Sans Serif' 84 | Font.Style = [] 85 | Enabled = False 86 | TextAlign = taCenter 87 | Down = False 88 | Chevron = False 89 | Caption = 'run' 90 | Value = 0 91 | OnClick = ButtonOpenClick 92 | Busy = False 93 | end 94 | object EditCommand: TS7Edit 95 | AlignWithMargins = True 96 | Left = 0 97 | Top = 22 98 | Width = 289 99 | Height = 22 100 | Hint = 101 | 'enter any commands that may run with shellexecute api "open" ver' + 102 | 'b.' 103 | Margins.Left = 0 104 | Margins.Top = 0 105 | Margins.Right = 0 106 | Margins.Bottom = 5 107 | Align = alTop 108 | AutoSize = False 109 | Color = clBlack 110 | Enabled = False 111 | Font.Charset = DEFAULT_CHARSET 112 | Font.Color = clGray 113 | Font.Height = -13 114 | Font.Name = 'Courier New' 115 | Font.Style = [fsBold] 116 | ParentFont = False 117 | ParentShowHint = False 118 | ShowHint = True 119 | TabOrder = 0 120 | AlternativeTheme = False 121 | Status = csNormal 122 | Validators = [reqFilled] 123 | end 124 | inline FrameComboSessions1: TFrameComboSessions 125 | Left = 0 126 | Top = 71 127 | Width = 289 128 | Height = 21 129 | Align = alTop 130 | AutoSize = True 131 | DoubleBuffered = True 132 | Enabled = False 133 | Color = clBlack 134 | ParentBackground = False 135 | ParentColor = False 136 | ParentDoubleBuffered = False 137 | TabOrder = 1 138 | ExplicitTop = 71 139 | ExplicitWidth = 289 140 | ExplicitHeight = 21 141 | inherited ComboSessions: TS7ComboBox 142 | Width = 289 143 | ExplicitWidth = 289 144 | end 145 | end 146 | end 147 | end 148 | -------------------------------------------------------------------------------- /Viewer/Units/Frames/uFrameProcess.dfm: -------------------------------------------------------------------------------- 1 | inherited FrameProcess: TFrameProcess 2 | Width = 407 3 | Height = 302 4 | ExplicitWidth = 407 5 | ExplicitHeight = 302 6 | inherited DockCaption: TS7DockCaption 7 | Width = 403 8 | Caption = 'process manager' 9 | ExplicitWidth = 403 10 | end 11 | object VST: TVirtualStringTree 12 | AlignWithMargins = True 13 | Left = 2 14 | Top = 26 15 | Width = 403 16 | Height = 233 17 | Margins.Left = 2 18 | Margins.Top = 0 19 | Margins.Right = 2 20 | Margins.Bottom = 2 21 | Align = alClient 22 | BorderStyle = bsNone 23 | Color = 8404992 24 | Colors.DropMarkColor = clBlack 25 | Colors.DropTargetColor = clBlack 26 | Colors.DropTargetBorderColor = clBlack 27 | Colors.FocusedSelectionColor = clBlack 28 | Colors.FocusedSelectionBorderColor = clBlack 29 | Colors.GridLineColor = 5581568 30 | Colors.SelectionRectangleBlendColor = clBlack 31 | Colors.SelectionRectangleBorderColor = clBlack 32 | Colors.SelectionTextColor = clWhite 33 | Colors.UnfocusedColor = clWhite 34 | Colors.UnfocusedSelectionColor = 5581568 35 | Colors.UnfocusedSelectionBorderColor = 5581568 36 | Enabled = False 37 | Font.Charset = DEFAULT_CHARSET 38 | Font.Color = clWhite 39 | Font.Height = -11 40 | Font.Name = 'Arial' 41 | Font.Style = [] 42 | Header.AutoSizeIndex = -1 43 | Header.Font.Charset = DEFAULT_CHARSET 44 | Header.Font.Color = clBlack 45 | Header.Font.Height = -11 46 | Header.Font.Name = 'Arial' 47 | Header.Font.Style = [] 48 | Header.Options = [hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible, hoHeaderClickAutoSort] 49 | Header.ParentFont = False 50 | Header.SortColumn = 0 51 | IncrementalSearch = isAll 52 | ParentFont = False 53 | TabOrder = 0 54 | TreeOptions.MiscOptions = [toAcceptOLEDrop, toEditable, toFullRepaintOnResize, toInitOnSave, toToggleOnDblClick, toWheelPanning, toEditOnClick] 55 | TreeOptions.PaintOptions = [toHideFocusRect, toShowButtons, toShowDropmark, toUseBlendedImages, toUseBlendedSelection] 56 | TreeOptions.SelectionOptions = [toExtendedFocus, toFullRowSelect, toMultiSelect, toRightClickSelect] 57 | OnAddToSelection = VSTAddToSelection 58 | OnChange = VSTChange 59 | OnCompareNodes = VSTCompareNodes 60 | OnFocusChanged = VSTFocusChanged 61 | OnFreeNode = VSTFreeNode 62 | OnGetText = VSTGetText 63 | OnGetNodeDataSize = VSTGetNodeDataSize 64 | OnRemoveFromSelection = VSTRemoveFromSelection 65 | Touch.InteractiveGestures = [igPan, igPressAndTap] 66 | Touch.InteractiveGestureOptions = [igoPanSingleFingerHorizontal, igoPanSingleFingerVertical, igoPanInertia, igoPanGutter, igoParentPassthrough] 67 | Columns = < 68 | item 69 | Position = 0 70 | Text = 'process name' 71 | Width = 150 72 | end 73 | item 74 | Position = 1 75 | Text = 'process id' 76 | Width = 80 77 | end 78 | item 79 | Position = 2 80 | Text = 'username / domain' 81 | Width = 130 82 | end 83 | item 84 | Position = 3 85 | Text = 'image path' 86 | Width = 250 87 | end> 88 | end 89 | object PanelFooter: TS7Panel 90 | Left = 0 91 | Top = 261 92 | Width = 407 93 | Height = 41 94 | BorderTop = 0 95 | BorderLeft = 0 96 | BorderRight = 0 97 | BorderBottom = 0 98 | Color = clBlack 99 | BorderColor = clBlack 100 | Align = alBottom 101 | TabOrder = 1 102 | object ButtonRefresh: TS7Button 103 | Left = 80 104 | Top = 3 105 | Width = 100 106 | Height = 28 107 | Font.Charset = DEFAULT_CHARSET 108 | Font.Color = clWindowText 109 | Font.Height = -12 110 | Font.Name = 'MS Sans Serif' 111 | Font.Style = [] 112 | Enabled = False 113 | TextAlign = taCenter 114 | Down = False 115 | Chevron = False 116 | Caption = 'refresh' 117 | Value = 0 118 | OnClick = ButtonRefreshClick 119 | Busy = False 120 | end 121 | object ButtonKillSelected: TS7Button 122 | Left = 186 123 | Top = 3 124 | Width = 100 125 | Height = 28 126 | Font.Charset = DEFAULT_CHARSET 127 | Font.Color = clWindowText 128 | Font.Height = -12 129 | Font.Name = 'MS Sans Serif' 130 | Font.Style = [] 131 | Enabled = False 132 | TextAlign = taCenter 133 | Down = False 134 | Chevron = False 135 | Caption = 'kill selected' 136 | Value = 0 137 | OnClick = ButtonKillSelectedClick 138 | Busy = False 139 | end 140 | end 141 | end 142 | -------------------------------------------------------------------------------- /Viewer/Units/Frames/uFrameRegistry.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit uFrameRegistry; 56 | 57 | interface 58 | 59 | uses 60 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, 61 | Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, S7DockFrame, S7DockCaption, 62 | VirtualTrees, Vcl.ExtCtrls, OMultiPanel, System.Win.Registry, uTypes; 63 | 64 | type 65 | TTreeKeyData = record 66 | Hive : HKEY; 67 | end; 68 | PTreeKeyData = ^TTreeKeyData; 69 | 70 | TFrameRegistry = class(TS7FrameDock) 71 | MultiPanel: TOMultiPanel; 72 | VST: TVirtualStringTree; 73 | VSTTree: TVirtualStringTree; 74 | private 75 | {@M} 76 | procedure InitializeKeyHives(); 77 | public 78 | {@C} 79 | constructor Create(AOwner: TComponent; const ANavMenu : TNavMenu); override; 80 | end; 81 | 82 | implementation 83 | 84 | {$R *.dfm} 85 | 86 | 87 | 88 | end. 89 | -------------------------------------------------------------------------------- /Viewer/Units/Sub7.Viewer.Messages.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit Sub7.Viewer.Messages; 56 | 57 | interface 58 | 59 | uses Winapi.Windows, System.SysUtils; 60 | 61 | const SUB7_GLOBAL_NAME_PREFIX = 'Sub7Global'; 62 | 63 | var SUB7_TERMINAL_SESSION_UPDATED : UINT = 0; 64 | SUB7_CONNECTED : UINT = 0; 65 | SUB7_DISCONNECTED : UINT = 0; 66 | SUB7_WINUSER_UPDATED : UINT = 0; 67 | 68 | implementation 69 | 70 | initialization 71 | SUB7_TERMINAL_SESSION_UPDATED := RegisterWindowMessage(PWideChar(SUB7_GLOBAL_NAME_PREFIX + 'TerminalSessionUpdated')); 72 | SUB7_CONNECTED := RegisterWindowMessage(PWideChar(SUB7_GLOBAL_NAME_PREFIX + 'Connected')); 73 | SUB7_DISCONNECTED := RegisterWindowMessage(PWideChar(SUB7_GLOBAL_NAME_PREFIX + 'Disconnected')); 74 | SUB7_WINUSER_UPDATED := RegisterWindowMessage(PWideChar(SUB7_GLOBAL_NAME_PREFIX + 'WinUserUpdated')); 75 | 76 | end. 77 | -------------------------------------------------------------------------------- /Viewer/Units/Sub7.Viewer.Singletons.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit Sub7.Viewer.Singletons; 56 | 57 | interface 58 | 59 | uses Sub7.Viewer.Clipboard.FileSystem; 60 | 61 | var SGLT_ExplorerClipboard : TFileVirtualClipboard = nil; 62 | 63 | implementation 64 | 65 | uses System.SysUtils; 66 | 67 | initialization 68 | SGLT_ExplorerClipboard := TFileVirtualClipboard.Create(); 69 | 70 | finalization 71 | if Assigned(SGLT_ExplorerClipboard) then 72 | FreeAndNil(SGLT_ExplorerClipboard); 73 | 74 | end. 75 | -------------------------------------------------------------------------------- /Viewer/VCL/S7C.dpk: -------------------------------------------------------------------------------- 1 | package S7C; 2 | 3 | {$R *.res} 4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} 5 | {$ALIGN 8} 6 | {$ASSERTIONS ON} 7 | {$BOOLEVAL OFF} 8 | {$DEBUGINFO OFF} 9 | {$EXTENDEDSYNTAX ON} 10 | {$IMPORTEDDATA ON} 11 | {$IOCHECKS ON} 12 | {$LOCALSYMBOLS ON} 13 | {$LONGSTRINGS ON} 14 | {$OPENSTRINGS ON} 15 | {$OPTIMIZATION OFF} 16 | {$OVERFLOWCHECKS OFF} 17 | {$RANGECHECKS OFF} 18 | {$REFERENCEINFO ON} 19 | {$SAFEDIVIDE OFF} 20 | {$STACKFRAMES ON} 21 | {$TYPEDADDRESS OFF} 22 | {$VARSTRINGCHECKS ON} 23 | {$WRITEABLECONST OFF} 24 | {$MINENUMSIZE 1} 25 | {$IMAGEBASE $400000} 26 | {$DEFINE DEBUG} 27 | {$ENDIF IMPLICITBUILDING} 28 | {$IMPLICITBUILD ON} 29 | 30 | requires 31 | rtl, 32 | vcl, 33 | VirtualTreesR, 34 | vclimg, 35 | dbrtl; 36 | 37 | contains 38 | XSuperObject in '..\..\Shared\XSuperObject.pas', 39 | XSuperJson in '..\..\Shared\XSuperJson.pas', 40 | Sub7.Viewer.VCL.Button in 'Sub7.Viewer.VCL.Button.pas', 41 | S7Theme in 'S7Theme.pas', 42 | S7Reg in 'S7Reg.pas', 43 | Sub7.Viewer.VCL.CaptionBar in 'Sub7.Viewer.VCL.CaptionBar.pas', 44 | S7Edit in 'S7Edit.pas', 45 | Sub7.Viewer.VCL.SubSevenForm in 'Sub7.Viewer.VCL.SubSevenForm.pas', 46 | S7PopupMenu in 'S7PopupMenu.pas', 47 | Sub7.Viewer.VCL.CheckBox in 'Sub7.Viewer.VCL.CheckBox.pas', 48 | S7Panel in 'S7Panel.pas', 49 | S7StatusBar in 'S7StatusBar.pas', 50 | S7ImageButton in 'S7ImageButton.pas', 51 | S7ComboBox in 'S7ComboBox.pas', 52 | S7Classes in 'S7Classes.pas', 53 | S7Common in 'S7Common.pas', 54 | S7MessageBox in 'S7MessageBox.pas', 55 | S7MessageBoxForm in 'S7MessageBoxForm.pas' {Sub7FormMessageBox}, 56 | S7Hint in 'S7Hint.pas', 57 | S7InputQueryForm in 'S7InputQueryForm.pas' {Sub7FormInputQuery}, 58 | S7OptionDialog in 'S7OptionDialog.pas', 59 | S7OptionDialogForm in 'S7OptionDialogForm.pas' {Sub7FormOptionDialog}, 60 | S7Gauge in 'S7Gauge.pas', 61 | S7DockCaption in 'S7DockCaption.pas', 62 | S7GroupBox in 'S7GroupBox.pas', 63 | S7Types in 'S7Types.pas', 64 | S7Validators in 'S7Validators.pas', 65 | S7SettingHandler in 'S7SettingHandler.pas', 66 | S7ScrollingCredit in 'S7ScrollingCredit.pas', 67 | S7Timer in 'S7Timer.pas', 68 | S7PaintScene in 'S7PaintScene.pas'; 69 | 70 | end. 71 | -------------------------------------------------------------------------------- /Viewer/VCL/S7C.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/VCL/S7C.res -------------------------------------------------------------------------------- /Viewer/VCL/S7CGroup.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {3BE2057F-1E8D-440F-BE5D-2FE0A6F6744B} 4 | 5 | 6 | Default.Personality.12 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Viewer/VCL/S7CGroup.groupproj.local: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Viewer/VCL/S7OptionDialog.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/VCL/S7OptionDialog.pas -------------------------------------------------------------------------------- /Viewer/VCL/S7OptionDialogForm.dfm: -------------------------------------------------------------------------------- 1 | object Sub7FormOptionDialog: TSub7FormOptionDialog 2 | Left = 0 3 | Top = 0 4 | BorderStyle = bsNone 5 | BorderWidth = 2 6 | Caption = 'Options' 7 | ClientHeight = 237 8 | ClientWidth = 211 9 | Color = clGray 10 | Constraints.MinHeight = 80 11 | Constraints.MinWidth = 200 12 | DoubleBuffered = True 13 | Font.Charset = DEFAULT_CHARSET 14 | Font.Color = clWindowText 15 | Font.Height = -11 16 | Font.Name = 'Arial' 17 | Font.Style = [] 18 | KeyPreview = True 19 | OldCreateOrder = False 20 | Position = poOwnerFormCenter 21 | OnKeyUp = FormKeyUp 22 | OnResize = FormResize 23 | OnShow = FormShow 24 | PixelsPerInch = 96 25 | TextHeight = 14 26 | object CaptionBar: TS7CaptionBar 27 | Left = 0 28 | Top = 0 29 | Width = 211 30 | Height = 19 31 | Caption = 'Options' 32 | BorderIcons = [biSystemMenu] 33 | Dockable = False 34 | Transparent = False 35 | Collapsible = True 36 | TextCenter = False 37 | MainColor = 16744576 38 | SecondaryColor = clBlack 39 | Align = alTop 40 | end 41 | object PanelClient: TS7Panel 42 | Left = 0 43 | Top = 19 44 | Width = 211 45 | Height = 178 46 | BorderTop = 0 47 | BorderLeft = 0 48 | BorderRight = 0 49 | BorderBottom = 0 50 | Color = clBlack 51 | BorderColor = clBlack 52 | Align = alClient 53 | TabOrder = 0 54 | end 55 | object PanelFooter: TS7Panel 56 | Left = 0 57 | Top = 197 58 | Width = 211 59 | Height = 40 60 | BorderTop = 0 61 | BorderLeft = 0 62 | BorderRight = 0 63 | BorderBottom = 0 64 | Color = clBlack 65 | BorderColor = clBlack 66 | Align = alBottom 67 | TabOrder = 1 68 | object ButtonOk: TS7Button 69 | Left = 78 70 | Top = 4 71 | Width = 97 72 | Height = 28 73 | Font.Charset = DEFAULT_CHARSET 74 | Font.Color = clWindowText 75 | Font.Height = -12 76 | Font.Name = 'MS Sans Serif' 77 | Font.Style = [] 78 | Enabled = True 79 | TextAlign = taCenter 80 | Down = False 81 | Chevron = False 82 | Caption = '&OK' 83 | Value = 0 84 | OnClick = ButtonOkClick 85 | Busy = False 86 | end 87 | end 88 | object SubSevenForms: TS7Form 89 | Resizable = True 90 | ShowBorder = True 91 | Color = clGray 92 | Left = 136 93 | Top = 112 94 | end 95 | end 96 | -------------------------------------------------------------------------------- /Viewer/VCL/S7Theme.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit S7Theme; 56 | 57 | interface 58 | 59 | uses Winapi.Windows, VCL.Graphics; 60 | 61 | const FONT_1 = 'Arial'; // Main / Global 62 | FONT_2 = 'MS Sans Serif'; // Edit 63 | FONT_3 = 'Courier New'; // Title 64 | 65 | MAIN_BLUE : TColor = $00FF8080; 66 | DARK_BLUE : TColor = $00804000; 67 | MAIN_RED : TColor = $000000D5; 68 | MAIN_GRAY : TColor = clGray; 69 | 70 | // Jade <3 71 | 72 | implementation 73 | 74 | end. 75 | -------------------------------------------------------------------------------- /Viewer/VCL/S7Types.pas: -------------------------------------------------------------------------------- 1 | {******************************************************************************} 2 | { } 3 | { ____ _ ____ _ ____ } 4 | { | _ \ __ _ _ __| | __/ ___|___ __| | ___ _ __/ ___| ___ } 5 | { | | | |/ _` | '__| |/ / | / _ \ / _` |/ _ \ '__\___ \ / __| } 6 | { | |_| | (_| | | | <| |__| (_) | (_| | __/ | ___) | (__ } 7 | { |____/ \__,_|_| |_|\_\\____\___/ \__,_|\___|_| |____/ \___| } 8 | { } 9 | { +++++++++++++++++++++ } 10 | { + + + } 11 | { + + + } 12 | { + +++++++++ + } 13 | { + + + } 14 | { + + + } 15 | { +++++++ + + } 16 | { + + + } 17 | { + + + } 18 | { +++++++++++++++++++++ } 19 | { SubSeven Legacy } 20 | { } 21 | { } 22 | { Author: DarkCoderSc (Jean-Pierre LESUEUR) } 23 | { https://www.twitter.com/ } 24 | { https://github.com/darkcodersc } 25 | { License: Apache License 2.0 } 26 | { } 27 | { } 28 | { Disclaimer: } 29 | { ----------- } 30 | { We are doing our best to prepare the content of this app and/or code. } 31 | { However, The author cannot warranty the expressions and suggestions } 32 | { of the contents, as well as its accuracy. In addition, to the extent } 33 | { permitted by the law, author shall not be responsible for any losses } 34 | { and/or damages due to the usage of the information on our app and/or } 35 | { code. } 36 | { } 37 | { By using our app and/or code, you hereby consent to our disclaimer } 38 | { and agree to its terms. } 39 | { } 40 | { Any links contained in our app may lead to external sites are provided } 41 | { for convenience only. } 42 | { Any information or statements that appeared in these sites or app or } 43 | { files are not sponsored, endorsed, or otherwise approved by the author. } 44 | { For these external sites, the author cannot be held liable for the } 45 | { availability of, or the content located on or through it. } 46 | { Plus, any losses or damages occurred from using these contents or the } 47 | { internet generally. } 48 | { } 49 | { } 50 | { } 51 | { I dedicate this work to my daughter. } 52 | { } 53 | {******************************************************************************} 54 | 55 | unit S7Types; 56 | 57 | interface 58 | 59 | type 60 | TControlStatus = ( 61 | csNormal, 62 | csError 63 | ); 64 | 65 | TValidator = ( 66 | reqFilled, 67 | reqHost, 68 | reqIpAddress, 69 | reqNetPort 70 | ); 71 | 72 | TValidators = set of TValidator; 73 | 74 | implementation 75 | 76 | end. 77 | -------------------------------------------------------------------------------- /Viewer/VCL/Utilities/Sub7VideoGenerator.dpr: -------------------------------------------------------------------------------- 1 | program Sub7VideoGenerator; 2 | 3 | uses 4 | Vcl.Forms, 5 | XSuperObject in '..\..\..\Shared\XSuperObject.pas', 6 | XSuperJson in '..\..\..\Shared\XSuperJson.pas', 7 | UntRC4 in '..\..\..\Shared\UntRC4.pas', 8 | UntCRC32 in '..\..\..\Shared\UntCRC32.pas', 9 | uFormMain in 'Units\uFormMain.pas' {FormMain}; 10 | 11 | {$R *.res} 12 | 13 | begin 14 | Application.Initialize; 15 | Application.MainFormOnTaskbar := True; 16 | Application.CreateForm(TFormMain, FormMain); 17 | Application.Run; 18 | end. 19 | -------------------------------------------------------------------------------- /Viewer/VCL/Utilities/Sub7VideoGenerator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/VCL/Utilities/Sub7VideoGenerator.res -------------------------------------------------------------------------------- /Viewer/VCL/Utilities/Units/uFormMain.dfm: -------------------------------------------------------------------------------- 1 | object FormMain: TFormMain 2 | Left = 0 3 | Top = 0 4 | Caption = 'SubSeven Video Generator' 5 | ClientHeight = 345 6 | ClientWidth = 451 7 | Color = clBtnFace 8 | DoubleBuffered = True 9 | Font.Charset = DEFAULT_CHARSET 10 | Font.Color = clWindowText 11 | Font.Height = -11 12 | Font.Name = 'Tahoma' 13 | Font.Style = [] 14 | Menu = MainMenu 15 | OldCreateOrder = False 16 | Position = poScreenCenter 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object VST: TVirtualStringTree 20 | AlignWithMargins = True 21 | Left = 3 22 | Top = 3 23 | Width = 445 24 | Height = 339 25 | AccessibleName = 'Filename' 26 | Align = alClient 27 | Header.AutoSizeIndex = 0 28 | Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoShowSortGlyphs] 29 | Header.SortColumn = 0 30 | TabOrder = 0 31 | TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toShowRoot, toShowTreeLines, toShowVertGridLines, toThemeAware, toUseBlendedImages, toFullVertGridLines] 32 | OnChange = VSTChange 33 | OnGetText = VSTGetText 34 | OnGetNodeDataSize = VSTGetNodeDataSize 35 | Touch.InteractiveGestures = [igPan, igPressAndTap] 36 | Touch.InteractiveGestureOptions = [igoPanSingleFingerHorizontal, igoPanSingleFingerVertical, igoPanInertia, igoPanGutter, igoParentPassthrough] 37 | Columns = < 38 | item 39 | Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coResizable, coShowDropMark, coVisible, coSmartResize, coAllowFocus, coEditable, coStyleColor] 40 | Position = 0 41 | Text = 'Filename' 42 | Width = 441 43 | end> 44 | end 45 | object OpenDialog: TOpenDialog 46 | Filter = 'PNG Image|*.png' 47 | Options = [ofHideReadOnly, ofAllowMultiSelect, ofEnableSizing] 48 | Left = 176 49 | Top = 176 50 | end 51 | object MainMenu: TMainMenu 52 | Left = 288 53 | Top = 144 54 | object File1: TMenuItem 55 | Caption = 'File' 56 | object OpenFiles1: TMenuItem 57 | Caption = 'Open Files' 58 | OnClick = OpenFiles1Click 59 | end 60 | object Generate1: TMenuItem 61 | Caption = 'Generate' 62 | OnClick = Generate1Click 63 | end 64 | object N1: TMenuItem 65 | Caption = '-' 66 | end 67 | object Clear1: TMenuItem 68 | Caption = 'Clear' 69 | OnClick = Clear1Click 70 | end 71 | end 72 | end 73 | end 74 | -------------------------------------------------------------------------------- /Viewer/VCL/Utilities/Units/uFormMain.pas: -------------------------------------------------------------------------------- 1 | unit uFormMain; 2 | 3 | interface 4 | 5 | uses 6 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, 7 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, VirtualTrees, Vcl.Menus; 8 | 9 | type 10 | TTreeData = record 11 | FileName : String; 12 | end; 13 | PTreeData = ^TTreeData; 14 | 15 | TFormMain = class(TForm) 16 | VST: TVirtualStringTree; 17 | OpenDialog: TOpenDialog; 18 | MainMenu: TMainMenu; 19 | File1: TMenuItem; 20 | OpenFiles1: TMenuItem; 21 | N1: TMenuItem; 22 | Clear1: TMenuItem; 23 | Generate1: TMenuItem; 24 | procedure Clear1Click(Sender: TObject); 25 | procedure OpenFiles1Click(Sender: TObject); 26 | procedure VSTChange(Sender: TBaseVirtualTree; Node: PVirtualNode); 27 | procedure VSTGetNodeDataSize(Sender: TBaseVirtualTree; 28 | var NodeDataSize: Integer); 29 | procedure VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; 30 | Column: TColumnIndex; TextType: TVSTTextType; var CellText: string); 31 | procedure Generate1Click(Sender: TObject); 32 | private 33 | { Private declarations } 34 | public 35 | { Public declarations } 36 | end; 37 | 38 | var 39 | FormMain: TFormMain; 40 | 41 | implementation 42 | 43 | uses VCL.Imaging.pngimage, System.ZLib, XSuperObject, UntRC4; 44 | 45 | {$R *.dfm} 46 | 47 | procedure TFormMain.Clear1Click(Sender: TObject); 48 | begin 49 | VST.Clear(); 50 | end; 51 | 52 | procedure TFormMain.Generate1Click(Sender: TObject); 53 | var AFile : TFileStream; 54 | ANode : PVirtualNode; 55 | pData : PTreeData; 56 | AStream : TMemoryStream; 57 | ATotalStream : TMemoryStream; 58 | 59 | AOutputStream : TMemoryStream; 60 | 61 | AMap : ISuperArray; 62 | AJsonMap : String; 63 | AHeaderSize : Int64; 64 | AHeaderSignature : Int64; 65 | ARC4 : TRC4; 66 | 67 | const HEADER_SIGNATURE = 2801202100014032014; 68 | 69 | begin 70 | AFile := TFileStream.Create('c:\temp\output.bin', fmCreate or fmShareExclusive); 71 | try 72 | AStream := TMemoryStream.Create(); 73 | ATotalStream := TMemoryStream.Create(); 74 | try 75 | AMap := TSuperArray.Create(); 76 | 77 | for ANode in VST.Nodes do begin 78 | pData := ANode.GetData; 79 | 80 | AStream.Clear(); 81 | 82 | AStream.LoadFromFile(pData^.FileName); 83 | 84 | AMap.Add(ATotalStream.Size); 85 | 86 | ATotalStream.Write(PByte(AStream.Memory)^, AStream.Size); 87 | end; 88 | 89 | AOutputStream := TMemoryStream.Create(); 90 | try 91 | AJsonMap := AMap.AsJson(); 92 | 93 | AHeaderSize := Length(AJsonMap) * SizeOf(WideChar); 94 | AHeaderSignature := HEADER_SIGNATURE; 95 | 96 | AOutputStream.Write(AHeaderSignature, SizeOf(Int64)); 97 | AOutputStream.Write(AHeaderSize, SizeOf(Int64)); 98 | AOutputStream.Write(AJsonMap[1], AHeaderSize); 99 | AOutputStream.Write(PByte(ATotalStream.Memory)^, ATotalStream.Size); 100 | 101 | ARC4 := TRC4.Create('{7949D6B7-0FC4-4A6A-A597-035C80A8FCE3}'); 102 | try 103 | ARC4.Encrypt(AOutputStream.Memory, AOutputStream.Size); 104 | finally 105 | if Assigned(ARC4) then 106 | FreeAndNil(ARC4); 107 | end; 108 | 109 | /// 110 | AFile.Write(PByte(AOutputStream.Memory)^, AOutputStream.Size); 111 | finally 112 | if Assigned(AOutputStream) then 113 | FreeAndNil(AOutputStream); 114 | end; 115 | finally 116 | if Assigned(AStream) then 117 | FreeAndNil(AStream); 118 | 119 | if Assigned(ATotalStream) then 120 | FreeAndNil(ATotalStream); 121 | end; 122 | finally 123 | if Assigned(AFile) then 124 | FreeAndNil(AFile); 125 | end; 126 | 127 | /// 128 | Application.MessageBox('Finished', 'Generate', MB_ICONINFORMATION); 129 | end; 130 | 131 | procedure TFormMain.OpenFiles1Click(Sender: TObject); 132 | var i : Integer; 133 | ANode : PVirtualNode; 134 | pData : PTreeData; 135 | begin 136 | if not OpenDialog.Execute() then 137 | Exit(); 138 | 139 | VST.BeginUpdate(); 140 | try 141 | for I := 0 to OpenDialog.Files.Count -1 do begin 142 | ANode := VST.AddChild(nil); 143 | 144 | pData := ANode.GetData; 145 | 146 | pData^.FileName := OpenDialog.Files.Strings[i]; 147 | end; 148 | finally 149 | VST.EndUpdate(); 150 | end; 151 | end; 152 | 153 | procedure TFormMain.VSTChange(Sender: TBaseVirtualTree; Node: PVirtualNode); 154 | begin 155 | VST.Refresh(); 156 | end; 157 | 158 | procedure TFormMain.VSTGetNodeDataSize(Sender: TBaseVirtualTree; 159 | var NodeDataSize: Integer); 160 | begin 161 | NodeDataSize := SizeOf(TTreeData); 162 | end; 163 | 164 | procedure TFormMain.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; 165 | Column: TColumnIndex; TextType: TVSTTextType; var CellText: string); 166 | var pData : PTreeData; 167 | begin 168 | pData := Node.GetData; 169 | 170 | case column of 171 | 0 : CellText := ExtractFileName(pData^.FileName); 172 | end; 173 | end; 174 | 175 | end. 176 | -------------------------------------------------------------------------------- /Viewer/sub7.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/sub7.RES -------------------------------------------------------------------------------- /Viewer/version.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/Viewer/version.res -------------------------------------------------------------------------------- /clean.bat: -------------------------------------------------------------------------------- 1 | :: Clean Compiled Units 2 | del /s /q *.dcu 3 | del /s /q *.tmp 4 | del /s /q *.rsm 5 | del /s /q *.dproj.local 6 | del /s /q *.identcache 7 | 8 | :: Clean Embarcadero Directories 9 | for /f "usebackq" %%a in (`"dir /ad/b/s __history"`) do rmdir /q /s "%%a" 10 | for /f "usebackq" %%a in (`"dir /ad/b/s __recovery"`) do rmdir /q /s "%%a" 11 | 12 | :: Clean Compiled Directories 13 | rmdir /q /s "Viewer\Win64\" 14 | rmdir /q /s "Viewer\Win32\" 15 | rmdir /q /s "Viewer\VCL\Win32\" 16 | 17 | rmdir /q /s "Service\Win64\" 18 | rmdir /q /s "Service\Win32\" 19 | 20 | rmdir /q /s "Helper\Win64\" 21 | rmdir /q /s "Helper\Win32\" 22 | 23 | rmdir /q /s "CertGen\Win64\" 24 | rmdir /q /s "CertGen\Win32\" 25 | 26 | rmdir /q /s "Tray\Win64\" 27 | rmdir /q /s "Tray\Win32\" 28 | rmdir /q /s "Tray\VCL\Win32\" 29 | 30 | pause -------------------------------------------------------------------------------- /common-bin/x86-32/bass.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/common-bin/x86-32/bass.dll -------------------------------------------------------------------------------- /common-bin/x86-32/libcrypto-1_1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/common-bin/x86-32/libcrypto-1_1.dll -------------------------------------------------------------------------------- /common-bin/x86-32/libssl-1_1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/common-bin/x86-32/libssl-1_1.dll -------------------------------------------------------------------------------- /common-bin/x86-64/bass.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/common-bin/x86-64/bass.dll -------------------------------------------------------------------------------- /common-bin/x86-64/libcrypto-1_1-x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/common-bin/x86-64/libcrypto-1_1-x64.dll -------------------------------------------------------------------------------- /common-bin/x86-64/libssl-1_1-x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DarkCoderSc/SubSeven/b2a64feb3e04f6130b62c3e59be72611c9017eee/common-bin/x86-64/libssl-1_1-x64.dll -------------------------------------------------------------------------------- /project.json: -------------------------------------------------------------------------------- 1 | { 2 | "version_patch": { 3 | "template": "Resources\\version.template.rc", 4 | "common_version": "0.1.0", 5 | "list": [ 6 | { 7 | "config": "Resources\\viewer.ini", 8 | "dest": "Viewer" 9 | }, 10 | { 11 | "config": "Resources\\service.ini", 12 | "dest": "Service" 13 | }, 14 | { 15 | "config": "Resources\\tray.ini", 16 | "dest": "Tray" 17 | }, 18 | { 19 | "config": "Resources\\helper.ini", 20 | "dest": "Helper" 21 | }, 22 | { 23 | "config": "Resources\\cert_generator.ini", 24 | "dest": "CertGen" 25 | }, 26 | { 27 | "config": "Resources\\securedesktop.ini", 28 | "dest": "SecureDesktop" 29 | } 30 | ] 31 | }, 32 | 33 | "src_projects": [ 34 | "Viewer\\Sub7Viewer.dproj", 35 | "Helper\\Sub7Helper.dproj", 36 | "Service\\Sub7Service.dproj", 37 | "Tray\\Sub7ServerTray.dproj", 38 | "CertGen\\CertGenerator.dproj", 39 | "SecureDesktop\\SecureDesktop.dproj", 40 | ], 41 | 42 | "setup" : [ 43 | "Setup\\setup_server.iss", 44 | "Setup\\setup_viewer.iss" 45 | ] 46 | } --------------------------------------------------------------------------------