downloadbrowsegeeko's Picasso

Download ownapi.zip, 207 kb (password: crackmes.de)
Browse contents of ownapi.zip

The proggy explains itself
U have to find out the correct code to activate SAVE button
and let EXIT button to do what it is supposed to do.
There is no antidebugging trick nor packer used
don't patch, find the code.
Written in Delphi September 2006

good luck

Geeko

Difficulty: 2 - Needs a little brain (or luck)
Platform: Windows
Language: Borland Delphi

Published: 04. Sep, 2006
Downloads: 637

Rating

Waiting for at least 3 votes
(we have only 2).

Rate this crackme:

Send a message to geeko »

View profile of geeko »

Solutions

Solution by Zaphod, published 07. nov, 2006; download (100 kb), password: crackmes.de or browse.

Zaphod has rated this crackme as quite nice.

Submit your solution »

Discussion and comments

geeko
Author
04. Sep 2006
tip: window is white
geeko
Author
05. Sep 2006
write a tutorial
BaKaE
05. Sep 2006
i got a question

1. did you really use "TButton"
if yes: how did you hide the button-ressource

my ressource-editor don't show the TButton-ressource only TImage
geeko
Author
05. Sep 2006
There is no tbutton resource as known from Delphi
l0calh0st
05. Sep 2006
i think it uses the form.keydown events......Not sure though...found the way to patch but didn't got where it actually reads the entered serial
EvOlUtIoN
05. Sep 2006
very good crackme!
geeko
Author
06. Sep 2006
127.0.0.1, u are close, but I didn't use keydown. How and where did u find the patch? I'd like to know. Well, it could be said that I never read the serial entered :-) , but... I check it somehow. how? Does the patch resolves both SAVE (good boy message) and EXIT? how?
l0calh0st
06. Sep 2006
Yes the patch resolves it
0045087C 34 01 xor al,1

to

0045087C 34 00 xor al,0
geeko
Author
06. Sep 2006
127.0.0.1, Congratulations. U found a very good spot (can u write a tut on how did u find it, please?), but u need to find the code as I said. Sorry. Let's say it's a key to some treasure :)
Do u still work on it, or need some tips?
BaKaE
18. Sep 2006
is the numer "16777215" important, coz it arives while debugging
geeko
Author
19. Sep 2006
want some hints?
BaKaE
19. Sep 2006
yes, so what does this number mean?
geeko
Author
19. Sep 2006
it is important, coz it;s part of the test. Put it in hex. see something?
geeko
Author
25. Sep 2006
d16777215=hFFFFFF=white color! (remember the first comment?)
overhead
26. Sep 2006
hi, it must have to do something with the embedded TImages... "hot spot code" loops through pixels (getpixel).
unfortunatelly i cant see, how user input is related to this... patching would be easy :o) but... need some further investigation on this one!
overhead
26. Sep 2006
[cite] Well, it could be said that I never read the serial entered :-) [/cite]

hmm... some idea pops up in my lil tired brain... maybe "serial" is checked by its "graphical" representation through pixel... crazy if so :o)
overhead
26. Sep 2006
YEAH......... I GOT IT! :)
overhead
26. Sep 2006
part of serial = 43Uuak/

me makes a lil dance :o) nice ONE geeko!!! i now have to write a tut... but not tonite... keep searching guys... even the color blinds ;o)
geeko
Author
26. Sep 2006
Is very good what u did spot.
waiting tut
thanx
geeko
Author
12. Oct 2006
the code is encrypted in an Timage.
Zaphod
26. Oct 2006
Geeko, I'm ripping my hair out over this one!
I asssume overhead is right when he says that the serial is checked by it's graphical representation, but when GetPixel breaks with x,y-values within the area of the serial, it returns 0xFFFFFFFF meaning these values are outside the clipping region.
And I don't see any cliprgn-functions in the crackme. Arrrgh!

By the way, I tried localhost's patch ( xor al,1 -> xor al,0 ). I made no difference on my computer :(
Zaphod
26. Oct 2006
I made no difference on my computer :(

should have been

It made no difference on my computer :(
geeko
Author
27. Oct 2006
zaphod, maybe the clipping region is not visible while u debug it. I dont know...
The XOR patch is correct.
I think the simplest way is to find the key image and try to decript it using some graphics filters or using the encryption algo within the code.
Zaphod
03. Nov 2006
geeko, I finally found the password ( encrypted in TImage5 ), but I still don't know how you "read" the typed serial.

I hope someone will post a solution.
geeko
Author
06. Nov 2006
Zaphod, post the solution. Reading the text is not required in this crackme, but you can look at Onkeypress event!
Zaphod
07. Nov 2006
Geeko, I did try to set breakpoints at WM_Keydown and WM_Keyup, but that didn't get me anywhere.
But okay, I'll write a short tutorial on how to extract the key from the bitmap, then we'll see if the moderators accept it :)
geeko
Author
07. Nov 2006
I don't know exactly how Delphi wraps WM_keyup and WM_keydown messages, but I tell you I surely used form.onkeypress event. Using dede will tell you exaclty where to BP.
g'luck
Zaphod
07. Nov 2006
Hey, that's a really smart program, Dede! I just downloaded it, and it should prove very helpful!

By the way, I submitted my solution to the program...
geeko
Author
08. Nov 2006
Dede is good, but...........
Try it on some of my latest crackmes! surprize! ha?

You may leave your comment, thoughts and discuss this crackme with other reversers here.
Acting childish will not be tolerated.
HTML and such will be left as-is, so don't try.