首页
社区
课程
招聘
[旧帖] [求助]小弟求救,求大神分析一下软件收包后如何处理的 0.00雪花
发表于: 2013-11-3 23:22 5080

[旧帖] [求助]小弟求救,求大神分析一下软件收包后如何处理的 0.00雪花

2013-11-3 23:22
5080
这是我们学校的宽带上网认证客户端
是DrCom的修改版.
软件密码加密好像是用的advapi32.dll里的函数.
不过居然密码和学号是明文存放在内存里的.
现在想请各位分析下软件是如何和服务器通信的
我用wireshark分析后,发现先和认证服务器使用标准的eapol和eap协议认证,之后和另外一个服务器UDP通信
本地绑定61440端口,远端服务器好像也是61440端口
当然,整个程序就一个recvfrom.
不知道是如何处理的.
小弟不才,初学逆向,请各位指教
要求:能构造出一个数据包,发送到本地UDP端口触发软件内置的功能比如"您有新的系统消息",或者打开网页.软件里是有这些功能的,而且在recvfrom后面,但我看不懂.指针太乱了.
附件有3个
1.是主程序还有安装包.如果只是静态分析那么主程序就可以了,如果要运行那么最好安装在虚拟机里看看吧
2.软件需要winpcap,一起传上来了
3. 拨号时抓的UDP封包.2进制文件.注意有打开网页的封包.
封包第一个字节好像是指令,第二个字节好像是整个包大小.
下面是关键代码.
0040DD79   > \56            push esi
0040DD7A   .  68 2CFA4200   push ishare_u.0042FA2C                   ; /pFromLen = ishare_u.0042FA2C
0040DD7F   .  68 900D4300   push ishare_u.00430D90                   ; |pFrom = ishare_u.00430D90
0040DD84   .  6A 00         push 0x0                                 ; |Flags = 0
0040DD86   .  68 40060000   push 0x640                               ; |BufSize = 640 (1600.)
0040DD8B   .  68 0C6C4300   push ishare_u.00436C0C                   ; |Buffer = ishare_u.00436C0C
0040DD90   .  FF35 E8EF4200 push dword ptr ds:[0x42EFE8]             ; |Socket = 0
0040DD96   .  FF15 D8B34300 call dword ptr ds:[<&WS2_32.#17>]        ; \recvfrom
0040DD9C   .  83F8 FF       cmp eax,-0x1                             ;  收包大小是否是-1
0040DD9F   .  A3 78EE4200   mov dword ptr ds:[0x42EE78],eax          ;  大小放到指针42ee78
0040DDA4   .  0F84 5A010000 je ishare_u.0040DF04                     ;  是就跳到最后
0040DDAA   .  833D F4184300>cmp dword ptr ds:[0x4318F4],0xA
0040DDB1   .  7C 0B         jl short ishare_u.0040DDBE
0040DDB3   .  FF15 BCAD4300 call dword ptr ds:[<&KERNEL32.GetTickCou>; [GetTickCount
0040DDB9   .  A3 A0EE4200   mov dword ptr ds:[0x42EEA0],eax
0040DDBE   >  A0 0C6C4300   mov al,byte ptr ds:[0x436C0C]
0040DDC3   .  3C 07         cmp al,0x7
0040DDC5   .  75 31         jnz short ishare_u.0040DDF8
0040DDC7   .  803D 106C4300>cmp byte ptr ds:[0x436C10],0xB
0040DDCE   .  75 28         jnz short ishare_u.0040DDF8
0040DDD0   .  68 ECB44200   push ishare_u.0042B4EC                   ;  ASCII "8021x.single"
0040DDD5   .  E8 F43BFFFF   call ishare_u.004019CE                   ;  这里是创建了一个文件
0040DDDA   .  85C0          test eax,eax
0040DDDC   .  59            pop ecx
0040DDDD   .  74 0D         je short ishare_u.0040DDEC
0040DDDF   .  833D B07D4300>cmp dword ptr ds:[0x437DB0],0x1
0040DDE6   .  0F84 18010000 je ishare_u.0040DF04
0040DDEC   >  6A 02         push 0x2
0040DDEE   .  E8 1A34FFFF   call ishare_u.0040120D
0040DDF3   .  E9 F0000000   jmp ishare_u.0040DEE8
0040DDF8   >  BE 01010101   mov esi,0x1010101
0040DDFD   .  3935 447E4300 cmp dword ptr ds:[0x437E44],esi
0040DE03   .  75 2D         jnz short ishare_u.0040DE32
0040DE05   .  8B0D 940D4300 mov ecx,dword ptr ds:[0x430D94]
0040DE0B   .  3BCE          cmp ecx,esi
0040DE0D   .  74 23         je short ishare_u.0040DE32
0040DE0F   .  68 447E4300   push ishare_u.00437E44
0040DE14   .  890D 447E4300 mov dword ptr ds:[0x437E44],ecx
0040DE1A   .  E8 6E3BFFFF   call ishare_u.0040198D
0040DE1F   .  50            push eax                                 ; /src
0040DE20   .  68 C4174300   push ishare_u.004317C4                   ; |dest = ishare_u.004317C4
0040DE25   .  E8 123D0100   call <jmp.&MSVCRT.strcpy>                ; \strcpy
0040DE2A   .  A0 0C6C4300   mov al,byte ptr ds:[0x436C0C]
0040DE2F   .  83C4 0C       add esp,0xC
0040DE32   >  8B15 F4184300 mov edx,dword ptr ds:[0x4318F4]
0040DE38   .  83FA 0A       cmp edx,0xA
0040DE3B   .  75 16         jnz short ishare_u.0040DE53
0040DE3D   .  8B0D 447E4300 mov ecx,dword ptr ds:[0x437E44]
0040DE43   .  3BCE          cmp ecx,esi
0040DE45   .  74 0C         je short ishare_u.0040DE53
0040DE47   .  3B0D 940D4300 cmp ecx,dword ptr ds:[0x430D94]
0040DE4D   .  0F85 B1000000 jnz ishare_u.0040DF04
0040DE53   >  3C 07         cmp al,0x7
0040DE55   .  75 4C         jnz short ishare_u.0040DEA3
0040DE57   .  68 ECB44200   push ishare_u.0042B4EC                   ;  ASCII "8021x.single"
0040DE5C   .  E8 6D3BFFFF   call ishare_u.004019CE
0040DE61   .  85C0          test eax,eax
0040DE63   .  59            pop ecx
0040DE64   .  74 09         je short ishare_u.0040DE6F
0040DE66   .  833D B07D4300>cmp dword ptr ds:[0x437DB0],0x1
0040DE6D   .  74 10         je short ishare_u.0040DE7F
0040DE6F   >  6A 08         push 0x8
0040DE71   .  E8 9733FFFF   call ishare_u.0040120D                   ;  这个好像是服务器下令禁止客户端用代理的
0040DE76   .  84C0          test al,al
0040DE78   .  59            pop ecx
0040DE79   .  0F84 85000000 je ishare_u.0040DF04
0040DE7F   >  833D 707D4300>cmp dword ptr ds:[0x437D70],0x0
0040DE86   .  74 12         je short ishare_u.0040DE9A
0040DE88   .  833D 747D4300>cmp dword ptr ds:[0x437D74],0x1
0040DE8F   .  7C 09         jl short ishare_u.0040DE9A
0040DE91   .  6A 01         push 0x1
0040DE93   .  E8 D334FFFF   call ishare_u.0040136B                   ;  这函数里也有弹窗
0040DE98   .  EB 4E         jmp short ishare_u.0040DEE8
0040DE9A   >  6A 03         push 0x3
0040DE9C   .  E8 0B3AFFFF   call ishare_u.004018AC                   ;  这里好像就是处理弹窗的.
0040DEA1   .  EB 45         jmp short ishare_u.0040DEE8
0040DEA3   >  F605 EE054300>test byte ptr ds:[0x4305EE],0x8
0040DEAA   .  74 1B         je short ishare_u.0040DEC7
0040DEAC   .  833D 647D4300>cmp dword ptr ds:[0x437D64],0x0
0040DEB3   .  74 4F         je short ishare_u.0040DF04
0040DEB5   .  8B0D 60AD4200 mov ecx,dword ptr ds:[0x42AD60]
0040DEBB   .  83F9 03       cmp ecx,0x3
0040DEBE   .  7C 44         jl short ishare_u.0040DF04
0040DEC0   .  83F9 64       cmp ecx,0x64
0040DEC3   .  7C 2D         jl short ishare_u.0040DEF2
0040DEC5   .  5E            pop esi
0040DEC6   .  C3            retn
0040DEC7   >  3C 20         cmp al,0x20
0040DEC9   .  73 27         jnb short ishare_u.0040DEF2
0040DECB   .  8BC2          mov eax,edx
0040DECD   .  48            dec eax                                  ;  Switch (cases 1..9)
0040DECE   .  74 1B         je short ishare_u.0040DEEB
0040DED0   .  48            dec eax
0040DED1   .  74 0C         je short ishare_u.0040DEDF
0040DED3   .  83E8 07       sub eax,0x7
0040DED6   .  75 2C         jnz short ishare_u.0040DF04
0040DED8   .  E8 6A35FFFF   call ishare_u.00401447                   ;  Case 9 of switch 0040DECD
0040DEDD   .  5E            pop esi
0040DEDE   .  C3            retn
0040DEDF   >  FF7424 08     push dword ptr ss:[esp+0x8]              ;  Case 2 of switch 0040DECD
0040DEE3   .  E8 0F3AFFFF   call ishare_u.004018F7
0040DEE8   >  59            pop ecx
0040DEE9   .  5E            pop esi
0040DEEA   .  C3            retn
0040DEEB   >  E8 8737FFFF   call ishare_u.00401677                   ;  Case 1 of switch 0040DECD
0040DEF0   .  5E            pop esi
0040DEF1   .  C3            retn
0040DEF2   >  3C 4D         cmp al,0x4D
0040DEF4   .  75 0E         jnz short ishare_u.0040DF04
0040DEF6   .  833D 78EE4200>cmp dword ptr ds:[0x42EE78],0x2
0040DEFD   .  7C 05         jl short ishare_u.0040DF04
0040DEFF   .  E8 E335FFFF   call ishare_u.004014E7
0040DF04   >  5E            pop esi                                  ;  Default case of switch 0040DECD
0040DF05   .  C3            retn



希望大家能帮帮我,我对逆向很有兴趣.现在刚上大一,对学校网络结构还不太了解,现在只拿了2台服务器做研究.喜欢网络编程,现在努力学逆向,但只会爆破.....有谁能指点迷津呢

[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 60
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
为何没人能帮我...求救
2013-11-4 17:57
0
雪    币: 7752
活跃值: (2144)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼主呀,我还差2个kx,才够50kx,跪求2个kx呀。
2013-11-9 23:30
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
虽然档次还不够,但是仍然帮顶一下,希望楼主早日得到解决!
2013-11-11 22:30
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
是想模拟recv吗
创建线程call他的回调函数试试(参数自己下)
2013-11-13 15:21
0
雪    币: 60
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢指导.
我像构造一个包让这个函数可以进行正常的操作.
2013-11-14 17:05
0
游客
登录 | 注册 方可回帖
返回
//