工具: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包相关推荐

  1. QUIC 协议的简单分析

    看到google 提交了http3 over QUIC 的标准化草案, 才发现2012年我在 UDP可靠传输那些事 https://blog.csdn.net/danscort2000/article ...

  2. 关于手游网络协议的简单分析

    前言 大多数加密方案都假定可信的发送者和接收者会通过一个不可信的通道通信. 虽然假设发送者会故意尝试愚弄接收者有点荒谬,但这确实是摆在开发者面前的问题.有些玩家是不可信的, 更糟的是, 他们能够通过客 ...

  3. xx助手主体实现简单分析

    前段时间写了关于天天酷跑游戏外挂的实现原理.文章链接:http://bbs.pediy.com/showthread.php?t=187948 这几天正好有时间看了下xx助手主体的实现原理,大致如下: ...

  4. android xmpp 语音,Android:Xmpp协议的简单分析

    概要 在IETF中,把IM协议分为四种协议: 1.IMPP(Instant Messaging And Presence Protocol) 2.PRIM(Presence And Instant M ...

  5. RTSP协议的一些分析(三)——简单的rtsp服务器的实现

    目录 一.简介 二.套接字的创建 三.解析请求 四.OPTIONS的响应 五.DESCRIBE的响应 六.SETUP的响应 七.PLAY的响应 八.源码 一.简介 RTSP服务器有两个部分组成,一个是 ...

  6. TCP/IP 协议简单分析(建立连接握手过程)

    原文:http://hi.baidu.com/wuguoyana/blog/item/38c04d3bcf047ce43a87ce55.html 首先TCP和IP是两种不同的协议,它们来七层网络模型中 ...

  7. TCP/IP 协议简单分析

    首先TCP和IP是两种不同的协议,它们来七层网络模型中分别在不同的层次,IP协议是网络层的协议,TCP是更高一层的传输层的协议,TCP是建立在IP协议之上的,所以一般把TCP和IP连在一起说TCP/I ...

  8. 助手的反叛——全面分析浏览器劫持的情况(转)

    一. 谁误导了浏览器 今天是大年初二,王先生家中来了许多客人,把平时埋头于工作的王先生弄了个手忙脚乱,由于客人带来的几个小孩子嚷嚷着要出去上网,王先生只好把寝室里的电脑让给了这一群孩子玩,好容易到了晚 ...

  9. modem (1)---手机主叫的信道流程与Modem Log简单分析

    手机主叫的信道流程与Modem Log简单分析 层三信令里看到建立RRCCMM层什么的到底是什么意思?建立这些层有什么用? 从协议栈的角度来说,RR属于接入层,而MM和CC都属于非接入层即NAS. R ...

  10. 网络故障简单分析指导

    网络故障简单分析指导网络管理 网管  网络管理员每天都会遇到各种各样的问题,面对故障如何分析故障原因进行排故呢?本文列出了62种常见故障并给出了相应的分析和排故建议.     1. 故障现象:网络适配 ...

最新文章

  1. 移动端实现文字轮播_使用原生JS实现移动端图片轮播效果(一)
  2. linux 文件属性文件权限
  3. npm install --save和npm install --save-dev的区别
  4. hook虚表监控虚表
  5. 【深度学习】Transformer 向轻量型迈进!微软与中科院提出两路并行的 Mobile-Former...
  6. ubuntu18.04安装gcc7.3.0g++7.3.0
  7. 全面介绍Windows内存管理机制及C++内存分配实例(三):虚拟内存
  8. 英文版Windows2k服务器无法正常返回中文的问题
  9. 霸气!Power 支持混合云、多云,性能完胜 x86!
  10. 如果你需要从不同的服务器(不同域名)上获取数据就需要使用跨域 HTTP 请求...
  11. 记住鲁迅的所有文章,因为他具有深远的意义,在当下意义重大。
  12. 亚马逊链接那些非正常原因变狗的情况你都了解吗?
  13. tampermonkey自动化学习(持续更新~)
  14. 有限合伙税收“优惠”:上市公司股东大举入疆或为避税
  15. mysql 1.4安装步骤_从零开始搭建系统1.4——MySql安装及配置
  16. Flutter 从 TextField 安全泄漏问题深入探索文本输入流程
  17. 迅雷下载软件的工作原理(可耻啊)
  18. 踩坑记录 PIL与Opencv读取图像的差别
  19. java jar导入eclipse_eclipse导入jar包的方法 (JDBC)
  20. CS224W 3.2 Random Walk Approaches for Node Embeddings

热门文章

  1. 对java老师的评价及建议_对老师的评价和建议
  2. matlab 日期排序_MATLAB时间序列的排序函数
  3. 泛函分析 06.04 线性算子的谱理论 - 紧线性算子的谱
  4. 【Codecs系列】AVS+(AVS1 P16)解码器
  5. 深入理解Java虚拟机——Java堆栈跟踪工具(jstack)
  6. Scintilla教程(2): 文本检索与修改
  7. ftp下载工具 免费,7大值得推荐的免费版ftp下载工具
  8. 【Java项目】OA办公管理系统-万字细致讲解
  9. ESP32驱动AD7705
  10. debian查询端口进程_Linux 查看端口占用情况