First write blog. I have long known that there is something called Blog, and I know that there is a blog on 9CBS. Today, I finally restrained my lazy, I applied for my first blog.
The 9CBS blog is still quite good, it is a little bit, which may have 9CBS developers fully consider most of the possibility of my myopia.
I don't know what to write, or write today's diary.
Just 9CBS, I found the sweeping-free hanging (source code) (1.0) in the software download, very interested, tried it, really strong, one second can be swept away. So I wanted to see the source code, I just thought that the code was delphi, I was afraid to understand, and later opened main.pas (I am a genius, how can I know this is the main program file?), I found that the code is so simple: enter the mine process , Read the array that stores the mine distribution information, then reads out each data, get the mine distribution, send the mouse click message to the mine window, so that the sweeping is complete, it is really so Simply.
The only doubt is the address of the author knows the address of the thunder distribution data? I just started studying Softice yesterday, so today I tried the cattle knife, I wanted to find that the address was in the end, and finally I finally found the address. Although compilation is really bad, I haven't understood it at all, but after all, I found it. The process is very bored, talking about several problems encountered
1. The first time I use Softice to debug a program without debugging information, I don't know how to hang into WinMine. Later, I even guess me to find the door, first using the pro to list the list of processes, Winmine appears in it. Use HWND WINMINE to list the Winmine window, there are two windows, one is IME, no matter it, the other is the main window of Winmine, the window name is Chinese name, no matter it, use its window handle
2. What do you do? I just thought of WM_PAINT messages. Later, I would like to start "start" in the menu when I started the game, so I hang WM_COMMAND. Which news hangs? This is simple, take Spy , it is 0101FE. WM_COMMAND is successful, but I don't know how to use 0101FE. Later, it is a step-by-step tracking code. I find a comparison similar to Switch. One of them is compared to 01FE, tracking in, here is the production of data.
3. This is a relatively pure value calculation. It is a place where the thunder distribution data is generated. However, the compilation is too bad, and there is no patience to do notes, so it is just a tracking, and eventually there is a 010052c4? 2k It is a mine start address "), it is too successful! !
?
Later, I saw a few articles on the forum, all recorded in one by one.
"A more interesting program"
/*original
#include "iostream.h" #include "memory.h"
TYPEDEF INT (* Test) ();
Char C [8] = {0xB8, 0x05, 0x00, 0x00, 0x00, 0XC3};
Void main () {? test t;? char * temp = new char [8] ;? Memcpy (TEMP, C, 8);? INT i = 0;? t = (TEST) TEMP;? i = T () ;? cout <<
? delete [] temp;
}