简单外挂详解
由于win系统不允许进程间相互修改,采用dll注射的方法修改一个exe文件中的值。
一个简单的程序:
#include<stdio.h>
#include<windows.h>
void
main
(){
int
x
=
10
;
int
y
=
100000
;
printf
(
"%x,%x\n"
,
&
x
,
&
y
);
while
(
1
){
printf
(
"%d %d\n"
,
x
,
y
);
Sleep
(
3000
);
}
}
生成如下的exe文件:
然后写一段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文件运行发生了变化: