首页
论坛
课程
招聘
[原创]外挂科普
2011-10-29 21:34 19883

[原创]外挂科普

2011-10-29 21:34
19883
咳咳 好久都没发帖 闲来无事科普下关于外挂的那点事
话说现在的游戏越来越难 无论二三线 一般都采用从复杂的数据结构上anti-WG 例如动态结构 结构分散化

什么叫动态结构,即链式结构。说起链式结构 我想大家都不陌生把 链表 二叉树等 在游戏中经常会出一些多重链表,N叉书等,我相信这里很多新人都会犯傻了 卧槽那么复杂的结构 果断删游戏 放弃走人 其实不管他怎么写 多重链表也罢 N叉树也罢 但最终还是链式结构存储
还剩下一部分有点基础和耐心的就会想链表嘛 简单得到表头遍历就行了 经过N天分析终于得到表头然后遍历 结果发现又走错路了。 PS:游戏那么大,数据结构少则几百多个则上千 在说了遍历完 也得不到结构数据- -
                                                                                                                                     那么游戏又怎么获得结构address呢 一般是通过ID 或者常量得到指定的结构         
    DWORD getstruncrbase(int id) char *name 函数原型参考
      {
                    return structbase
         }
俗话说 外挂考的要么是逆向 要么是算法 我这人有点懒 我懒得去分析getstruncrbae
记录下结构特征码 和地址范围 写个简单的搜索算法
DWORD getlinebase()
{
                     DWORD addrlist[256]={0};
                     byte addressbyte[4];
                                DWORD addressline=NULL;
                                int addrcount=0;
                                DWORD startaddr=0x32f0000;

                                for (int i=1;i<=48771;i++)
                                {
                                        ReadProcessMemory(GetCurrentProcess(),(LPVOID)startaddr,&addressbyte,1,NULL);
                                        if (addressbyte[0]==0xA9)
                                        {   
                                                addrlist[addrcount]=startaddr;
                                                addrcount++;

                                        }
                                        startaddr=startaddr+0x10;

                                }
                                int addresscount=checkarrgy(addrlist);
                                for (int ii=0;ii<=addresscount-1;ii++)
                                {
                                        ReadProcessMemory(GetCurrentProcess(),(LPVOID)addrlist[ii],&addressbyte,4,NULL);
                                        if (addressbyte[0]==0xA9&&addressbyte[1]==0x8B&&addressbyte[2]==0x8c&&addressbyte[3]==0x00)
                                        {
                                                addressline=addrlist[ii];
                                                return addressline;
                                                break;

                                        }

                                }
}
  
结构分散化就不说了 就与字面意思一样 比如一个人物类 打散 对拖延时间还是有点效率的
一些人会说怎么不带例子,我之能说有基础的自然能看懂

最近真是身心疲惫 有点累 数据包加解密相关 以及BUG挖掘利用方面就不说了 对游戏安全有兴趣也可以加我Q2290380093
一部分新人想着靠WG发财 其实没那么容易的 竞争力也是很大的 人家3天~7天基本都可以完成
有些人会说3天 这什么速度。。。 其实还满正常的 毕竟有些人对游戏真的很了解 一看就知道怎么做了 只要简单的test下 就知道游戏的存储结构了 然后3台机器 一台test 一台记录数据 一台开发

关于VM 我很少见到有游戏上VM的 上VM很麻烦毕竟要以牺牲游戏稳定性为前提 我想没几个游戏敢这么干把

[招生]科锐逆向工程师培训46期预科班将于 2023年02月09日 正式开班

收藏
点赞0
打赏
分享
最新回复 (24)
雪    币: 519
活跃值: 活跃值 (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wsghphc 活跃值 2011-10-29 22:20
2
0
好难,我的心挖凉挖凉
雪    币: 61
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
死神队长 活跃值 2011-10-29 23:06
3
0
感觉坛子有点冷清了
雪    币: 198
活跃值: 活跃值 (77)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yamidie 活跃值 2011-10-30 00:41
4
0
我强力顶入!
雪    币: 209
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
waizhu 活跃值 2011-10-30 01:26
5
0
队长人家的外壳怎么破啊
雪    币: 232
活跃值: 活跃值 (58)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
mxdcc 活跃值 2011-10-30 07:58
6
0
~~.没说出重点。。
雪    币: 61
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
死神队长 活跃值 2011-10-30 11:03
7
0
那你说什么样叫重点
雪    币: 1
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DW_DLL 活跃值 2011-10-31 01:11
8
0
VM 游戏的不多吗?  多有牛毛
雪    币: 116
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
boainfall 活跃值 2011-10-31 15:26
9
0
没看懂这科普了撒玩意
雪    币: 205
活跃值: 活跃值 (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fcow 活跃值 2011-11-1 10:18
10
0
LZ QQ很难加
雪    币: 191
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
diybl 活跃值 2011-11-1 10:33
11
0
这个。。。。你只是想表达下你最近的心情罢了 呵呵
雪    币: 7692
活跃值: 活跃值 (990)
能力值: ( LV8,RANK:122 )
在线值:
发帖
回帖
粉丝
SnowFox 活跃值 2011-11-2 10:35
12
0
确实没说什么, 做外挂的人这点东西应该都知道
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
秋风溯月 活跃值 2011-11-3 22:10
13
0
注意身体,这行很累
雪    币: 57
活跃值: 活跃值 (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wkxq 活跃值 2011-11-3 22:44
14
0
牛逼 支持一个看看
雪    币: 112
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Tux 活跃值 2011-11-4 02:13
15
0
超赞这种技术贴啊,帮助新人
雪    币: 198
活跃值: 活跃值 (77)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yamidie 活跃值 2011-11-5 14:02
16
0
这样内存搜索比对的代码到处都是 都不用找自己都可以写 发出来无多大意义
雪    币: 85
活跃值: 活跃值 (11)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
nydzdoking 活跃值 2 2011-11-9 11:24
17
0
高手可以不说话吗? 觉的别人的无意义可以不看,要么你老发个有意义的.
非常感谢lz科普,像我这样的菜鸟!
雪    币: 578
活跃值: 活跃值 (25)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
monsterok 活跃值 3 2011-11-9 21:44
18
0
围观楼主。。不过代码确实没用。。。读内存。。再对比。。。基本没用的代码
雪    币: 202
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wjling 活跃值 2011-11-15 19:59
19
0
学习下~~~~
雪    币: 203
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lookkscan 活跃值 2011-11-15 20:22
20
0
技术人HR,得顶起来!!!
雪    币: 280
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
trkzrq 活跃值 2011-11-18 16:13
21
0
学习一下,感谢楼主。
雪    币: 268
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
GUX 活跃值 2011-11-22 10:00
22
0
嗯,学习一下下。。
雪    币: 28
活跃值: 活跃值 (52)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
liuqiangni 活跃值 2 2012-4-25 10:18
23
0
有些东西是不能说的秘密,只可意会,不可言传的!~~
雪    币: 1579
活跃值: 活跃值 (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
柔情似水 活跃值 2012-4-25 10:32
24
0
楼主的技术能否传授一点给我们新人呢,谢谢了啊。
雪    币: 788
活跃值: 活跃值 (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Nekoxiaoji 活跃值 2012-4-25 15:53
25
0
what??3天??神马速度啊
游客
登录 | 注册 方可回帖
返回