ISO full https://altd.embarcadero.com/download/radstudio/11.0/RADStudio_11_2_10937a.iso File: "RADStudio_11_2_10937a.iso" Size: "6.15 GB (6,605,672,448 bytes)" CRC32:"907743a9" MD5: "04a561351bf8a2f305e513b06f8d98bf" SHA-1:"bbd7bf38f3cdf11b48955c8fcd61487f47ccf23d"
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
If you want to use GetIt. Request yours or your friend/enemy/boss a trial serial number here at https://www.embarcadero.com/products/rad-studio/start-for-free. Click [Generate Serial Number] to get registration code, then paste it into KeyPatch, click [Patch RAD Studio Setup]. The licence on the local computer will be permanent anyways. * GetIt servers must be commented out in hosts file. by KostyantinX >:)
AS ALWAYS: IT'S NOT POSSIBLE HAVE 2 OR MORE BUILD IN THE SAME PC, LIKE: 11.0 + 11.2
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
in last edition 11, I have many problem with FIRST installation. normally, I need try 6x or more until get it.
always same error saying: not possible server connection... etc... etc...
before, I simply copy the GOF file to "temp" dir and ready! all it's ok!
but in 11 edition, dont solve anymore! then, I need try and try until get it!
Does anybody have some tip for this?
NOTE: 1) NO INTERNET CONNECTION ON INSTALLation 2) HOSTS file with all address possible to 127.0.0.1 3) runnning in Admin user on executable installation! 4) NO Antivirus/Firewall blocking (Kaspersky) 5) all the same than installing RAD <= 10.4
thanks
I think that found the problem.... the HOST file it should allowed use any Embarcadero address!!!
answer: at least, DONT BLOCK EMBarcadero address on installation!!!
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
@pp0123 of course that it's possible, your view and me and all TotalVirus. no problem, all can be true!
but, let's count that the "file" (keypatch.exe) passed by many hands, not? then, your suspected can be true! for sure!
but the source code can solve this, then, "kostyantynko" can show if yes or not!
for all, let's trusth or not?
try compile this and change it if you want to test with your AV https://github.com/elseif/RadStudioVersion/releases
Keygen RAD 11.1.5 C++Builder 11.1.5 by "kostyantynko" https://wedelphi.com/resources/66/
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
function PatchTrustVerify: Boolean; var HdlTrust: THandle; ApiAddress: Pointer; vOldProtect: DWORD; begin HdlTrust := LoadLibrary('wintrust.dll'); if HdlTrust <> 0 then begin ApiAddress := GetProcAddress(HdlTrust, 'WinVerifyTrust'); if ApiAddress <> nil then begin VirtualProtect(ApiAddress, 5, PAGE_EXECUTE_READWRITE, @vOldProtect); Move(TrustPatchData[0], ApiAddress^, 5); VirtualProtect(ApiAddress, 5, vOldProtect, @vOldProtect); end; ApiAddress := GetProcAddress(HdlTrust, 'WinVerifyTrustEx'); if ApiAddress <> nil then begin VirtualProtect(ApiAddress, 5, PAGE_EXECUTE_READWRITE, @vOldProtect); Move(TrustPatchData[0], ApiAddress^, 5); VirtualProtect(ApiAddress, 5, vOldProtect, @vOldProtect); end; TrustPatched := True; end else TrustPatched := False; Result := TrustPatched; end;
procedure PatchRadioStudio; var HModule: THandle; ModuleCrc, vOldProtect: DWORD; ModName: array [0 .. MAX_PATH] of WideChar; pModName: PWideChar; AdrValueMod: PDWORD; begin HModule := GetModuleHandleW(nil); // DisableThreadLibraryCalls(HModule); GetModuleFileNameW(HModule, ModName, Length(ModName)); pModName := @ModName[0]; while pModName^ <> #0 do begin Inc(pModName); end; while pModName^ <> #$5C do begin Dec(pModName); end; Inc(pModName); if lstrcmpiW(pModName, 'bds.exe') = 0 then begin // ModuleCrc := CalcFileCRC(ModName); // if ModuleCrc = $1EB2EB86 then // CRC32 Value of bds.exe begin //53B65鈥� AdrValueCmp := HModule + $1FBD6;//{$1FBD6} // 琛ヤ竵 璺宠浆FinalizeArray AdrValueMod := ptr(HModule + $fce94); //FinalizeArray鐢虫槑 // &rtl250.System::FinalizeArray FinalizeArrayAdr := AdrValueMod^; // get the real FinalizeArray api address VirtualProtect(AdrValueMod, 4, PAGE_EXECUTE_READWRITE, @vOldProtect); AdrValueMod^ := DWORD(@AsmCode); // set a hook of the api VirtualProtect(AdrValueMod, 4, vOldProtect, @vOldProtect); end; end; if lstrcmpiW(pModName, 'LicenseManager.exe') = 0 then begin // ModuleCrc := CalcFileCRC(ModName); // if ModuleCrc = $1EB2EB86 then // CRC32 Value of bds.exe begin AdrValueCmp := HModule + $14A95E;//{$14A95E}; // 琛ヤ竵 璺宠浆FinalizeArray AdrValueMod := ptr(HModule + $4BB750); //FinalizeArray鐢虫槑 // &rtl250.System::FinalizeArray FinalizeArrayAdr := AdrValueMod^; // get the real FinalizeArray api address VirtualProtect(AdrValueMod, 4, PAGE_EXECUTE_READWRITE, @vOldProtect); AdrValueMod^ := DWORD(@AsmCode); // set a hook of the api VirtualProtect(AdrValueMod, 4, vOldProtect, @vOldProtect); end; end; end;
ModHandle := LoadLibrary(SysPath); if ModHandle > 0 then begin pSHGetFolderPathA := GetProcAddress(ModHandle, 'SHGetFolderPathA'); pSHGetFolderPathW := GetProcAddress(ModHandle, 'SHGetFolderPathW'); PatchRadioStudio; end; end;
procedure DllMainEntry(dwResaon: DWORD); begin case dwResaon of DLL_PROCESS_DETACH: ; DLL_PROCESS_ATTACH: LoadSysVersion; DLL_THREAD_ATTACH: if not TrustPatched then PatchTrustVerify; DLL_THREAD_DETACH: if not TrustPatched then PatchTrustVerify; end; end;
begin DllProc := @DllMainEntry; DllMainEntry(DLL_PROCESS_ATTACH); end. x1.00
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
procedure SHGetFolderPathA; asm jmp pSHGetFolderPathA end; procedure SHGetFolderPathW; asm jmp pSHGetFolderPathW end; // CRC32 procedure MakeCrcTable; var i, j, Crc: DWORD; begin for i := 0 to 255 do begin Crc := i; for j := 0 to 7 do begin if (Crc and 1) <> 0 then Crc := (Crc shr 1) xor $EDB88320 else Crc := Crc shr 1; end; CrcTable[i] := Crc; end; end; function CalcFileCRC(FileName: string): DWORD; var F: file; BytesRead: DWORD; CRC32: DWORD; Buffer: array [1 .. 65500] of byte; i: Word; begin MakeCrcTable; FileMode := 0; CRC32 := $FFFFFFFF; {$I-} AssignFile(F, FileName); Reset(F, 1); if IoResult = 0 then begin repeat BlockRead(F, Buffer, Sizeof(Buffer), BytesRead); for i := 1 to BytesRead do CRC32 := (CRC32 shr 8) xor CrcTable [Buffer[i] xor (CRC32 and $000000FF)]; until BytesRead = 0; end; CloseFile(F); {$I+} Result := not CRC32; end; procedure AsmCode; asm push eax mov eax, AdrValueCmp cmp eax, dword ptr [esp+$4] jnz @LeaveASm mov eax, dword ptr [ebp-$4C] mov byte ptr [eax], $1 @LeaveASm: pop eax jmp FinalizeArrayAdr end; function PatchTrustVerify: Boolean; var HdlTrust: THandle; ApiAddress: Pointer; vOldProtect: DWORD; begin HdlTrust := LoadLibrary('wintrust.dll'); if HdlTrust <> 0 then begin ApiAddress := GetProcAddress(HdlTrust, 'WinVerifyTrust'); if ApiAddress <> nil then begin VirtualProtect(ApiAddress, 5, PAGE_EXECUTE_READWRITE, @vOldProtect); Move(TrustPatchData[0], ApiAddress^, 5); VirtualProtect(ApiAddress, 5, vOldProtect, @vOldProtect); end; ApiAddress := GetProcAddress(HdlTrust, 'WinVerifyTrustEx'); if ApiAddress <> nil then begin VirtualProtect(ApiAddress, 5, PAGE_EXECUTE_READWRITE, @vOldProtect); Move(TrustPatchData[0], ApiAddress^, 5); VirtualProtect(ApiAddress, 5, vOldProtect, @vOldProtect); end; TrustPatched := True; end else TrustPatched := False; Result := TrustPatched; end; procedure PatchRadioStudio; var HModule: THandle; ModuleCrc, vOldProtect: DWORD; ModName: array [0 .. MAX_PATH] of WideChar; pModName: PWideChar; AdrValueMod: PDWORD; begin HModule := GetModuleHandleW(nil); GetModuleFileNameW(HModule, ModName, Length(ModName)); pModName := @ModName[0]; while pModName^ <> #0 do begin Inc(pModName); end; while pModName^ <> #$5C do begin Dec(pModName); end; Inc(pModName); if lstrcmpiW(pModName, 'bds.exe') = 0 then begin ModuleCrc := CalcFileCRC(ModName); if ModuleCrc = $1EB2EB86 then // CRC32 Value of bds.exe begin AdrValueCmp := HModule + $1E7D5; //the function call return address AdrValueMod := ptr(HModule + $26886C); // find the import data // &rtl250.System::FinalizeArray FinalizeArrayAdr := AdrValueMod^; // get the real FinalizeArray api address VirtualProtect(AdrValueMod, 4, PAGE_EXECUTE_READWRITE, @vOldProtect); AdrValueMod^ := DWORD(@AsmCode); // set a hook of the api VirtualProtect(AdrValueMod, 4, vOldProtect, @vOldProtect); end; end; end; exports SHGetFolderPathW, SHGetFolderPathA; procedure LoadSysVersion; begin GetMem(SysPath, MAX_PATH); GetSystemDirectory(SysPath, MAX_PATH); SysPath := lstrcat(SysPath, '\shfolder.dll'); ModHandle := LoadLibrary(SysPath); if ModHandle > 0 then begin pSHGetFolderPathA := GetProcAddress(ModHandle, 'SHGetFolderPathA'); pSHGetFolderPathW := GetProcAddress(ModHandle, 'SHGetFolderPathW'); PatchRadioStudio; end; end; procedure DllMainEntry(dwResaon: DWORD); begin case dwResaon of DLL_PROCESS_DETACH: ; DLL_PROCESS_ATTACH: LoadSysVersion; DLL_THREAD_ATTACH: if not TrustPatched then PatchTrustVerify; DLL_THREAD_DETACH: if not TrustPatched then PatchTrustVerify; end; end; begin DllProc := @DllMainEntry; DllMainEntry(DLL_PROCESS_ATTACH); end.
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
@stacer at 19 floor !!! Previous RAD Studio build must be thoroughly uninstalled before installing most recent build !!!
----------------------------------------------
-
hash to keypatch file by "kostyantynko"
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
kostyantynko 就在这个论坛里,@他,请他写个批处理删除旧版信息,一劳永逸! kostyantynko is one of us in the forum. Ask him to write a BAT to settle the residual information, haha!
----------------------------------------------
-
No need to do any extra, just follow these steps...
The previous version must be uninstalled, and those directories must be removed manually.
C:\Program Files (x86)\Embarcadero\Studio\22.0\bin folder C:\ProgramData\Embarcadero\.8222_52xx..xx.slip with the corresponding SLIP file format for this RAD Studio. C:\Users\%USERPROFILE%\AppData\Roaming\Embarcadero\BDS\22.0 C:\Users\Public\Documents\Embarcadero\Studio\22.0
Registry branches at HKEY_CURRENT_USER\Software\Embarcadero\BDS\22.0 If 64-Bit, the copy of the registry branch must be remover if exists at HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Embarcadero\BDS\22.0
Reboot the computer.
Before start installation: * Turn off Anti Virus. * Allow folder access. * Computer must not be joined to Domain or organization. * Some Policies can prevent installation, and so on...
radstudio_11_esd_110937a.exe and radstudio_11_esd_110937a.gof must be extracted into the same directory for offline installation.
Right click as Administrator on radstudio_11_esd_110937a.exe Select language, click "Option" button, check the installation location for "C:\Program Files (x86)\Embarcadero\Studio\22.0" and Catalogue Repository points to "C:\Users\Public\Documents\Embarcadero\Studio\22.0" and repeat the KeyPatch very important steps at 3, 4, 5. ... 3. Agree the License Agreement, click Next for the License Input page, DO NOT click Install 4. Now on KeyPatch, click Generate Serial Number and Patch RAD Studio Setup process 5. Go Back to Setup - RAD Studio 11 click Back, then select Use Existing License, click Install ...
For some causes of unsuccessful installation. Please understand, no one can see or even predict the configuration of the target computer that prevents such cause.
Is there any installation success, or solving problem, please report it below.