Wednesday, May 29, 2024

Is open-source safe and secure?

Great explanation of why open-source code and security practices leads to insecure code and backdoors for the masses.






Tuesday, May 28, 2024

C# dotNet The fastest way to check if a file is a PDF file or not


Here's the fastest way to determine if a file is a PDF or not. 

To determine a file is of a PDF format, we need only read the first 4 bytes of a file and if it matches '%PDF', then we have determined the file is a PDF file. This runs on average about 400 ticks or .04 milliseconds.

Here's  an sample PDF document opened in Frhed.










The first few bytes of a file is called the header of the file, and each file type has it's own signature. You can determine the file type with their corresponding 
file signatures. A free utility here.

Here's the C# code 

using System;using System.IO;using System.Diagnostics;

public class Program
{
public static void Main()
{
	Stopwatch sw = new Stopwatch(); 
	//string sourceFile = @"D:\CMarkusDownloads\88224835-Ataatapi-Command-Set-2-Acs-2-Rev4.pdf"; //~400 ticks
	string sourceFile = @"D:\CMarkusDownloads\grepWin-2.0.0.msi"; //~400 ticks


	byte[] buffer = new byte[4]; //Create a 4 byte buffer, buffer.Length = 4
int bufferLength = 0; //buffer read length
	FileStream fr = null; 

	sw.Start(); 
	try
	{
		fr = new FileStream(sourceFile, FileMode.Open, FileAccess.Read);                 //Open source file for reading
		bufferLength = fr.Read(buffer, 0, buffer.Length);                                       //Read 4 bytes from source file
		//Console.WriteLine("Read 1st "+bufferLength+" bytes.");                                //slows down timing
		// Check the first 4 bytes, matching '%PDF' string in bytes
		if (bufferLength == 4 && buffer[0] == 0x25 && buffer[1] == 0x50 && buffer[2] == 0x44 && buffer[3] == 0x46)
		{
			// It's most probably a PDF file
			sw.Stop();
			Console.WriteLine(sourceFile + " is a PDF file in " + sw.ElapsedTicks + " ticks.");
		}
		else
		{
			sw.Stop();
			Console.WriteLine(sourceFile + " is a not PDF file in " + sw.ElapsedTicks + " ticks.");
		}


	}
	catch (Exception ex)
	{
		sw.Stop();
		Console.WriteLine(ex.Message + " in " + sw.ElapsedTicks+ " ticks.");                                   //Catch exception (if any) and display to user
	}
	finally
	{ 
		fr.Dispose(); 
	}
 
	Console.ReadKey(); 
            
}
}

Sunday, May 12, 2024

PHP var_dump beautifier


Cut n' paste var_dump() below





Simple replacements based on following rules:

  input = input.replaceAll('{ [', '{<br>[');
  input = input.replaceAll('" ["', '"<br>["');
  input = input.replaceAll('NULL [', 'NULL <br>[');
  input = input.replaceAll('} ["', '}<br>["');
  input = input.replaceAll('} }', '}<br>}');
  input = input.replaceAll(') [', ')<br>[');