首页
社区
课程
招聘
[原创]一个逆向分析
发表于: 2013-4-20 20:45 7447

[原创]一个逆向分析

2013-4-20 20:45
7447

软件名称 FireMasterCracker.exe
下载地址 http://www.securityxploded.com/download.php#firemastercracker

去年做的一个逆向,拿出来共享一下,详细的也没研究……
火狐主密码的破解,,该软件完全免费,但该软件运行时会连网(纳闷),可以用工具禁止网络访问

软件读取的数据库文件key3.db在 %APPDATA%\Mozilla\Firefox\profiles.ini配置文件下的[Profile0]的Path=Profiles/k8crbgmm.default目录下

在CreateFile下断或者查看破解线程到算法
0600 F90F F80F EA0F B60F AB0F 970F 850F 970F

004074C0  /$  55            push ebp                                 ;  SHA-1

00406F9A   .  E8 31611000   call FireMast.0050D0D0
00406F9F   .  6A 40         push 0x40
00406FA1   .  8D8C24 A40400>lea ecx,dword ptr ss:[esp+0x4A4]
00406FA8   .  6A 5C         push 0x5C
00406FAA   .  51            push ecx
00406FAB   .  E8 20611000   call FireMast.0050D0D0
00406FB0   .  83C4 2C       add esp,0x2C
00406FB3   .  33C0          xor eax,eax
00406FB5   .  EB 09         jmp short FireMast.00406FC0
00406FB7   .  8DA424 000000>lea esp,dword ptr ss:[esp]
00406FBE   .  8BFF          mov edi,edi
00406FC0   >  8A8C04 240600>mov cl,byte ptr ss:[esp+eax+0x624]
00406FC7   .  308C04 400400>xor byte ptr ss:[esp+eax+0x440],cl
00406FCE   .  308C04 800400>xor byte ptr ss:[esp+eax+0x480],cl

00401770  /$  55            push ebp                                 ;DES_InitSwap
00401771  |.  8BEC          mov ebp,esp
00401773  |.  51            push ecx
00401774  |.  53            push ebx
00401775  |.  56            push esi
00401776  |.  57            push edi
00401777  |.  8B0A          mov ecx,dword ptr ds:[edx]
00401779  |.  8B52 04       mov edx,dword ptr ds:[edx+0x4]
0040177C  |.  C1C1 10       rol ecx,0x10
0040177F  |.  8BC1          mov eax,ecx
00401781  |.  C1E8 08       shr eax,0x8

00402443  |.  E8 58F5FFFF   call FireMast.004019A0                   ;  DES算法
00402448  |.  8D4D F8       lea ecx,[local.2]
0040244B  |.  51            push ecx
0040244C  |.  8D96 80000000 lea edx,dword ptr ds:[esi+0x80]
00402452  |.  E8 49F5FFFF   call FireMast.004019A0                   ;  DES算法
00402457  |.  8D55 F8       lea edx,[local.2]
0040245A  |.  52            push edx
0040245B  |.  8D96 00010000 lea edx,dword ptr ds:[esi+0x100]
00402461  |.  8D4D F8       lea ecx,[local.2]                        ;  DES算法
00402464  |.  E8 37F5FFFF   call FireMast.004019A0

0040428D  |> \BA 58CD5A00   ||mov edx,FireMast.005ACD58              ;  ASCII "abc1"  传入的密码字符串
00404292  |.  E8 59F8FFFF   ||call FireMast.00403AF0                 ;  算法CALL
00404297  |.  85C0          ||test eax,eax                           ;  返回值判断

0195F8FC  CB94EBBD
0195F900  C6D1475D
0195F904  E207DE92
0195F908  951224FC
0195F90C  451D1AC0
0195F910  00000080                  
0195F914  00000000

……

0195FA34  00000000
0195FA38  00000000
0195FA3C  67452301
0195FA40  EFCDAB89
0195FA44  98BADCFE
0195FA48  10325476
0195FA4C  C3D2E1F0

004073F2  |.  8BD7          mov edx,edi
004073F4  |.  03FF          add edi,edi
004073F6  |.  C1EA 1D       shr edx,0x1D
004073F9  |.  8D0CC5 000000>lea ecx,dword ptr ds:[eax*8]
00407400  |.  03FF          add edi,edi
00407402  |.  0BD1          or edx,ecx
00407404  |.  03FF          add edi,edi

逆向的代码在附件
就两个类(从工程里挑出来的),把主要流程写出来了,算法直接把汇编代码修改一下内联了(偷懒了啊),所以把其中的内容省略了


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

上传的附件:
收藏
免费 6
支持
分享
最新回复 (5)
雪    币: 122
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
前排,占座,谢谢分享战果
2013-7-29 15:07
0
雪    币: 122
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你这个是获取主密码的?firefox_szZu未找到定义
2013-9-3 17:20
0
雪    币: 183
活跃值: (82)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
这个不是完整代码,是我从程序里把大概的过程摘出来了,是可以跑出密码的,有兴趣可以逆一下上面提到的那个程序,不复杂的
2013-9-3 18:42
0
雪    币: 122
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
网上有份源码的,不用逆向,是用字典穷举的,我现在急需一份从key3.db和signons.sqlite中读出用户名密码信息的示例代码,可以帮我下吗
2013-9-4 09:46
0
雪    币: 183
活跃值: (82)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
安装火狐设置主密码,找到这两个文件就可以测试了吧,百度一下可以找出答案的
2013-9-4 11:18
0
游客
登录 | 注册 方可回帖
返回
//