联创宽带上网助手协议的简单分析(一)start包和off包
工具:ollydbg2.0 , Wireshark,
步骤:
1. 软件有加壳,要先脱壳,在这里就不说了,另外写了一篇
2. 用Wireshark抓包,发现用的是802.1X的EAP协议,eap具体的协议结构网上有很多的
宽带上网助手认证网络总共要发送3个数据包,1个发起连接请求的广播start包,1个identity包,在这里是用户名包,还有一个则是密码包,若认证成功则会返回success包,之后每隔一段时间服务器就发送request包,客户端回应identity包,直到用户下线或断网,下线则发生off包
3. start包和off包的构造:
OD载入脱壳后的程序,右键->search for->all intermodulelar call中找到pcap_sendpacket函数,双击来到相应的代码,向上找下就发现有4处调用这个函数,在每个函数的最开始都下断点,让程序运行起来,会发现断在第一个start包的构造函数处(因为源程序中有把状态写入日志的无关部分,所以代码有省略):
Address Hex dump Command Comments
00408AA0 /$ 56 PUSH ESI ; 发送start包和off包
00408AA1 |. 68 80000000 PUSH 80 ; /Arg1 = 80
00408AA6 |. E8 E3460000 CALL 0040D18E ; /mycrack.0040D18E
00408AB6 |> 53 PUSH EBX
00408AB7 |. 8A5C24 0C MOV BL,BYTE PTR SS:[ARG.1]
00408ABB |. 80FB 01 CMP BL,1
00408ABE |. 57 PUSH EDI
00408ABF |. 0F85 C0000000 JNE 00408B85 ; 是否是第一个请求包arg1==1?
…………………………………
00408B83 |. EB 10 JMP SHORT 00408B95
00408B85 |> A1 A0984100 MOV EAX,DWORD PTR DS:[4198A0] ; off包时候的服务器mac
00408B8A |. 8BD6 MOV EDX,ESI
00408B8C |. 8902 MOV DWORD PTR DS:[EDX],EAX
00408B8E |. 66:8B0D A4984 MOV CX,WORD PTR DS:[4198A4]
00408B95 |> 66:894A 04 MOV WORD PTR DS:[EDX+4],CX
00408B99 |> E8 428AFFFF CALL 004015E0 ; [mycrack.004015E0
00408B9E |. 80FB 01 CMP BL,1
00408BA1 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
00408BA3 |. 8D56 06 LEA EDX,[ESI+6]
00408BA6 |. 890A MOV DWORD PTR DS:[EDX],ECX ; 写入本机的MAC地址
00408BA8 |. 66:8B40 04 MOV AX,WORD PTR DS:[EAX+4]
00408BAC |. 66:8942 04 MOV WORD PTR DS:[EDX+4],AX
00408BB0 |. C646 0C 88 MOV BYTE PTR DS:[ESI+0C],88 ; 写入88, 802.1X Authentication (0x888e)
00408BB4 |. C646 0D 8E MOV BYTE PTR DS:[ESI+0D],8E ; 写入8E
00408BB8 |. C646 0E 01 MOV BYTE PTR DS:[ESI+0E],1 ; 写入1 version
00408BBC |. 885E 0F MOV BYTE PTR DS:[ESI+0F],BL ; 写入type,start为1
00408BBF |. C646 10 00 MOV BYTE PTR DS:[ESI+10],0 ; 写入length 0
00408BC3 |. C646 11 00 MOV BYTE PTR DS:[ESI+11],0 ; 0
00408BC7 |. 75 04 JNE SHORT 00408BCD
00408BC9 |. 6A 00 PUSH 0
00408BCB |. EB 06 JMP SHORT 00408BD3
00408BCD |> E8 EE87FFFF CALL 004013C0 ; [mycrack.004013C0
00408BD2 |. 50 PUSH EAX
00408BD3 |> E8 74440000 CALL <JMP.&ws2_32.htonl> ; Jump to ws2_32.htonl
00408BD8 |. 8B3D 68654100 MOV EDI,DWORD PTR DS:[416568] ; ASCII "linkage"
00408BDE |. 8D4E 12 LEA ECX,[ESI+12]
00408BE1 |. 8BD1 MOV EDX,ECX
00408BE3 |. 893A MOV DWORD PTR DS:[EDX],EDI ; 填入link
00408BE5 |. 8B3D 6C654100 MOV EDI,DWORD PTR DS:[41656C] ; ASCII "age"
00408BEB |. 6A 1E PUSH 1E ; start包长度
00408BED |. 897A 04 MOV DWORD PTR DS:[EDX+4],EDI ; 填入age,linkage为trailer部分
00408BF0 |. 56 PUSH ESI ; start包地址
00408BF1 |. 8941 08 MOV DWORD PTR DS:[ECX+8],EAX
00408BF4 |. E8 17360000 CALL 0040C210 ;发送start
在这里离线包和start包差不多,就只是type处不同,start和off包的构造比较简单没有经过任何处理
联创宽带上网助手协议的简单分析(一)start包和off包相关推荐
- QUIC 协议的简单分析
看到google 提交了http3 over QUIC 的标准化草案, 才发现2012年我在 UDP可靠传输那些事 https://blog.csdn.net/danscort2000/article ...
- 关于手游网络协议的简单分析
前言 大多数加密方案都假定可信的发送者和接收者会通过一个不可信的通道通信. 虽然假设发送者会故意尝试愚弄接收者有点荒谬,但这确实是摆在开发者面前的问题.有些玩家是不可信的, 更糟的是, 他们能够通过客 ...
- xx助手主体实现简单分析
前段时间写了关于天天酷跑游戏外挂的实现原理.文章链接:http://bbs.pediy.com/showthread.php?t=187948 这几天正好有时间看了下xx助手主体的实现原理,大致如下: ...
- android xmpp 语音,Android:Xmpp协议的简单分析
概要 在IETF中,把IM协议分为四种协议: 1.IMPP(Instant Messaging And Presence Protocol) 2.PRIM(Presence And Instant M ...
- RTSP协议的一些分析(三)——简单的rtsp服务器的实现
目录 一.简介 二.套接字的创建 三.解析请求 四.OPTIONS的响应 五.DESCRIBE的响应 六.SETUP的响应 七.PLAY的响应 八.源码 一.简介 RTSP服务器有两个部分组成,一个是 ...
- TCP/IP 协议简单分析(建立连接握手过程)
原文:http://hi.baidu.com/wuguoyana/blog/item/38c04d3bcf047ce43a87ce55.html 首先TCP和IP是两种不同的协议,它们来七层网络模型中 ...
- TCP/IP 协议简单分析
首先TCP和IP是两种不同的协议,它们来七层网络模型中分别在不同的层次,IP协议是网络层的协议,TCP是更高一层的传输层的协议,TCP是建立在IP协议之上的,所以一般把TCP和IP连在一起说TCP/I ...
- 助手的反叛——全面分析浏览器劫持的情况(转)
一. 谁误导了浏览器 今天是大年初二,王先生家中来了许多客人,把平时埋头于工作的王先生弄了个手忙脚乱,由于客人带来的几个小孩子嚷嚷着要出去上网,王先生只好把寝室里的电脑让给了这一群孩子玩,好容易到了晚 ...
- modem (1)---手机主叫的信道流程与Modem Log简单分析
手机主叫的信道流程与Modem Log简单分析 层三信令里看到建立RRCCMM层什么的到底是什么意思?建立这些层有什么用? 从协议栈的角度来说,RR属于接入层,而MM和CC都属于非接入层即NAS. R ...
- 网络故障简单分析指导
网络故障简单分析指导网络管理 网管 网络管理员每天都会遇到各种各样的问题,面对故障如何分析故障原因进行排故呢?本文列出了62种常见故障并给出了相应的分析和排故建议. 1. 故障现象:网络适配 ...
最新文章
- 移动端实现文字轮播_使用原生JS实现移动端图片轮播效果(一)
- linux 文件属性文件权限
- npm install --save和npm install --save-dev的区别
- hook虚表监控虚表
- 【深度学习】Transformer 向轻量型迈进!微软与中科院提出两路并行的 Mobile-Former...
- ubuntu18.04安装gcc7.3.0g++7.3.0
- 全面介绍Windows内存管理机制及C++内存分配实例(三):虚拟内存
- 英文版Windows2k服务器无法正常返回中文的问题
- 霸气!Power 支持混合云、多云,性能完胜 x86!
- 如果你需要从不同的服务器(不同域名)上获取数据就需要使用跨域 HTTP 请求...
- 记住鲁迅的所有文章,因为他具有深远的意义,在当下意义重大。
- 亚马逊链接那些非正常原因变狗的情况你都了解吗?
- tampermonkey自动化学习(持续更新~)
- 有限合伙税收“优惠”:上市公司股东大举入疆或为避税
- mysql 1.4安装步骤_从零开始搭建系统1.4——MySql安装及配置
- Flutter 从 TextField 安全泄漏问题深入探索文本输入流程
- 迅雷下载软件的工作原理(可耻啊)
- 踩坑记录 PIL与Opencv读取图像的差别
- java jar导入eclipse_eclipse导入jar包的方法 (JDBC)
- CS224W 3.2 Random Walk Approaches for Node Embeddings