Log in

View Full Version : Crackme Newbie Classics 2-4


Rage9
May 16th, 2002, 05:04
Ok i guess I'll jump in on this, its time to re-crack and re-reverse my 3 previous crackmes, they have been disscussed on this board so if you search you will find the solutions, but good learning material!!! Classic!

http://www16.brinkster.com/realcool23/download/rcrackme1.zip

http://www16.brinkster.com/realcool23/download/rage2.zip

http://www16.brinkster.com/realcool23/download/RIII.zip

In order from easyest to hardest, enjoy!

-Brad

Nightflyer
May 16th, 2002, 06:10
Hi,

i tried to download your crackmes, but the link is not working, even not when iam on the main side and click on Download


Nightflyer

CoDe_InSiDe
May 16th, 2002, 06:24
Hi Nightflyer,

Just go to here:

h**p://www16.brinkster.com/realcool23/main.htm

And from there go to "downloads"

Cya...

CoDe_InSiDe

*Edited*
Pff... Lame CoDe_ must be sleeping
I see what you mean now hehe...

Nightflyer
May 16th, 2002, 19:19
Hi,


Sorry its still not working!!!!!



Nightflyer

Rage9
May 18th, 2002, 16:48
It works for me I just drag and drop the link into my address bar (MSIE) and it works fine....

-Brad

Nightflyer
May 21st, 2002, 01:48
Hi,


sorry the link is working.

I posted the my tut for crackme1 in the solution area


ty for the Crackmes

GREETINGZ TO ALL


NIGHTFLYER

Sphinx
May 23rd, 2002, 13:40
i posted the solution to these crackmes a while ago but i could find them any more with the search maybe i re post them if anyone would like that

Sphinx

Adri_Magnon
June 19th, 2002, 17:53
Hi,

I am new and need some help on the first one (rcrackme1). What I did was open up the prog in Wdasm and since it was only 6 pages, printed it. Then I figured I'd use Hiew to make any changes. The thing is, I really don't understand the setup. I got a few FAQs on ASM and read through them but I still can't figure this one out. I tried some editing and got a lot of crashes and got the compare and exit buttons to not work but couldn't get the two boxes to be equal no matter what.

I was hoping I could just change thebox displayed when the numbers were compared to the same box and then for the optional 'exit' box, use the one that wouldn't be needed (the numbers are not equal). I was thinking maybe three lines of code at most. So, anyway, I give up and was wondering if you can post the solution to this crackme.

I searched the forum under Rage9 and Sphinx and also solution(s) and rage and crack. I got some weird results. Under some searches I got only up to the begining of May and under just display threads from begining I got them all. I also tried Google and Copernicus and the student papers at Woodmann.

Thanks,

Adri_Magnon

Adri_Magnon
June 19th, 2002, 19:08
Hello,

Alright. I found NightFlyer's solution text. I feel kinda stupid. I realized my problem was how I was reading my Wdasm print out. I had all those "* reference" and basically just a lot of unnecessary lines so when I got to the part that NightFlyer used I passed over it. I got a ASM text and started trying to translate the code to thngs I would understand better.
I had really wanted to complete it without help. I figured I might as well share how I appraoched the problem and how I thought I was gona solve it.

I figured that the simplest way to do it would be to convert the information in box one to Hex and then save it at some register. Do the same with box two and then compare them with some "if, else" code. My quick writing was

1 -> hex = A
2 -> hex = B

CMP A, B
IF A,B = 0 goto "Equal"
Else goto "Not equal"

I thought one possible way to solve this would be to add the two values together and create and compare resulting value.

A+B=C
B+A=C

CMP C,C

Then I thought maybe the jump that "Not equal" used could be changed to the same one that "Equal" used.
I figured that if the "Not Equal" msg box was gonna be available, to use the exit button to open that up and the "OK" button on that box could be used to close the program for good.

I figured that would be around three lines of changed code.

Anyway, I read through the code and couldn't pinpoint where the decision of box displayed was shown. I also couldn't find where the two values where saved. I though that some code was being used where the values where changed by some math deal. If some one could suggest for me a tutorial that covers these ideas and actions more in depth I would REALLY appreciate it.

Thanks,

Adri_Magnon
P.S. I have a quick question, what does "Jmp dword ptr" mean?

Rage9
June 20th, 2002, 04:23
Here are some links to help u out bud:

Full, in depth discussion for Crackme #1:

http://www.woodmann.net/forum/showthread.php?s=&threadid=159

Full, in depth discussion for Crackme #2:

http://www.woodmann.net/forum/showthread.php?s=&threadid=161


Full, in depth discussion for Crackme #3:

http://www.woodmann.net/forum/showthread.php?s=&threadid=166

maybe ill start work on another, i have not been on the scene much lately so yeah

-Rage

ZaiRoN
June 20th, 2002, 09:46
hi Adri_Magnon,
Quote:
what does "Jmp dword ptr" mean?

this is an *indirect* jump:
jmp dword ptr [404040]
the execution of this instruction brings you not in the instruction at address 404040 but in the instruction at address pointed by the double word (4 bytes) at 404040.
maybe a little example could help you:
Code:

... <useless code>
00407030: jmp dword ptr [404040] <-- you are here
... <useless code>
00408005: ret

if you want to know where the jump will bring you, you have to search what's the double word pointed by 404040 is.
suppose that 404040 points to this byte's sequence:
404040: 05 80 40 00 90 90 90 90...
we are interested in the first 4 bytes. so the jump instruction will bring us at 00408005, the 'ret' instruction (remember the intel notation!)

you can use this method with other instructions ('mov dword ptr...', 'cmp dword ptr..')...the concepts are the same.

ok, this is only a little (quickly) explanation; now you can deepen the argument looking for some nice asm tutorials (iczelion's site is a good reference point)

bye
ZaiRoN