Today I almost finished my first asm program but I have a small problem. The program consists of two edit boxes. When I type somthing in box1, I want box2 to show what I typed in box1 - but reversed. Everything works fine until I delete letters from box1, then the old reversed letters are still in box2!! I asked a friend about my problem and he said something about "nullterminated strings" but I can't figure it out! Can someone else help me?
Posted on 2001-03-10 19:18:00 by Newbie #1
It sounds like what you are doing requires a subclass for the first edit box so that you can process WM_CHAR. Each time you press a key, you need to get the contents of the first and copy it reversed to the second. Good Luck, hutch@pbq.com.au
Posted on 2001-03-10 19:38:00 by hutch--
Hi Newbie #1, maybe you want to take a look at my keygens on my site (YaWNS - Yet another Win32asm Newbie Site)? They are not illegal (at least I hope so) because they are for Crackmes and since I don't explain how to get the algorythms out of the target program noone starting to crack can really profit from it. Those two keygens are going the same way. They have a subclassed Editfield and I can process the string. It also reacts on the CHANGE message, meaning that it notices any changes in the first edit box. Due to the fact that the main algorythm is in a seperate PROC you can easily insert your own there. HTH Stefan
Posted on 2001-03-11 03:27:00 by Stefan Krause
Hi again! I just wanted to say that I solved my problem using some code from one of Stefans keygens. The problem was that when I should end the string with 0 I wrote MOV ,0 and that didn't work. In stefan's keygen, he had written MOV BYTE PTR ,0 and that worked perfectly! But I still have a qustion...what is the difference between using MOV BYTE PTR and just MOV ?????????? So, Hutch and Stefan, thank you VERY much for your help!! /Newbie #1
Posted on 2001-03-11 06:27:00 by Newbie #1
Size. If you hand the compiler: MOV , 0 It has not much to go on, and it doesn't know you meant your pointing at a single byte. Since ebx is a dword, it assumes you meant to write a dword, and it moves a 32 bit zero, covering 4 characters. On the other hand: MOV BYTE PTR , 0 explicitly tells the compiler you have a dword pointer to a single byte, and just moves an 8 bit zero, covering just one character.
Posted on 2001-03-11 12:04:00 by Ernie