Jump to content
Tuts 4 You

Scroller box improved by lord_Phoenix (ripped by me)


Recommended Posts


this scroller box i have ripped is actually lord_Phoenix's improved version of Funbit's scroller box from xfrog.3.5.051204.keygen-tsrh.zip .

the difference is that this one is non-transparent and the other one from xfrog is 50% transparent. however i have removed the REVENGE CREW logo procedure (see the image below) which i believe it was a gif according to this string (which it was supposed to load from memory i think,i don't see any resource of that in PE Explorer) : 

aGif89ak        db 'GIF89a¬',0


however this time i made the scroller to restart and to make the noise level not to increase after the first restart of the scroller .

but if the scroller is too fast on ur pc, set the Sleep amount to 23h or 1Fh on the loc_401550 and loc_401594 procedures. mine seems to work pretty fine with the speed i have set (12).

p.s.: Thanx 2 sama for the loop problem inspection on the static and vertical scroller initialization.

p.s.s.: as AlphaBlend function was used for transparency, you need to include msimg32.inc and lib to make it work.

music by Radix (taken from xfrog.3.5.051204.keygen-tsrh.zip)


Edited by r0ger
  • Like 4
Link to comment
Share on other sites

This looked really interesting to me so I decided to recode and optimize this thing in c, the changes I made are the following:

1.)Recoded it in c which makes it more flexible and easier to embed and adds compatibility with x64

2.)Made it so you can draw multiple of these boxes on a form

3.)Made it so you can use as many colors as you want in the static box, instead of 2 

4.)Optimized the code a bit

The files are provided below, this also includes an example application using this:

StaticBox.c StaticBox.h ExampleApp.c

  • Like 1
Link to comment
Share on other sites

thanks for recoding them in C dude , i appreciate that :)

and btw, here's an update for the scroller box.

to change the color of the box completely (the white one) , all u need to is to create a new color for the box and apply it PATCOPY option on PatBlt functions:

beginning of DrawProc:

@@:		mov NoiseAmount, 4Fh
		invoke CreatePen,0,1,LineColor
		invoke SelectObject,hdcSrc,eax
		invoke CreateSolidBrush,LineColor ;<-- this.
		invoke SelectObject,hdcSrc,eax
		invoke BitBlt,hdcSrc,0,0,BoxWidth,BoxHeight,BoxDC,xPos,yPos,SRCCOPY
		xor eax, eax
		mov eax, BoxWidth
		shr eax, 1
		mov ebx, BoxHeight
		shr ebx, 1
		sub eax, 3
		mov left, eax
		mov top, ebx
		inc top
		add eax, 6
		mov right, eax
		mov bottom, ebx
		dec bottom
		mov _h, 0
		mov w, 6


mov ebx, edi
		cmp ebx, offset Haah
		jnz loc_40147B
		invoke PatBlt,hdcSrc,0,0,BoxWidth,1,PATCOPY ; <-- this
		invoke PatBlt,hdcSrc,0,BoxHeight-1,BoxWidth,1,PATCOPY ; <-- and this
		dec var_4
		mov eax, _y
		add eax, 0Fh
		mov ebx, 0FFFFFFF1h
		cmp eax, ebx
		jl loc_401594
		jmp $+2

final result (PATCOPY):


initally the PatBlt's were set to WHITENESS when i initially ripped them so it resulted in this:


sry i haven't tested that before 😛

Link to comment
Share on other sites

Currently I do not have a lot of time at hand so I will not address this, if you wish you can go into my c code and change it there.

Love your work r0ger, these graphics that can be done with simple c(masm in your case) are incredible, and I'm looking forward to recode more of those in c.

  • Like 1
Link to comment
Share on other sites

1 minute ago, BataBo said:

if you wish you can go into my c code and change it there.

i will have a look sometime, but i mostly code keygens in MASM32 (Winasm studio) so i prefer it old-school in some way.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
  • 3 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...