首页
社区
课程
招聘
[原创]外挂科普
发表于: 2011-10-29 21:34 21286

[原创]外挂科普

2011-10-29 21:34
21286

咳咳 好久都没发帖 闲来无事科普下关于外挂的那点事
话说现在的游戏越来越难 无论二三线 一般都采用从复杂的数据结构上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很麻烦毕竟要以牺牲游戏稳定性为前提 我想没几个游戏敢这么干把


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

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