ITaman 发表于 2012-7-8 11:53

一款access密码破解器的破解分析

本帖最后由 ITaman 于 2012-7-8 12:48 编辑




【文章标题】: 一款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右键数据窗口中跟随

来到数据窗口

0012FFA47C930738ntdll.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:          ; ACpass.004DAC34
004D5313    8B03            mov eax,dword ptr ds:

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

3.破解
接下来开始破解

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

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

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

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

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

找到后双击来到这里
004D3B8F|> \C605 E0B14D00>mov byte ptr ds:,0x0    //下断点,F9运行
004D3B96|.B2 01         mov dl,0x1                        //F8单步走,注意数据窗口和堆栈的变化
004D3B98|.A1 2C804600   mov eax,dword ptr ds:
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,
004D3BC1|.BA 583D4D00   mov edx,dumped_.004D3D58               ;RegUser
004D3BC6|.8BC6          mov eax,esi
004D3BC8|.E8 4B48F9FF   call dumped_.00468418
004D3BCD|.8B55 F0       mov edx,
004D3BD0|.B8 E4B14D00   mov eax,dumped_.004DB1E4
004D3BD5|.E8 F608F3FF   call dumped_.004044D0
004D3BDA|.8D4D EC       lea ecx,
004D3BDD|.BA 683D4D00   mov edx,dumped_.004D3D68               ;RegNo
004D3BE2|.8BC6          mov eax,esi
004D3BE4|.E8 2F48F9FF   call dumped_.00468418
004D3BE9|.8B45 EC       mov eax,
004D3BEC|.50            push eax
004D3BED|.8D4D E8       lea ecx,
004D3BF0|.BA 783D4D00   mov edx,dumped_.004D3D78               ;acpassChina
004D3BF5|.A1 E4B14D00   mov eax,dword ptr ds:
004D3BFA|.E8 D5E2FFFF   call dumped_.004D1ED4             //关键CALL,F7
004D3BFF|.8B55 E8       mov edx,                               //单步到此处出现了数据窗口如下注册码
004D3C02|.58            pop eax                     
004D3C03|.E8 700CF3FF   call dumped_.00404878
004D3C08|.75 07         jnz Xdumped_.004D3C11
004D3C0A|.C605 E0B14D00>mov byte ptr ds:,0x1
***********************************************************************************************************************
堆栈 ss:=00F323B0, (ASCII "DCEFA8866F724BF5")
edx=00F36164, (ASCII "ITaman")
***********************************************************************************************************************
使用RegNo:DCEFA8866F724BF5
RegUser:ITaman

注册成功!^_^

PS:本来想研究下注册码算法,搞个注册机,无耐功底不够,希望哪位大侠能给出算法,小弟十分感谢~^_^上面分
析有错误的地方,请各位大侠不要见笑。
今天刚刚注册的号,感谢吾爱破解开放注册一天,已经期待了很久了~~





Sound 发表于 2012-7-8 11:54

唔 不错 学习了 膜拜大牛

艹123 发表于 2012-7-8 11:57

搞不懂说什么

Chief 发表于 2012-7-8 11:58

写的不错。鼓励大家出破文。
破文尽量详细。

光少 发表于 2012-7-8 12:00

这是什么啊

q99519 发表于 2012-7-8 12:03

支持破解

ITaman 发表于 2012-7-8 12:06

谢谢大家支持~:loveliness:

clzacl 发表于 2012-7-8 12:13

恭喜楼主!

wwg_871118 发表于 2012-7-8 12:13

这到是好啊,可惜暂用不着

w45132 发表于 2012-7-8 12:24

页: [1] 2 3
查看完整版本: 一款access密码破解器的破解分析