520Kelly菜鸟学习程序发包分析
本帖最后由 520Kelly 于 2014-9-23 18:20 编辑在帖子的开头 感谢小淫荡师傅不嫌麻烦教我分析封包、、
程序例子由那个挑战吾爱高手的xx提供、、初次学习封包、、
我们先一行一行分析、、慢慢来不着急、、
0---1 两行是主机连接服务器
2 是服务器对主机进行联系 也就是回应主机的联系比喻就是A喊B的名字以后 B回答A 大概就是这么理解
3 是程序把参数和固定字符串给服务器保存、、也就是说把这些东西给服务器作为一个备份、、或者是校验 假如服务器有这些数据就是校验了
4 服务器对主机的一个回应 说明已经保存 或者校验完成
5 我们这个时候是点击了功能1按钮 、、所以程序把请求功能1发送到服务器 然后又把帐号和密码进行发送、、格式就是 请求功能x丨帐号丨密码
6 服务器返回一个参数给你 这个参数决定了程序弹的框框 也就是功能数据、、 (功能1按钮的参数)
然后因为我们点击的是功能1按钮 而且帐号和密码在服务器已经有了 服务器经过对比以后 帐号密码是对的 所以返回的是功能1的参数
返回的参数取决与请求功能x 这个x的值 如果是2的话 就会返回功能2 按钮的参数
7 表示程序已经收到了服务器给的参数
8 请求功能2 然后后面是帐号密码 服务器校验以后返回功能2按钮的参数
9 功能2按钮的参数
10 表示程序已经收到了服务器给的参数
11 我们输入错的帐号和密码 同时点击的是功能1按钮 所以程序发包 把假帐号和假密码发送过去 包括功能按钮、、
12 因为我们输入的是错的帐号密码 所以服务器进行对比以后 返回一个错误的参数给程序
13 程序收到了服务器给的错误的参数
14 请求的是功能2按钮 错误的帐号和密码
15 程序收到了服务器给的错误的参数
以上我们总结出来 每一个功能按钮 都有一个对应的参数 假设帐号密码正确 功能1按钮点击以后 程序发包服务器给回功能1的参数 如果是功能2按钮点击
那么服务器给的就会是功能2按钮的参数 所以我们完全可以通过抓包 用正确的帐号和密码 抓出所有功能按钮的参数 、、一一返回给程序、、
那么思路有两个 一个是更改服务器 让自己的服务器给程序发包 不校验帐号密码 直接把参数给程序就可以了、、
另外一个思路是 更改服务器返回的参数 把服务器给的错误的参数 改成相应按钮的参数以后 功能按钮有效
@ 加入队列|4201277|4201344|4201411|4201478|4201545|4201612|4201679 这里是第三行 程序把参数这些发给服务器
我们对这些参数进行分类
加入队列|
4201277|1
4201344|2
4201411|3
4201478|4
4201545|5
4201612|6
依次对应的功能 功能1按钮对应的正确参数是4201277
然后最后还有个4201679 这个参数 所有的按钮都对应过了 那么这个参数代表的是什么呢?这个参数大家可以从封包那里看 是对应的错误参数
那么也就是说 我们只需要对这个错误参数进行patch 改成相对应的按钮参数 就可以达到修改目的
首先在这个段首下段 修改eax的值为正确的参数、、直接保存即可 不过还有个问题没有解决、、就是只能修改单一的按钮 不能把所有的按钮的参数都写
进去 所以这样改的效果就造成了 要么是只有一个按钮有效果 要么就是所有的按钮 都是相同信息框、、这个比较蛋疼、、表示晚上和小淫荡师傅继续研究
表示期待这个教程写完 看后面的怎么解决 最好给源程序练手 加入队列那里的数据,不就是那个求破的吗
来跟你学习学习封包 风暴很强大! 这么好的学习资料, 值得学习。 菜鸟还是不懂哦。。。 这个 真要学,讲的很详细!~~支持你 格盘大牛 好牛逼。。{:1_927:} 这个分析。。我好好看下 表示膜拜520kelly,望能有问题可以请教 格盘大牛,牛b吼吼吼的
好吧,看总是能看懂,自己搞得时候就犯蒙
页:
[1]
2