Scream Through Searches With Byte Arrays

Scream Through Searches With Byte Arrays

This subroutine shows how byte arrays can speed a search though a file.The routine is called with the file name, a string to look for, a flagthat tells it to use a string variable or a byte array and a flag thattells it to look for Unicode or ANSII strings (strings in VB4 EXEs arein Unicode). My test, with ibyte set to true (use byte array) took aboutsix seconds to search though 32-bit WINWORD.EXE. The same file with ibyteset to false (use string variable) ran in about 36 seconds. The file isalmost 4 MB.

 Sub Searchfile(sFile As String, sSearch As String, ibyte _ As Boolean, iUniCode As Boolean)	'sFile - file name	'sSearch - string to search for	'ibyte - use byte array to search	'iUniCode - look for UniCode strings	Dim iHandle As Integer	Dim sTemp As String	Dim lSpot As Long	Dim lFind As Long	Dim sSearch1 As String	Dim bTemp() As Byte	'another advantage of using a byte array	'is that we can easily look for UniCode strings	If iUniCode Or (Not ibyte) Then		'this line will look for unicode strings		'when using byte arrays, regular 		'strings when using string variable		sSearch1 = sSearch	Else		'this line will look for ANSII strings 		'when looking through a byte array		sSearch1 = StrConv(sSearch, vbFromUnicode)	End If	iHandle = FreeFile	Open sFile For Binary Access Read As iHandle	If iHandle Then		sTemp = Space$((LOF(iHandle) / 2) + 1)		ReDim bTemp(LOF(iHandle)) As Byte		If ibyte Then			Get #iHandle, , bTemp			sTemp = bTemp		Else			Get #iHandle, , sTemp		End If		Close iHandle	End IfDo	If ibyte Then		lFind = InStrB(lSpot + 1, sTemp, _			sSearch1, 1)	Else		lFind = InStr(lSpot + 1, sTemp, sSearch1, 1)	End If	lSpot = lFindLoop Until lFind = 0End Sub
Share the Post:
Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular

XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes