CrackMe® Practices for Newbies
PROJECT 6: caveman by Ghiribizzo

hope this helps a little....
Friday, 26-Feb-99 02:17:25

    i'm still pretty lost myself...however, I made the keyfile so that it accepts the first 2 bytes which are 03 00 and as username jg$ 6a 67 24 three bytes including terminating $ which is 24)then it reads the next 2 bytes...you can't know what these are until at line:

    :0177 cmp ax,[065a]

    the values the program is looking for are calculated and stored in ax and compared to memory location [065a] which contains the two bytes you put into the .dat file...
    so...bpx 0177

    dump 065a (d 065a) and notice the first two bytes...these are from your file...now notice the value in the ax register...this is what the program wants...example: ax=b927 you must put 27 b9 (they are reversed)in the two bytes immediately following the 24 (which is the $ string terminator you put at the end of your username)...
    now add 100 bytes of 00 00 00 00 00 00 etc...
    now...

    bpx 053e

    d 0100

    F5 to run...notice the data screen has a matrix of "T"'s...and a # sign and cc ww aaa bbb and one f...now single step and watch the # sign...it moves...this is the "game"...it occurs in the data memory...the values of the 100 bytes at the end of the .dat file change the register value in BX which causes the # sign to move up, down, left right...the start position of the # is determined by calculations performed on thr username so it is different for everyone...you must fill the 100 bytes with
    correct values which end up in bx and cause the # to move in these directions as several of the others have oulined in their threads...I hope this helps a little...I'm a newbie myself and am also participating to gather knowledge...

    ps-I am confident the others will point out if this message contains any inaccuracies, but I think it's basically close...

    snakebyte__


    snakebyte__


Message thread:

Joseph's Thread (Joseph) (25-Feb-99 04:47:28)

Back to main board