View Single Post
Old 09-22-2021, 12:27
countryboy countryboy is offline
Join Date: Sep 2021
Location: in the country
Posts: 24
Rept. Given: 0
Rept. Rcvd 21 Times in 12 Posts
Thanks Given: 33
Thanks Rcvd at 116 Times in 23 Posts
countryboy Reputation: 21
Smile Activation Posted Here: Loader V2.1 + Extra Features + Video : by countryboy

Hi, mcr4ck

I am countryboy,

I wrote a loader many years ago, the latest Release is posted here ...
There are 2 Versions 32bit, and 64bit, and Loader can also be used as Trial Reset.
I will be releasing a graphical Interface shortly ...

If anyone is interested I wrote a Tutorial, and posted it on CGPersia, and I can post it here if Interested.
The Tutorial is from many years ago, and most of it is Images. I have made a lot of changes over the years.
The code contains all the basic code, and is in Lazarus Pascal.

Have a great day, countryboy


I wrote the v1 Loader Code many years ago for HitFilm 64 bit, and BuildBox 32 bit, because no 64 bit Loaders were available.
HitFilm can be run in a Debugger, and Code changed, but changes can't be saved, because all Files check others CRC.
BuildBox is slow, unpacks in memory, checks CRC of Patched Network.dll, and checks Code Segment Memory CRC of itself.

LOADER START : Open LoaderConfig.TXT : Set Defaults, Check version, File Size, Setup messages, and minimize Window.
KILL TASK( Program to Patch ) in case it's hung in memory from a previous run.
KILL TASK( START ) : Protection Guards, or Crack protection programs loaded by Program to Patch. Needed in HitFilm.
Message Box( START ), RUN( START ), RUN REGISTRY( Start only ), RUN( BEFOREPATCH ), and after Registry is done.

ASLR : Windows loads programs into random selected Memory requiring search for Program Name to get Segment offset.
GOD LIKE PRIVILEGES are requested to Debug, and change programs memory before loading, and starting.
TIME CRITICAL : Need to wait for Windows to read Hard drive, and load program into Memory before starting search.
Windows Function WaitForSingleObject() waits ReadmemWaitTime : max time in milliseconds to load, and exist in memory,
and Windows Function WaitForDebugEvent waits additional 10 milliseconds maximum to finish loading.

LET THE SEARCH BEGIN : Windows Function EnumProcessModules() used to search for Programs Name in Memory.
While not found : If error then wait 1 millisecond before trying again & if not found after ASLRmemory_MaxAttempts=5000
Set Image Base to Default ASLR, and create a Image Base not found message after 5 seconds the Attempt count.
PACKED SLOW LOADING PROGRAMS : use Windows Function WaitForInputIdle() to wait for program to unpack itself.

IMAGE BASE FOUND : Program Thread is suspended for Patching, and any Error Messages saved.
LoaderConfig.txt opened, and list of Patches done. Code verified to exist before NewCode is written at Offset.
If a Error occurs, Patch number is saved, and Patching continues. Critical Errors are displayed later in a Message Box.
While Thread is suspended : Error messages displayed, and any RUN( AFTERPATCH ), or MsgBox( AFTERPATCH ) are done.

CONTINUE : Resume Thread with Program continuing to Load. Restore any defaults changed like Normal Dos video.
If Close Pop Up Box then Loop through list, close WindowName, and all numerical WindowName1 starting with 1,2,3
If WaitTime= Default wait 35 seconds Maximum for Pop up to load. HitFilm Pop up slow due to Loading Internet images.
BEFORE QUIT : KILL TASK( END ) Kill Programs, RUN( END ) Start Programs, or Message Box( END ), and QUIT !

Last edited by countryboy; 09-22-2021 at 12:40.
Reply With Quote
The Following 4 Users Say Thank You to countryboy For This Useful Post:
Hypnz (09-23-2021), mcr4ck (09-22-2021), niculaita (09-23-2021), Stingered (09-24-2021)