程序的功能介绍:
//写一个靶子,从9999开始递减,每秒递减500
//写一个模块,当这个变量要递减到5000一下的时候,自动恢复9999.
分析:
一个exe之间不能够随意读取另一个exe的内存。因为Windows内存,进程之间不能访问。所以讲模块编写为dll通过DllInject.exe工具注入到靶子程序中。
//写一个靶子,从9999开始递减,每秒递减500
//写一个模块,当这个变量要递减到5000一下的时候,自动恢复9999.
//baizi.c
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
void main()
{
int num = 9999;
printf("&num = %x\n", &num);
while (1)
{
printf("%d\n", num);
Sleep(1000);
num -= 500;
}
}
//写一个靶子,从9999开始递减,每秒递减500
//写一个模块,当这个变量要递减到5000一下的时候,自动恢复9999.
//waigua.c
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
__declspec(dllexport) void WaiGua()
{
int *p = (int *)0x1ef9dc;
if (*p < 5000)
{
*p = 9999;
}
}