├── .gitattributes ├── .gitignore ├── 10.1.UP1 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.cfg │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ ├── RadLicense.pas │ ├── RadVersion.pas │ ├── SHFolderDll.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ ├── Readme.txt │ └── Versign.cer ├── 10.1.UP2 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.cfg │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ ├── RadLicense.pas │ ├── RadVersion.pas │ ├── SHFolderDll.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ ├── Readme.txt │ └── Versign.cer ├── 10.1 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.cfg │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── DllData.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ ├── Readme.txt │ └── Versign.cer ├── 10.2.1 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ ├── RadLicense.pas │ ├── RadVersion.pas │ ├── SHFolderDll.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ ├── Readme.txt │ └── Versign.cer ├── 10.2.2 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ ├── RadLicense.pas │ ├── RadVersion.pas │ ├── SHFolderDll.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ ├── Readme.txt │ └── Versign.cer ├── 10.2.3.3231 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ ├── RadLicense.pas │ ├── RadVersion.pas │ ├── SHFolderDll.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ └── Readme.txt ├── 10.2.3 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ ├── RadLicense.pas │ ├── RadVersion.pas │ ├── SHFolderDll.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ └── Readme.txt ├── 10.3.0 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ ├── RadLicense.pas │ ├── RadVersion.pas │ ├── SHFolderDll.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ └── Readme.txt ├── 10.3.1 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ ├── RadLicense.pas │ ├── RadVersion.pas │ ├── SHFolderDll.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ └── Readme.txt ├── 10.3.2 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ ├── RadLicense.pas │ ├── RadVersion.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ └── Readme.txt ├── 10.3.3 ├── Activator │ ├── Activator.bdsproj │ ├── Activator.dpr │ ├── Activator.res │ ├── Activator_0.inc │ ├── Activator_1.inc │ ├── Activator_2.inc │ ├── Activator_3.inc │ ├── Activator_4.inc │ ├── Admin.res │ ├── FileUtils.pas │ ├── MainFrm.dfm │ ├── MainFrm.pas │ ├── MainFrm_1.inc │ ├── PatchData.inc │ ├── PatchData.pas │ ├── TMainForm.inc │ ├── TMainFormclass.inc │ ├── WinUtils.pas │ └── uses.inc ├── Dcu │ └── dirinfo.txt ├── Keygen │ ├── AnsiStrings.pas │ ├── FGInt.pas │ ├── RadKeygen.pas │ ├── RadLicense.pas │ ├── RadVersion.pas │ └── Sha1.pas └── Release │ ├── Activator.exe │ └── Readme.txt ├── LICENSE └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | *.bdsproj linguist-language=Pascal 2 | *.cer linguist-language=Pascal 3 | *.cfg linguist-language=Pascal 4 | *.exe linguist-language=Pascal 5 | *.inc linguist-language=Pascal 6 | *.res linguist-language=Pascal 7 | *.txt linguist-language=Pascal 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Uncomment these types if you want even more clean repository. But be careful. 2 | # It can make harm to an existing project source. Read explanations below. 3 | # 4 | # Resource files are binaries containing manifest, project icon and version info. 5 | # They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files. 6 | #*.res 7 | # 8 | # Type library file (binary). In old Delphi versions it should be stored. 9 | # Since Delphi 2009 it is produced from .ridl file and can safely be ignored. 10 | #*.tlb 11 | # 12 | # Diagram Portfolio file. Used by the diagram editor up to Delphi 7. 13 | # Uncomment this if you are not using diagrams or use newer Delphi version. 14 | #*.ddp 15 | # 16 | # Visual LiveBindings file. Added in Delphi XE2. 17 | # Uncomment this if you are not using LiveBindings Designer. 18 | #*.vlb 19 | # 20 | # Deployment Manager configuration file for your project. Added in Delphi XE2. 21 | # Uncomment this if it is not mobile development and you do not use remote debug feature. 22 | #*.deployproj 23 | # 24 | # C++ object files produced when C/C++ Output file generation is configured. 25 | # Uncomment this if you are not using external objects (zlib library for example). 26 | #*.obj 27 | # 28 | 29 | # Delphi compiler-generated binaries (safe to delete) 30 | *.exe 31 | *.dll 32 | *.bpl 33 | *.bpi 34 | *.dcp 35 | *.so 36 | *.apk 37 | *.drc 38 | *.map 39 | *.dres 40 | *.rsm 41 | *.tds 42 | *.dcu 43 | *.lib 44 | *.a 45 | *.o 46 | *.ocx 47 | 48 | # Delphi autogenerated files (duplicated info) 49 | *.cfg 50 | *.hpp 51 | *Resource.rc 52 | 53 | # Delphi local files (user-specific info) 54 | *.local 55 | *.identcache 56 | *.projdata 57 | *.tvsconfig 58 | *.dsk 59 | 60 | # Delphi history and backups 61 | __history/ 62 | *.~* 63 | 64 | # Castalia statistics file (since XE7 Castalia is distributed with Delphi) 65 | *.stat 66 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/Activator.cfg: -------------------------------------------------------------------------------- 1 | -$A8 2 | -$B- 3 | -$C- 4 | -$D- 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J+ 11 | -$K- 12 | -$L- 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$Y- 26 | -$Z1 27 | -cg 28 | -AClasses=;mirror= 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -E"..\Release" 35 | -N0"..\Dcu" 36 | -LE"C:\Users\Public\Documents\RAD Studio\5.0\Bpl" 37 | -LN"C:\Users\Public\Documents\RAD Studio\5.0\Dcp" 38 | -U"..\KOL" 39 | -O"..\KOL" 40 | -I"..\KOL" 41 | -R"..\KOL" 42 | -DKOL_MCK;NOT_USE_RICHEDIT;USE_MHTOOLTIP;xDEBUGMODE 43 | -w-SYMBOL_DEPRECATED 44 | -w-SYMBOL_PLATFORM 45 | -w-UNIT_PLATFORM 46 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | FGInt in '..\Keygen\FGInt.pas', 12 | RadKeygen in '..\Keygen\RadKeygen.pas', 13 | RadLicense in '..\Keygen\RadLicense.pas', 14 | RadVersion in '..\Keygen\RadVersion.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | SHFolderDll in '..\Keygen\SHFolderDll.pas', 17 | 18 | MainFrm in 'MainFrm.pas' {MainForm}; 19 | 20 | {$R *.res} 21 | 22 | begin // PROGRAM START HERE -- Please do not remove this comment 23 | 24 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 25 | 26 | Application.Initialize; 27 | Application.MainFormOnTaskbar := True; 28 | Application.CreateForm(TMainForm, MainForm); 29 | Application.Run; 30 | 31 | {$IFEND} 32 | 33 | end. 34 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP1/Activator/Activator.res -------------------------------------------------------------------------------- /10.1.UP1/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP1/Activator/Admin.res -------------------------------------------------------------------------------- /10.1.UP1/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP1/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.1.UP1/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP1/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.1.UP1/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.1 Berlin Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.1'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunX10 := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunX10.Hint.Text := 'Run Delphi 10.1'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.1'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunX10.OnClick := Result.btnRunX10Click; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP1/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.1.UP1/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.1.UP1/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP1/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.1.UP1/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.1.UP1/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.1.UP1/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.1.UP1/Keygen/RadVersion.pas: -------------------------------------------------------------------------------- 1 | unit RadVersion; 2 | 3 | interface 4 | uses Windows,Classes,SysUtils; 5 | type 6 | TPatchInfo=record 7 | Crc:DWORD; 8 | Sha1:string; 9 | PatchOffset:DWORD; 10 | FinalizeArrayOffset:DWORD; 11 | end; 12 | 13 | TRadStudioVersion=record 14 | Name:string; // Rad Studio 10.1 Berlin Update1 15 | Ver:string; // 24.0.24468.8770 16 | BDSVersion:string; // 18.0 17 | LicVerStr:string; // 10.1 Berlin 18 | LicHostPID:Integer; // 8218 19 | LicHostSKU:Integer; // 53 20 | LicDelphiPID:string; 21 | LicCBuilderPID:string; 22 | BdsPatchInfo:TPatchInfo; 23 | LicenseManagerPatchInfo:TPatchInfo; 24 | mOasisRuntimePatchInfo:TPatchInfo; 25 | SetupGUID:string; 26 | ISOUrl:string; 27 | ISOMd5:string; 28 | end; 29 | PRadStudioVersion=^TRadStudioVersion; 30 | var 31 | RadStudioVersionList:TStringList; 32 | implementation 33 | 34 | procedure InitRadStudioVersion(VerList:TStringList); 35 | var 36 | RadStudioVersion:PRadStudioVersion; 37 | begin 38 | 39 | New(RadStudioVersion); 40 | with RadStudioVersion^ do 41 | begin 42 | Name:='Rad Studio 10.1 Berlin Update1'; 43 | Ver:= '24.0.24468.8770'; 44 | BDSVersion:='18.0'; 45 | LicVerStr:= '10.1 Berlin'; 46 | LicHostPID:= 8218; 47 | LicHostSKU:= 53; 48 | LicDelphiPID:='2024'; 49 | LicCBuilderPID:='4021'; 50 | BdsPatchInfo.Crc:=$9626A6DC; 51 | BdsPatchInfo.Sha1:='82d3cd849786f2ece428ab7518ec9ecf47d475e6'; 52 | BdsPatchInfo.PatchOffset:=$51449; 53 | BdsPatchInfo.FinalizeArrayOffset:=$264584; 54 | LicenseManagerPatchInfo.Crc:=$3B314A18; 55 | LicenseManagerPatchInfo.Sha1:='79b342e41f97728e16c6302e08b44f89b0655a9e'; 56 | LicenseManagerPatchInfo.PatchOffset:=$1E8FB5; 57 | LicenseManagerPatchInfo.FinalizeArrayOffset:=$6729E0; 58 | mOasisRuntimePatchInfo.Sha1:='7aa466dd1d2c685edd69ee41d1c8ebc1d2b56bb4'; 59 | mOasisRuntimePatchInfo.PatchOffset:=$00162CBD; 60 | SetupGUID:='{37C118B3-EF7F-4110-BFE5-E866FB456C8E}'; 61 | ISOUrl:='http://altd.embarcadero.com/download/radstudio/10.1/delphicbuilder10_1_upd1.iso'; 62 | ISOMd5:='a85a0fba4f8bab121312184cda85c198'; 63 | end; 64 | VerList.AddObject(RadStudioVersion^.Name,TObject(RadStudioVersion)); 65 | 66 | New(RadStudioVersion); 67 | with RadStudioVersion^ do 68 | begin 69 | Name:='Rad Studio 10.1 Berlin'; 70 | Ver:= '24.0.22858.6822'; 71 | BDSVersion:='18.0'; 72 | LicVerStr:= '10.1 Berlin'; 73 | LicHostPID:= 8218; 74 | LicHostSKU:= 53; 75 | LicDelphiPID:='2024'; 76 | LicCBuilderPID:='4021'; 77 | BdsPatchInfo.Crc:=$1BA3E394; 78 | BdsPatchInfo.Sha1:='a492883335230bced0651338584fbe8c49bd94a8'; 79 | BdsPatchInfo.PatchOffset:=$51449; 80 | BdsPatchInfo.FinalizeArrayOffset:=$264584; 81 | LicenseManagerPatchInfo.Crc:=$D2BAA257; 82 | LicenseManagerPatchInfo.Sha1:='d0d024b97d02608a505fb0e667dd564b53c91b13'; 83 | LicenseManagerPatchInfo.PatchOffset:=$1E9035; 84 | LicenseManagerPatchInfo.FinalizeArrayOffset:=$6719B8; 85 | mOasisRuntimePatchInfo.Sha1:='7aa466dd1d2c685edd69ee41d1c8ebc1d2b56bb4'; 86 | mOasisRuntimePatchInfo.PatchOffset:=$00162CBD; 87 | SetupGUID:='{655CBACE-A23C-42B8-B924-A88E80F352B5}'; 88 | ISOUrl:='http://altd.embarcadero.com/download/radstudio/10.1/delphicbuilder10_1.iso'; 89 | ISOMd5:='466d2db93e5b3b631eabba69d052b28f'; 90 | end; 91 | VerList.AddObject(RadStudioVersion^.Name,TObject(RadStudioVersion)); 92 | 93 | New(RadStudioVersion); 94 | with RadStudioVersion^ do 95 | begin 96 | Name:='Rad Studio 10 Seattle Update1'; 97 | Ver:= '23.0.21418.4207'; 98 | BDSVersion:='17.0'; 99 | LicVerStr:= '10 Seattle'; 100 | LicHostPID:= 8217; 101 | LicHostSKU:= 53; 102 | LicDelphiPID:='2023'; 103 | LicCBuilderPID:='4020'; 104 | BdsPatchInfo.Crc:=$b5bd665f; 105 | BdsPatchInfo.Sha1:='e8cc301efc449f90750d921ab73be31d824c08c6'; 106 | BdsPatchInfo.PatchOffset:=$4fe51; 107 | BdsPatchInfo.FinalizeArrayOffset:=$225f84; 108 | LicenseManagerPatchInfo.Crc:=$8395454d; 109 | LicenseManagerPatchInfo.Sha1:='0ca4640d6c1c2f470ff3182809b881a97e76e534'; 110 | LicenseManagerPatchInfo.PatchOffset:=$1ca696; 111 | LicenseManagerPatchInfo.FinalizeArrayOffset:=$6306ac; 112 | mOasisRuntimePatchInfo.Sha1:='7aa466dd1d2c685edd69ee41d1c8ebc1d2b56bb4'; 113 | mOasisRuntimePatchInfo.PatchOffset:=$00162CBD; 114 | SetupGUID:='{5D50B637-4756-435A-816E-68ABFE86FC69}'; 115 | ISOUrl:='http://altd.embarcadero.com/download/radstudio/10/delphicbuilder10___upd1.iso'; 116 | ISOMd5:='34bf51b0f017541b8521e7efd2b6fbee'; 117 | end; 118 | VerList.AddObject(RadStudioVersion^.Name,TObject(RadStudioVersion)); 119 | 120 | New(RadStudioVersion); 121 | with RadStudioVersion^ do 122 | begin 123 | Name:='Rad Studio 10 Seattle'; 124 | Ver:= '23.0.20618.2753'; 125 | BDSVersion:='17.0'; 126 | LicVerStr:= '10 Seattle'; 127 | LicHostPID:= 8217; 128 | LicHostSKU:= 53; 129 | LicDelphiPID:='2023'; 130 | LicCBuilderPID:='4020'; 131 | BdsPatchInfo.Crc:=$59176e2b; 132 | BdsPatchInfo.Sha1:='0f4255ee60dc860bdcf75c3358d03674757474a5'; 133 | BdsPatchInfo.PatchOffset:=$500ea; 134 | BdsPatchInfo.FinalizeArrayOffset:=$225ec8; 135 | LicenseManagerPatchInfo.Crc:=$d06c02b0; 136 | LicenseManagerPatchInfo.Sha1:='4ff37906e7283448aecab34c73c8dbe3d45f55a6'; 137 | LicenseManagerPatchInfo.PatchOffset:=$1ca98a; 138 | LicenseManagerPatchInfo.FinalizeArrayOffset:=$630634; 139 | mOasisRuntimePatchInfo.Sha1:='7aa466dd1d2c685edd69ee41d1c8ebc1d2b56bb4'; 140 | mOasisRuntimePatchInfo.PatchOffset:=$00162CBD; 141 | SetupGUID:='{09FECC13-2950-4AE6-BB23-05C206979F18}'; 142 | ISOUrl:='http://altd.embarcadero.com/download/radstudio/10/delphicbuilder10.iso'; 143 | ISOMd5:='9d4bac568aced7f1f82d4a44124fb37c'; 144 | end; 145 | VerList.AddObject(RadStudioVersion^.Name,TObject(RadStudioVersion)); 146 | 147 | end; 148 | 149 | procedure FinallyRadStudioVersion(VerList:TStringList); 150 | var 151 | RadStudioVersion:PRadStudioVersion; 152 | begin 153 | while VerList.Count>0 do 154 | begin 155 | RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]); 156 | if RadStudioVersion<>nil then Dispose(RadStudioVersion); 157 | VerList.Delete(0); 158 | end; 159 | end; 160 | 161 | initialization 162 | RadStudioVersionList:= TStringList.Create; 163 | InitRadStudioVersion(RadStudioVersionList); 164 | finalization 165 | FinallyRadStudioVersion(RadStudioVersionList); 166 | FreeAndNil(RadStudioVersionList); 167 | 168 | end. 169 | -------------------------------------------------------------------------------- /10.1.UP1/Keygen/Sha1.pas: -------------------------------------------------------------------------------- 1 | { 2 | 3 | *************************************************** 4 | * A binary compatible SHA1 implementation * 5 | * written by Dave Barton (davebarton@bigfoot.com) * 6 | *************************************************** 7 | * 160bit hash size * 8 | *************************************************** 9 | 10 | } 11 | unit SHA1; 12 | 13 | interface 14 | uses 15 | Windows,SysUtils; 16 | 17 | type 18 | TSHA1Digest = array[0..19] of byte; 19 | TSHA1Context = record 20 | Hash: array[0..4] of DWord; 21 | Hi, Lo: integer; 22 | Buffer: array[0..63] of byte; 23 | Index: integer; 24 | end; 25 | 26 | procedure SHA1Init(var Context: TSHA1Context); 27 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 28 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 29 | 30 | 31 | function SHA1String(M: AnsiString): TSHA1Digest; 32 | function SHA1File(N: string): TSHA1Digest; 33 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 34 | 35 | //****************************************************************************** 36 | implementation 37 | { 38 | $R- 39 | } 40 | 41 | function LRot16(X: Word; c: longint): Word; 42 | begin 43 | LRot16 := (X shl c) or (X shr (16 - c)); 44 | end; 45 | 46 | 47 | function RRot16(X: Word; c: longint): Word; 48 | begin 49 | RRot16 := (X shr c) or (X shl (16 - c)); 50 | end; 51 | 52 | 53 | function LRot32(X: DWord; c: longint): DWord; 54 | begin 55 | LRot32 := (X shl c) or (X shr (32 - c)); 56 | end; 57 | 58 | 59 | function RRot32(X: DWord; c: longint): DWord; 60 | begin 61 | RRot32 := (X shr c) or (X shl (32 - c)); 62 | end; 63 | 64 | 65 | 66 | //****************************************************************************** 67 | 68 | function F1(x, y, z: DWord): DWord; 69 | begin 70 | Result := z xor (x and (y xor z)); 71 | end; 72 | 73 | function F2(x, y, z: DWord): DWord; 74 | begin 75 | Result := x xor y xor z; 76 | end; 77 | 78 | function F3(x, y, z: DWord): DWord; 79 | begin 80 | Result := (x and y) or (z and (x or y)); 81 | end; 82 | 83 | //****************************************************************************** 84 | 85 | function RB(A: DWord): DWord; 86 | begin 87 | Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); 88 | end; 89 | 90 | procedure SHA1Compress(var Data: TSHA1Context); 91 | var 92 | A, B, C, D, E, T: DWord; 93 | W: array[0..79] of DWord; 94 | i: integer; 95 | begin 96 | Move(Data.Buffer, W, Sizeof(Data.Buffer)); 97 | for i := 0 to 15 do 98 | W[i] := RB(W[i]); 99 | for i := 16 to 79 do 100 | W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); 101 | A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; 102 | for i := 0 to 19 do 103 | begin 104 | T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; 105 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 106 | end; 107 | for i := 20 to 39 do 108 | begin 109 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; 110 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 111 | end; 112 | for i := 40 to 59 do 113 | begin 114 | T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; 115 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 116 | end; 117 | for i := 60 to 79 do 118 | begin 119 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; 120 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 121 | end; 122 | Data.Hash[0] := Data.Hash[0] + A; 123 | Data.Hash[1] := Data.Hash[1] + B; 124 | Data.Hash[2] := Data.Hash[2] + C; 125 | Data.Hash[3] := Data.Hash[3] + D; 126 | Data.Hash[4] := Data.Hash[4] + E; 127 | FillChar(W, Sizeof(W), 0); 128 | FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); 129 | end; 130 | 131 | //****************************************************************************** 132 | 133 | procedure SHA1Init(var Context: TSHA1Context); 134 | begin 135 | Context.Hi := 0; Context.Lo := 0; 136 | Context.Index := 0; 137 | FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); 138 | Context.Hash[0] := $67452301; 139 | Context.Hash[1] := $EFCDAB89; 140 | Context.Hash[2] := $98BADCFE; 141 | Context.Hash[3] := $10325476; 142 | Context.Hash[4] := $C3D2E1F0; 143 | end; 144 | 145 | //****************************************************************************** 146 | 147 | procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); 148 | var 149 | i, k: integer; 150 | begin 151 | for k := 0 to 7 do 152 | begin 153 | i := Context.Lo; 154 | Inc(Context.Lo, Len); 155 | if Context.Lo < i then 156 | Inc(Context.Hi); 157 | end; 158 | end; 159 | 160 | //****************************************************************************** 161 | 162 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 163 | type 164 | PByte = ^Byte; 165 | begin 166 | SHA1UpdateLen(Context, Len); 167 | while Len > 0 do 168 | begin 169 | Context.Buffer[Context.Index] := PByte(Buffer)^; 170 | Inc(PByte(Buffer)); 171 | Inc(Context.Index); 172 | Dec(Len); 173 | if Context.Index = 64 then 174 | begin 175 | Context.Index := 0; 176 | SHA1Compress(Context); 177 | end; 178 | end; 179 | end; 180 | 181 | //****************************************************************************** 182 | 183 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 184 | type 185 | PDWord = ^DWord; 186 | begin 187 | Context.Buffer[Context.Index] := $80; 188 | if Context.Index >= 56 then 189 | SHA1Compress(Context); 190 | PDWord(@Context.Buffer[56])^ := RB(Context.Hi); 191 | PDWord(@Context.Buffer[60])^ := RB(Context.Lo); 192 | SHA1Compress(Context); 193 | Context.Hash[0] := RB(Context.Hash[0]); 194 | Context.Hash[1] := RB(Context.Hash[1]); 195 | Context.Hash[2] := RB(Context.Hash[2]); 196 | Context.Hash[3] := RB(Context.Hash[3]); 197 | Context.Hash[4] := RB(Context.Hash[4]); 198 | Move(Context.Hash, Digest, Sizeof(Digest)); 199 | FillChar(Context, Sizeof(Context), 0); 200 | end; 201 | 202 | 203 | function SHA1String(M: AnsiString): TSHA1Digest; 204 | var 205 | Context: TSHA1Context; 206 | begin 207 | SHA1Init(Context); 208 | SHA1Update(Context, PAnsiChar(M), length(M)); 209 | SHA1Final(Context, Result); 210 | end; 211 | 212 | function SHA1File(N: string): TSHA1Digest; 213 | var 214 | FileHandle: THandle; 215 | MapHandle: THandle; 216 | ViewPointer: pointer; 217 | Context: TSHA1Context; 218 | begin 219 | SHA1Init(Context); 220 | FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, 221 | nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 222 | if FileHandle <> INVALID_HANDLE_VALUE then try 223 | MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); 224 | if MapHandle <> 0 then try 225 | ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); 226 | if ViewPointer <> nil then try 227 | SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); 228 | finally 229 | UnmapViewOfFile(ViewPointer); 230 | end; 231 | finally 232 | CloseHandle(MapHandle); 233 | end; 234 | finally 235 | CloseHandle(FileHandle); 236 | end; 237 | SHA1Final(Context, Result); 238 | end; 239 | 240 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 241 | var 242 | I: byte; 243 | const 244 | Digits: array[0..15] of AnsiChar = 245 | ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 246 | begin 247 | Result := ''; 248 | for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; 249 | end; 250 | 251 | end. -------------------------------------------------------------------------------- /10.1.UP1/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP1/Release/Activator.exe -------------------------------------------------------------------------------- /10.1.UP1/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 13.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合 unis、cjack 大虾的 Keygen 6 | 7 | 相对原始部署方式,这个 Activator 实现“一键激活”! 8 | 9 | 使用方法: 10 | 11 | 1、执行 Activator.exe 12 | 13 | 发布历史: 14 | 15 | 2016.10.05 - v13.1 16 | 17 | 1、针对 10.1 Berlin Update1 制作,基于 unis、x-force、cjack 等大虾的成果 18 | 19 | 2016.05.10 - v13.0 20 | 21 | 1、针对 10.1 Berlin 制作,基于 unis、x-force、cjack 等大虾的成果 22 | 23 | 已知问题: 24 | 25 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 26 | 27 | 特别感谢: 28 | 29 | 1、unis、x-force、cjack、crackerjack、dr、freecat、gateway、huayan889、kerlingen、sinner、yuto 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 30 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试! 31 | 3、andreas hausladen 等大虾们的无私贡献! 32 | 33 | BTW: 34 | 35 | 1、强烈感谢 unis、x-force、cjack 等的辛勤付出,没有你们就不会有 Activator.exe! 36 | 2、不得不吐槽:被 BDS 的文件校验整惨了,偶感保证,EMB 的测试们乃们就没再在 XP 下认真的测试过!!具体内容乃们勾 KB931125 吧 ~~ 37 | 38 | O(∩_∩)O~ 39 | -------------------------------------------------------------------------------- /10.1.UP1/Release/Versign.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP1/Release/Versign.cer -------------------------------------------------------------------------------- /10.1.UP2/Activator/Activator.cfg: -------------------------------------------------------------------------------- 1 | -$A8 2 | -$B- 3 | -$C- 4 | -$D- 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J+ 11 | -$K- 12 | -$L- 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$Y- 26 | -$Z1 27 | -cg 28 | -AClasses=;mirror= 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -E"..\Release" 35 | -N0"..\Dcu" 36 | -LE"C:\Users\Public\Documents\RAD Studio\5.0\Bpl" 37 | -LN"C:\Users\Public\Documents\RAD Studio\5.0\Dcp" 38 | -U"..\KOL" 39 | -O"..\KOL" 40 | -I"..\KOL" 41 | -R"..\KOL" 42 | -DKOL_MCK;NOT_USE_RICHEDIT;USE_MHTOOLTIP;xDEBUGMODE 43 | -w-SYMBOL_DEPRECATED 44 | -w-SYMBOL_PLATFORM 45 | -w-UNIT_PLATFORM 46 | -------------------------------------------------------------------------------- /10.1.UP2/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | FGInt in '..\Keygen\FGInt.pas', 12 | RadKeygen in '..\Keygen\RadKeygen.pas', 13 | RadLicense in '..\Keygen\RadLicense.pas', 14 | RadVersion in '..\Keygen\RadVersion.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | SHFolderDll in '..\Keygen\SHFolderDll.pas', 17 | 18 | MainFrm in 'MainFrm.pas' {MainForm}; 19 | 20 | {$R *.res} 21 | 22 | begin // PROGRAM START HERE -- Please do not remove this comment 23 | 24 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 25 | 26 | Application.Initialize; 27 | Application.MainFormOnTaskbar := True; 28 | Application.CreateForm(TMainForm, MainForm); 29 | Application.Run; 30 | 31 | {$IFEND} 32 | 33 | end. 34 | -------------------------------------------------------------------------------- /10.1.UP2/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP2/Activator/Activator.res -------------------------------------------------------------------------------- /10.1.UP2/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.1.UP2/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.1.UP2/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.1.UP2/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.1.UP2/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.1.UP2/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP2/Activator/Admin.res -------------------------------------------------------------------------------- /10.1.UP2/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP2/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.1.UP2/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP2/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.1.UP2/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.1 Berlin Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.1'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunX10 := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunX10.Hint.Text := 'Run Delphi 10.1'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.1'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunX10.OnClick := Result.btnRunX10Click; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.1.UP2/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP2/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.1.UP2/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.1.UP2/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.1.UP2/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP2/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.1.UP2/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.1.UP2/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.1.UP2/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.1.UP2/Keygen/RadVersion.pas: -------------------------------------------------------------------------------- 1 | unit RadVersion; 2 | 3 | interface 4 | uses Windows,Classes,SysUtils; 5 | type 6 | TPatchInfo=record 7 | Crc:DWORD; 8 | Sha1:string; 9 | PatchOffset:DWORD; 10 | FinalizeArrayOffset:DWORD; 11 | end; 12 | 13 | TRadStudioVersion=record 14 | Name:string; // Rad Studio 10.1 Berlin Update1 15 | Ver:string; // 24.0.24468.8770 16 | BDSVersion:string; // 18.0 17 | LicVerStr:string; // 10.1 Berlin 18 | LicHostPID:Integer; // 8218 19 | LicHostSKU:Integer; // 53 20 | LicDelphiPID:string; 21 | LicCBuilderPID:string; 22 | BdsPatchInfo:TPatchInfo; 23 | LicenseManagerPatchInfo:TPatchInfo; 24 | mOasisRuntimePatchInfo:TPatchInfo; 25 | SetupGUID:string; 26 | ISOUrl:string; 27 | ISOMd5:string; 28 | end; 29 | PRadStudioVersion=^TRadStudioVersion; 30 | var 31 | RadStudioVersionList:TStringList; 32 | implementation 33 | 34 | procedure InitRadStudioVersion(VerList:TStringList); 35 | var 36 | RadStudioVersion:PRadStudioVersion; 37 | begin 38 | 39 | New(RadStudioVersion); 40 | with RadStudioVersion^ do 41 | begin 42 | Name:='Rad Studio 10.1 Berlin Update1'; 43 | Ver:= '24.0.24468.8770'; 44 | BDSVersion:='18.0'; 45 | LicVerStr:= '10.1 Berlin'; 46 | LicHostPID:= 8218; 47 | LicHostSKU:= 53; 48 | LicDelphiPID:='2024'; 49 | LicCBuilderPID:='4021'; 50 | BdsPatchInfo.Crc:=$9626A6DC; 51 | BdsPatchInfo.Sha1:='82d3cd849786f2ece428ab7518ec9ecf47d475e6'; 52 | BdsPatchInfo.PatchOffset:=$51449; 53 | BdsPatchInfo.FinalizeArrayOffset:=$264584; 54 | LicenseManagerPatchInfo.Crc:=$3B314A18; 55 | LicenseManagerPatchInfo.Sha1:='79b342e41f97728e16c6302e08b44f89b0655a9e'; 56 | LicenseManagerPatchInfo.PatchOffset:=$1E8FB5; 57 | LicenseManagerPatchInfo.FinalizeArrayOffset:=$6729E0; 58 | mOasisRuntimePatchInfo.Sha1:='7aa466dd1d2c685edd69ee41d1c8ebc1d2b56bb4'; 59 | mOasisRuntimePatchInfo.PatchOffset:=$00162CBD; 60 | SetupGUID:='{37C118B3-EF7F-4110-BFE5-E866FB456C8E}'; 61 | ISOUrl:='http://altd.embarcadero.com/download/radstudio/10.1/delphicbuilder10_1_upd1.iso'; 62 | ISOMd5:='a85a0fba4f8bab121312184cda85c198'; 63 | end; 64 | VerList.AddObject(RadStudioVersion^.Name,TObject(RadStudioVersion)); 65 | 66 | New(RadStudioVersion); 67 | with RadStudioVersion^ do 68 | begin 69 | Name:='Rad Studio 10.1 Berlin'; 70 | Ver:= '24.0.22858.6822'; 71 | BDSVersion:='18.0'; 72 | LicVerStr:= '10.1 Berlin'; 73 | LicHostPID:= 8218; 74 | LicHostSKU:= 53; 75 | LicDelphiPID:='2024'; 76 | LicCBuilderPID:='4021'; 77 | BdsPatchInfo.Crc:=$1BA3E394; 78 | BdsPatchInfo.Sha1:='a492883335230bced0651338584fbe8c49bd94a8'; 79 | BdsPatchInfo.PatchOffset:=$51449; 80 | BdsPatchInfo.FinalizeArrayOffset:=$264584; 81 | LicenseManagerPatchInfo.Crc:=$D2BAA257; 82 | LicenseManagerPatchInfo.Sha1:='d0d024b97d02608a505fb0e667dd564b53c91b13'; 83 | LicenseManagerPatchInfo.PatchOffset:=$1E9035; 84 | LicenseManagerPatchInfo.FinalizeArrayOffset:=$6719B8; 85 | mOasisRuntimePatchInfo.Sha1:='7aa466dd1d2c685edd69ee41d1c8ebc1d2b56bb4'; 86 | mOasisRuntimePatchInfo.PatchOffset:=$00162CBD; 87 | SetupGUID:='{655CBACE-A23C-42B8-B924-A88E80F352B5}'; 88 | ISOUrl:='http://altd.embarcadero.com/download/radstudio/10.1/delphicbuilder10_1.iso'; 89 | ISOMd5:='466d2db93e5b3b631eabba69d052b28f'; 90 | end; 91 | VerList.AddObject(RadStudioVersion^.Name,TObject(RadStudioVersion)); 92 | 93 | New(RadStudioVersion); 94 | with RadStudioVersion^ do 95 | begin 96 | Name:='Rad Studio 10 Seattle Update1'; 97 | Ver:= '23.0.21418.4207'; 98 | BDSVersion:='17.0'; 99 | LicVerStr:= '10 Seattle'; 100 | LicHostPID:= 8217; 101 | LicHostSKU:= 53; 102 | LicDelphiPID:='2023'; 103 | LicCBuilderPID:='4020'; 104 | BdsPatchInfo.Crc:=$b5bd665f; 105 | BdsPatchInfo.Sha1:='e8cc301efc449f90750d921ab73be31d824c08c6'; 106 | BdsPatchInfo.PatchOffset:=$4fe51; 107 | BdsPatchInfo.FinalizeArrayOffset:=$225f84; 108 | LicenseManagerPatchInfo.Crc:=$8395454d; 109 | LicenseManagerPatchInfo.Sha1:='0ca4640d6c1c2f470ff3182809b881a97e76e534'; 110 | LicenseManagerPatchInfo.PatchOffset:=$1ca696; 111 | LicenseManagerPatchInfo.FinalizeArrayOffset:=$6306ac; 112 | mOasisRuntimePatchInfo.Sha1:='7aa466dd1d2c685edd69ee41d1c8ebc1d2b56bb4'; 113 | mOasisRuntimePatchInfo.PatchOffset:=$00162CBD; 114 | SetupGUID:='{5D50B637-4756-435A-816E-68ABFE86FC69}'; 115 | ISOUrl:='http://altd.embarcadero.com/download/radstudio/10/delphicbuilder10___upd1.iso'; 116 | ISOMd5:='34bf51b0f017541b8521e7efd2b6fbee'; 117 | end; 118 | VerList.AddObject(RadStudioVersion^.Name,TObject(RadStudioVersion)); 119 | 120 | New(RadStudioVersion); 121 | with RadStudioVersion^ do 122 | begin 123 | Name:='Rad Studio 10 Seattle'; 124 | Ver:= '23.0.20618.2753'; 125 | BDSVersion:='17.0'; 126 | LicVerStr:= '10 Seattle'; 127 | LicHostPID:= 8217; 128 | LicHostSKU:= 53; 129 | LicDelphiPID:='2023'; 130 | LicCBuilderPID:='4020'; 131 | BdsPatchInfo.Crc:=$59176e2b; 132 | BdsPatchInfo.Sha1:='0f4255ee60dc860bdcf75c3358d03674757474a5'; 133 | BdsPatchInfo.PatchOffset:=$500ea; 134 | BdsPatchInfo.FinalizeArrayOffset:=$225ec8; 135 | LicenseManagerPatchInfo.Crc:=$d06c02b0; 136 | LicenseManagerPatchInfo.Sha1:='4ff37906e7283448aecab34c73c8dbe3d45f55a6'; 137 | LicenseManagerPatchInfo.PatchOffset:=$1ca98a; 138 | LicenseManagerPatchInfo.FinalizeArrayOffset:=$630634; 139 | mOasisRuntimePatchInfo.Sha1:='7aa466dd1d2c685edd69ee41d1c8ebc1d2b56bb4'; 140 | mOasisRuntimePatchInfo.PatchOffset:=$00162CBD; 141 | SetupGUID:='{09FECC13-2950-4AE6-BB23-05C206979F18}'; 142 | ISOUrl:='http://altd.embarcadero.com/download/radstudio/10/delphicbuilder10.iso'; 143 | ISOMd5:='9d4bac568aced7f1f82d4a44124fb37c'; 144 | end; 145 | VerList.AddObject(RadStudioVersion^.Name,TObject(RadStudioVersion)); 146 | 147 | end; 148 | 149 | procedure FinallyRadStudioVersion(VerList:TStringList); 150 | var 151 | RadStudioVersion:PRadStudioVersion; 152 | begin 153 | while VerList.Count>0 do 154 | begin 155 | RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]); 156 | if RadStudioVersion<>nil then Dispose(RadStudioVersion); 157 | VerList.Delete(0); 158 | end; 159 | end; 160 | 161 | initialization 162 | RadStudioVersionList:= TStringList.Create; 163 | InitRadStudioVersion(RadStudioVersionList); 164 | finalization 165 | FinallyRadStudioVersion(RadStudioVersionList); 166 | FreeAndNil(RadStudioVersionList); 167 | 168 | end. 169 | -------------------------------------------------------------------------------- /10.1.UP2/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP2/Release/Activator.exe -------------------------------------------------------------------------------- /10.1.UP2/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 13.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合 unis、cjack 大虾的 Keygen 6 | 7 | 相对原始部署方式,这个 Activator 实现“一键激活”! 8 | 9 | 使用方法: 10 | 11 | 1、执行 Activator.exe 12 | 13 | 发布历史: 14 | 15 | 2016.10.05 - v13.1 16 | 17 | 1、针对 10.1 Berlin Update1 制作,基于 unis、x-force、cjack 等大虾的成果 18 | 19 | 2016.05.10 - v13.0 20 | 21 | 1、针对 10.1 Berlin 制作,基于 unis、x-force、cjack 等大虾的成果 22 | 23 | 已知问题: 24 | 25 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 26 | 27 | 特别感谢: 28 | 29 | 1、unis、x-force、cjack、crackerjack、dr、freecat、gateway、huayan889、kerlingen、sinner、yuto 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 30 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试! 31 | 3、andreas hausladen 等大虾们的无私贡献! 32 | 33 | BTW: 34 | 35 | 1、强烈感谢 unis、x-force、cjack 等的辛勤付出,没有你们就不会有 Activator.exe! 36 | 2、不得不吐槽:被 BDS 的文件校验整惨了,偶感保证,EMB 的测试们乃们就没再在 XP 下认真的测试过!!具体内容乃们勾 KB931125 吧 ~~ 37 | 38 | O(∩_∩)O~ 39 | -------------------------------------------------------------------------------- /10.1.UP2/Release/Versign.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1.UP2/Release/Versign.cer -------------------------------------------------------------------------------- /10.1/Activator/Activator.cfg: -------------------------------------------------------------------------------- 1 | -$A8 2 | -$B- 3 | -$C+ 4 | -$D+ 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J- 11 | -$K- 12 | -$L+ 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$YD 26 | -$Z1 27 | -cg 28 | -AClasses=;mirror= 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -E"..\Release" 35 | -N0"..\Dcu" 36 | -LE"C:\Users\Public\Documents\RAD Studio\5.0\Bpl" 37 | -LN"C:\Users\Public\Documents\RAD Studio\5.0\Dcp" 38 | -U"..\KOL" 39 | -O"..\KOL" 40 | -I"..\KOL" 41 | -R"..\KOL" 42 | -DKOL_MCK;NOT_USE_RICHEDIT;USE_MHTOOLTIP;xDEBUGMODE 43 | -w-SYMBOL_DEPRECATED 44 | -w-SYMBOL_PLATFORM 45 | -w-UNIT_PLATFORM 46 | -------------------------------------------------------------------------------- /10.1/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | 12 | DllData in '..\Keygen\DllData.pas', 13 | FGInt in '..\Keygen\FGInt.pas', 14 | RadKeygen in '..\Keygen\RadKeygen.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | 17 | MainFrm in 'MainFrm.pas' {MainForm}; 18 | 19 | {$R *.res} 20 | 21 | begin // PROGRAM START HERE -- Please do not remove this comment 22 | 23 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 24 | 25 | Application.Initialize; 26 | Application.MainFormOnTaskbar := True; 27 | Application.CreateForm(TMainForm, MainForm); 28 | Application.Run; 29 | 30 | {$IFEND} 31 | 32 | end. 33 | -------------------------------------------------------------------------------- /10.1/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1/Activator/Activator.res -------------------------------------------------------------------------------- /10.1/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.1/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.1/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.1/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.1/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.1/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1/Activator/Admin.res -------------------------------------------------------------------------------- /10.1/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.1/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.1/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.1 Berlin Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.1'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunX10 := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunX10.Hint.Text := 'Run Delphi 10.1'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.1'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunX10.OnClick := Result.btnRunX10Click; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.1/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.1/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.1/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.1/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.1/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.1/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.1/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.1/Keygen/Sha1.pas: -------------------------------------------------------------------------------- 1 | { 2 | 3 | *************************************************** 4 | * A binary compatible SHA1 implementation * 5 | * written by Dave Barton (davebarton@bigfoot.com) * 6 | *************************************************** 7 | * 160bit hash size * 8 | *************************************************** 9 | 10 | } 11 | unit SHA1; 12 | 13 | interface 14 | uses 15 | Windows,SysUtils; 16 | 17 | type 18 | TSHA1Digest = array[0..19] of byte; 19 | TSHA1Context = record 20 | Hash: array[0..4] of DWord; 21 | Hi, Lo: integer; 22 | Buffer: array[0..63] of byte; 23 | Index: integer; 24 | end; 25 | 26 | procedure SHA1Init(var Context: TSHA1Context); 27 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 28 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 29 | 30 | 31 | function SHA1String(M: AnsiString): TSHA1Digest; 32 | function SHA1File(N: string): TSHA1Digest; 33 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 34 | 35 | //****************************************************************************** 36 | implementation 37 | { 38 | $R- 39 | } 40 | 41 | function LRot16(X: Word; c: longint): Word; 42 | begin 43 | LRot16 := (X shl c) or (X shr (16 - c)); 44 | end; 45 | 46 | 47 | function RRot16(X: Word; c: longint): Word; 48 | begin 49 | RRot16 := (X shr c) or (X shl (16 - c)); 50 | end; 51 | 52 | 53 | function LRot32(X: DWord; c: longint): DWord; 54 | begin 55 | LRot32 := (X shl c) or (X shr (32 - c)); 56 | end; 57 | 58 | 59 | function RRot32(X: DWord; c: longint): DWord; 60 | begin 61 | RRot32 := (X shr c) or (X shl (32 - c)); 62 | end; 63 | 64 | 65 | 66 | //****************************************************************************** 67 | 68 | function F1(x, y, z: DWord): DWord; 69 | begin 70 | Result := z xor (x and (y xor z)); 71 | end; 72 | 73 | function F2(x, y, z: DWord): DWord; 74 | begin 75 | Result := x xor y xor z; 76 | end; 77 | 78 | function F3(x, y, z: DWord): DWord; 79 | begin 80 | Result := (x and y) or (z and (x or y)); 81 | end; 82 | 83 | //****************************************************************************** 84 | 85 | function RB(A: DWord): DWord; 86 | begin 87 | Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); 88 | end; 89 | 90 | procedure SHA1Compress(var Data: TSHA1Context); 91 | var 92 | A, B, C, D, E, T: DWord; 93 | W: array[0..79] of DWord; 94 | i: integer; 95 | begin 96 | Move(Data.Buffer, W, Sizeof(Data.Buffer)); 97 | for i := 0 to 15 do 98 | W[i] := RB(W[i]); 99 | for i := 16 to 79 do 100 | W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); 101 | A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; 102 | for i := 0 to 19 do 103 | begin 104 | T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; 105 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 106 | end; 107 | for i := 20 to 39 do 108 | begin 109 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; 110 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 111 | end; 112 | for i := 40 to 59 do 113 | begin 114 | T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; 115 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 116 | end; 117 | for i := 60 to 79 do 118 | begin 119 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; 120 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 121 | end; 122 | Data.Hash[0] := Data.Hash[0] + A; 123 | Data.Hash[1] := Data.Hash[1] + B; 124 | Data.Hash[2] := Data.Hash[2] + C; 125 | Data.Hash[3] := Data.Hash[3] + D; 126 | Data.Hash[4] := Data.Hash[4] + E; 127 | FillChar(W, Sizeof(W), 0); 128 | FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); 129 | end; 130 | 131 | //****************************************************************************** 132 | 133 | procedure SHA1Init(var Context: TSHA1Context); 134 | begin 135 | Context.Hi := 0; Context.Lo := 0; 136 | Context.Index := 0; 137 | FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); 138 | Context.Hash[0] := $67452301; 139 | Context.Hash[1] := $EFCDAB89; 140 | Context.Hash[2] := $98BADCFE; 141 | Context.Hash[3] := $10325476; 142 | Context.Hash[4] := $C3D2E1F0; 143 | end; 144 | 145 | //****************************************************************************** 146 | 147 | procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); 148 | var 149 | i, k: integer; 150 | begin 151 | for k := 0 to 7 do 152 | begin 153 | i := Context.Lo; 154 | Inc(Context.Lo, Len); 155 | if Context.Lo < i then 156 | Inc(Context.Hi); 157 | end; 158 | end; 159 | 160 | //****************************************************************************** 161 | 162 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 163 | type 164 | PByte = ^Byte; 165 | begin 166 | SHA1UpdateLen(Context, Len); 167 | while Len > 0 do 168 | begin 169 | Context.Buffer[Context.Index] := PByte(Buffer)^; 170 | Inc(PByte(Buffer)); 171 | Inc(Context.Index); 172 | Dec(Len); 173 | if Context.Index = 64 then 174 | begin 175 | Context.Index := 0; 176 | SHA1Compress(Context); 177 | end; 178 | end; 179 | end; 180 | 181 | //****************************************************************************** 182 | 183 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 184 | type 185 | PDWord = ^DWord; 186 | begin 187 | Context.Buffer[Context.Index] := $80; 188 | if Context.Index >= 56 then 189 | SHA1Compress(Context); 190 | PDWord(@Context.Buffer[56])^ := RB(Context.Hi); 191 | PDWord(@Context.Buffer[60])^ := RB(Context.Lo); 192 | SHA1Compress(Context); 193 | Context.Hash[0] := RB(Context.Hash[0]); 194 | Context.Hash[1] := RB(Context.Hash[1]); 195 | Context.Hash[2] := RB(Context.Hash[2]); 196 | Context.Hash[3] := RB(Context.Hash[3]); 197 | Context.Hash[4] := RB(Context.Hash[4]); 198 | Move(Context.Hash, Digest, Sizeof(Digest)); 199 | FillChar(Context, Sizeof(Context), 0); 200 | end; 201 | 202 | 203 | function SHA1String(M: AnsiString): TSHA1Digest; 204 | var 205 | Context: TSHA1Context; 206 | begin 207 | SHA1Init(Context); 208 | SHA1Update(Context, PAnsiChar(M), length(M)); 209 | SHA1Final(Context, Result); 210 | end; 211 | 212 | function SHA1File(N: string): TSHA1Digest; 213 | var 214 | FileHandle: THandle; 215 | MapHandle: THandle; 216 | ViewPointer: pointer; 217 | Context: TSHA1Context; 218 | begin 219 | SHA1Init(Context); 220 | FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, 221 | nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 222 | if FileHandle <> INVALID_HANDLE_VALUE then try 223 | MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); 224 | if MapHandle <> 0 then try 225 | ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); 226 | if ViewPointer <> nil then try 227 | SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); 228 | finally 229 | UnmapViewOfFile(ViewPointer); 230 | end; 231 | finally 232 | CloseHandle(MapHandle); 233 | end; 234 | finally 235 | CloseHandle(FileHandle); 236 | end; 237 | SHA1Final(Context, Result); 238 | end; 239 | 240 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 241 | var 242 | I: byte; 243 | const 244 | Digits: array[0..15] of AnsiChar = 245 | ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 246 | begin 247 | Result := ''; 248 | for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; 249 | end; 250 | 251 | end. -------------------------------------------------------------------------------- /10.1/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1/Release/Activator.exe -------------------------------------------------------------------------------- /10.1/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 13.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合 unis、cjack 大虾的 Keygen 6 | 7 | 相对原始部署方式,这个 Activator 实现“一键激活”! 8 | 9 | 使用方法: 10 | 11 | 1、执行 Activator.exe 12 | 13 | 发布历史: 14 | 15 | 2016.05.10 - v13.0 16 | 17 | 1、针对 10.1 Berlin 制作,基于 unis、x-force、cjack 等大虾的成果 18 | 19 | 已知问题: 20 | 21 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 22 | 23 | 特别感谢: 24 | 25 | 1、unis、x-force、cjack、crackerjack、dr、freecat、gateway、huayan889、kerlingen、sinner、yuto 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 26 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试! 27 | 3、andreas hausladen 等大虾们的无私贡献! 28 | 29 | BTW: 30 | 31 | 1、强烈感谢 unis、x-force、cjack 等的辛勤付出,没有你们就不会有 Activator.exe! 32 | 2、不得不吐槽:被 BDS 的文件校验整惨了,偶感保证,EMB 的测试们乃们就没再在 XP 下认真的测试过!!具体内容乃们勾 KB931125 吧 ~~ 33 | 34 | O(∩_∩)O~ 35 | -------------------------------------------------------------------------------- /10.1/Release/Versign.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.1/Release/Versign.cer -------------------------------------------------------------------------------- /10.2.1/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | FGInt in '..\Keygen\FGInt.pas', 12 | RadKeygen in '..\Keygen\RadKeygen.pas', 13 | RadLicense in '..\Keygen\RadLicense.pas', 14 | RadVersion in '..\Keygen\RadVersion.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | SHFolderDll in '..\Keygen\SHFolderDll.pas', 17 | 18 | MainFrm in 'MainFrm.pas' {MainForm}; 19 | 20 | {$R *.res} 21 | 22 | begin // PROGRAM START HERE -- Please do not remove this comment 23 | 24 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 25 | 26 | Application.Initialize; 27 | Application.MainFormOnTaskbar := True; 28 | Application.CreateForm(TMainForm, MainForm); 29 | Application.Run; 30 | 31 | {$IFEND} 32 | 33 | end. 34 | -------------------------------------------------------------------------------- /10.2.1/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.1/Activator/Activator.res -------------------------------------------------------------------------------- /10.2.1/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.2.1/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.2.1/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.1/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.1/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.1/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.1/Activator/Admin.res -------------------------------------------------------------------------------- /10.2.1/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.1/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.2.1/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.1/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.2.1/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.2 Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.2'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunX10 := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunX10.Hint.Text := 'Run Delphi 10.2'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.2'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunX10.OnClick := Result.btnRunX10Click; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.2.1/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.1/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.2.1/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.2.1/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.2.1/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.1/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.2.1/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.2.1/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.2.1/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.2.1/Keygen/Sha1.pas: -------------------------------------------------------------------------------- 1 | { 2 | 3 | *************************************************** 4 | * A binary compatible SHA1 implementation * 5 | * written by Dave Barton (davebarton@bigfoot.com) * 6 | *************************************************** 7 | * 160bit hash size * 8 | *************************************************** 9 | 10 | } 11 | unit SHA1; 12 | 13 | interface 14 | uses 15 | Windows,SysUtils; 16 | 17 | type 18 | TSHA1Digest = array[0..19] of byte; 19 | TSHA1Context = record 20 | Hash: array[0..4] of DWord; 21 | Hi, Lo: integer; 22 | Buffer: array[0..63] of byte; 23 | Index: integer; 24 | end; 25 | 26 | procedure SHA1Init(var Context: TSHA1Context); 27 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 28 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 29 | 30 | 31 | function SHA1String(M: AnsiString): TSHA1Digest; 32 | function SHA1File(N: string): TSHA1Digest; 33 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 34 | 35 | //****************************************************************************** 36 | implementation 37 | { 38 | $R- 39 | } 40 | 41 | function LRot16(X: Word; c: longint): Word; 42 | begin 43 | LRot16 := (X shl c) or (X shr (16 - c)); 44 | end; 45 | 46 | 47 | function RRot16(X: Word; c: longint): Word; 48 | begin 49 | RRot16 := (X shr c) or (X shl (16 - c)); 50 | end; 51 | 52 | 53 | function LRot32(X: DWord; c: longint): DWord; 54 | begin 55 | LRot32 := (X shl c) or (X shr (32 - c)); 56 | end; 57 | 58 | 59 | function RRot32(X: DWord; c: longint): DWord; 60 | begin 61 | RRot32 := (X shr c) or (X shl (32 - c)); 62 | end; 63 | 64 | 65 | 66 | //****************************************************************************** 67 | 68 | function F1(x, y, z: DWord): DWord; 69 | begin 70 | Result := z xor (x and (y xor z)); 71 | end; 72 | 73 | function F2(x, y, z: DWord): DWord; 74 | begin 75 | Result := x xor y xor z; 76 | end; 77 | 78 | function F3(x, y, z: DWord): DWord; 79 | begin 80 | Result := (x and y) or (z and (x or y)); 81 | end; 82 | 83 | //****************************************************************************** 84 | 85 | function RB(A: DWord): DWord; 86 | begin 87 | Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); 88 | end; 89 | 90 | procedure SHA1Compress(var Data: TSHA1Context); 91 | var 92 | A, B, C, D, E, T: DWord; 93 | W: array[0..79] of DWord; 94 | i: integer; 95 | begin 96 | Move(Data.Buffer, W, Sizeof(Data.Buffer)); 97 | for i := 0 to 15 do 98 | W[i] := RB(W[i]); 99 | for i := 16 to 79 do 100 | W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); 101 | A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; 102 | for i := 0 to 19 do 103 | begin 104 | T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; 105 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 106 | end; 107 | for i := 20 to 39 do 108 | begin 109 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; 110 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 111 | end; 112 | for i := 40 to 59 do 113 | begin 114 | T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; 115 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 116 | end; 117 | for i := 60 to 79 do 118 | begin 119 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; 120 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 121 | end; 122 | Data.Hash[0] := Data.Hash[0] + A; 123 | Data.Hash[1] := Data.Hash[1] + B; 124 | Data.Hash[2] := Data.Hash[2] + C; 125 | Data.Hash[3] := Data.Hash[3] + D; 126 | Data.Hash[4] := Data.Hash[4] + E; 127 | FillChar(W, Sizeof(W), 0); 128 | FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); 129 | end; 130 | 131 | //****************************************************************************** 132 | 133 | procedure SHA1Init(var Context: TSHA1Context); 134 | begin 135 | Context.Hi := 0; Context.Lo := 0; 136 | Context.Index := 0; 137 | FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); 138 | Context.Hash[0] := $67452301; 139 | Context.Hash[1] := $EFCDAB89; 140 | Context.Hash[2] := $98BADCFE; 141 | Context.Hash[3] := $10325476; 142 | Context.Hash[4] := $C3D2E1F0; 143 | end; 144 | 145 | //****************************************************************************** 146 | 147 | procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); 148 | var 149 | i, k: integer; 150 | begin 151 | for k := 0 to 7 do 152 | begin 153 | i := Context.Lo; 154 | Inc(Context.Lo, Len); 155 | if Context.Lo < i then 156 | Inc(Context.Hi); 157 | end; 158 | end; 159 | 160 | //****************************************************************************** 161 | 162 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 163 | type 164 | PByte = ^Byte; 165 | begin 166 | SHA1UpdateLen(Context, Len); 167 | while Len > 0 do 168 | begin 169 | Context.Buffer[Context.Index] := PByte(Buffer)^; 170 | Inc(PByte(Buffer)); 171 | Inc(Context.Index); 172 | Dec(Len); 173 | if Context.Index = 64 then 174 | begin 175 | Context.Index := 0; 176 | SHA1Compress(Context); 177 | end; 178 | end; 179 | end; 180 | 181 | //****************************************************************************** 182 | 183 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 184 | type 185 | PDWord = ^DWord; 186 | begin 187 | Context.Buffer[Context.Index] := $80; 188 | if Context.Index >= 56 then 189 | SHA1Compress(Context); 190 | PDWord(@Context.Buffer[56])^ := RB(Context.Hi); 191 | PDWord(@Context.Buffer[60])^ := RB(Context.Lo); 192 | SHA1Compress(Context); 193 | Context.Hash[0] := RB(Context.Hash[0]); 194 | Context.Hash[1] := RB(Context.Hash[1]); 195 | Context.Hash[2] := RB(Context.Hash[2]); 196 | Context.Hash[3] := RB(Context.Hash[3]); 197 | Context.Hash[4] := RB(Context.Hash[4]); 198 | Move(Context.Hash, Digest, Sizeof(Digest)); 199 | FillChar(Context, Sizeof(Context), 0); 200 | end; 201 | 202 | 203 | function SHA1String(M: AnsiString): TSHA1Digest; 204 | var 205 | Context: TSHA1Context; 206 | begin 207 | SHA1Init(Context); 208 | SHA1Update(Context, PAnsiChar(M), length(M)); 209 | SHA1Final(Context, Result); 210 | end; 211 | 212 | function SHA1File(N: string): TSHA1Digest; 213 | var 214 | FileHandle: THandle; 215 | MapHandle: THandle; 216 | ViewPointer: pointer; 217 | Context: TSHA1Context; 218 | begin 219 | SHA1Init(Context); 220 | FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, 221 | nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 222 | if FileHandle <> INVALID_HANDLE_VALUE then try 223 | MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); 224 | if MapHandle <> 0 then try 225 | ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); 226 | if ViewPointer <> nil then try 227 | SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); 228 | finally 229 | UnmapViewOfFile(ViewPointer); 230 | end; 231 | finally 232 | CloseHandle(MapHandle); 233 | end; 234 | finally 235 | CloseHandle(FileHandle); 236 | end; 237 | SHA1Final(Context, Result); 238 | end; 239 | 240 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 241 | var 242 | I: byte; 243 | const 244 | Digits: array[0..15] of AnsiChar = 245 | ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 246 | begin 247 | Result := ''; 248 | for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; 249 | end; 250 | 251 | end. -------------------------------------------------------------------------------- /10.2.1/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.1/Release/Activator.exe -------------------------------------------------------------------------------- /10.2.1/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 14.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合 elseif、unis、x-force、cjack 大虾的 Keygen 6 | 7 | 相对原始部署方式,这个 Activator 实现“一键激活”! 8 | 9 | 使用方法: 10 | 11 | 1、执行 Activator.exe 12 | 13 | 发布历史: 14 | 15 | 2017.08.11 - v14.1 16 | 17 | 1、根据 25.0.27659.1188 原版制作,基于 elseif-Rad-Studio-Keygen-master upto 10.2.1 的成果 18 | 19 | 2017.03.26 - v14.0 20 | 21 | 1、根据 25.0.26309.314 原版制作,基于 elseif、unis、x-force、cjack 等大虾的成果 22 | 23 | 已知问题: 24 | 25 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 26 | 27 | 特别感谢: 28 | 29 | 1、elseif、unis、x-force、cjack、crackerjack、dr、freecat、gateway、huayan889、kerlingen、sinner、yuto 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 30 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试! 31 | 3、andreas hausladen 等大虾们的无私贡献! 32 | 33 | O(∩_∩)O~ 34 | -------------------------------------------------------------------------------- /10.2.1/Release/Versign.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.1/Release/Versign.cer -------------------------------------------------------------------------------- /10.2.2/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | FGInt in '..\Keygen\FGInt.pas', 12 | RadKeygen in '..\Keygen\RadKeygen.pas', 13 | RadLicense in '..\Keygen\RadLicense.pas', 14 | RadVersion in '..\Keygen\RadVersion.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | SHFolderDll in '..\Keygen\SHFolderDll.pas', 17 | 18 | MainFrm in 'MainFrm.pas' {MainForm}; 19 | 20 | {$R *.res} 21 | 22 | begin // PROGRAM START HERE -- Please do not remove this comment 23 | 24 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 25 | 26 | Application.Initialize; 27 | Application.MainFormOnTaskbar := True; 28 | Application.CreateForm(TMainForm, MainForm); 29 | Application.Run; 30 | 31 | {$IFEND} 32 | 33 | end. 34 | -------------------------------------------------------------------------------- /10.2.2/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.2/Activator/Activator.res -------------------------------------------------------------------------------- /10.2.2/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.2.2/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.2.2/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.2/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.2/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.2/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.2/Activator/Admin.res -------------------------------------------------------------------------------- /10.2.2/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.2/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.2.2/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.2/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.2.2/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.2 Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.2'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunX10 := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunX10.Hint.Text := 'Run Delphi 10.2'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.2'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunX10.OnClick := Result.btnRunX10Click; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.2.2/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.2/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.2.2/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.2.2/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.2.2/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.2/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.2.2/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.2.2/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.2.2/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.2.2/Keygen/Sha1.pas: -------------------------------------------------------------------------------- 1 | { 2 | 3 | *************************************************** 4 | * A binary compatible SHA1 implementation * 5 | * written by Dave Barton (davebarton@bigfoot.com) * 6 | *************************************************** 7 | * 160bit hash size * 8 | *************************************************** 9 | 10 | } 11 | unit SHA1; 12 | 13 | interface 14 | uses 15 | Windows,SysUtils; 16 | 17 | type 18 | TSHA1Digest = array[0..19] of byte; 19 | TSHA1Context = record 20 | Hash: array[0..4] of DWord; 21 | Hi, Lo: integer; 22 | Buffer: array[0..63] of byte; 23 | Index: integer; 24 | end; 25 | 26 | procedure SHA1Init(var Context: TSHA1Context); 27 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 28 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 29 | 30 | 31 | function SHA1String(M: AnsiString): TSHA1Digest; 32 | function SHA1File(N: string): TSHA1Digest; 33 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 34 | 35 | //****************************************************************************** 36 | implementation 37 | { 38 | $R- 39 | } 40 | 41 | function LRot16(X: Word; c: longint): Word; 42 | begin 43 | LRot16 := (X shl c) or (X shr (16 - c)); 44 | end; 45 | 46 | 47 | function RRot16(X: Word; c: longint): Word; 48 | begin 49 | RRot16 := (X shr c) or (X shl (16 - c)); 50 | end; 51 | 52 | 53 | function LRot32(X: DWord; c: longint): DWord; 54 | begin 55 | LRot32 := (X shl c) or (X shr (32 - c)); 56 | end; 57 | 58 | 59 | function RRot32(X: DWord; c: longint): DWord; 60 | begin 61 | RRot32 := (X shr c) or (X shl (32 - c)); 62 | end; 63 | 64 | 65 | 66 | //****************************************************************************** 67 | 68 | function F1(x, y, z: DWord): DWord; 69 | begin 70 | Result := z xor (x and (y xor z)); 71 | end; 72 | 73 | function F2(x, y, z: DWord): DWord; 74 | begin 75 | Result := x xor y xor z; 76 | end; 77 | 78 | function F3(x, y, z: DWord): DWord; 79 | begin 80 | Result := (x and y) or (z and (x or y)); 81 | end; 82 | 83 | //****************************************************************************** 84 | 85 | function RB(A: DWord): DWord; 86 | begin 87 | Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); 88 | end; 89 | 90 | procedure SHA1Compress(var Data: TSHA1Context); 91 | var 92 | A, B, C, D, E, T: DWord; 93 | W: array[0..79] of DWord; 94 | i: integer; 95 | begin 96 | Move(Data.Buffer, W, Sizeof(Data.Buffer)); 97 | for i := 0 to 15 do 98 | W[i] := RB(W[i]); 99 | for i := 16 to 79 do 100 | W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); 101 | A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; 102 | for i := 0 to 19 do 103 | begin 104 | T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; 105 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 106 | end; 107 | for i := 20 to 39 do 108 | begin 109 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; 110 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 111 | end; 112 | for i := 40 to 59 do 113 | begin 114 | T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; 115 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 116 | end; 117 | for i := 60 to 79 do 118 | begin 119 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; 120 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 121 | end; 122 | Data.Hash[0] := Data.Hash[0] + A; 123 | Data.Hash[1] := Data.Hash[1] + B; 124 | Data.Hash[2] := Data.Hash[2] + C; 125 | Data.Hash[3] := Data.Hash[3] + D; 126 | Data.Hash[4] := Data.Hash[4] + E; 127 | FillChar(W, Sizeof(W), 0); 128 | FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); 129 | end; 130 | 131 | //****************************************************************************** 132 | 133 | procedure SHA1Init(var Context: TSHA1Context); 134 | begin 135 | Context.Hi := 0; Context.Lo := 0; 136 | Context.Index := 0; 137 | FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); 138 | Context.Hash[0] := $67452301; 139 | Context.Hash[1] := $EFCDAB89; 140 | Context.Hash[2] := $98BADCFE; 141 | Context.Hash[3] := $10325476; 142 | Context.Hash[4] := $C3D2E1F0; 143 | end; 144 | 145 | //****************************************************************************** 146 | 147 | procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); 148 | var 149 | i, k: integer; 150 | begin 151 | for k := 0 to 7 do 152 | begin 153 | i := Context.Lo; 154 | Inc(Context.Lo, Len); 155 | if Context.Lo < i then 156 | Inc(Context.Hi); 157 | end; 158 | end; 159 | 160 | //****************************************************************************** 161 | 162 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 163 | type 164 | PByte = ^Byte; 165 | begin 166 | SHA1UpdateLen(Context, Len); 167 | while Len > 0 do 168 | begin 169 | Context.Buffer[Context.Index] := PByte(Buffer)^; 170 | Inc(PByte(Buffer)); 171 | Inc(Context.Index); 172 | Dec(Len); 173 | if Context.Index = 64 then 174 | begin 175 | Context.Index := 0; 176 | SHA1Compress(Context); 177 | end; 178 | end; 179 | end; 180 | 181 | //****************************************************************************** 182 | 183 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 184 | type 185 | PDWord = ^DWord; 186 | begin 187 | Context.Buffer[Context.Index] := $80; 188 | if Context.Index >= 56 then 189 | SHA1Compress(Context); 190 | PDWord(@Context.Buffer[56])^ := RB(Context.Hi); 191 | PDWord(@Context.Buffer[60])^ := RB(Context.Lo); 192 | SHA1Compress(Context); 193 | Context.Hash[0] := RB(Context.Hash[0]); 194 | Context.Hash[1] := RB(Context.Hash[1]); 195 | Context.Hash[2] := RB(Context.Hash[2]); 196 | Context.Hash[3] := RB(Context.Hash[3]); 197 | Context.Hash[4] := RB(Context.Hash[4]); 198 | Move(Context.Hash, Digest, Sizeof(Digest)); 199 | FillChar(Context, Sizeof(Context), 0); 200 | end; 201 | 202 | 203 | function SHA1String(M: AnsiString): TSHA1Digest; 204 | var 205 | Context: TSHA1Context; 206 | begin 207 | SHA1Init(Context); 208 | SHA1Update(Context, PAnsiChar(M), length(M)); 209 | SHA1Final(Context, Result); 210 | end; 211 | 212 | function SHA1File(N: string): TSHA1Digest; 213 | var 214 | FileHandle: THandle; 215 | MapHandle: THandle; 216 | ViewPointer: pointer; 217 | Context: TSHA1Context; 218 | begin 219 | SHA1Init(Context); 220 | FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, 221 | nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 222 | if FileHandle <> INVALID_HANDLE_VALUE then try 223 | MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); 224 | if MapHandle <> 0 then try 225 | ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); 226 | if ViewPointer <> nil then try 227 | SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); 228 | finally 229 | UnmapViewOfFile(ViewPointer); 230 | end; 231 | finally 232 | CloseHandle(MapHandle); 233 | end; 234 | finally 235 | CloseHandle(FileHandle); 236 | end; 237 | SHA1Final(Context, Result); 238 | end; 239 | 240 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 241 | var 242 | I: byte; 243 | const 244 | Digits: array[0..15] of AnsiChar = 245 | ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 246 | begin 247 | Result := ''; 248 | for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; 249 | end; 250 | 251 | end. -------------------------------------------------------------------------------- /10.2.2/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.2/Release/Activator.exe -------------------------------------------------------------------------------- /10.2.2/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 14.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合 elseif、unis、x-force、cjack 大虾的 Keygen 6 | 7 | 相对原始部署方式,这个 Activator 实现“一键激活”! 8 | 9 | 使用方法: 10 | 11 | 1、执行 Activator.exe 12 | 13 | 发布历史: 14 | 15 | 2017.12.20 - v14.3 16 | 17 | 1、根据 25.0.29039.2004 原版制作,基于 aldian RadStudioKeygenSourceCode.zip 的成果 18 | 19 | 2017.12.14 - v14.2 20 | 21 | 1、根据 25.0.28979.1978 原版制作,基于 RadStudioKeygenSourceCodeTokyo10.2Update2CorrectedSetup.zip 的成果 22 | 23 | 2017.08.11 - v14.1 24 | 25 | 1、根据 25.0.27659.1188 原版制作,基于 elseif-Rad-Studio-Keygen-master upto 10.2.1 的成果 26 | 27 | 2017.03.26 - v14.0 28 | 29 | 1、根据 25.0.26309.314 原版制作,基于 elseif、unis、x-force、cjack 等大虾的成果 30 | 31 | 已知问题: 32 | 33 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 34 | 35 | 特别感谢: 36 | 37 | 1、aldian、elseif、unis、x-force、cjack、crackerjack、dr、freecat、gateway、huayan889、kerlingen、sinner、yuto 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 38 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试! 39 | 3、andreas hausladen 等大虾们的无私贡献! 40 | 41 | O(∩_∩)O~ 42 | -------------------------------------------------------------------------------- /10.2.2/Release/Versign.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.2/Release/Versign.cer -------------------------------------------------------------------------------- /10.2.3.3231/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | FGInt in '..\Keygen\FGInt.pas', 12 | RadKeygen in '..\Keygen\RadKeygen.pas', 13 | RadLicense in '..\Keygen\RadLicense.pas', 14 | RadVersion in '..\Keygen\RadVersion.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | SHFolderDll in '..\Keygen\SHFolderDll.pas', 17 | 18 | MainFrm in 'MainFrm.pas' {MainForm}; 19 | 20 | {$R *.res} 21 | 22 | begin // PROGRAM START HERE -- Please do not remove this comment 23 | 24 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 25 | 26 | Application.Initialize; 27 | Application.MainFormOnTaskbar := True; 28 | Application.CreateForm(TMainForm, MainForm); 29 | Application.Run; 30 | 31 | {$IFEND} 32 | 33 | end. 34 | -------------------------------------------------------------------------------- /10.2.3.3231/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3.3231/Activator/Activator.res -------------------------------------------------------------------------------- /10.2.3.3231/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.2.3.3231/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.2.3.3231/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.3.3231/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.3.3231/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.3.3231/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3.3231/Activator/Admin.res -------------------------------------------------------------------------------- /10.2.3.3231/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3.3231/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.2.3.3231/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3.3231/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.2.3.3231/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.2 Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.2'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunX10 := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunX10.Hint.Text := 'Run Delphi 10.2'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.2'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunX10.OnClick := Result.btnRunX10Click; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.2.3.3231/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3.3231/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.2.3.3231/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.2.3.3231/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.2.3.3231/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3.3231/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.2.3.3231/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.2.3.3231/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.2.3.3231/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.2.3.3231/Keygen/RadVersion.pas: -------------------------------------------------------------------------------- 1 | unit RadVersion; 2 | 3 | interface 4 | uses Windows,Classes,SysUtils; 5 | type 6 | TPatchInfo=record 7 | Crc:DWORD; 8 | Sha1:string; 9 | PatchOffset:DWORD; 10 | FinalizeArrayOffset:DWORD; 11 | end; 12 | 13 | TRadStudioVersion=record 14 | Name:string; // Rad Studio 10.2 Tokyo Update2 15 | Ver:string; // 25.0.29039.2004 16 | BDSVersion:string; // 19.0 17 | LicVerStr:string; // 10.2 Tokyo 18 | LicHostPID:Integer; // 8219 19 | LicHostSKU:Integer; // 52 20 | LicDelphiPID:string; // 2025 21 | LicCBuilderPID:string; // 4022 22 | BdsPatchInfo:TPatchInfo; 23 | LicenseManagerPatchInfo:TPatchInfo; 24 | mOasisRuntimePatchInfo:TPatchInfo; 25 | SetupGUID:string; 26 | ISOUrl:string; 27 | ISOMd5:string; 28 | end; 29 | PRadStudioVersion=^TRadStudioVersion; 30 | var 31 | RadStudioVersionList:TStringList; 32 | implementation 33 | 34 | procedure InitRadStudioVersion(VerList:TStringList); 35 | var 36 | RadStudioVersion:PRadStudioVersion; 37 | begin 38 | New(RadStudioVersion); 39 | with RadStudioVersion^ do 40 | begin 41 | Name := 'Rad Studio 10.2.3 Tokyo 3231'; 42 | Ver := '25.0.31059.3231'; 43 | BDSVersion := '19.0'; 44 | LicVerStr := '10.2 Tokyo'; 45 | LicHostPID := 8219; 46 | LicHostSKU := 52; 47 | LicDelphiPID := '2025'; 48 | LicCBuilderPID := '4022'; 49 | BdsPatchInfo.Crc := $CE8FA21E; 50 | BdsPatchInfo.Sha1 := '8daa98dbc558ec81cf582ec8c71233d9ab5fb76a'; 51 | BdsPatchInfo.PatchOffset := $1E95D; 52 | BdsPatchInfo.FinalizeArrayOffset := $111268; 53 | LicenseManagerPatchInfo.Crc := $1127F753; 54 | LicenseManagerPatchInfo.Sha1 := '485dcb165cdefe3f3e50090bf8cfafb8bca5b46f'; 55 | LicenseManagerPatchInfo.PatchOffset := $1E4939; 56 | LicenseManagerPatchInfo.FinalizeArrayOffset := $607828; 57 | mOasisRuntimePatchInfo.Sha1 := '30dc7ee5931b2f88904c60b5469144673bc544a8'; 58 | mOasisRuntimePatchInfo.PatchOffset := $166F85; 59 | SetupGUID := '{15CEC4B7-6F61-4D40-9491-255657E369A2}'; 60 | ISOUrl:='http://altd.embarcadero.com/download/radstudio/10.2/delphicbuilder10_2_3__93231.iso'; 61 | ISOMd5:='40D693B9989F7CCDF07C07EA676D1AB2'; 62 | end; 63 | VerList.AddObject(RadStudioVersion^.Name, TObject(RadStudioVersion)); 64 | end; 65 | 66 | procedure FinallyRadStudioVersion(VerList:TStringList); 67 | var 68 | RadStudioVersion:PRadStudioVersion; 69 | begin 70 | while VerList.Count>0 do 71 | begin 72 | RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]); 73 | if RadStudioVersion<>nil then Dispose(RadStudioVersion); 74 | VerList.Delete(0); 75 | end; 76 | end; 77 | 78 | initialization 79 | RadStudioVersionList:= TStringList.Create; 80 | InitRadStudioVersion(RadStudioVersionList); 81 | finalization 82 | FinallyRadStudioVersion(RadStudioVersionList); 83 | FreeAndNil(RadStudioVersionList); 84 | 85 | end. 86 | -------------------------------------------------------------------------------- /10.2.3.3231/Keygen/Sha1.pas: -------------------------------------------------------------------------------- 1 | { 2 | 3 | *************************************************** 4 | * A binary compatible SHA1 implementation * 5 | * written by Dave Barton (davebarton@bigfoot.com) * 6 | *************************************************** 7 | * 160bit hash size * 8 | *************************************************** 9 | 10 | } 11 | unit SHA1; 12 | 13 | interface 14 | uses 15 | Windows,SysUtils; 16 | 17 | type 18 | TSHA1Digest = array[0..19] of byte; 19 | TSHA1Context = record 20 | Hash: array[0..4] of DWord; 21 | Hi, Lo: integer; 22 | Buffer: array[0..63] of byte; 23 | Index: integer; 24 | end; 25 | 26 | procedure SHA1Init(var Context: TSHA1Context); 27 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 28 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 29 | 30 | 31 | function SHA1String(M: AnsiString): TSHA1Digest; 32 | function SHA1File(N: string): TSHA1Digest; 33 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 34 | 35 | //****************************************************************************** 36 | implementation 37 | { 38 | $R- 39 | } 40 | 41 | function LRot16(X: Word; c: longint): Word; 42 | begin 43 | LRot16 := (X shl c) or (X shr (16 - c)); 44 | end; 45 | 46 | 47 | function RRot16(X: Word; c: longint): Word; 48 | begin 49 | RRot16 := (X shr c) or (X shl (16 - c)); 50 | end; 51 | 52 | 53 | function LRot32(X: DWord; c: longint): DWord; 54 | begin 55 | LRot32 := (X shl c) or (X shr (32 - c)); 56 | end; 57 | 58 | 59 | function RRot32(X: DWord; c: longint): DWord; 60 | begin 61 | RRot32 := (X shr c) or (X shl (32 - c)); 62 | end; 63 | 64 | 65 | 66 | //****************************************************************************** 67 | 68 | function F1(x, y, z: DWord): DWord; 69 | begin 70 | Result := z xor (x and (y xor z)); 71 | end; 72 | 73 | function F2(x, y, z: DWord): DWord; 74 | begin 75 | Result := x xor y xor z; 76 | end; 77 | 78 | function F3(x, y, z: DWord): DWord; 79 | begin 80 | Result := (x and y) or (z and (x or y)); 81 | end; 82 | 83 | //****************************************************************************** 84 | 85 | function RB(A: DWord): DWord; 86 | begin 87 | Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); 88 | end; 89 | 90 | procedure SHA1Compress(var Data: TSHA1Context); 91 | var 92 | A, B, C, D, E, T: DWord; 93 | W: array[0..79] of DWord; 94 | i: integer; 95 | begin 96 | Move(Data.Buffer, W, Sizeof(Data.Buffer)); 97 | for i := 0 to 15 do 98 | W[i] := RB(W[i]); 99 | for i := 16 to 79 do 100 | W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); 101 | A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; 102 | for i := 0 to 19 do 103 | begin 104 | T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; 105 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 106 | end; 107 | for i := 20 to 39 do 108 | begin 109 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; 110 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 111 | end; 112 | for i := 40 to 59 do 113 | begin 114 | T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; 115 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 116 | end; 117 | for i := 60 to 79 do 118 | begin 119 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; 120 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 121 | end; 122 | Data.Hash[0] := Data.Hash[0] + A; 123 | Data.Hash[1] := Data.Hash[1] + B; 124 | Data.Hash[2] := Data.Hash[2] + C; 125 | Data.Hash[3] := Data.Hash[3] + D; 126 | Data.Hash[4] := Data.Hash[4] + E; 127 | FillChar(W, Sizeof(W), 0); 128 | FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); 129 | end; 130 | 131 | //****************************************************************************** 132 | 133 | procedure SHA1Init(var Context: TSHA1Context); 134 | begin 135 | Context.Hi := 0; Context.Lo := 0; 136 | Context.Index := 0; 137 | FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); 138 | Context.Hash[0] := $67452301; 139 | Context.Hash[1] := $EFCDAB89; 140 | Context.Hash[2] := $98BADCFE; 141 | Context.Hash[3] := $10325476; 142 | Context.Hash[4] := $C3D2E1F0; 143 | end; 144 | 145 | //****************************************************************************** 146 | 147 | procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); 148 | var 149 | i, k: integer; 150 | begin 151 | for k := 0 to 7 do 152 | begin 153 | i := Context.Lo; 154 | Inc(Context.Lo, Len); 155 | if Context.Lo < i then 156 | Inc(Context.Hi); 157 | end; 158 | end; 159 | 160 | //****************************************************************************** 161 | 162 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 163 | type 164 | PByte = ^Byte; 165 | begin 166 | SHA1UpdateLen(Context, Len); 167 | while Len > 0 do 168 | begin 169 | Context.Buffer[Context.Index] := PByte(Buffer)^; 170 | Inc(PByte(Buffer)); 171 | Inc(Context.Index); 172 | Dec(Len); 173 | if Context.Index = 64 then 174 | begin 175 | Context.Index := 0; 176 | SHA1Compress(Context); 177 | end; 178 | end; 179 | end; 180 | 181 | //****************************************************************************** 182 | 183 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 184 | type 185 | PDWord = ^DWord; 186 | begin 187 | Context.Buffer[Context.Index] := $80; 188 | if Context.Index >= 56 then 189 | SHA1Compress(Context); 190 | PDWord(@Context.Buffer[56])^ := RB(Context.Hi); 191 | PDWord(@Context.Buffer[60])^ := RB(Context.Lo); 192 | SHA1Compress(Context); 193 | Context.Hash[0] := RB(Context.Hash[0]); 194 | Context.Hash[1] := RB(Context.Hash[1]); 195 | Context.Hash[2] := RB(Context.Hash[2]); 196 | Context.Hash[3] := RB(Context.Hash[3]); 197 | Context.Hash[4] := RB(Context.Hash[4]); 198 | Move(Context.Hash, Digest, Sizeof(Digest)); 199 | FillChar(Context, Sizeof(Context), 0); 200 | end; 201 | 202 | 203 | function SHA1String(M: AnsiString): TSHA1Digest; 204 | var 205 | Context: TSHA1Context; 206 | begin 207 | SHA1Init(Context); 208 | SHA1Update(Context, PAnsiChar(M), length(M)); 209 | SHA1Final(Context, Result); 210 | end; 211 | 212 | function SHA1File(N: string): TSHA1Digest; 213 | var 214 | FileHandle: THandle; 215 | MapHandle: THandle; 216 | ViewPointer: pointer; 217 | Context: TSHA1Context; 218 | begin 219 | SHA1Init(Context); 220 | FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, 221 | nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 222 | if FileHandle <> INVALID_HANDLE_VALUE then try 223 | MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); 224 | if MapHandle <> 0 then try 225 | ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); 226 | if ViewPointer <> nil then try 227 | SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); 228 | finally 229 | UnmapViewOfFile(ViewPointer); 230 | end; 231 | finally 232 | CloseHandle(MapHandle); 233 | end; 234 | finally 235 | CloseHandle(FileHandle); 236 | end; 237 | SHA1Final(Context, Result); 238 | end; 239 | 240 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 241 | var 242 | I: byte; 243 | const 244 | Digits: array[0..15] of AnsiChar = 245 | ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 246 | begin 247 | Result := ''; 248 | for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; 249 | end; 250 | 251 | end. -------------------------------------------------------------------------------- /10.2.3.3231/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3.3231/Release/Activator.exe -------------------------------------------------------------------------------- /10.2.3.3231/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 14.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合各位大虾的 Keygen 6 | 2、相对原始部署方式,这个 Activator 实现“一键激活”! 7 | 8 | 使用方法: 9 | 10 | 1、执行 Activator.exe 11 | 12 | 发布历史: 13 | 14 | 2018.09.16 - v14.5 15 | 16 | 1、根据 25.0.31059.3231 原版制作,基于 elseif、tonzi RadStudioKeygen2018.7.23.rar 的成果 17 | 18 | 2018.03.16 - v14.4 19 | 20 | 1、根据 25.0.29899.2631 原版制作,基于 elseif RadStudioKeygenSourceCode.zip 的成果 21 | 22 | 2017.12.20 - v14.3 23 | 24 | 1、根据 25.0.29039.2004 原版制作,基于 aldian RadStudioKeygenSourceCode.zip 的成果 25 | 26 | 2017.12.14 - v14.2 27 | 28 | 1、根据 25.0.28979.1978 原版制作,基于 RadStudioKeygenSourceCodeTokyo10.2Update2CorrectedSetup.zip 的成果 29 | 30 | 2017.08.11 - v14.1 31 | 32 | 1、根据 25.0.27659.1188 原版制作,基于 elseif-Rad-Studio-Keygen-master upto 10.2.1 的成果 33 | 34 | 2017.03.26 - v14.0 35 | 36 | 1、根据 25.0.26309.314 原版制作,基于 elseif、unis、x-force、cjack 等大虾的成果 37 | 38 | 已知问题: 39 | 40 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 41 | 42 | 特别感谢: 43 | 44 | 1、elseif, tonzi, freecat, unis, x-force, cjack 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 45 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试! 46 | 3、andreas hausladen 等大虾们的无私贡献! 47 | 48 | O(∩_∩)O~ 49 | -------------------------------------------------------------------------------- /10.2.3/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | FGInt in '..\Keygen\FGInt.pas', 12 | RadKeygen in '..\Keygen\RadKeygen.pas', 13 | RadLicense in '..\Keygen\RadLicense.pas', 14 | RadVersion in '..\Keygen\RadVersion.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | SHFolderDll in '..\Keygen\SHFolderDll.pas', 17 | 18 | MainFrm in 'MainFrm.pas' {MainForm}; 19 | 20 | {$R *.res} 21 | 22 | begin // PROGRAM START HERE -- Please do not remove this comment 23 | 24 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 25 | 26 | Application.Initialize; 27 | Application.MainFormOnTaskbar := True; 28 | Application.CreateForm(TMainForm, MainForm); 29 | Application.Run; 30 | 31 | {$IFEND} 32 | 33 | end. 34 | -------------------------------------------------------------------------------- /10.2.3/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3/Activator/Activator.res -------------------------------------------------------------------------------- /10.2.3/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.2.3/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.2.3/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.3/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.3/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.2.3/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3/Activator/Admin.res -------------------------------------------------------------------------------- /10.2.3/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.2.3/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.2.3/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.2 Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.2'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunX10 := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunX10.Hint.Text := 'Run Delphi 10.2'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.2'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunX10.OnClick := Result.btnRunX10Click; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.2.3/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.2.3/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.2.3/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.2.3/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.2.3/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.2.3/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.2.3/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.2.3/Keygen/RadVersion.pas: -------------------------------------------------------------------------------- 1 | unit RadVersion; 2 | 3 | interface 4 | uses Windows,Classes,SysUtils; 5 | type 6 | TPatchInfo=record 7 | Crc:DWORD; 8 | Sha1:string; 9 | PatchOffset:DWORD; 10 | FinalizeArrayOffset:DWORD; 11 | end; 12 | 13 | TRadStudioVersion=record 14 | Name:string; // Rad Studio 10.2 Tokyo Update2 15 | Ver:string; // 25.0.29039.2004 16 | BDSVersion:string; // 19.0 17 | LicVerStr:string; // 10.2 Tokyo 18 | LicHostPID:Integer; // 8219 19 | LicHostSKU:Integer; // 52 20 | LicDelphiPID:string; // 2025 21 | LicCBuilderPID:string; // 4022 22 | BdsPatchInfo:TPatchInfo; 23 | LicenseManagerPatchInfo:TPatchInfo; 24 | mOasisRuntimePatchInfo:TPatchInfo; 25 | SetupGUID:string; 26 | ISOUrl:string; 27 | ISOMd5:string; 28 | end; 29 | PRadStudioVersion=^TRadStudioVersion; 30 | var 31 | RadStudioVersionList:TStringList; 32 | implementation 33 | 34 | procedure InitRadStudioVersion(VerList:TStringList); 35 | var 36 | RadStudioVersion:PRadStudioVersion; 37 | begin 38 | New(RadStudioVersion); 39 | with RadStudioVersion^ do 40 | begin 41 | Name := 'Rad Studio 10.2.3 Tokyo 2631'; 42 | Ver := '25.0.29899.2631'; 43 | BDSVersion := '19.0'; 44 | LicVerStr := '10.2 Tokyo'; 45 | LicHostPID := 8219; 46 | LicHostSKU := 52; 47 | LicDelphiPID := '2025'; 48 | LicCBuilderPID := '4022'; 49 | BdsPatchInfo.Crc := $3D387FC1; 50 | BdsPatchInfo.Sha1 := '111eeb9c9061b1e125318799d1b6de83ce9d2499'; 51 | BdsPatchInfo.PatchOffset := $1E92D; 52 | BdsPatchInfo.FinalizeArrayOffset := $10E100; 53 | LicenseManagerPatchInfo.Crc := $9F380FEB; 54 | LicenseManagerPatchInfo.Sha1 := '9e8ad67357cbd2e2a4cc851fc2d582f7f89882ea'; 55 | LicenseManagerPatchInfo.PatchOffset := $1E4939; 56 | LicenseManagerPatchInfo.FinalizeArrayOffset := $607828; 57 | mOasisRuntimePatchInfo.Sha1 := '30dc7ee5931b2f88904c60b5469144673bc544a8'; 58 | mOasisRuntimePatchInfo.PatchOffset := $166F85; 59 | SetupGUID := '{426F14E1-A160-430C-A48D-E84ED4F49171}'; 60 | ISOUrl := 'http://altd.embarcadero.com/download/radstudio/10.2/delphicbuilder10_2_3_2631.iso'; 61 | ISOMd5 := '1bd28e95596ffed061e57e28e155666d'; 62 | end; 63 | VerList.AddObject(RadStudioVersion^.Name, TObject(RadStudioVersion)); 64 | end; 65 | 66 | procedure FinallyRadStudioVersion(VerList:TStringList); 67 | var 68 | RadStudioVersion:PRadStudioVersion; 69 | begin 70 | while VerList.Count>0 do 71 | begin 72 | RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]); 73 | if RadStudioVersion<>nil then Dispose(RadStudioVersion); 74 | VerList.Delete(0); 75 | end; 76 | end; 77 | 78 | initialization 79 | RadStudioVersionList:= TStringList.Create; 80 | InitRadStudioVersion(RadStudioVersionList); 81 | finalization 82 | FinallyRadStudioVersion(RadStudioVersionList); 83 | FreeAndNil(RadStudioVersionList); 84 | 85 | end. 86 | -------------------------------------------------------------------------------- /10.2.3/Keygen/Sha1.pas: -------------------------------------------------------------------------------- 1 | { 2 | 3 | *************************************************** 4 | * A binary compatible SHA1 implementation * 5 | * written by Dave Barton (davebarton@bigfoot.com) * 6 | *************************************************** 7 | * 160bit hash size * 8 | *************************************************** 9 | 10 | } 11 | unit SHA1; 12 | 13 | interface 14 | uses 15 | Windows,SysUtils; 16 | 17 | type 18 | TSHA1Digest = array[0..19] of byte; 19 | TSHA1Context = record 20 | Hash: array[0..4] of DWord; 21 | Hi, Lo: integer; 22 | Buffer: array[0..63] of byte; 23 | Index: integer; 24 | end; 25 | 26 | procedure SHA1Init(var Context: TSHA1Context); 27 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 28 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 29 | 30 | 31 | function SHA1String(M: AnsiString): TSHA1Digest; 32 | function SHA1File(N: string): TSHA1Digest; 33 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 34 | 35 | //****************************************************************************** 36 | implementation 37 | { 38 | $R- 39 | } 40 | 41 | function LRot16(X: Word; c: longint): Word; 42 | begin 43 | LRot16 := (X shl c) or (X shr (16 - c)); 44 | end; 45 | 46 | 47 | function RRot16(X: Word; c: longint): Word; 48 | begin 49 | RRot16 := (X shr c) or (X shl (16 - c)); 50 | end; 51 | 52 | 53 | function LRot32(X: DWord; c: longint): DWord; 54 | begin 55 | LRot32 := (X shl c) or (X shr (32 - c)); 56 | end; 57 | 58 | 59 | function RRot32(X: DWord; c: longint): DWord; 60 | begin 61 | RRot32 := (X shr c) or (X shl (32 - c)); 62 | end; 63 | 64 | 65 | 66 | //****************************************************************************** 67 | 68 | function F1(x, y, z: DWord): DWord; 69 | begin 70 | Result := z xor (x and (y xor z)); 71 | end; 72 | 73 | function F2(x, y, z: DWord): DWord; 74 | begin 75 | Result := x xor y xor z; 76 | end; 77 | 78 | function F3(x, y, z: DWord): DWord; 79 | begin 80 | Result := (x and y) or (z and (x or y)); 81 | end; 82 | 83 | //****************************************************************************** 84 | 85 | function RB(A: DWord): DWord; 86 | begin 87 | Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); 88 | end; 89 | 90 | procedure SHA1Compress(var Data: TSHA1Context); 91 | var 92 | A, B, C, D, E, T: DWord; 93 | W: array[0..79] of DWord; 94 | i: integer; 95 | begin 96 | Move(Data.Buffer, W, Sizeof(Data.Buffer)); 97 | for i := 0 to 15 do 98 | W[i] := RB(W[i]); 99 | for i := 16 to 79 do 100 | W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); 101 | A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; 102 | for i := 0 to 19 do 103 | begin 104 | T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; 105 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 106 | end; 107 | for i := 20 to 39 do 108 | begin 109 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; 110 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 111 | end; 112 | for i := 40 to 59 do 113 | begin 114 | T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; 115 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 116 | end; 117 | for i := 60 to 79 do 118 | begin 119 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; 120 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 121 | end; 122 | Data.Hash[0] := Data.Hash[0] + A; 123 | Data.Hash[1] := Data.Hash[1] + B; 124 | Data.Hash[2] := Data.Hash[2] + C; 125 | Data.Hash[3] := Data.Hash[3] + D; 126 | Data.Hash[4] := Data.Hash[4] + E; 127 | FillChar(W, Sizeof(W), 0); 128 | FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); 129 | end; 130 | 131 | //****************************************************************************** 132 | 133 | procedure SHA1Init(var Context: TSHA1Context); 134 | begin 135 | Context.Hi := 0; Context.Lo := 0; 136 | Context.Index := 0; 137 | FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); 138 | Context.Hash[0] := $67452301; 139 | Context.Hash[1] := $EFCDAB89; 140 | Context.Hash[2] := $98BADCFE; 141 | Context.Hash[3] := $10325476; 142 | Context.Hash[4] := $C3D2E1F0; 143 | end; 144 | 145 | //****************************************************************************** 146 | 147 | procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); 148 | var 149 | i, k: integer; 150 | begin 151 | for k := 0 to 7 do 152 | begin 153 | i := Context.Lo; 154 | Inc(Context.Lo, Len); 155 | if Context.Lo < i then 156 | Inc(Context.Hi); 157 | end; 158 | end; 159 | 160 | //****************************************************************************** 161 | 162 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 163 | type 164 | PByte = ^Byte; 165 | begin 166 | SHA1UpdateLen(Context, Len); 167 | while Len > 0 do 168 | begin 169 | Context.Buffer[Context.Index] := PByte(Buffer)^; 170 | Inc(PByte(Buffer)); 171 | Inc(Context.Index); 172 | Dec(Len); 173 | if Context.Index = 64 then 174 | begin 175 | Context.Index := 0; 176 | SHA1Compress(Context); 177 | end; 178 | end; 179 | end; 180 | 181 | //****************************************************************************** 182 | 183 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 184 | type 185 | PDWord = ^DWord; 186 | begin 187 | Context.Buffer[Context.Index] := $80; 188 | if Context.Index >= 56 then 189 | SHA1Compress(Context); 190 | PDWord(@Context.Buffer[56])^ := RB(Context.Hi); 191 | PDWord(@Context.Buffer[60])^ := RB(Context.Lo); 192 | SHA1Compress(Context); 193 | Context.Hash[0] := RB(Context.Hash[0]); 194 | Context.Hash[1] := RB(Context.Hash[1]); 195 | Context.Hash[2] := RB(Context.Hash[2]); 196 | Context.Hash[3] := RB(Context.Hash[3]); 197 | Context.Hash[4] := RB(Context.Hash[4]); 198 | Move(Context.Hash, Digest, Sizeof(Digest)); 199 | FillChar(Context, Sizeof(Context), 0); 200 | end; 201 | 202 | 203 | function SHA1String(M: AnsiString): TSHA1Digest; 204 | var 205 | Context: TSHA1Context; 206 | begin 207 | SHA1Init(Context); 208 | SHA1Update(Context, PAnsiChar(M), length(M)); 209 | SHA1Final(Context, Result); 210 | end; 211 | 212 | function SHA1File(N: string): TSHA1Digest; 213 | var 214 | FileHandle: THandle; 215 | MapHandle: THandle; 216 | ViewPointer: pointer; 217 | Context: TSHA1Context; 218 | begin 219 | SHA1Init(Context); 220 | FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, 221 | nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 222 | if FileHandle <> INVALID_HANDLE_VALUE then try 223 | MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); 224 | if MapHandle <> 0 then try 225 | ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); 226 | if ViewPointer <> nil then try 227 | SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); 228 | finally 229 | UnmapViewOfFile(ViewPointer); 230 | end; 231 | finally 232 | CloseHandle(MapHandle); 233 | end; 234 | finally 235 | CloseHandle(FileHandle); 236 | end; 237 | SHA1Final(Context, Result); 238 | end; 239 | 240 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 241 | var 242 | I: byte; 243 | const 244 | Digits: array[0..15] of AnsiChar = 245 | ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 246 | begin 247 | Result := ''; 248 | for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; 249 | end; 250 | 251 | end. -------------------------------------------------------------------------------- /10.2.3/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.2.3/Release/Activator.exe -------------------------------------------------------------------------------- /10.2.3/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 14.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合 elseif、unis、x-force、cjack 大虾的 Keygen 6 | 7 | 相对原始部署方式,这个 Activator 实现“一键激活”! 8 | 9 | 使用方法: 10 | 11 | 1、执行 Activator.exe 12 | 13 | 发布历史: 14 | 15 | 2018.03.16 - v14.4 16 | 17 | 1、根据 25.0.29899.2631 原版制作,基于 elseif RadStudioKeygenSourceCode.zip 的成果 18 | 19 | 2017.12.20 - v14.3 20 | 21 | 1、根据 25.0.29039.2004 原版制作,基于 aldian RadStudioKeygenSourceCode.zip 的成果 22 | 23 | 2017.12.14 - v14.2 24 | 25 | 1、根据 25.0.28979.1978 原版制作,基于 RadStudioKeygenSourceCodeTokyo10.2Update2CorrectedSetup.zip 的成果 26 | 27 | 2017.08.11 - v14.1 28 | 29 | 1、根据 25.0.27659.1188 原版制作,基于 elseif-Rad-Studio-Keygen-master upto 10.2.1 的成果 30 | 31 | 2017.03.26 - v14.0 32 | 33 | 1、根据 25.0.26309.314 原版制作,基于 elseif、unis、x-force、cjack 等大虾的成果 34 | 35 | 已知问题: 36 | 37 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 38 | 39 | 特别感谢: 40 | 41 | 1、aldian、elseif、unis、x-force、cjack、crackerjack、dr、freecat、gateway、huayan889、kerlingen、sinner、yuto 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 42 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试! 43 | 3、andreas hausladen 等大虾们的无私贡献! 44 | 45 | O(∩_∩)O~ 46 | -------------------------------------------------------------------------------- /10.3.0/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | FGInt in '..\Keygen\FGInt.pas', 12 | RadKeygen in '..\Keygen\RadKeygen.pas', 13 | RadLicense in '..\Keygen\RadLicense.pas', 14 | RadVersion in '..\Keygen\RadVersion.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | SHFolderDll in '..\Keygen\SHFolderDll.pas', 17 | 18 | MainFrm in 'MainFrm.pas' {MainForm}; 19 | 20 | {$R *.res} 21 | 22 | begin // PROGRAM START HERE -- Please do not remove this comment 23 | 24 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 25 | 26 | Application.Initialize; 27 | Application.MainFormOnTaskbar := True; 28 | Application.CreateForm(TMainForm, MainForm); 29 | Application.Run; 30 | 31 | {$IFEND} 32 | 33 | end. 34 | -------------------------------------------------------------------------------- /10.3.0/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.0/Activator/Activator.res -------------------------------------------------------------------------------- /10.3.0/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.3.0/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.3.0/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.0/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.0/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.0/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.0/Activator/Admin.res -------------------------------------------------------------------------------- /10.3.0/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.0/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.3.0/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.0/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.3.0/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.3 Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.3'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunX10 := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunX10.Hint.Text := 'Run Delphi 10.3'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.3'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunX10.OnClick := Result.btnRunX10Click; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.3.0/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.0/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.3.0/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.3.0/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.3.0/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.0/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.3.0/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.3.0/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.3.0/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.3.0/Keygen/RadVersion.pas: -------------------------------------------------------------------------------- 1 | unit RadVersion; 2 | 3 | interface 4 | uses Windows,Classes,SysUtils; 5 | type 6 | TPatchInfo=record 7 | Crc:DWORD; 8 | Sha1:string; 9 | PatchOffset:DWORD; 10 | FinalizeArrayOffset:DWORD; 11 | end; 12 | 13 | TRadStudioVersion=record 14 | Name:string; // Rad Studio 10.2 Tokyo Update2 15 | Ver:string; // 25.0.29039.2004 16 | BDSVersion:string; // 19.0 17 | LicVerStr:string; // 10.2 Tokyo 18 | LicHostPID:Integer; // 8219 19 | LicHostSKU:Integer; // 52 20 | LicDelphiPID:string; // 2025 21 | LicCBuilderPID:string; // 4022 22 | BdsPatchInfo:TPatchInfo; 23 | LicenseManagerPatchInfo:TPatchInfo; 24 | mOasisRuntimePatchInfo:TPatchInfo; 25 | SetupGUID:string; 26 | ISOUrl:string; 27 | ISOMd5:string; 28 | end; 29 | PRadStudioVersion=^TRadStudioVersion; 30 | var 31 | RadStudioVersionList:TStringList; 32 | implementation 33 | 34 | procedure InitRadStudioVersion(VerList:TStringList); 35 | var 36 | RadStudioVersion:PRadStudioVersion; 37 | begin 38 | New(RadStudioVersion); 39 | with RadStudioVersion^ do 40 | begin 41 | Name := 'Rad Studio 10.3 Rio 4364 Architect'; 42 | Ver := '26.0.32429.4364'; 43 | BDSVersion := '20.0'; 44 | LicVerStr := '10.3 Rio'; 45 | LicHostPID := 8220; 46 | LicHostSKU := 53; 47 | LicDelphiPID := '2026'; 48 | LicCBuilderPID := '4023'; 49 | BdsPatchInfo.Crc := $C426EC4A; 50 | BdsPatchInfo.Sha1 := '43BB879FE9EFD7B8752F2B5D99DF31F7CD948D68'; 51 | BdsPatchInfo.PatchOffset := $1F724; 52 | BdsPatchInfo.FinalizeArrayOffset := $11EF7C; 53 | LicenseManagerPatchInfo.Crc := $0D512F70; 54 | LicenseManagerPatchInfo.Sha1 := '8D16D4521BCC12D537EB20B33864654E7A5B81C0'; 55 | LicenseManagerPatchInfo.PatchOffset := $1F002C; 56 | LicenseManagerPatchInfo.FinalizeArrayOffset := $6227A4; 57 | mOasisRuntimePatchInfo.Sha1 := '101FC6D71A1DDEAF3B079477560DD0307ADE3C80'; 58 | mOasisRuntimePatchInfo.PatchOffset := $0016CFE9; 59 | SetupGUID := '{426A3606-6CB8-4CF8-87A8-44388377C47D}'; 60 | ISOUrl := 'http://altd.embarcadero.com/download/radstudio/10.3/delphicbuilder10_3_0_94364.iso'; 61 | ISOMd5 := '0882D58CB53A7D0A828CC45D06C6ECD0'; 62 | end; 63 | VerList.AddObject(RadStudioVersion^.Name, TObject(RadStudioVersion)); 64 | end; 65 | 66 | procedure FinallyRadStudioVersion(VerList:TStringList); 67 | var 68 | RadStudioVersion:PRadStudioVersion; 69 | begin 70 | while VerList.Count>0 do 71 | begin 72 | RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]); 73 | if RadStudioVersion<>nil then Dispose(RadStudioVersion); 74 | VerList.Delete(0); 75 | end; 76 | end; 77 | 78 | initialization 79 | RadStudioVersionList:= TStringList.Create; 80 | InitRadStudioVersion(RadStudioVersionList); 81 | finalization 82 | FinallyRadStudioVersion(RadStudioVersionList); 83 | FreeAndNil(RadStudioVersionList); 84 | 85 | end. 86 | -------------------------------------------------------------------------------- /10.3.0/Keygen/Sha1.pas: -------------------------------------------------------------------------------- 1 | { 2 | 3 | *************************************************** 4 | * A binary compatible SHA1 implementation * 5 | * written by Dave Barton (davebarton@bigfoot.com) * 6 | *************************************************** 7 | * 160bit hash size * 8 | *************************************************** 9 | 10 | } 11 | unit SHA1; 12 | 13 | interface 14 | uses 15 | Windows,SysUtils; 16 | 17 | type 18 | TSHA1Digest = array[0..19] of byte; 19 | TSHA1Context = record 20 | Hash: array[0..4] of DWord; 21 | Hi, Lo: integer; 22 | Buffer: array[0..63] of byte; 23 | Index: integer; 24 | end; 25 | 26 | procedure SHA1Init(var Context: TSHA1Context); 27 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 28 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 29 | 30 | 31 | function SHA1String(M: AnsiString): TSHA1Digest; 32 | function SHA1File(N: string): TSHA1Digest; 33 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 34 | 35 | //****************************************************************************** 36 | implementation 37 | { 38 | $R- 39 | } 40 | 41 | function LRot16(X: Word; c: longint): Word; 42 | begin 43 | LRot16 := (X shl c) or (X shr (16 - c)); 44 | end; 45 | 46 | 47 | function RRot16(X: Word; c: longint): Word; 48 | begin 49 | RRot16 := (X shr c) or (X shl (16 - c)); 50 | end; 51 | 52 | 53 | function LRot32(X: DWord; c: longint): DWord; 54 | begin 55 | LRot32 := (X shl c) or (X shr (32 - c)); 56 | end; 57 | 58 | 59 | function RRot32(X: DWord; c: longint): DWord; 60 | begin 61 | RRot32 := (X shr c) or (X shl (32 - c)); 62 | end; 63 | 64 | 65 | 66 | //****************************************************************************** 67 | 68 | function F1(x, y, z: DWord): DWord; 69 | begin 70 | Result := z xor (x and (y xor z)); 71 | end; 72 | 73 | function F2(x, y, z: DWord): DWord; 74 | begin 75 | Result := x xor y xor z; 76 | end; 77 | 78 | function F3(x, y, z: DWord): DWord; 79 | begin 80 | Result := (x and y) or (z and (x or y)); 81 | end; 82 | 83 | //****************************************************************************** 84 | 85 | function RB(A: DWord): DWord; 86 | begin 87 | Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); 88 | end; 89 | 90 | procedure SHA1Compress(var Data: TSHA1Context); 91 | var 92 | A, B, C, D, E, T: DWord; 93 | W: array[0..79] of DWord; 94 | i: integer; 95 | begin 96 | Move(Data.Buffer, W, Sizeof(Data.Buffer)); 97 | for i := 0 to 15 do 98 | W[i] := RB(W[i]); 99 | for i := 16 to 79 do 100 | W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); 101 | A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; 102 | for i := 0 to 19 do 103 | begin 104 | T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; 105 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 106 | end; 107 | for i := 20 to 39 do 108 | begin 109 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; 110 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 111 | end; 112 | for i := 40 to 59 do 113 | begin 114 | T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; 115 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 116 | end; 117 | for i := 60 to 79 do 118 | begin 119 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; 120 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 121 | end; 122 | Data.Hash[0] := Data.Hash[0] + A; 123 | Data.Hash[1] := Data.Hash[1] + B; 124 | Data.Hash[2] := Data.Hash[2] + C; 125 | Data.Hash[3] := Data.Hash[3] + D; 126 | Data.Hash[4] := Data.Hash[4] + E; 127 | FillChar(W, Sizeof(W), 0); 128 | FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); 129 | end; 130 | 131 | //****************************************************************************** 132 | 133 | procedure SHA1Init(var Context: TSHA1Context); 134 | begin 135 | Context.Hi := 0; Context.Lo := 0; 136 | Context.Index := 0; 137 | FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); 138 | Context.Hash[0] := $67452301; 139 | Context.Hash[1] := $EFCDAB89; 140 | Context.Hash[2] := $98BADCFE; 141 | Context.Hash[3] := $10325476; 142 | Context.Hash[4] := $C3D2E1F0; 143 | end; 144 | 145 | //****************************************************************************** 146 | 147 | procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); 148 | var 149 | i, k: integer; 150 | begin 151 | for k := 0 to 7 do 152 | begin 153 | i := Context.Lo; 154 | Inc(Context.Lo, Len); 155 | if Context.Lo < i then 156 | Inc(Context.Hi); 157 | end; 158 | end; 159 | 160 | //****************************************************************************** 161 | 162 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 163 | type 164 | PByte = ^Byte; 165 | begin 166 | SHA1UpdateLen(Context, Len); 167 | while Len > 0 do 168 | begin 169 | Context.Buffer[Context.Index] := PByte(Buffer)^; 170 | Inc(PByte(Buffer)); 171 | Inc(Context.Index); 172 | Dec(Len); 173 | if Context.Index = 64 then 174 | begin 175 | Context.Index := 0; 176 | SHA1Compress(Context); 177 | end; 178 | end; 179 | end; 180 | 181 | //****************************************************************************** 182 | 183 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 184 | type 185 | PDWord = ^DWord; 186 | begin 187 | Context.Buffer[Context.Index] := $80; 188 | if Context.Index >= 56 then 189 | SHA1Compress(Context); 190 | PDWord(@Context.Buffer[56])^ := RB(Context.Hi); 191 | PDWord(@Context.Buffer[60])^ := RB(Context.Lo); 192 | SHA1Compress(Context); 193 | Context.Hash[0] := RB(Context.Hash[0]); 194 | Context.Hash[1] := RB(Context.Hash[1]); 195 | Context.Hash[2] := RB(Context.Hash[2]); 196 | Context.Hash[3] := RB(Context.Hash[3]); 197 | Context.Hash[4] := RB(Context.Hash[4]); 198 | Move(Context.Hash, Digest, Sizeof(Digest)); 199 | FillChar(Context, Sizeof(Context), 0); 200 | end; 201 | 202 | 203 | function SHA1String(M: AnsiString): TSHA1Digest; 204 | var 205 | Context: TSHA1Context; 206 | begin 207 | SHA1Init(Context); 208 | SHA1Update(Context, PAnsiChar(M), length(M)); 209 | SHA1Final(Context, Result); 210 | end; 211 | 212 | function SHA1File(N: string): TSHA1Digest; 213 | var 214 | FileHandle: THandle; 215 | MapHandle: THandle; 216 | ViewPointer: pointer; 217 | Context: TSHA1Context; 218 | begin 219 | SHA1Init(Context); 220 | FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, 221 | nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 222 | if FileHandle <> INVALID_HANDLE_VALUE then try 223 | MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); 224 | if MapHandle <> 0 then try 225 | ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); 226 | if ViewPointer <> nil then try 227 | SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); 228 | finally 229 | UnmapViewOfFile(ViewPointer); 230 | end; 231 | finally 232 | CloseHandle(MapHandle); 233 | end; 234 | finally 235 | CloseHandle(FileHandle); 236 | end; 237 | SHA1Final(Context, Result); 238 | end; 239 | 240 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 241 | var 242 | I: byte; 243 | const 244 | Digits: array[0..15] of AnsiChar = 245 | ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 246 | begin 247 | Result := ''; 248 | for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; 249 | end; 250 | 251 | end. -------------------------------------------------------------------------------- /10.3.0/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.0/Release/Activator.exe -------------------------------------------------------------------------------- /10.3.0/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 15.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合各位大虾的 Keygen 6 | 2、相对原始部署方式,这个 Activator 实现“一键激活”! 7 | 8 | 使用方法: 9 | 10 | 1、执行 Activator.exe 11 | 12 | 发布历史: 13 | 14 | 2018.11.26 - v15.0 15 | 16 | 1、根据 26.0.32429.4364 原版制作,基于 RadStudioKeygenSourceCodeV10.3.4364.rar 的成果 17 | 18 | 已知问题: 19 | 20 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 21 | 22 | 特别感谢: 23 | 24 | 1、elseif, tonzi, freecat, unis, x-force, cjack 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 25 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试! 26 | 3、andreas hausladen 等大虾们的无私贡献! 27 | 28 | O(∩_∩)O~ 29 | -------------------------------------------------------------------------------- /10.3.1/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | FGInt in '..\Keygen\FGInt.pas', 12 | RadKeygen in '..\Keygen\RadKeygen.pas', 13 | RadLicense in '..\Keygen\RadLicense.pas', 14 | RadVersion in '..\Keygen\RadVersion.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | SHFolderDll in '..\Keygen\SHFolderDll.pas', 17 | 18 | MainFrm in 'MainFrm.pas' {MainForm}; 19 | 20 | {$R Activator.res} 21 | 22 | begin // PROGRAM START HERE -- Please do not remove this comment 23 | 24 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 25 | 26 | Application.Initialize; 27 | Application.MainFormOnTaskbar := True; 28 | Application.CreateForm(TMainForm, MainForm); 29 | Application.Run; 30 | 31 | {$IFEND} 32 | 33 | end. 34 | -------------------------------------------------------------------------------- /10.3.1/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.1/Activator/Activator.res -------------------------------------------------------------------------------- /10.3.1/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.3.1/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.3.1/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.1/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.1/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.1/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.1/Activator/Admin.res -------------------------------------------------------------------------------- /10.3.1/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.1/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.3.1/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.1/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.3.1/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.3.1 Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.3.1'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunBds := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunBds.Hint.Text := 'Run Delphi 10.3.1'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.3.1'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunBds.OnClick := Result.btnRunBdsClick; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.3.1/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.1/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.3.1/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.3.1/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.3.1/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.1/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.3.1/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.3.1/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.3.1/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.3.1/Keygen/RadVersion.pas: -------------------------------------------------------------------------------- 1 | unit RadVersion; 2 | 3 | interface 4 | uses Windows,Classes,SysUtils; 5 | type 6 | TPatchInfo=record 7 | Crc:DWORD; 8 | Sha1:string; 9 | PatchOffset:DWORD; 10 | FinalizeArrayOffset:DWORD; 11 | end; 12 | 13 | TRadStudioVersion=record 14 | Name:string; // Rad Studio 10.2 Tokyo Update2 15 | Ver:string; // 25.0.29039.2004 16 | BDSVersion:string; // 19.0 17 | LicVerStr:string; // 10.2 Tokyo 18 | LicHostPID:Integer; // 8219 19 | LicHostSKU:Integer; // 52 20 | LicDelphiPID:string; // 2025 21 | LicCBuilderPID:string; // 4022 22 | BdsPatchInfo:TPatchInfo; 23 | LicenseManagerPatchInfo:TPatchInfo; 24 | mOasisRuntimePatchInfo:TPatchInfo; 25 | SetupGUID:string; 26 | ISOUrl:string; 27 | ISOMd5:string; 28 | end; 29 | PRadStudioVersion=^TRadStudioVersion; 30 | var 31 | RadStudioVersionList:TStringList; 32 | implementation 33 | 34 | procedure InitRadStudioVersion(VerList:TStringList); 35 | var 36 | RadStudioVersion:PRadStudioVersion; 37 | begin 38 | New(RadStudioVersion); 39 | with RadStudioVersion^ do 40 | begin 41 | Name := 'Rad Studio 10.3 Rio 4364 Architect'; 42 | Ver := '26.0.32429.4364'; 43 | BDSVersion := '20.0'; 44 | LicVerStr := '10.3 Rio'; 45 | LicHostPID := 8220; 46 | LicHostSKU := 53; 47 | LicDelphiPID := '2026'; 48 | LicCBuilderPID := '4023'; 49 | BdsPatchInfo.Crc := $C426EC4A; 50 | BdsPatchInfo.Sha1 := '43BB879FE9EFD7B8752F2B5D99DF31F7CD948D68'; 51 | BdsPatchInfo.PatchOffset := $1F724; 52 | BdsPatchInfo.FinalizeArrayOffset := $11EF7C; 53 | LicenseManagerPatchInfo.Crc := $0D512F70; 54 | LicenseManagerPatchInfo.Sha1 := '8D16D4521BCC12D537EB20B33864654E7A5B81C0'; 55 | LicenseManagerPatchInfo.PatchOffset := $1F002C; 56 | LicenseManagerPatchInfo.FinalizeArrayOffset := $6227A4; 57 | mOasisRuntimePatchInfo.Sha1 := '101FC6D71A1DDEAF3B079477560DD0307ADE3C80'; 58 | mOasisRuntimePatchInfo.PatchOffset := $0016CFE9; 59 | SetupGUID := '{426A3606-6CB8-4CF8-87A8-44388377C47D}'; 60 | ISOUrl := 'http://altd.embarcadero.com/download/radstudio/10.3/delphicbuilder10_3_0_94364.iso'; 61 | ISOMd5 := '0882D58CB53A7D0A828CC45D06C6ECD0'; 62 | end; 63 | VerList.AddObject(RadStudioVersion^.Name, TObject(RadStudioVersion)); 64 | end; 65 | 66 | procedure FinallyRadStudioVersion(VerList:TStringList); 67 | var 68 | RadStudioVersion:PRadStudioVersion; 69 | begin 70 | while VerList.Count>0 do 71 | begin 72 | RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]); 73 | if RadStudioVersion<>nil then Dispose(RadStudioVersion); 74 | VerList.Delete(0); 75 | end; 76 | end; 77 | 78 | initialization 79 | RadStudioVersionList:= TStringList.Create; 80 | InitRadStudioVersion(RadStudioVersionList); 81 | finalization 82 | FinallyRadStudioVersion(RadStudioVersionList); 83 | FreeAndNil(RadStudioVersionList); 84 | 85 | end. 86 | -------------------------------------------------------------------------------- /10.3.1/Keygen/Sha1.pas: -------------------------------------------------------------------------------- 1 | { 2 | 3 | *************************************************** 4 | * A binary compatible SHA1 implementation * 5 | * written by Dave Barton (davebarton@bigfoot.com) * 6 | *************************************************** 7 | * 160bit hash size * 8 | *************************************************** 9 | 10 | } 11 | unit SHA1; 12 | 13 | interface 14 | uses 15 | Windows,SysUtils; 16 | 17 | type 18 | TSHA1Digest = array[0..19] of byte; 19 | TSHA1Context = record 20 | Hash: array[0..4] of DWord; 21 | Hi, Lo: integer; 22 | Buffer: array[0..63] of byte; 23 | Index: integer; 24 | end; 25 | 26 | procedure SHA1Init(var Context: TSHA1Context); 27 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 28 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 29 | 30 | 31 | function SHA1String(M: AnsiString): TSHA1Digest; 32 | function SHA1File(N: string): TSHA1Digest; 33 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 34 | 35 | //****************************************************************************** 36 | implementation 37 | { 38 | $R- 39 | } 40 | 41 | function LRot16(X: Word; c: longint): Word; 42 | begin 43 | LRot16 := (X shl c) or (X shr (16 - c)); 44 | end; 45 | 46 | 47 | function RRot16(X: Word; c: longint): Word; 48 | begin 49 | RRot16 := (X shr c) or (X shl (16 - c)); 50 | end; 51 | 52 | 53 | function LRot32(X: DWord; c: longint): DWord; 54 | begin 55 | LRot32 := (X shl c) or (X shr (32 - c)); 56 | end; 57 | 58 | 59 | function RRot32(X: DWord; c: longint): DWord; 60 | begin 61 | RRot32 := (X shr c) or (X shl (32 - c)); 62 | end; 63 | 64 | 65 | 66 | //****************************************************************************** 67 | 68 | function F1(x, y, z: DWord): DWord; 69 | begin 70 | Result := z xor (x and (y xor z)); 71 | end; 72 | 73 | function F2(x, y, z: DWord): DWord; 74 | begin 75 | Result := x xor y xor z; 76 | end; 77 | 78 | function F3(x, y, z: DWord): DWord; 79 | begin 80 | Result := (x and y) or (z and (x or y)); 81 | end; 82 | 83 | //****************************************************************************** 84 | 85 | function RB(A: DWord): DWord; 86 | begin 87 | Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); 88 | end; 89 | 90 | procedure SHA1Compress(var Data: TSHA1Context); 91 | var 92 | A, B, C, D, E, T: DWord; 93 | W: array[0..79] of DWord; 94 | i: integer; 95 | begin 96 | Move(Data.Buffer, W, Sizeof(Data.Buffer)); 97 | for i := 0 to 15 do 98 | W[i] := RB(W[i]); 99 | for i := 16 to 79 do 100 | W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); 101 | A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; 102 | for i := 0 to 19 do 103 | begin 104 | T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; 105 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 106 | end; 107 | for i := 20 to 39 do 108 | begin 109 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; 110 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 111 | end; 112 | for i := 40 to 59 do 113 | begin 114 | T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; 115 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 116 | end; 117 | for i := 60 to 79 do 118 | begin 119 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; 120 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 121 | end; 122 | Data.Hash[0] := Data.Hash[0] + A; 123 | Data.Hash[1] := Data.Hash[1] + B; 124 | Data.Hash[2] := Data.Hash[2] + C; 125 | Data.Hash[3] := Data.Hash[3] + D; 126 | Data.Hash[4] := Data.Hash[4] + E; 127 | FillChar(W, Sizeof(W), 0); 128 | FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); 129 | end; 130 | 131 | //****************************************************************************** 132 | 133 | procedure SHA1Init(var Context: TSHA1Context); 134 | begin 135 | Context.Hi := 0; Context.Lo := 0; 136 | Context.Index := 0; 137 | FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); 138 | Context.Hash[0] := $67452301; 139 | Context.Hash[1] := $EFCDAB89; 140 | Context.Hash[2] := $98BADCFE; 141 | Context.Hash[3] := $10325476; 142 | Context.Hash[4] := $C3D2E1F0; 143 | end; 144 | 145 | //****************************************************************************** 146 | 147 | procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); 148 | var 149 | i, k: integer; 150 | begin 151 | for k := 0 to 7 do 152 | begin 153 | i := Context.Lo; 154 | Inc(Context.Lo, Len); 155 | if Context.Lo < i then 156 | Inc(Context.Hi); 157 | end; 158 | end; 159 | 160 | //****************************************************************************** 161 | 162 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 163 | type 164 | PByte = ^Byte; 165 | begin 166 | SHA1UpdateLen(Context, Len); 167 | while Len > 0 do 168 | begin 169 | Context.Buffer[Context.Index] := PByte(Buffer)^; 170 | Inc(PByte(Buffer)); 171 | Inc(Context.Index); 172 | Dec(Len); 173 | if Context.Index = 64 then 174 | begin 175 | Context.Index := 0; 176 | SHA1Compress(Context); 177 | end; 178 | end; 179 | end; 180 | 181 | //****************************************************************************** 182 | 183 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 184 | type 185 | PDWord = ^DWord; 186 | begin 187 | Context.Buffer[Context.Index] := $80; 188 | if Context.Index >= 56 then 189 | SHA1Compress(Context); 190 | PDWord(@Context.Buffer[56])^ := RB(Context.Hi); 191 | PDWord(@Context.Buffer[60])^ := RB(Context.Lo); 192 | SHA1Compress(Context); 193 | Context.Hash[0] := RB(Context.Hash[0]); 194 | Context.Hash[1] := RB(Context.Hash[1]); 195 | Context.Hash[2] := RB(Context.Hash[2]); 196 | Context.Hash[3] := RB(Context.Hash[3]); 197 | Context.Hash[4] := RB(Context.Hash[4]); 198 | Move(Context.Hash, Digest, Sizeof(Digest)); 199 | FillChar(Context, Sizeof(Context), 0); 200 | end; 201 | 202 | 203 | function SHA1String(M: AnsiString): TSHA1Digest; 204 | var 205 | Context: TSHA1Context; 206 | begin 207 | SHA1Init(Context); 208 | SHA1Update(Context, PAnsiChar(M), length(M)); 209 | SHA1Final(Context, Result); 210 | end; 211 | 212 | function SHA1File(N: string): TSHA1Digest; 213 | var 214 | FileHandle: THandle; 215 | MapHandle: THandle; 216 | ViewPointer: pointer; 217 | Context: TSHA1Context; 218 | begin 219 | SHA1Init(Context); 220 | FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, 221 | nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 222 | if FileHandle <> INVALID_HANDLE_VALUE then try 223 | MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); 224 | if MapHandle <> 0 then try 225 | ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); 226 | if ViewPointer <> nil then try 227 | SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); 228 | finally 229 | UnmapViewOfFile(ViewPointer); 230 | end; 231 | finally 232 | CloseHandle(MapHandle); 233 | end; 234 | finally 235 | CloseHandle(FileHandle); 236 | end; 237 | SHA1Final(Context, Result); 238 | end; 239 | 240 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 241 | var 242 | I: byte; 243 | const 244 | Digits: array[0..15] of AnsiChar = 245 | ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 246 | begin 247 | Result := ''; 248 | for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; 249 | end; 250 | 251 | end. -------------------------------------------------------------------------------- /10.3.1/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.1/Release/Activator.exe -------------------------------------------------------------------------------- /10.3.1/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 15.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合各位大虾的 Keygen 6 | 2、相对原始部署方式,这个 Activator 实现“一键激活”! 7 | 8 | 使用方法: 9 | 10 | 1、执行 Activator.exe 11 | 12 | 发布历史: 13 | 14 | 2019.02.16 - v15.1 15 | 16 | 1、根据 26.0.33219.4899 原版制作,基于 RADStudioKeyPatch_Lite.exe 的成果 17 | 18 | 2018.11.26 - v15.0 19 | 20 | 1、根据 26.0.32429.4364 原版制作,基于 RadStudioKeygenSourceCodeV10.3.4364.rar 的成果 21 | 22 | 已知问题: 23 | 24 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 25 | 26 | 特别感谢: 27 | 28 | 1、elseif, tonzi, freecat, unis, x-force, cjack, c5soft 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 29 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试! 30 | 3、andreas hausladen 等大虾们的无私贡献! 31 | 32 | O(∩_∩)O~ 33 | -------------------------------------------------------------------------------- /10.3.2/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | FGInt in '..\Keygen\FGInt.pas', 12 | RadKeygen in '..\Keygen\RadKeygen.pas', 13 | RadLicense in '..\Keygen\RadLicense.pas', 14 | RadVersion in '..\Keygen\RadVersion.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | 17 | MainFrm in 'MainFrm.pas' {MainForm}; 18 | 19 | {$R *.res} 20 | 21 | begin // PROGRAM START HERE -- Please do not remove this comment 22 | 23 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 24 | 25 | Application.Initialize; 26 | Application.MainFormOnTaskbar := True; 27 | Application.CreateForm(TMainForm, MainForm); 28 | Application.Run; 29 | 30 | {$IFEND} 31 | 32 | end. 33 | -------------------------------------------------------------------------------- /10.3.2/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.2/Activator/Activator.res -------------------------------------------------------------------------------- /10.3.2/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.3.2/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.3.2/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.2/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.2/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.2/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.2/Activator/Admin.res -------------------------------------------------------------------------------- /10.3.2/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.2/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.3.2/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.2/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.3.2/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.3.2 Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.3.2'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunBds := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunBds.Hint.Text := 'Run Delphi 10.3.2'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.3.2'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunBds.OnClick := Result.btnRunBdsClick; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.3.2/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.2/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.3.2/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.3.2/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.3.2/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.2/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.3.2/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.3.2/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.3.2/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.3.2/Keygen/RadVersion.pas: -------------------------------------------------------------------------------- 1 | unit RadVersion; 2 | 3 | interface 4 | uses Windows,Classes,SysUtils; 5 | type 6 | TPatchInfo=record 7 | Crc:DWORD; 8 | Sha1:string; 9 | PatchOffset:DWORD; 10 | FinalizeArrayOffset:DWORD; 11 | end; 12 | 13 | TRadStudioVersion=record 14 | Name:string; // Rad Studio 10.2 Tokyo Update2 15 | Ver:string; // 25.0.29039.2004 16 | BDSVersion:string; // 19.0 17 | LicVerStr:string; // 10.2 Tokyo 18 | LicHostPID:Integer; // 8219 19 | LicHostSKU:Integer; // 52 20 | LicDelphiPID:string; // 2025 21 | LicCBuilderPID:string; // 4022 22 | BdsPatchInfo:TPatchInfo; 23 | LicenseManagerPatchInfo:TPatchInfo; 24 | mOasisRuntimePatchInfo:TPatchInfo; 25 | SetupGUID:string; 26 | ISOUrl:string; 27 | ISOMd5:string; 28 | end; 29 | PRadStudioVersion=^TRadStudioVersion; 30 | var 31 | RadStudioVersionList:TStringList; 32 | implementation 33 | 34 | procedure InitRadStudioVersion(VerList:TStringList); 35 | var 36 | RadStudioVersion:PRadStudioVersion; 37 | begin 38 | New(RadStudioVersion); 39 | with RadStudioVersion^ do 40 | begin 41 | Name := 'Rad Studio 10.3 Rio 4364 Architect'; 42 | Ver := '26.0.32429.4364'; 43 | BDSVersion := '20.0'; 44 | LicVerStr := '10.3'; 45 | LicHostPID := 8220; 46 | LicHostSKU := 53; 47 | LicDelphiPID := '2026'; 48 | LicCBuilderPID := '4023'; 49 | BdsPatchInfo.Crc := $C426EC4A; 50 | BdsPatchInfo.Sha1 := '43BB879FE9EFD7B8752F2B5D99DF31F7CD948D68'; 51 | BdsPatchInfo.PatchOffset := $1F724; 52 | BdsPatchInfo.FinalizeArrayOffset := $11EF7C; 53 | LicenseManagerPatchInfo.Crc := $0D512F70; 54 | LicenseManagerPatchInfo.Sha1 := '8D16D4521BCC12D537EB20B33864654E7A5B81C0'; 55 | LicenseManagerPatchInfo.PatchOffset := $1F002C; 56 | LicenseManagerPatchInfo.FinalizeArrayOffset := $6227A4; 57 | mOasisRuntimePatchInfo.Sha1 := '101FC6D71A1DDEAF3B079477560DD0307ADE3C80'; 58 | mOasisRuntimePatchInfo.PatchOffset := $0016CFE9; 59 | SetupGUID := '{426A3606-6CB8-4CF8-87A8-44388377C47D}'; 60 | ISOUrl := 'http://altd.embarcadero.com/download/radstudio/10.3/delphicbuilder10_3_0_94364.iso'; 61 | ISOMd5 := '0882D58CB53A7D0A828CC45D06C6ECD0'; 62 | end; 63 | VerList.AddObject(RadStudioVersion^.Name, TObject(RadStudioVersion)); 64 | end; 65 | 66 | procedure FinallyRadStudioVersion(VerList:TStringList); 67 | var 68 | RadStudioVersion:PRadStudioVersion; 69 | begin 70 | while VerList.Count>0 do 71 | begin 72 | RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]); 73 | if RadStudioVersion<>nil then Dispose(RadStudioVersion); 74 | VerList.Delete(0); 75 | end; 76 | end; 77 | 78 | initialization 79 | RadStudioVersionList:= TStringList.Create; 80 | InitRadStudioVersion(RadStudioVersionList); 81 | finalization 82 | FinallyRadStudioVersion(RadStudioVersionList); 83 | FreeAndNil(RadStudioVersionList); 84 | 85 | end. 86 | -------------------------------------------------------------------------------- /10.3.2/Keygen/Sha1.pas: -------------------------------------------------------------------------------- 1 | { 2 | 3 | *************************************************** 4 | * A binary compatible SHA1 implementation * 5 | * written by Dave Barton (davebarton@bigfoot.com) * 6 | *************************************************** 7 | * 160bit hash size * 8 | *************************************************** 9 | 10 | } 11 | unit SHA1; 12 | 13 | interface 14 | uses 15 | Windows,SysUtils; 16 | 17 | type 18 | TSHA1Digest = array[0..19] of byte; 19 | TSHA1Context = record 20 | Hash: array[0..4] of DWord; 21 | Hi, Lo: integer; 22 | Buffer: array[0..63] of byte; 23 | Index: integer; 24 | end; 25 | 26 | procedure SHA1Init(var Context: TSHA1Context); 27 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 28 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 29 | 30 | 31 | function SHA1String(M: AnsiString): TSHA1Digest; 32 | function SHA1File(N: string): TSHA1Digest; 33 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 34 | 35 | //****************************************************************************** 36 | implementation 37 | { 38 | $R- 39 | } 40 | 41 | function LRot16(X: Word; c: longint): Word; 42 | begin 43 | LRot16 := (X shl c) or (X shr (16 - c)); 44 | end; 45 | 46 | 47 | function RRot16(X: Word; c: longint): Word; 48 | begin 49 | RRot16 := (X shr c) or (X shl (16 - c)); 50 | end; 51 | 52 | 53 | function LRot32(X: DWord; c: longint): DWord; 54 | begin 55 | LRot32 := (X shl c) or (X shr (32 - c)); 56 | end; 57 | 58 | 59 | function RRot32(X: DWord; c: longint): DWord; 60 | begin 61 | RRot32 := (X shr c) or (X shl (32 - c)); 62 | end; 63 | 64 | 65 | 66 | //****************************************************************************** 67 | 68 | function F1(x, y, z: DWord): DWord; 69 | begin 70 | Result := z xor (x and (y xor z)); 71 | end; 72 | 73 | function F2(x, y, z: DWord): DWord; 74 | begin 75 | Result := x xor y xor z; 76 | end; 77 | 78 | function F3(x, y, z: DWord): DWord; 79 | begin 80 | Result := (x and y) or (z and (x or y)); 81 | end; 82 | 83 | //****************************************************************************** 84 | 85 | function RB(A: DWord): DWord; 86 | begin 87 | Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); 88 | end; 89 | 90 | procedure SHA1Compress(var Data: TSHA1Context); 91 | var 92 | A, B, C, D, E, T: DWord; 93 | W: array[0..79] of DWord; 94 | i: integer; 95 | begin 96 | Move(Data.Buffer, W, Sizeof(Data.Buffer)); 97 | for i := 0 to 15 do 98 | W[i] := RB(W[i]); 99 | for i := 16 to 79 do 100 | W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); 101 | A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; 102 | for i := 0 to 19 do 103 | begin 104 | T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; 105 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 106 | end; 107 | for i := 20 to 39 do 108 | begin 109 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; 110 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 111 | end; 112 | for i := 40 to 59 do 113 | begin 114 | T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; 115 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 116 | end; 117 | for i := 60 to 79 do 118 | begin 119 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; 120 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 121 | end; 122 | Data.Hash[0] := Data.Hash[0] + A; 123 | Data.Hash[1] := Data.Hash[1] + B; 124 | Data.Hash[2] := Data.Hash[2] + C; 125 | Data.Hash[3] := Data.Hash[3] + D; 126 | Data.Hash[4] := Data.Hash[4] + E; 127 | FillChar(W, Sizeof(W), 0); 128 | FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); 129 | end; 130 | 131 | //****************************************************************************** 132 | 133 | procedure SHA1Init(var Context: TSHA1Context); 134 | begin 135 | Context.Hi := 0; Context.Lo := 0; 136 | Context.Index := 0; 137 | FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); 138 | Context.Hash[0] := $67452301; 139 | Context.Hash[1] := $EFCDAB89; 140 | Context.Hash[2] := $98BADCFE; 141 | Context.Hash[3] := $10325476; 142 | Context.Hash[4] := $C3D2E1F0; 143 | end; 144 | 145 | //****************************************************************************** 146 | 147 | procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); 148 | var 149 | i, k: integer; 150 | begin 151 | for k := 0 to 7 do 152 | begin 153 | i := Context.Lo; 154 | Inc(Context.Lo, Len); 155 | if Context.Lo < i then 156 | Inc(Context.Hi); 157 | end; 158 | end; 159 | 160 | //****************************************************************************** 161 | 162 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 163 | type 164 | PByte = ^Byte; 165 | begin 166 | SHA1UpdateLen(Context, Len); 167 | while Len > 0 do 168 | begin 169 | Context.Buffer[Context.Index] := PByte(Buffer)^; 170 | Inc(PByte(Buffer)); 171 | Inc(Context.Index); 172 | Dec(Len); 173 | if Context.Index = 64 then 174 | begin 175 | Context.Index := 0; 176 | SHA1Compress(Context); 177 | end; 178 | end; 179 | end; 180 | 181 | //****************************************************************************** 182 | 183 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 184 | type 185 | PDWord = ^DWord; 186 | begin 187 | Context.Buffer[Context.Index] := $80; 188 | if Context.Index >= 56 then 189 | SHA1Compress(Context); 190 | PDWord(@Context.Buffer[56])^ := RB(Context.Hi); 191 | PDWord(@Context.Buffer[60])^ := RB(Context.Lo); 192 | SHA1Compress(Context); 193 | Context.Hash[0] := RB(Context.Hash[0]); 194 | Context.Hash[1] := RB(Context.Hash[1]); 195 | Context.Hash[2] := RB(Context.Hash[2]); 196 | Context.Hash[3] := RB(Context.Hash[3]); 197 | Context.Hash[4] := RB(Context.Hash[4]); 198 | Move(Context.Hash, Digest, Sizeof(Digest)); 199 | FillChar(Context, Sizeof(Context), 0); 200 | end; 201 | 202 | 203 | function SHA1String(M: AnsiString): TSHA1Digest; 204 | var 205 | Context: TSHA1Context; 206 | begin 207 | SHA1Init(Context); 208 | SHA1Update(Context, PAnsiChar(M), length(M)); 209 | SHA1Final(Context, Result); 210 | end; 211 | 212 | function SHA1File(N: string): TSHA1Digest; 213 | var 214 | FileHandle: THandle; 215 | MapHandle: THandle; 216 | ViewPointer: pointer; 217 | Context: TSHA1Context; 218 | begin 219 | SHA1Init(Context); 220 | FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, 221 | nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 222 | if FileHandle <> INVALID_HANDLE_VALUE then try 223 | MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); 224 | if MapHandle <> 0 then try 225 | ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); 226 | if ViewPointer <> nil then try 227 | SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); 228 | finally 229 | UnmapViewOfFile(ViewPointer); 230 | end; 231 | finally 232 | CloseHandle(MapHandle); 233 | end; 234 | finally 235 | CloseHandle(FileHandle); 236 | end; 237 | SHA1Final(Context, Result); 238 | end; 239 | 240 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 241 | var 242 | I: byte; 243 | const 244 | Digits: array[0..15] of AnsiChar = 245 | ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 246 | begin 247 | Result := ''; 248 | for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; 249 | end; 250 | 251 | end. -------------------------------------------------------------------------------- /10.3.2/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.2/Release/Activator.exe -------------------------------------------------------------------------------- /10.3.2/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 15.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合各位大虾的 Keygen 6 | 2、相对原始部署方式,这个 Activator 实现“一键激活”! 7 | 8 | 使用方法: 9 | 10 | 1、执行 Activator.exe 11 | 12 | 发布历史: 13 | 14 | 2019.07.22 - v15.2.1 15 | 16 | 1、根据 26.0.34749.6593 原版制作,基于 RADStudioKeyPatch.exe 的成果 17 | 2、根据 wg961423 的反馈完善对 macOS64 的支持 18 | 19 | 2019.02.16 - v15.1 20 | 21 | 1、根据 26.0.33219.4899 原版制作,基于 RADStudioKeyPatch_Lite.exe 的成果 22 | 23 | 2018.11.26 - v15.0 24 | 25 | 1、根据 26.0.32429.4364 原版制作,基于 RadStudioKeygenSourceCodeV10.3.4364.rar 的成果 26 | 27 | 已知问题: 28 | 29 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 30 | 31 | 特别感谢: 32 | 33 | 1、elseif, tonzi, freecat, unis, x-force, cjack, c5soft 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 34 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang、wg961423 等等我知道的不知道的的网友们的热情测试! 35 | 3、andreas hausladen 等大虾们的无私贡献! 36 | 37 | O(∩_∩)O~ 38 | -------------------------------------------------------------------------------- /10.3.3/Activator/Activator.dpr: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | program Activator; 3 | 4 | uses 5 | KOL, 6 | FileUtils in 'FileUtils.pas', 7 | PatchData in 'PatchData.pas', 8 | WinUtils in 'WinUtils.pas', 9 | 10 | AnsiStrings in '..\Keygen\AnsiStrings.pas', 11 | FGInt in '..\Keygen\FGInt.pas', 12 | RadKeygen in '..\Keygen\RadKeygen.pas', 13 | RadLicense in '..\Keygen\RadLicense.pas', 14 | RadVersion in '..\Keygen\RadVersion.pas', 15 | Sha1 in '..\Keygen\Sha1.pas', 16 | 17 | MainFrm in 'MainFrm.pas' {MainForm}; 18 | 19 | {$R *.res} 20 | 21 | begin // PROGRAM START HERE -- Please do not remove this comment 22 | 23 | {$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} 24 | 25 | Application.Initialize; 26 | Application.MainFormOnTaskbar := True; 27 | Application.CreateForm(TMainForm, MainForm); 28 | Application.Run; 29 | 30 | {$IFEND} 31 | 32 | end. 33 | -------------------------------------------------------------------------------- /10.3.3/Activator/Activator.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.3/Activator/Activator.res -------------------------------------------------------------------------------- /10.3.3/Activator/Activator_0.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_0.inc 3 | Do not edit this file manually - it is generated automatically. 4 | You can only modify Activator_1.inc and Activator_3.inc 5 | files. } 6 | 7 | {$IFDEF Pcode} 8 | InstallCollapse; 9 | {$ENDIF Pcode} 10 | NewMainForm( MainForm, nil ); 11 | {$I Activator_1.inc} 12 | 13 | {$I Activator_2.inc} 14 | 15 | {$I Activator_3.inc} 16 | 17 | Run( MainForm.Form ); 18 | 19 | {$I Activator_4.inc} 20 | 21 | -------------------------------------------------------------------------------- /10.3.3/Activator/Activator_1.inc: -------------------------------------------------------------------------------- 1 | { Activator_1.inc 2 | This file is for you. Place here any code to run it 3 | just following Applet creation (if it present) but 4 | before creating other forms. E.g., You can place here 5 | statement, which prevents running of application 6 | in some cases. TIP: always use Applet for such checks 7 | and make it invisible until final decision if to run 8 | application or not. } 9 | 10 | -------------------------------------------------------------------------------- /10.3.3/Activator/Activator_2.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { Activator_2.inc 3 | Do not modify this file manually - it is generated automatically. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.3/Activator/Activator_3.inc: -------------------------------------------------------------------------------- 1 | { Activator_3.inc 2 | This file is for you. Place here any code to run it 3 | after forms creating, but before Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.3/Activator/Activator_4.inc: -------------------------------------------------------------------------------- 1 | { Activator_4.inc 2 | This file is for you. Place here any code to be inserted 3 | after Run call, if necessary. } 4 | 5 | -------------------------------------------------------------------------------- /10.3.3/Activator/Admin.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.3/Activator/Admin.res -------------------------------------------------------------------------------- /10.3.3/Activator/FileUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.3/Activator/FileUtils.pas -------------------------------------------------------------------------------- /10.3.3/Activator/MainFrm.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.3/Activator/MainFrm.pas -------------------------------------------------------------------------------- /10.3.3/Activator/MainFrm_1.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | 3 | procedure NewMainForm( var Result: PMainForm; AParent: PControl ); 4 | begin 5 | 6 | {$IFDEF KOLCLASSES} 7 | Result := PMainForm.Create; 8 | {$ELSE OBJECTS} 9 | New( Result, Create ); 10 | {$ENDIF KOL CLASSES/OBJECTS} 11 | Result.Form := NewForm( AParent, 'Delphi 10.3.3 Activator' ).SetPosition( 8, 8 ); 12 | Applet := Result.Form; 13 | Result.Form.Add2AutoFree( Result ); 14 | Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); 15 | Result.Form.SetClientSize( 534, 122 ); 16 | Result.Form.OnMessage := Result.kolMainFormMessage; 17 | Result.Form.OnShow := Result.kolMainFormShow; 18 | Result.Form.OnDestroy := Result.kolMainFormDestroy; 19 | Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); 20 | {$IFDEF USE_MHTOOLTIP} 21 | Result.btnAbout.Hint.Text := 'About'; 22 | {$ENDIF USE_MHTOOLTIP} 23 | Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); 24 | {$IFDEF USE_MHTOOLTIP} 25 | Result.btnReset.Hint.Text := 'Reset Delphi 10.3.2'; 26 | {$ENDIF USE_MHTOOLTIP} 27 | Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); 28 | {$IFDEF USE_MHTOOLTIP} 29 | Result.btnExit.Hint.Text := 'Exit'; 30 | {$ENDIF USE_MHTOOLTIP} 31 | Result.btnRunBds := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); 32 | {$IFDEF USE_MHTOOLTIP} 33 | Result.btnRunBds.Hint.Text := 'Run Delphi 10.3.2'; 34 | {$ENDIF USE_MHTOOLTIP} 35 | Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); 36 | {$IFDEF USE_MHTOOLTIP} 37 | Result.btnActive.Hint.Text := 'Active Delphi 10.3.2'; 38 | {$ENDIF USE_MHTOOLTIP} 39 | Result.btnAbout.OnClick := Result.btnAboutClick; 40 | Result.btnReset.OnClick := Result.btnResetClick; 41 | Result.btnExit.OnClick := Result.btnExitClick; 42 | Result.btnRunBds.OnClick := Result.btnRunBdsClick; 43 | Result.btnActive.OnClick := Result.btnActiveClick; 44 | Result.Form.CenterOnParent.CanResize := False; 45 | Result.Form.Perform( WM_INITMENU, 0, 0 ); 46 | Result.kolMainFormFormCreate( Result ); 47 | 48 | end; 49 | 50 | -------------------------------------------------------------------------------- /10.3.3/Activator/PatchData.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.3/Activator/PatchData.pas -------------------------------------------------------------------------------- /10.3.3/Activator/TMainForm.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class(TObj) 2 | -------------------------------------------------------------------------------- /10.3.3/Activator/TMainFormclass.inc: -------------------------------------------------------------------------------- 1 | TMainForm = class; PMainForm = TMainForm; 2 | -------------------------------------------------------------------------------- /10.3.3/Activator/WinUtils.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.3/Activator/WinUtils.pas -------------------------------------------------------------------------------- /10.3.3/Activator/uses.inc: -------------------------------------------------------------------------------- 1 | { KOL MCK } // Do not remove this line! 2 | { uses.inc 3 | This file is generated automatically - do not modify it manually. 4 | It is included to be recognized by compiler, but replacing word 5 | with compiler directive <$I uses.inc> fakes auto-completion 6 | preventing it from automatic references adding to VCL units into 7 | uses clause aimed for KOL environment only. } 8 | 9 | uses 10 | -------------------------------------------------------------------------------- /10.3.3/Dcu/dirinfo.txt: -------------------------------------------------------------------------------- 1 | This directory is intended as a common place for sample application's EXE files -------------------------------------------------------------------------------- /10.3.3/Keygen/AnsiStrings.pas: -------------------------------------------------------------------------------- 1 | unit AnsiStrings; 2 | 3 | interface 4 | 5 | implementation 6 | 7 | end. 8 | -------------------------------------------------------------------------------- /10.3.3/Keygen/RadVersion.pas: -------------------------------------------------------------------------------- 1 | unit RadVersion; 2 | 3 | interface 4 | uses Windows,Classes,SysUtils; 5 | type 6 | TPatchInfo=record 7 | Crc:DWORD; 8 | Sha1:string; 9 | PatchOffset:DWORD; 10 | FinalizeArrayOffset:DWORD; 11 | end; 12 | 13 | TRadStudioVersion=record 14 | Name:string; // Rad Studio 10.2 Tokyo Update2 15 | Ver:string; // 25.0.29039.2004 16 | BDSVersion:string; // 19.0 17 | LicVerStr:string; // 10.2 Tokyo 18 | LicHostPID:Integer; // 8219 19 | LicHostSKU:Integer; // 52 20 | LicDelphiPID:string; // 2025 21 | LicCBuilderPID:string; // 4022 22 | // BdsPatchInfo:TPatchInfo; 23 | // LicenseManagerPatchInfo:TPatchInfo; 24 | // mOasisRuntimePatchInfo:TPatchInfo; 25 | // SetupGUID:string; 26 | // ISOUrl:string; 27 | // ISOMd5:string; 28 | end; 29 | PRadStudioVersion=^TRadStudioVersion; 30 | var 31 | RadStudioVersionList:TStringList; 32 | implementation 33 | 34 | procedure InitRadStudioVersion(VerList:TStringList); 35 | var 36 | RadStudioVersion:PRadStudioVersion; 37 | begin 38 | New(RadStudioVersion); 39 | with RadStudioVersion^ do 40 | begin 41 | Name := 'Rad Studio 10.3.3 Rio 7899 Architect'; 42 | Ver := '26.0.36039.7899'; 43 | BDSVersion := '20.0'; 44 | LicVerStr := '10.3'; 45 | LicHostPID := 8220; 46 | LicHostSKU := 53; 47 | LicDelphiPID := '2026'; 48 | LicCBuilderPID := '4023'; 49 | // BdsPatchInfo.Crc := $C426EC4A; 50 | // BdsPatchInfo.Sha1 := '43BB879FE9EFD7B8752F2B5D99DF31F7CD948D68'; 51 | // BdsPatchInfo.PatchOffset := $1F724; 52 | // BdsPatchInfo.FinalizeArrayOffset := $11EF7C; 53 | // LicenseManagerPatchInfo.Crc := $0D512F70; 54 | // LicenseManagerPatchInfo.Sha1 := '8D16D4521BCC12D537EB20B33864654E7A5B81C0'; 55 | // LicenseManagerPatchInfo.PatchOffset := $1F002C; 56 | // LicenseManagerPatchInfo.FinalizeArrayOffset := $6227A4; 57 | // mOasisRuntimePatchInfo.Sha1 := '101FC6D71A1DDEAF3B079477560DD0307ADE3C80'; 58 | // mOasisRuntimePatchInfo.PatchOffset := $0016CFE9; 59 | // SetupGUID := '{426A3606-6CB8-4CF8-87A8-44388377C47D}'; 60 | // ISOUrl := 'http://altd.embarcadero.com/download/radstudio/10.3/delphicbuilder10_3_0_94364.iso'; 61 | // ISOMd5 := '0882D58CB53A7D0A828CC45D06C6ECD0'; 62 | end; 63 | VerList.AddObject(RadStudioVersion^.Name, TObject(RadStudioVersion)); 64 | end; 65 | 66 | procedure FinallyRadStudioVersion(VerList:TStringList); 67 | var 68 | RadStudioVersion:PRadStudioVersion; 69 | begin 70 | while VerList.Count>0 do 71 | begin 72 | RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]); 73 | if RadStudioVersion<>nil then Dispose(RadStudioVersion); 74 | VerList.Delete(0); 75 | end; 76 | end; 77 | 78 | initialization 79 | RadStudioVersionList:= TStringList.Create; 80 | InitRadStudioVersion(RadStudioVersionList); 81 | finalization 82 | FinallyRadStudioVersion(RadStudioVersionList); 83 | FreeAndNil(RadStudioVersionList); 84 | 85 | end. 86 | -------------------------------------------------------------------------------- /10.3.3/Keygen/Sha1.pas: -------------------------------------------------------------------------------- 1 | { 2 | 3 | *************************************************** 4 | * A binary compatible SHA1 implementation * 5 | * written by Dave Barton (davebarton@bigfoot.com) * 6 | *************************************************** 7 | * 160bit hash size * 8 | *************************************************** 9 | 10 | } 11 | unit SHA1; 12 | 13 | interface 14 | uses 15 | Windows,SysUtils; 16 | 17 | type 18 | TSHA1Digest = array[0..19] of byte; 19 | TSHA1Context = record 20 | Hash: array[0..4] of DWord; 21 | Hi, Lo: integer; 22 | Buffer: array[0..63] of byte; 23 | Index: integer; 24 | end; 25 | 26 | procedure SHA1Init(var Context: TSHA1Context); 27 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 28 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 29 | 30 | 31 | function SHA1String(M: AnsiString): TSHA1Digest; 32 | function SHA1File(N: string): TSHA1Digest; 33 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 34 | 35 | //****************************************************************************** 36 | implementation 37 | { 38 | $R- 39 | } 40 | 41 | function LRot16(X: Word; c: longint): Word; 42 | begin 43 | LRot16 := (X shl c) or (X shr (16 - c)); 44 | end; 45 | 46 | 47 | function RRot16(X: Word; c: longint): Word; 48 | begin 49 | RRot16 := (X shr c) or (X shl (16 - c)); 50 | end; 51 | 52 | 53 | function LRot32(X: DWord; c: longint): DWord; 54 | begin 55 | LRot32 := (X shl c) or (X shr (32 - c)); 56 | end; 57 | 58 | 59 | function RRot32(X: DWord; c: longint): DWord; 60 | begin 61 | RRot32 := (X shr c) or (X shl (32 - c)); 62 | end; 63 | 64 | 65 | 66 | //****************************************************************************** 67 | 68 | function F1(x, y, z: DWord): DWord; 69 | begin 70 | Result := z xor (x and (y xor z)); 71 | end; 72 | 73 | function F2(x, y, z: DWord): DWord; 74 | begin 75 | Result := x xor y xor z; 76 | end; 77 | 78 | function F3(x, y, z: DWord): DWord; 79 | begin 80 | Result := (x and y) or (z and (x or y)); 81 | end; 82 | 83 | //****************************************************************************** 84 | 85 | function RB(A: DWord): DWord; 86 | begin 87 | Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); 88 | end; 89 | 90 | procedure SHA1Compress(var Data: TSHA1Context); 91 | var 92 | A, B, C, D, E, T: DWord; 93 | W: array[0..79] of DWord; 94 | i: integer; 95 | begin 96 | Move(Data.Buffer, W, Sizeof(Data.Buffer)); 97 | for i := 0 to 15 do 98 | W[i] := RB(W[i]); 99 | for i := 16 to 79 do 100 | W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); 101 | A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; 102 | for i := 0 to 19 do 103 | begin 104 | T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; 105 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 106 | end; 107 | for i := 20 to 39 do 108 | begin 109 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; 110 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 111 | end; 112 | for i := 40 to 59 do 113 | begin 114 | T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; 115 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 116 | end; 117 | for i := 60 to 79 do 118 | begin 119 | T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; 120 | E := D; D := C; C := LRot32(B, 30); B := A; A := T; 121 | end; 122 | Data.Hash[0] := Data.Hash[0] + A; 123 | Data.Hash[1] := Data.Hash[1] + B; 124 | Data.Hash[2] := Data.Hash[2] + C; 125 | Data.Hash[3] := Data.Hash[3] + D; 126 | Data.Hash[4] := Data.Hash[4] + E; 127 | FillChar(W, Sizeof(W), 0); 128 | FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); 129 | end; 130 | 131 | //****************************************************************************** 132 | 133 | procedure SHA1Init(var Context: TSHA1Context); 134 | begin 135 | Context.Hi := 0; Context.Lo := 0; 136 | Context.Index := 0; 137 | FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); 138 | Context.Hash[0] := $67452301; 139 | Context.Hash[1] := $EFCDAB89; 140 | Context.Hash[2] := $98BADCFE; 141 | Context.Hash[3] := $10325476; 142 | Context.Hash[4] := $C3D2E1F0; 143 | end; 144 | 145 | //****************************************************************************** 146 | 147 | procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); 148 | var 149 | i, k: integer; 150 | begin 151 | for k := 0 to 7 do 152 | begin 153 | i := Context.Lo; 154 | Inc(Context.Lo, Len); 155 | if Context.Lo < i then 156 | Inc(Context.Hi); 157 | end; 158 | end; 159 | 160 | //****************************************************************************** 161 | 162 | procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); 163 | type 164 | PByte = ^Byte; 165 | begin 166 | SHA1UpdateLen(Context, Len); 167 | while Len > 0 do 168 | begin 169 | Context.Buffer[Context.Index] := PByte(Buffer)^; 170 | Inc(PByte(Buffer)); 171 | Inc(Context.Index); 172 | Dec(Len); 173 | if Context.Index = 64 then 174 | begin 175 | Context.Index := 0; 176 | SHA1Compress(Context); 177 | end; 178 | end; 179 | end; 180 | 181 | //****************************************************************************** 182 | 183 | procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); 184 | type 185 | PDWord = ^DWord; 186 | begin 187 | Context.Buffer[Context.Index] := $80; 188 | if Context.Index >= 56 then 189 | SHA1Compress(Context); 190 | PDWord(@Context.Buffer[56])^ := RB(Context.Hi); 191 | PDWord(@Context.Buffer[60])^ := RB(Context.Lo); 192 | SHA1Compress(Context); 193 | Context.Hash[0] := RB(Context.Hash[0]); 194 | Context.Hash[1] := RB(Context.Hash[1]); 195 | Context.Hash[2] := RB(Context.Hash[2]); 196 | Context.Hash[3] := RB(Context.Hash[3]); 197 | Context.Hash[4] := RB(Context.Hash[4]); 198 | Move(Context.Hash, Digest, Sizeof(Digest)); 199 | FillChar(Context, Sizeof(Context), 0); 200 | end; 201 | 202 | 203 | function SHA1String(M: AnsiString): TSHA1Digest; 204 | var 205 | Context: TSHA1Context; 206 | begin 207 | SHA1Init(Context); 208 | SHA1Update(Context, PAnsiChar(M), length(M)); 209 | SHA1Final(Context, Result); 210 | end; 211 | 212 | function SHA1File(N: string): TSHA1Digest; 213 | var 214 | FileHandle: THandle; 215 | MapHandle: THandle; 216 | ViewPointer: pointer; 217 | Context: TSHA1Context; 218 | begin 219 | SHA1Init(Context); 220 | FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, 221 | nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); 222 | if FileHandle <> INVALID_HANDLE_VALUE then try 223 | MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); 224 | if MapHandle <> 0 then try 225 | ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); 226 | if ViewPointer <> nil then try 227 | SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); 228 | finally 229 | UnmapViewOfFile(ViewPointer); 230 | end; 231 | finally 232 | CloseHandle(MapHandle); 233 | end; 234 | finally 235 | CloseHandle(FileHandle); 236 | end; 237 | SHA1Final(Context, Result); 238 | end; 239 | 240 | function SHA1Print(Digest: TSHA1Digest): AnsiString; 241 | var 242 | I: byte; 243 | const 244 | Digits: array[0..15] of AnsiChar = 245 | ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); 246 | begin 247 | Result := ''; 248 | for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; 249 | end; 250 | 251 | end. -------------------------------------------------------------------------------- /10.3.3/Release/Activator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/10.3.3/Release/Activator.exe -------------------------------------------------------------------------------- /10.3.3/Release/Readme.txt: -------------------------------------------------------------------------------- 1 | 为了便于在 Lite 15.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe 2 | 3 | 他的主要作用: 4 | 5 | 1、整合各位大虾的 Keygen 6 | 2、相对原始部署方式,这个 Activator 实现“一键激活”! 7 | 8 | 使用方法: 9 | 10 | 1、执行 Activator.exe 11 | 12 | 发布历史: 13 | 14 | 2019.11.19 - v15.3 15 | 16 | 1、根据 26.0.36039.7899 原版制作,基于 RADStudioKeyPatch.exe 的成果 17 | 18 | 2019.07.22 - v15.2.1 19 | 20 | 1、根据 26.0.34749.6593 原版制作,基于 RADStudioKeyPatch.exe 的成果 21 | 2、根据 wg961423 的反馈完善对 macOS64 的支持 22 | 23 | 2019.02.16 - v15.1 24 | 25 | 1、根据 26.0.33219.4899 原版制作,基于 RADStudioKeyPatch_Lite.exe 的成果 26 | 27 | 2018.11.26 - v15.0 28 | 29 | 1、根据 26.0.32429.4364 原版制作,基于 RadStudioKeygenSourceCodeV10.3.4364.rar 的成果 30 | 31 | 已知问题: 32 | 33 | 1、在一些操作系统上如果出现安全提示,直接确定即可。 34 | 35 | 特别感谢: 36 | 37 | 1、elseif, tonzi, freecat, unis, x-force, cjack, c5soft 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! 38 | 2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang、wg961423 等等我知道的不知道的的网友们的热情测试! 39 | 3、andreas hausladen 等大虾们的无私贡献! 40 | 41 | O(∩_∩)O~ 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/delphilite/Activator/609d67ebe20cb73935198f4d376a3c66df943b3f/README.md --------------------------------------------------------------------------------