吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14551|回复: 4
收起左侧

[分享] xxx文件夹加密大师-找注册码

[复制链接]
CHHSun 发表于 2009-5-1 11:39
本帖最后由 CHHSun 于 2009-5-12 11:40 编辑

[ 破文标题 ]xxx文件夹加密大师-内存补丁+找注册码
[ 破文作者 ] CHHSun
[ 作者邮箱 ] 没有
[ 作者主页 ] http://hi.baidu.com/chhsun611
[ 破解工具 ] OD
[ 破解平台 ] Windows XP SP2
[ 软件名称 xxx文件夹加密大师2009 Build 90421
[ 软件大小 ] RAR压缩1.34M
[ 原版下载 ] 支持国软

[ 保护方式 ] ASPack 2.12 -> Alexey Solodovnikov,注册表重启验证
[ 软件简介 ] 文件夹加密
[ 破解声明 ] 本破文只供学习使用,不的用于非法用途。
-----------------------------------------------------
[ 破解过程 ]-----------------------------------------
方法1、脱壳后查找字符串
     注册成功,感谢您的支持!请重新运行本软件

方法2,不脱壳不找字符串,有些程序是没有字符串让你找的,而且有的壳也不好脱。

有重启验证提示框,但用提示窗口断点MessageBox(A/W) MessageBoxEx(A/W)都断不下来。万能断点也没断下,汗!
那么就用断输入文本框bp GetWindowTextA下断断下
0012F450   00485DFC   /CALL 到 GetWindowTextA 来自 ediamond.00485DF7
0012F454   0021024E   |hWnd = 0021024E ('文件夹加密大师',class='TApplication')
0012F458   0012F460   |Buffer = 0012F460
0012F45C   00000100   \Count = 100 (256.)

取消断点,在断下这一行返回到程序,到
00485DF6     50               push eax
00485DF7     E8 A415F8FF       call ediamond.004073A0
00485DFC     8BC8             mov ecx,eax             ;返回到这里,F2下断,F9运行,断下后,F8向下走,

中间如果有向上的跳转,用F4步过。跟呀跟一直跟到出现错误提示框。
到这里出现错
00435AF4     FF92 EC000000     call dword ptr ds:[edx+EC]           ;错误提示框。
00435AFA     8945 F8           mov dword ptr ss:[ebp-8],eax
00435AFD     33C0             xor eax,eax

出现错误了,那我们就向上找是从哪里来的是否能跳过。找到段首

00435A74     55               push ebp           :段首,F2下段,
00435A75     8BEC             mov ebp,esp
00435A77     83C4 F4           add esp,-0C
00435A7A     53               push ebx

F9运行,中断后看堆栈
0012F614   00435A6F   返回到 ediamond.00435A6F 来自 ediamond.00435A74
在这一行在次返回,返回到
00435A6A     E8 05000000       call ediamond.00435A74
00435A6F     59               pop ecx                     ;返回到这里
00435A70     5D               pop ebp

向上找到段首,下断硬件执行断点(因为有壳,在这里程序死掉,重新来过),F9运行
00435A50     55               push ebp                 ;段首
00435A51     8BEC             mov ebp,esp
00435A53     51               push ecx

重来输入假码断下后,看堆栈停在
0012F630   00435B46   返回到 ediamond.00435B46 来自 ediamond.00435A50
删除硬件执行断点在这一行返回到,
00435B46     C3               ret                 返回到这里,晕了吧,是个ret,这个怎么返回来,
00435B47     000400           add byte ptr ds:[eax+eax],al
00435B4A     0000             add byte ptr ds:[eax],al

不管他是在哪返回的,在这个ret上下硬件执行断点。F9运行后输入假码也断不下来了,一直在这个ret上,在看堆栈

0012F640   00435B33   返回到 ediamond.00435B33 来自 ediamond.00435B34   停在这里
0012F644   004FF0E3   返回到 ediamond.004FF0E3 来自 ediamond.00435B28   我们在这里返回
0012F648   0012F6A4   指向下一个 SEH 记录的指针
0012F64C   004FF1BF   SE处理程序

在ediamond.004FF0E3 来自 ediamond.00435B28返回,到
004FF0DE     E8 456AF3FF       call ediamond.00435B28
004FF0E3     EB 04             jmp short ediamond.004FF0E9   返回到这里,向上找
004FF0E5     EB 05             jmp short ediamond.004FF0EC
004FF0E7     2901             sub dword ptr ds:[ecx],eax
004FF0E9     E9 85000000       jmp ediamond.004FF173
找到上面段首,在哪个地方下断后能断下的地方都行
我还找了004FEF4D这个地方。在向上也还行。
----

最终都会找到这里来

004FEF4D     50               push eax   在这里F2下断
004FEF4E     B9 06000000       mov ecx,6
004FEF53     BA 03000000       mov edx,3
004FEF58     8B45 FC           mov eax,dword ptr ss:[ebp-4]
004FEF5B     E8 B458F0FF       call ediamond.00404814
004FEF60     8B45 EC           mov eax,dword ptr ss:[ebp-14]
004FEF63     BA D4F14F00       mov edx,ediamond.004FF1D4         ; 9AEB9C
004FEF68     E8 9357F0FF       call ediamond.00404700
004FEF6D     75 21             jnz short ediamond.004FEF90



F9运行输入假码,中断后F8单步到004ff064 CALL

004FF064     E8 3798FCFF       call ediamond.004C88A0     关键CALL,F7跟进
004FF069     84C0             test al,al
004FF06B     74 6C             je short ediamond.004FF0D9
004FF06D     8D55 D8           lea edx,dword ptr ss:[ebp-28]
004FF070     8B86 F8020000     mov eax,dword ptr ds:[esi+2F8]
004FF076     E8 7170F6FF       call ediamond.004660EC
004FF07B     8B4D D8           mov ecx,dword ptr ss:[ebp-28]
004FF07E     A1 E0945000       mov eax,dword ptr ds:[5094E0]
004FF083     8B00             mov eax,dword ptr ds:[eax]
004FF085     BA E4F14F00       mov edx,ediamond.004FF1E4         ; UserName
004FF08A     E8 E928FEFF       call ediamond.004E1978

中断在004ff064 CALL看堆栈显示

0012F66C   010BB378   ASCII "09000000B80904E1895065277E1A19D56D77718D"这一串不知是怎么加密行成的。
0012F670   010BB310   ASCII "123456789"   假码
0012F674   010B30AC   ASCII "123"
0012F678   010BB2FC   ASCII "345678"
0012F67C   010BB2CC   ASCII "123456789"
0012F680   010BB2B4   ASCII "123456789"
0012F684   010BB2A0   ASCII "CHHSun"   用户名
0012F688   010BB378   ASCII "09000000B80904E1895065277E1A19D56D77718D"



F7跟进到004FF064     E8 3798FCFF       call ediamond.004C88A0

来到
004C88A0     55               push ebp                 ;到这,F8向下走
004C88A1     8BEC             mov ebp,esp
004C88A3     33C9             xor ecx,ecx
004C88A5     51               push ecx
004C88A6     51               push ecx


F8向下走到,004c8936,这个CALL是注册码出现的CALL

004C8936     E8 C5BDF3FF       call ediamond.00404700             ; 关键CALL,F7跟进,
004C893B     0F94C3           sete bl                           ; 爆破点,

1、如要爆破,F8单步到004C893B 看辅助窗口
条件为假 FALSE bl=04,我们要他条件为真才行。把sete bl 改为 setne bl,可写内存补丁。

2、找找注册码,F7跟进004C8936     E8 C5BDF3FF       call ediamond.00404700

来到
00404700     53               push ebx
00404701     56               push esi
00404702     57               push edi
00404703     89C6             mov esi,eax
00404705     89D7             mov edi,edx
00404707     39D0             cmp eax,edx                       ; 比较两串是否相等如相等就OK。
00404709     0F84 8F000000     je ediamond.0040479E
0040470F     85F6             test esi,esi

F8到00404707看看辅助窗口
edx=010BA1C4, (ASCII "04E189")
eax=010BA1F4, (ASCII "D5EEC1")
这两串比较,如果相等就跳向成功。
我们在看看堆栈
0012F62C   00000004
0012F630   010BA1C4   ASCII "04E189"
0012F634   010BA1F4   ASCII "D5EEC1"
0012F638   010BA180   ASCII "090000"
0012F63C   010BA214   ASCII "09000000B80904E1895065277E1A19D56D77718D"


ASCII "04E189"是ASCII "09000000B80904E1895065277E1A19D56D77718D"的第13位到第18位
如果13-18位等于D5EEC1那么就注册成功。
所以的出一组注册码就是

用户名:CHHSun
注册码:09000000B809D5EEC15065277E1A19D56D77718D

经测试注册成功,已注册。(注册机不会写- -!)


注册信息写入注册表
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\FolderEncryption]
"UninstallPsw"=""
"UserName"="CHHSun"
"RegCode"="09000000B809D5EEC15065277E1A19D56D77718D"
"RegDate"="09-05-01"

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

什么也不是 发表于 2009-5-1 11:59

  一直不擅长用断点
脱破以后多教下我
mycsy 发表于 2009-5-1 13:47
swl 发表于 2009-5-1 14:03
不脱壳破解难,学习下。要是有语音录相就好了
yanbox 发表于 2009-5-1 18:04
这软件不错啊...呵呵.
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-17 09:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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