吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3555|回复: 7
收起左侧

[会员申请] 申请ID:苛兒【申请通过】

[复制链接]
吾爱游客  发表于 2013-9-30 10:23
1、申 请 I D :苛兒
2、个人邮箱:  2583053646@qq.com
3、自我简单介绍及主要作品链接:
       苛兒:男,22,信息对抗,目前从事软件开发工作,平时使用VS开发C++及C#程序,LINUX下使用C/C++,SHELL,PYTHON及PERL写程序,做过一段时间软件安全分析。
       写的都是一些小程序,技术含量不怎么高。最近接手.net,研究.NET程序加密方式。

原创破文:

################################################################################################
软件名称: Access数据库密码破解器 3.45
下载地址: http://www.skycn.com/soft/23984.html

破解之后获取的注册码----------用户名:1234 注册码:2E0455703466A10F
################################################################################################
pedit 查壳 ---ASPack 2.12 -> Alexey Solodovnikov
直接脱壳机搞定--ASPack UnPacker.exe(脱壳机)
脱壳后pedit查壳: Borland Delphi 6.0 - 7.0
################################################################################################
OD载入---查找字符串“注册”
---查到-- “文本字符串=注册完成,请重新运行程序!” 双击反汇编跟踪
在反汇编窗口中可以看到reguser 及regno   software\acpass
猜测应该是放入到注册表中
接下来两种思路
1.---查找字符串---reguser regno 及software\acpass
2.---注册表下断点(BP RegQueryValueExA) 重载运行--查看reguser及regno
################################################################################################
########################注册表断点法############
运行 注意堆栈的显示----直到读取regno时----执行运行到用户代码
然后单步走一段代码----最后到达下面代码--
004D3BAB  |.  E8 1C46F9FF   call ACpass_u.004681CC
004D3BB0  |.  B1 01         mov cl,0x1
004D3BB2  |.  BA 403D4D00   mov edx,ACpass_u.004D3D40                ;  Software\ACPass
004D3BB7  |.  8BC6          mov eax,esi
004D3BB9  |.  E8 7246F9FF   call ACpass_u.00468230
004D3BBE  |.  8D4D F0       lea ecx,[local.4]
004D3BC1  |.  BA 583D4D00   mov edx,ACpass_u.004D3D58                ;  RegUser
004D3BC6  |.  8BC6          mov eax,esi
004D3BC8  |.  E8 4B48F9FF   call ACpass_u.00468418
004D3BCD  |.  8B55 F0       mov edx,[local.4]
004D3BD0  |.  B8 E4B14D00   mov eax,ACpass_u.004DB1E4
004D3BD5  |.  E8 F608F3FF   call ACpass_u.004044D0
004D3BDA  |.  8D4D EC       lea ecx,[local.5]
004D3BDD  |.  BA 683D4D00   mov edx,ACpass_u.004D3D68                ;  RegNo
004D3BE2  |.  8BC6          mov eax,esi
004D3BE4  |.  E8 2F48F9FF   call ACpass_u.00468418
004D3BE9  |.  8B45 EC       mov eax,[local.5]
004D3BEC  |.  50            push eax

往下看----注意堆栈及寄存器信息
004D3BE9  |.  8B45 EC       mov eax,[local.5]
004D3BEC  |.  50            push eax
004D3BED  |.  8D4D E8       lea ecx,[local.6]
004D3BF0  |.  BA 783D4D00   mov edx,ACpass_u.004D3D78                ;  acpassChina
004D3BF5  |.  A1 E4B14D00   mov eax,dword ptr ds:[0x4DB1E4]
004D3BFA  |.  E8 D5E2FFFF   call ACpass_u.004D1ED4
004D3BFF  |.  8B55 E8       mov edx,[local.6]
004D3C02  |.  58            pop eax
004D3C03  |.  E8 700CF3FF   call ACpass_u.00404878     -------关键CALL--比较真假注册码
004D3C08  |.  75 07         jnz XACpass_u.004D3C11
004D3C0A  |.  C605 E0B14D00>mov byte ptr ds:[0x4DB1E0],0x1
004D3C11  |>  8BC6          mov eax,esi
004D3C13  |.  E8 D8FAF2FF   call ACpass_u.004036F0
004D3C18  |.  803D E0B14D00>cmp byte ptr ds:[0x4DB1E0],0x0
004D3C1F  |.  75 27         jnz XACpass_u.004D3C48
004D3C21  |.  8D55 E4       lea edx,[local.7]
004D3C24  |.  8BB3 18030000 mov esi,dword ptr ds:[ebx+0x318]
004D3C2A  |.  8BC6          mov eax,esi
004D3C2C  |.  E8 8714FCFF   call ACpass_u.004950B8
004D3C31  |.  8D45 E4       lea eax,[local.7]
004D3C34  |.  BA 8C3D4D00   mov edx,ACpass_u.004D3D8C                ;   - 未购买用户
004D3C39  |.  E8 FE0AF3FF   call ACpass_u.0040473C


跟入关键CALL 来到下面代码:

00404878  /$  53            push ebx
00404879  |.  56            push esi
0040487A  |.  57            push edi
0040487B  |.  89C6          mov esi,eax
0040487D  |.  89D7          mov edi,edx
0040487F  |.  39D0          cmp eax,edx         -------------比较真假注册码
00404881      0F84 8F000000 je ACpass_u.00404916     ---------关键跳转  直接改为jmp
00404887  |.  85F6          test esi,esi
00404889  |.  74 68         je XACpass_u.004048F3
0040488B  |.  85FF          test edi,edi
0040488D  |.  74 6B         je XACpass_u.004048FA
0040488F  |.  8B46 FC       mov eax,dword ptr ds:[esi-0x4]

调试的时候让关键挑的JE 跳转--(改Z标志位)   跳出关键CALL 来到

004D3BF5  |.  A1 E4B14D00   mov eax,dword ptr ds:[0x4DB1E4]
004D3BFA  |.  E8 D5E2FFFF   call ACpass_u.004D1ED4
004D3BFF  |.  8B55 E8       mov edx,[local.6]
004D3C02  |.  58            pop eax
004D3C03  |.  E8 700CF3FF   call ACpass_u.00404878       -----关键CALL
004D3C08  |.  75 07         jnz XACpass_u.004D3C11       -----回到此处-- 发现此处不跳转 继续向下
004D3C0A  |.  C605 E0B14D00>mov byte ptr ds:[0x4DB1E0],0x1
004D3C11  |>  8BC6          mov eax,esi
004D3C13  |.  E8 D8FAF2FF   call ACpass_u.004036F0
004D3C18  |.  803D E0B14D00>cmp byte ptr ds:[0x4DB1E0],0x0
004D3C1F  |.  75 27         jnz XACpass_u.004D3C48  -----到此处发现跳转-跳过了“未购买”用户
004D3C21  |.  8D55 E4       lea edx,[local.7]
004D3C24  |.  8BB3 18030000 mov esi,dword ptr ds:[ebx+0x318]
004D3C2A  |.  8BC6          mov eax,esi
004D3C2C  |.  E8 8714FCFF   call ACpass_u.004950B8
004D3C31  |.  8D45 E4       lea eax,[local.7]
004D3C34  |.  BA 8C3D4D00   mov edx,ACpass_u.004D3D8C                ;   - 未购买用户
004D3C39  |.  E8 FE0AF3FF   call ACpass_u.0040473C
004D3C3E  |.  8B55 E4       mov edx,[local.7]
004D3C41  |.  8BC6          mov eax,esi
F9运行  看是否解除了未注册的限制-----运行起来后查看数据库密码---可以查看正确密码
到此爆破成功。
################################################################################################
############后续:#####------追正确注册码-------

记得刚才跟入关键CALL之后--比较了真假注册码---因此可以在比较处进行下断--从寄存器EDX中获取真注册码


###############################################################################################
1.---查找字符串---reguser regno 及software\acpass 破解方法
直接查找regno 来到:
004D3BAB  |.  E8 1C46F9FF   call ACpass_u.004681CC
004D3BB0  |.  B1 01         mov cl,0x1
004D3BB2  |.  BA 403D4D00   mov edx,ACpass_u.004D3D40                ;  Software\ACPass
004D3BB7  |.  8BC6          mov eax,esi
004D3BB9  |.  E8 7246F9FF   call ACpass_u.00468230
004D3BBE  |.  8D4D F0       lea ecx,[local.4]
004D3BC1  |.  BA 583D4D00   mov edx,ACpass_u.004D3D58                ;  RegUser
004D3BC6  |.  8BC6          mov eax,esi
004D3BC8  |.  E8 4B48F9FF   call ACpass_u.00468418
004D3BCD  |.  8B55 F0       mov edx,[local.4]
004D3BD0  |.  B8 E4B14D00   mov eax,ACpass_u.004DB1E4
004D3BD5  |.  E8 F608F3FF   call ACpass_u.004044D0
004D3BDA  |.  8D4D EC       lea ecx,[local.5]
004D3BDD  |.  BA 683D4D00   mov edx,ACpass_u.004D3D68                ;  RegNo
004D3BE2  |.  8BC6          mov eax,esi
004D3BE4  |.  E8 2F48F9FF   call ACpass_u.00468418
004D3BE9  |.  8B45 EC       mov eax,[local.5]
004D3BEC  |.  50            push eax
004D3BED  |.  8D4D E8       lea ecx,[local.6]
004D3BF0  |.  BA 783D4D00   mov edx,ACpass_u.004D3D78                ;  acpassChina
004D3BF5  |.  A1 E4B14D00   mov eax,dword ptr ds:[0x4DB1E4]
004D3BFA  |.  E8 D5E2FFFF   call ACpass_u.004D1ED4
004D3BFF  |.  8B55 E8       mov edx,[local.6]
看到这里相信大家都知道该怎么操作了吧--
跟上面注册表的一样--只是这种方法更快的找到了重启验证的位置
废话不再多说了    大家慢慢研究吧

################################################################################################
跟随的时候多次分析一下  多跑两遍程序---就可以搞定了
################################################################################################

出现问题----OD调试器里面运行的时候(让关键跳转---可以正常使用)可是改为JMP之后保存运行就出现了问题
下面使用其他方法进行爆破--
004D3BED  |.  8D4D E8       lea ecx,[local.6]
004D3BF0  |.  BA 783D4D00   mov edx,ACpass_u.004D3D78                ;  acpassChina
004D3BF5  |.  A1 E4B14D00   mov eax,dword ptr ds:[0x4DB1E4]
004D3BFA  |.  E8 D5E2FFFF   call ACpass_u.004D1ED4
004D3BFF  |.  8B55 E8       mov edx,[local.6]
004D3C02  |.  58            pop eax
004D3C03  |.  E8 700CF3FF   call ACpass_u.00404878     -------关键CALL--比较真假注册码
004D3C08  |.  75 07         jnz XACpass_u.004D3C11                         //爆破  改为JE
004D3C0A  |.  C605 E0B14D00>mov byte ptr ds:[0x4DB1E0],0x1
004D3C11  |>  8BC6          mov eax,esi
004D3C13  |.  E8 D8FAF2FF   call ACpass_u.004036F0
004D3C18  |.  803D E0B14D00>cmp byte ptr ds:[0x4DB1E0],0x0
004D3C1F  |.  75 27         jnz XACpass_u.004D3C48     ////爆破  改为JE
004D3C21  |.  8D55 E4       lea edx,[local.7]
004D3C24  |.  8BB3 18030000 mov esi,dword ptr ds:[ebx+0x318]
004D3C2A  |.  8BC6          mov eax,esi
004D3C2C  |.  E8 8714FCFF   call ACpass_u.004950B8
004D3C31  |.  8D45 E4       lea eax,[local.7]
004D3C34  |.  BA 8C3D4D00   mov edx,ACpass_u.004D3D8C                ;   - 未购买用户
004D3C39  |.  E8 FE0AF3FF   call ACpass_u.0040473C

运行--窗口标题出现未购买用户(需要去除为购买标志,这里就不跟进了  呵呵)  但是实际上可以查看数据库的密码了

最后提醒:此文只是对ACCESS密码工具进行了一个小的分析,希望读者不要用于非法用途

4、申请时间:2013年9月9日
5、备注: 听说这里可以学到很多,希望管理员能够予以通过,谢谢。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2013-9-30 17:37
申请时间咋是9月9号?是原创吗?
吾爱游客  发表于 2013-10-3 02:02
Hmily 发表于 2013-9-30 17:37
申请时间咋是9月9号?是原创吗?


是原创的  原来分析的时候写的分析笔记,  发帖申请账号的时候就没有修改日期直接将原来的笔记粘贴过来了 , 所以就上面的9月9号了
吾爱游客  发表于 2013-10-3 02:04
Hmily 发表于 2013-9-30 17:37
申请时间咋是9月9号?是原创吗?

申请日期我搞错了 很不好意思哦   申请日期应该是发帖日期,也就是2013-9-30   忘见谅哈
xh5510 发表于 2013-10-3 07:13
游客 202.104.158.x 发表于 2013-10-3 02:04
申请日期我搞错了 很不好意思哦   申请日期应该是发帖日期,也就是2013-9-30   忘见谅哈

笔记里面还有  大家慢慢研究吧
吾爱游客  发表于 2013-10-3 12:29
xh5510 发表于 2013-10-3 07:13
笔记里面还有  大家慢慢研究吧

求指教啊  指导下C#的加密方式呗
Hmily 发表于 2013-10-3 22:33
ID:苛兒
邮箱:2583053646@qq.com

申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。
苛兒 发表于 2013-10-3 22:36
Hmily 发表于 2013-10-3 22:33
ID:苛兒
邮箱:

来报道了  谢谢管理员
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 12:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表