简单外挂详解
由于win系统不允许进程间相互修改,采用dll注射的方法修改一个exe文件中的值。
一个简单的程序:
#include<stdio.h>
#include<windows.h>
void main(){
int x = 10;
int y = 100000;
printf("%x,%x
" , & x, &y );
while (1){
printf ("%d %d
", x, y );
Sleep (3000);
}
}
生成如下的exe文件:
![](https://images0.cnblogs.com/blog/631913/201505/261937486678444.png)
然后写一段dll文件:
#include<stdlib.h>
#include<windows.h>
_declspec(dllexport ) void goA()
{
int* p = ( int*)0x16f84c;
*p = 222222;
int* p1 = ( int*)0x16f840;
*p1 = 444444;
}
注射进exe进程中,然后exe文件运行发生了变化:
![](https://images0.cnblogs.com/blog2015/631913/201505/261941469644979.png)