Project 6 Task 3 Question 3 Wednesday, 10-Feb-99 23:09:30
What I have found so far is: I look at listing from wdasm and look at all calls in code before :0040B73A E881150000 call 0040CCC0 ;check fake serial to real serial I see and guess that this call could be good serial routine I was correct after check further :0040B714 E8F0DBFFFF call 00409309 ;routine to calculate ;good serial in code from ;00409323 to ;00409349 prog zero three buffer areas to use at SS:0068F2E5 zero 64 bytes, at SS:0068F3BE zero 48 bytes, & at SS:0068F329 zero 64 bytes. (writes byte 00 in each byte) in code from :00409351 to :00409364 prog move string 'Memory game' to buffer at ss:0068F3BE in code from :00409368 to :00409399 the prog get 1st letter of string 'M' and use it to write 8 bytes in buffer area starting at :0068F329 don't understand but prog does arithmetic shift right the bits in 'M' number of times according to value in reg CL, CL is counter for number of bytes (up to 8) that have been written in buffer, so shift right is different number everytime, starting at 0 (no shift) and go to 7. Prog then skips to every other letter in 'Memory game'. Uses 4d 6d 72 20 61 65 00 (7 letters or bytes) each one for 8 bytes so buffer now has 56 byte table in it after done. At this point don't understand why. in code from :0040939C to :004093AA prog zeros buffer at ss:0068F3BE writing over 'Memory game'. Will do more later. OHBC ohbc |
OHBC: Project 6 Task 2 (04-Feb-99 23:06:43) |
|
Copyright © InsideTheWeb, Inc. 1997-1999
All rights reserved.