//外挂
//改变一个数据,需要数据的地址,也就是指针,int需要int*
//改变一个指针变量,需要指针的地址,二级指针,int*需要int **
//改变一个二级指针,需要二级指针的地址,三级指针,int**需要int ***
//改变一个指针,指针指向数组,需要指针的地址,数组的首地址
//函数指针,找到地址,进行类型转换,调用函数。
//改变一个数据,需要数据的地址,也就是指针,int需要int*
//改变一个指针变量,需要指针的地址,二级指针,int*需要int **
//改变一个二级指针,需要二级指针的地址,三级指针,int**需要int ***
//改变一个指针,指针指向数组,需要指针的地址,数组的首地址
//函数指针,找到地址,进行类型转换,调用函数。
#include
<stdio.h>
#include
<stdlib.h>
//调用游戏内部函数
_declspec
(
dllexport
)
void
go()
{
void
(*p) () = (
void
(*) ())0xf610f5;
p();
}
//调用游戏内部函数
_declspec
(
dllexport
)
void
go1()
{
int
(*p) (
int
,
int
) = (
int
(*) (
int
,
int
))0xf6109b;
int
t = p(100, 200);
system(
"color 0a"
);
printf(
"----t----:%d\n"
, &t);
}
//修改游戏中变量
_declspec
(
dllexport
)
void
go2()
{
int
* pa = (
int
*)0x2710;
*pa = 777777;
int
* pb = (
int
*)0x4e20;
*pb = 888888;
}
//修改游戏中一级指针
_declspec
(
dllexport
)
void
go3()
{
int
** p1 = (
int
**)0x2710;
*p1 = (
int
*)0x2222;
int
** p2 = (
int
**)0x4e20;
*p2 = (
int
*)0x22223;
}
//修改游戏中二级指针
_declspec
(
dllexport
)
void
go4()
{
int
*** pp = (
int
***)0x2710;
*pp = (
int
**)0x3333;
}
//修改游戏中数组
_declspec
(
dllexport
)
void
go5()
{
char
** pp = (
char
**)0x22;
*pp = (
char
*)0x223 + 0x1;
}