首页
社区
课程
招聘
[原创]一款access密码破解器的破解分析
发表于: 2012-6-25 20:50 3773

[原创]一款access密码破解器的破解分析

2012-6-25 20:50
3773
【文章标题】: 一款access密码破解器的破解分析
【文章作者】: ITaman
【作者邮箱】: itaman@126.com
【软件名称】: Access数据库密码破解器
【软件大小】: 1.5M
【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: PEID V0.95,OD,LordPE ,ImportREC
【操作平台】: windowXP
【软件介绍】: Access数据库密码破解器可以破解目前已知的各版本Access数据库密码,支持20位中英文密码的破解
(试用版只能显示前4位密码),支持批量数据库破解。
【作者声明】: 本人菜鸟一只,最近参加北理工举办ISCC2012信息安全大赛,有个题需要破解个Access数据库密码,
在网上搜索到此软件。初学破解一个月,初次发帖,纯交流,没有其他目的,支持正版。希望各位大侠多多指教~
***********************************************************************************************************************
【详细过程】
1.查壳
PEID查壳ASPack 2.12 -> Alexey Solodovnikov

2.脱壳
OD载入
0056D001 >  60              pushad               //眼前一亮,考虑ESP定律
0056D002    E8 03000000     call ACpass.0056D00A
0056D007  - E9 EB045D45     jmp 45B3D4F7
0056D00C    55              push ebp
0056D00D    C3              retn

单步F8,注意到寄存器ESP 为0012FFA4  右键数据窗口中跟随

来到数据窗口

0012FFA4  7C930738  ntdll.7C930738  下硬件访问断点

F9运行

0056D3B0   /75 08           jnz XACpass.0056D3BA
0056D3B2   |B8 01000000     mov eax,0x1
0056D3B7   |C2 0C00         retn 0xC
0056D3BA   \68 FC524D00     push ACpass.004D52FC  //OEP到了^_^
0056D3BF    C3              retn

删除硬件断点,单步F8,来到OEP

004D52FC    55              push ebp
004D52FD    8BEC            mov ebp,esp
004D52FF    83C4 F0         add esp,-0x10
004D5302    53              push ebx
004D5303    B8 844F4D00     mov eax,ACpass.004D4F84
004D5308    E8 CB15F3FF     call ACpass.004068D8
004D530D    8B1D E4914D00   mov ebx,dword ptr ds:[0x4D91E4]          ; ACpass.004DAC34
004D5313    8B03            mov eax,dword ptr ds:[ebx]

使用LordPE 先纠正映象大小,然后完整脱壳
使用ImportREC修复,输入表都找到了,嘻嘻!抓取,运行成功。^_^

3.破解
接下来开始破解

点击软件注册:输入用户名ITaman,注册码1234567,点注册验证,提示重启程序

典型的重启验证,先到注册表里找找有没有啥猫腻

运行 regedit打开注册表,查找ITaman

果然不出所料   里面写有
RegNo:1234567
RegUser:ITaman

OD载入脱壳后的程序
搜索ASCII码 搜索关键字RegUser

找到后双击来到这里
004D3B8F  |> \C605 E0B14D00>mov byte ptr ds:[0x4DB1E0],0x0    //下断点,F9运行
004D3B96  |.  B2 01         mov dl,0x1                        //F8单步走,注意数据窗口和堆栈的变化
004D3B98  |.  A1 2C804600   mov eax,dword ptr ds:[0x46802C]
004D3B9D  |.  E8 8A45F9FF   call dumped_.0046812C
004D3BA2  |.  8BF0          mov esi,eax
004D3BA4  |.  BA 01000080   mov edx,0x80000001
004D3BA9  |.  8BC6          mov eax,esi
004D3BAB  |.  E8 1C46F9FF   call dumped_.004681CC
004D3BB0  |.  B1 01         mov cl,0x1
004D3BB2  |.  BA 403D4D00   mov edx,dumped_.004D3D40                 ;  Software\ACPass
004D3BB7  |.  8BC6          mov eax,esi
004D3BB9  |.  E8 7246F9FF   call dumped_.00468230
004D3BBE  |.  8D4D F0       lea ecx,[local.4]
004D3BC1  |.  BA 583D4D00   mov edx,dumped_.004D3D58                 ;  RegUser
004D3BC6  |.  8BC6          mov eax,esi
004D3BC8  |.  E8 4B48F9FF   call dumped_.00468418
004D3BCD  |.  8B55 F0       mov edx,[local.4]
004D3BD0  |.  B8 E4B14D00   mov eax,dumped_.004DB1E4
004D3BD5  |.  E8 F608F3FF   call dumped_.004044D0
004D3BDA  |.  8D4D EC       lea ecx,[local.5]
004D3BDD  |.  BA 683D4D00   mov edx,dumped_.004D3D68                 ;  RegNo
004D3BE2  |.  8BC6          mov eax,esi
004D3BE4  |.  E8 2F48F9FF   call dumped_.00468418
004D3BE9  |.  8B45 EC       mov eax,[local.5]
004D3BEC  |.  50            push eax
004D3BED  |.  8D4D E8       lea ecx,[local.6]
004D3BF0  |.  BA 783D4D00   mov edx,dumped_.004D3D78                 ;  acpassChina
004D3BF5  |.  A1 E4B14D00   mov eax,dword ptr ds:[0x4DB1E4]
004D3BFA  |.  E8 D5E2FFFF   call dumped_.004D1ED4             //关键CALL,F7
004D3BFF  |.  8B55 E8       mov edx,[local.6]                               //单步到此处出现了数据窗口如下注册码
004D3C02  |.  58            pop eax                      
004D3C03  |.  E8 700CF3FF   call dumped_.00404878
004D3C08  |.  75 07         jnz Xdumped_.004D3C11
004D3C0A  |.  C605 E0B14D00>mov byte ptr ds:[0x4DB1E0],0x1
***********************************************************************************************************************
堆栈 ss:[0012FE00]=00F323B0, (ASCII "DCEFA8866F724BF5")
edx=00F36164, (ASCII "ITaman")
***********************************************************************************************************************
使用RegNo:DCEFA8866F724BF5
RegUser:ITaman

注册成功!^_^

PS:本来想研究下注册码算法,搞个注册机,无耐功底不够,希望哪位大侠能给出算法,小弟十分感谢~^_^上面分
析有错误的地方,请各位大侠不要见笑。
***********************************************************************************************************************  

【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                                  2012年06月25日

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//