首页
社区
课程
招聘
[原创]闪讯客户端本地密码加密算法分析
发表于: 2011-7-4 18:36 20634

[原创]闪讯客户端本地密码加密算法分析

2011-7-4 18:36
20634

在浙江上大学的同学们肯定都对闪讯恨之入骨吧,在学校里上网只能用闪讯,这么贵,还不允许路由,正好响应超版狼大人的号召,来发篇原创,无奈本人技术太菜。。请大牛勿笑。。
在这里先给自己的blog打个小广告。希望杭电的同学看到以后能请我吃个饭
http://www.kkmonster.com/    (李醒涵)
直接拿出客户端看看
先看看PE结构,结果悲剧了,用VMP处理过的,我也懒得直接去看了,VMP我搞不定呀!!
平时用闪讯的时候会注意到,当触发密码编辑框的killfocus消息时,输入的密码会被加密,长度变了14位的一个字符串
OD加载之,搞不定壳,直接F9跑起来。。。分析之

00413020    53              push    ebx
00413021    56              push    esi
00413022    57              push    edi
00413023    8B7C24 10       mov     edi, dword ptr [esp+10]
00413027    8BF1            mov     esi, ecx
00413029    57              push    edi
0041302A    E8 11E1FEFF     call    00401140
0041302F    8D86 E4250000   lea     eax, dword ptr [esi+25E4]
00413035    50              push    eax
00413036    68 17040000     push    417
0041303B    57              push    edi
0041303C    E8 73590200     call    004389B4
00413041    8D8E B8260000   lea     ecx, dword ptr [esi+26B8]
00413047    51              push    ecx
00413048    68 16040000     push    416
0041304D    57              push    edi
0041304E    E8 61590200     call    004389B4
00413053    8D96 30270000   lea     edx, dword ptr [esi+2730]
00413059    52              push    edx
0041305A    68 15040000     push    415
0041305F    57              push    edi
00413060    E8 4F590200     call    004389B4
00413065    8D86 A8270000   lea     eax, dword ptr [esi+27A8]
0041306B    50              push    eax
0041306C    68 14040000     push    414
00413071    57              push    edi
00413072    E8 3D590200     call    004389B4
00413077    8D8E 20280000   lea     ecx, dword ptr [esi+2820]
0041307D    51              push    ecx
0041307E    68 11040000     push    411
00413083    57              push    edi
00413084    E8 2B590200     call    004389B4
00413089    8D96 60280000   lea     edx, dword ptr [esi+2860]
0041308F    52              push    edx
00413090    68 0E040000     push    40E
00413095    57              push    edi
00413096    E8 19590200     call    004389B4
0041309B    8D86 14290000   lea     eax, dword ptr [esi+2914]
004130A1    50              push    eax
004130A2    68 F2030000     push    3F2
004130A7    57              push    edi
004130A8    E8 07590200     call    004389B4
004130AD    8D8E 8C290000   lea     ecx, dword ptr [esi+298C]
004130B3    51              push    ecx
004130B4    68 03040000     push    403
004130B9    57              push    edi
004130BA    E8 F5580200     call    004389B4
004130BF    8D9E CC290000   lea     ebx, dword ptr [esi+29CC]
004130C5    53              push    ebx
004130C6    68 F1030000     push    3F1
004130CB    57              push    edi
004130CC    E8 875A0200     call    00438B58                         ; 获取密码框内容
004130D1    6A 1E           push    1E
004130D3    53              push    ebx
004130D4    57              push    edi
004130D5    E8 785A0200     call    00438B52
004130DA    8D96 D0290000   lea     edx, dword ptr [esi+29D0]
004130E0    52              push    edx
004130E1    68 F5030000     push    3F5
004130E6    57              push    edi
004130E7    E8 605A0200     call    00438B4C
004130EC    8D86 D4290000   lea     eax, dword ptr [esi+29D4]
004130F2    50              push    eax
004130F3    68 F9030000     push    3F9
004130F8    57              push    edi
004130F9    E8 5A5A0200     call    00438B58
004130FE    8D8E D8290000   lea     ecx, dword ptr [esi+29D8]
00413104    51              push    ecx
00413105    68 0D040000     push    40D
0041310A    57              push    edi
0041310B    E8 3C5A0200     call    00438B4C
00413110    81C6 DC290000   add     esi, 29DC
00413116    56              push    esi
00413117    68 12040000     push    412
0041311C    57              push    edi
0041311D    E8 365A0200     call    00438B58
00413122    5F              pop     edi
00413123    5E              pop     esi
00413124    5B              pop     ebx
00413125    C2 0400         retn    4
0012AE18 75CF0BC7 /CALL 到 CreateFileW 来自 kernel32.75CF0BC2
0012AE1C 002A6FA8 |FileName = "C:\ChinaNetSn\bin\ams.nkd"
0012AE20 80000000 |Access = GENERIC_READ
0012AE24 00000000 |ShareMode = 0
0012AE28 0012AEA0 |pSecurity = 0012AEA0
0012AE2C 00000003 |Mode = OPEN_EXISTING
0012AE30 00000080 |Attributes = NORMAL
0012AE34 00000000 \hTemplateFile = NULL
0012B0DC 75CF0BC7 /CALL 到 CreateFileW 来自 kernel32.75CF0BC2
0012B0E0 001C67E0 |FileName = "Credit"
0012B0E4 80000000 |Access = GENERIC_READ
0012B0E8 00000003 |ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE
0012B0EC 00000000 |pSecurity = NULL
0012B0F0 00000003 |Mode = OPEN_EXISTING
0012B0F4 00000080 |Attributes = NORMAL
0012B0F8 00000000 \hTemplateFile = NULL
0012B0F8 75CEDAFD /CALL 到 ReadFile 来自 kernel32.75CEDAF8
0012B0FC 00000154 |hFile = 00000154 (window)
0012B100 0012D5F4 |Buffer = 0012D5F4
0012B104 0000168C |BytesToRead = 168C (5772.)
0012B108 0012B164 |pBytesRead = 0012B164
0012B10C 00000000 \pOverlapped = NULL
00414CCC /0F84 29010000 je 00414DFB
00414CD2 |68 949E4500 push 00459E94 ; ASCII "EncodeCredit,encode",LF
00414CD7 |E8 5450FFFF call 00409D30
00414DFB 68 7C9E4500 push 00459E7C ; ASCII "EncodeCredit,decode",LF
00414E00 E8 2B4FFFFF call 00409D30

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (13)
雪    币: 144
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
写的很详细,顶楼主,请教个很菜的问题,
0x1E, 0x30, 0x38, 0x3C, 0x1A, 0x09, 0x26, 0x0B, 0x19, 0x10, 0x3A, 0x3C, 0x1A, 0x38, 0x26, 0x0B,
0x21, 0x3D, 0x3A, 0x34, 0x11, 0x0C, 0x2E, 0x1A, 0x2F, 0x03, 0x32, 0x36, 0x22, 0x02, 0x2D, 0x1A,
这些数据怎样从十六进制编辑器中弄出来,还带逗号?
2011-7-4 19:00
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
3
OD的插件。。可以导出的!!
2011-7-4 19:10
0
雪    币: 27
活跃值: (127)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
4
好文,虽然我不在浙江上大学,不过还是要感谢楼主..
2011-7-4 20:13
0
雪    币: 386
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
好。牛。nnnn
2011-7-4 20:24
0
雪    币: 220
活跃值: (721)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我怎么感觉象是转载的?
2011-7-4 21:01
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
7
因为前面多了一个首发站么?
2011-7-4 22:10
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
8
大大们能不能给个精呀、!1!生活所迫!!!
2011-7-6 11:42
0
雪    币: 2166
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
对楼主的能力表示佩服
不过还不如hook RasDial获得密码简单

另外,盗密码有什么意思,
有本事还不如分析分析下闪讯的用户名加密算法以及心跳机制,做个支持路由器的第三方拨号器造福大家
2011-7-8 12:03
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
10
鄙人小菜鸟。。高水平的活做不来呀!!!
2011-7-8 13:35
0
雪    币: 12
活跃值: (767)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
9.10楼都是杭电的
2011-7-8 14:23
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
12
你也是杭电的?
2011-7-8 14:26
0
雪    币: 12
活跃值: (767)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
,当然了,两个大牛都在我QQ好友里面,当然我忘记退掉小号回复了
2011-7-8 14:30
0
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
14
嘎嘎。。。报上名来。。。你是谁????
2011-7-8 14:31
0
游客
登录 | 注册 方可回帖
返回
//