Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » UppHub » Protect package - A starting copy protection system
Re: Protect package - A starting copy protection system [message #49963 is a reply to message #49962] Thu, 07 June 2018 13:16 Go to previous messageGo to previous message
Tom1
Messages: 1301
Registered: March 2007
Ultimate Contributor
Hi Max,

Here's the last stretch of ProtectEncrypt with added automatic 32/64 -bit Windows PE machine type detection and respective XED configuration. Works with MSBT17/MSBT17x64 on Windows.

	Cerr() << "ENCRYPTION KEY : " << HexString(key) << "\n";
	
	// loads file into buffer
	String fName = CommandLine()[0];
	if(!FileExists(fName))
	{
		Cerr() << "File '" << fName << "' not found\n";
		return;
	}
	FileIn f(fName);
	dword size = (dword)f.GetSize();
	Buffer<byte>buf(size);
	f.GetAll(buf, size);
	f.Close();

#ifdef WIN32 // Tom added
	int coffindex=*(unsigned int*)&buf[0x3c];
	unsigned short machine=*(unsigned short*)&buf[coffindex+4];
	switch(machine){
		case 0x14c: //i386
			Cout() << "Processing 32-bit i386 executable\n";
			XED.Set32bitMode();
			break;
		case 0x8664: // AMD64
			Cout() << "Processing 64-bit AMD64 executable\n";
			XED.Set64bitMode();
			break;
		default:
			Cout() << "Unknown executable - Cannot process\n";
			return;
	}
				
#endif

	// encrypt the application
	CryptBuf(buf, buf + size, key);

	// save the encrypted file
	FileOut fOut(fName);
	fOut.Put(buf, size);

	// sets up exit code
	SetExitCode(0);


Please merge, if this looks OK to you.

Best regards,

Tom
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: UPDATED PROTECT PACKAGE
Next Topic: OAuth2 package for U++
Goto Forum:
  


Current Time: Sat Apr 26 09:52:43 CEST 2025

Total time taken to generate the page: 0.01353 seconds