首页
社区
课程
招聘
极光多能闹钟4.0暴力破解
发表于: 2004-9-21 21:57 5526

极光多能闹钟4.0暴力破解

2004-9-21 21:57
5526
【破解作者】 pmma
【作者邮箱】 [email]lyzhu110@163.com[/email]
【使用工具】 OLLYDBG1.10汉化版
【破解平台】 Win9x/NT/2000/XP
【软件名称】 极光多能闹钟4.0
【软件简介】 极光闹钟是一款个性化的事务提醒软件,结合了一些同类软件的优点。
充分考虑到用户的硬件设置,可支持电脑喇叭响铃,这非常方便没有声卡的用户使用。
这种响铃方式不用担心音箱忘记打开,或者设置好的声音文件已不存在导致的问题。
支持自谱喇叭音乐功能,可以播放您自己编辑好的喇叭歌曲。
新版本4.0增强了重要日期提醒功能,可以按具体日期、
每日、每周、每月、农历生日等不同方式提醒,灵活的提醒方式几乎可满足您所有的提醒需要。
【加壳方式】 TELOCK 0.98
【破解声明】 只是对Crack感兴趣,失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【破解内容】

用FI看看,是TELOCK0.98的壳,手上没有工具,那就自己来,OD载入,选项的异常全关,
按F9运行,出现异常就按SHIFT+F9运行,按SHIFT+F9有20次运行,重新来过,按19次,看堆栈
0012FF58   0012FFE0  指针到下一个 SEH 记录
0012FF5C   004C880B  SE 句柄             ××××××××××××××××××××××看到了吗

转到代码窗口在004C880B处设断,

补充:SEH(STRUCTURE EXCEPTION HANDLE)结构化异常处理,发生异常时,
堆栈的ESP里面是指向EXCEPTION_RECORD的指针,ESP+4放的是指向CONTEXT的指针,
一般在返回地址处即CONTEXT处设断点就可以断下来,本例中,按SHIFT+F9有20次会运行,
那么,按SHIFT+F9有19次,看看ESP+4,设断就行了,接着就可以小心的跟踪了,
要注意的是,在某个RET上面,看到ESP是77****(2k,xp),或者BFF****(98,me),
不妨在下一个RET下断,省的掉进系统代码的海里找不着北。   *********书上抄的
今天无聊,补上以前偷懒的东东……

SHIFT+F9断在那里,F7步进,会有花指令,小心的走过,干扰的用NOP填,里面有一个循环,过了这一部分
小心的按F7,到这里
004C8785    00A2 B6400085   ADD BYTE PTR DS:[EDX+850040B6],AH
004C878B    F675 08         DIV BYTE PTR SS:[EBP+8]
004C878E    C707 33C040C3   MOV DWORD PTR DS:[EDI],C340C033
004C8794    EB 0B           JMP SHORT JgClockX.004C87A1
004C8796    C607 E9         MOV BYTE PTR DS:[EDI],0E9
004C8799    47              INC EDI
004C879A    2BDF            SUB EBX,EDI
004C879C    83EB 04         SUB EBX,4
004C879F    891F            MOV DWORD PTR DS:[EDI],EBX
004C87A1    8DBD FACD4000   LEA EDI,DWORD PTR SS:[EBP+40CDFA]
004C87A7    B9 2C000000     MOV ECX,2C
004C87AC    F3:AA           REP STOS BYTE PTR ES:[EDI]
004C87AE    66:AB           STOS WORD PTR ES:[EDI]
004C87B0    EB 02           JMP SHORT JgClockX.004C87B4
004C87B2    CD 20           INT 20
004C87B4    61              POPAD
004C87B5    FF6424 D0       JMP DWORD PTR SS:[ESP-30]                到OEP了
上面似乎有花指令,有兴趣的看看吧。
DUMP下来,修复输入表
能运行了吧
本来想直接找注册码的,后来看看是VB的,又是重启验证的,下断找了半天也没成,记得小楼大虾说过它是用表单
储存注册按钮的信息的,打算把它的ENABLED变成false的,还是失败了,菜啊,
罢了,去掉NAG就成,最低要求
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0049FD13(U)                               ××××××××××××××××××××××××这里
|
:0049FE45 89BDE4FDFFFF            mov dword ptr [ebp+FFFFFDE4], edi
:0049FE4B 8D95E4FDFFFF            lea edx, dword ptr [ebp+FFFFFDE4]
:0049FE51 8D8D54FEFFFF            lea ecx, dword ptr [ebp+FFFFFE54]
:0049FE57 FFD6                    call esi
:0049FE59 8D8D24FEFFFF            lea ecx, dword ptr [ebp+FFFFFE24]
:0049FE5F 51                      push ecx
:0049FE60 8D9534FEFFFF            lea edx, dword ptr [ebp+FFFFFE34]
:0049FE66 52                      push edx
:0049FE67 8D8544FEFFFF            lea eax, dword ptr [ebp+FFFFFE44]
:0049FE6D 50                      push eax
:0049FE6E 6A40                    push 00000040
:0049FE70 8D8D54FEFFFF            lea ecx, dword ptr [ebp+FFFFFE54]
:0049FE76 51                      push ecx

* Reference To: msvbvm60.rtcMsgBox, Ord:0253h
                                  |
:0049FE77 FF15E0104000            Call dword ptr [004010E0]
:0049FE7D 8BC8                    mov ecx, eax
下断rtcMsgBox,断下返回后,到这里0049FE7D,再往上面看,是0049FD13 调用的,上面又一个je呵呵,找到了
* Reference To: msvbvm60.__vbaFreeVarList, Ord:00F5h
                                  |
:0049FCAF 8B1D44104000            mov ebx, dword ptr [00401044]
:0049FCB5 FFD3                    call ebx
:0049FCB7 83C40C                  add esp, 0000000C
:0049FCBA 6683BD8CFDFFFF00        cmp word ptr [ebp+FFFFFD8C], 0000
:0049FCC2 7454                    je 0049FD18                        ××××××××××爆破点1
:0049FCC4 B904000280              mov ecx, 80020004
:0049FCC9 898D2CFEFFFF            mov dword ptr [ebp+FFFFFE2C], ecx
:0049FCCF B80A000000              mov eax, 0000000A
:0049FCD4 898524FEFFFF            mov dword ptr [ebp+FFFFFE24], eax
:0049FCDA 898D3CFEFFFF            mov dword ptr [ebp+FFFFFE3C], ecx
:0049FCE0 898534FEFFFF            mov dword ptr [ebp+FFFFFE34], eax

* Possible StringData Ref from Data Obj ->"桁?秀:y"
                                  |
:0049FCE6 C785DCFDFFFF98184100    mov dword ptr [ebp+FFFFFDDC], 00411898
:0049FCF0 BF08000000              mov edi, 00000008
:0049FCF5 89BDD4FDFFFF            mov dword ptr [ebp+FFFFFDD4], edi
:0049FCFB 8D95D4FDFFFF            lea edx, dword ptr [ebp+FFFFFDD4]
:0049FD01 8D8D44FEFFFF            lea ecx, dword ptr [ebp+FFFFFE44]
:0049FD07 FFD6                    call esi

* Possible StringData Ref from Data Obj ->"^?^&a"?`?(u,go?N ?]?6"
                                  |
:0049FD09 C785ECFDFFFFD0194100    mov dword ptr [ebp+FFFFFDEC], 004119D0
:0049FD13 E92D010000              jmp 0049FE45                           它调用的

――――――――――――――――――――――――――――――――――――――――――――――――
关键看过来:
OD动态调试看看
0049FCBA      66:83BD 8CFDF>CMP WORD PTR SS:[EBP-274],0
0049FCC2   .  74 54         JE SHORT JgClockX.0049FD18    *************刚才的爆破点1,一定要跳(1)
0049FCC4   .  B9 04000280   MOV ECX,80020004
0049FCC9   .  898D 2CFEFFFF MOV DWORD PTR SS:[EBP-1D4],ECX
0049FCCF   .  B8 0A000000   MOV EAX,0A
0049FCD4   .  8985 24FEFFFF MOV DWORD PTR SS:[EBP-1DC],EAX
0049FCDA   .  898D 3CFEFFFF MOV DWORD PTR SS:[EBP-1C4],ECX
0049FCE0   .  8985 34FEFFFF MOV DWORD PTR SS:[EBP-1CC],EAX
0049FCE6   .  C785 DCFDFFFF>MOV DWORD PTR SS:[EBP-224],JgClockX.00411898
0049FCF0   .  BF 08000000   MOV EDI,8
0049FCF5   .  89BD D4FDFFFF MOV DWORD PTR SS:[EBP-22C],EDI
0049FCFB   .  8D95 D4FDFFFF LEA EDX,DWORD PTR SS:[EBP-22C]
0049FD01   .  8D8D 44FEFFFF LEA ECX,DWORD PTR SS:[EBP-1BC]
0049FD07   .  FFD6          CALL ESI
0049FD09   .  C785 ECFDFFFF>MOV DWORD PTR SS:[EBP-214],JgClockX.004119D0
0049FD13   .  E9 2D010000   JMP JgClockX.0049FE45
0049FD18   >  8D85 54FEFFFF LEA EAX,DWORD PTR SS:[EBP-1AC]
0049FD1E   .  50            PUSH EAX
0049FD1F   .  FF15 00134000 CALL DWORD PTR DS:[<&msvbvm60.rtcGetPresentDa>;  msvbvm60.rtcGetPresentDate
0049FD25   .  C785 ECFDFFFF>MOV DWORD PTR SS:[EBP-214],JgClockX.004119B4  ;  UNICODE "yyyy-mm-dd"
0049FD2F   .  C785 E4FDFFFF>MOV DWORD PTR SS:[EBP-21C],8
0049FD39   .  8D95 E4FDFFFF LEA EDX,DWORD PTR SS:[EBP-21C]
0049FD3F   .  8D8D 44FEFFFF LEA ECX,DWORD PTR SS:[EBP-1BC]
0049FD45   .  FFD6          CALL ESI
0049FD47   .  6A 01         PUSH 1
0049FD49   .  6A 01         PUSH 1
0049FD4B   .  8D8D 44FEFFFF LEA ECX,DWORD PTR SS:[EBP-1BC]
0049FD51   .  51            PUSH ECX
0049FD52   .  8D95 54FEFFFF LEA EDX,DWORD PTR SS:[EBP-1AC]
0049FD58   .  52            PUSH EDX
0049FD59   .  FF15 E4124000 CALL DWORD PTR DS:[<&msvbvm60.rtcBstrFromForm>;  
0049FD5F   .  8BD0          MOV EDX,EAX         取得当前日期,改内存就行了(2)
0049FD61   .  8D8D 84FEFFFF LEA ECX,DWORD PTR SS:[EBP-17C]
0049FD67   .  FFD7          CALL EDI
0049FD69   .  50            PUSH EAX
0049FD6A   .  FF15 D4114000 CALL DWORD PTR DS:[<&msvbvm60.__vbaDateS>;  msvbvm60.__vbaDateStr
0049FD70   .  DD9D 84FCFFFF FSTP QWORD PTR SS:[EBP-37C]
0049FD76   .  A1 CCF04B00   MOV EAX,DWORD PTR DS:[4BF0CC]
0049FD7B   .  50            PUSH EAX                                 ;  当前时间,改内存就行了(3)
0049FD7C   .  FF15 D4114000 CALL DWORD PTR DS:[<&msvbvm60.__vbaDateS>;  msvbvm60.__vbaDateStr
0049FD82   .  DCAD 84FCFFFF FSUBR QWORD PTR SS:[EBP-37C]
0049FD88   .  DFE0          FSTSW AX
0049FD8A   .  A8 0D         TEST AL,0D
0049FD8C   .  0F85 E9060000 JNZ JgClockX.004A047B
0049FD92   .  FF15 18114000 CALL DWORD PTR DS:[<&msvbvm60.__vbaFpR8>>;  msvbvm60.__vbaFpR8
0049FD98   .  DC1D B0134000 FCOMP QWORD PTR DS:[4013B0]
0049FD9E   .  DFE0          FSTSW AX
0049FDA0   .  F6C4 01       TEST AH,1
0049FDA3   .  74 07         JE SHORT JgClockX.0049FDAC
0049FDA5   .  B8 01000000   MOV EAX,1
0049FDAA   .  EB 02         JMP SHORT JgClockX.0049FDAE
0049FDAC   >  33C0          XOR EAX,EAX
0049FDAE   >  33C9          XOR ECX,ECX
0049FDB0   .  66:390D F4F04>CMP WORD PTR DS:[4BF0F4],CX
0049FDB7   .  0F94C1        SETE CL
0049FDBA   .  F7D9          NEG ECX
0049FDBC   .  F7D8          NEG EAX
0049FDBE   .  23C8          AND ECX,EAX
0049FDC0   .  66:898D 8CFDF>MOV WORD PTR SS:[EBP-274],CX
0049FDC7   .  8D8D 84FEFFFF LEA ECX,DWORD PTR SS:[EBP-17C]
0049FDCD   .  FF15 1C134000 CALL DWORD PTR DS:[<&msvbvm60.__vbaFreeS>;  msvbvm60.__vbaFreeStr
0049FDD3   .  8D95 44FEFFFF LEA EDX,DWORD PTR SS:[EBP-1BC]
0049FDD9   .  52            PUSH EDX
0049FDDA   .  8D85 54FEFFFF LEA EAX,DWORD PTR SS:[EBP-1AC]
0049FDE0   .  50            PUSH EAX
0049FDE1   .  6A 02         PUSH 2
0049FDE3   .  FFD3          CALL EBX
0049FDE5   .  83C4 0C       ADD ESP,0C
0049FDE8   .  66:83BD 8CFDF>CMP WORD PTR SS:[EBP-274],0
0049FDF0   .  0F84 04010000 JE JgClockX.0049FEFA                     ;  检验有没有爆破的
0049FDF6   .  B9 04000280   MOV ECX,80020004
0049FDFB   .  898D 2CFEFFFF MOV DWORD PTR SS:[EBP-1D4],ECX
0049FE01   .  B8 0A000000   MOV EAX,0A
0049FE06   .  8985 24FEFFFF MOV DWORD PTR SS:[EBP-1DC],EAX
0049FE0C   .  898D 3CFEFFFF MOV DWORD PTR SS:[EBP-1C4],ECX
0049FE12   .  8985 34FEFFFF MOV DWORD PTR SS:[EBP-1CC],EAX
0049FE18   .  C785 DCFDFFFF>MOV DWORD PTR SS:[EBP-224],JgClockX.0041>
0049FE22   .  BF 08000000   MOV EDI,8
0049FE27   .  89BD D4FDFFFF MOV DWORD PTR SS:[EBP-22C],EDI
0049FE2D   .  8D95 D4FDFFFF LEA EDX,DWORD PTR SS:[EBP-22C]
0049FE33   .  8D8D 44FEFFFF LEA ECX,DWORD PTR SS:[EBP-1BC]
0049FE39   .  FFD6          CALL ESI
0049FE3B   .  C785 ECFDFFFF>MOV DWORD PTR SS:[EBP-214],JgClockX.0041>
0049FE45   >  89BD E4FDFFFF MOV DWORD PTR SS:[EBP-21C],EDI
0049FE4B   .  8D95 E4FDFFFF LEA EDX,DWORD PTR SS:[EBP-21C]
0049FE51   .  8D8D 54FEFFFF LEA ECX,DWORD PTR SS:[EBP-1AC]
0049FE57   .  FFD6          CALL ESI
0049FE59   .  8D8D 24FEFFFF LEA ECX,DWORD PTR SS:[EBP-1DC]
0049FE5F   .  51            PUSH ECX
0049FE60   .  8D95 34FEFFFF LEA EDX,DWORD PTR SS:[EBP-1CC]
0049FE66   .  52            PUSH EDX
0049FE67   .  8D85 44FEFFFF LEA EAX,DWORD PTR SS:[EBP-1BC]
0049FE6D   .  50            PUSH EAX
0049FE6E   .  6A 40         PUSH 40
0049FE70   .  8D8D 54FEFFFF LEA ECX,DWORD PTR SS:[EBP-1AC]
0049FE76   .  51            PUSH ECX
0049FE77   .  FF15 E0104000 CALL DWORD PTR DS:[<&msvbvm60.rtcMsgBox>>;  msvbvm60.rtcMsgBox
0049FE7D   .  8BC8          MOV ECX,EAX
0049FE7F   .  FF15 6C114000 CALL DWORD PTR DS:[<&msvbvm60.__vbaI2I4>>;  msvbvm60.__vbaI2I4
0049FE85   .  8D95 24FEFFFF LEA EDX,DWORD PTR SS:[EBP-1DC]
0049FE8B   .  52            PUSH EDX
0049FE8C   .  8D85 34FEFFFF LEA EAX,DWORD PTR SS:[EBP-1CC]
0049FE92   .  50            PUSH EAX
0049FE93   .  8D8D 44FEFFFF LEA ECX,DWORD PTR SS:[EBP-1BC]
0049FE99   .  51            PUSH ECX
0049FE9A   .  8D95 54FEFFFF LEA EDX,DWORD PTR SS:[EBP-1AC]
0049FEA0   .  52            PUSH EDX
0049FEA1   .  6A 04         PUSH 4
0049FEA3   .  FFD3          CALL EBX
0049FEA5   >  83C4 14       ADD ESP,14
0049FEA8   >  8B7D 08       MOV EDI,DWORD PTR SS:[EBP+8]
0049FEAB   .  8B07          MOV EAX,DWORD PTR DS:[EDI]
0049FEAD   .  57            PUSH EDI
0049FEAE   .  FF90 10030000 CALL DWORD PTR DS:[EAX+310]
0049FEB4   .  50            PUSH EAX
0049FEB5   .  8D8D 70FEFFFF LEA ECX,DWORD PTR SS:[EBP-190]
0049FEBB   .  51            PUSH ECX
0049FEBC   .  FF15 D8104000 CALL DWORD PTR DS:[<&msvbvm60.__vbaObjSe>;  msvbvm60.__vbaObjSet
0049FEC2   .  8BF0          MOV ESI,EAX
0049FEC4   .  8B16          MOV EDX,DWORD PTR DS:[ESI]
0049FEC6   .  8B47 3C       MOV EAX,DWORD PTR DS:[EDI+3C]
0049FEC9   .  50            PUSH EAX
0049FECA   .  56            PUSH ESI
0049FECB   .  FF92 A4000000 CALL DWORD PTR DS:[EDX+A4]
0049FED1   .  DBE2          FCLEX
0049FED3   .  85C0          TEST EAX,EAX
0049FED5   .  7D 12         JGE SHORT JgClockX.0049FEE9
0049FED7   .  68 A4000000   PUSH 0A4
0049FEDC   .  68 2C134100   PUSH JgClockX.0041132C
0049FEE1   .  56            PUSH ESI
0049FEE2   .  50            PUSH EAX
0049FEE3   .  FF15 A8104000 CALL DWORD PTR DS:[<&msvbvm60.__vbaHresu>;  msvbvm60.__vbaHresultCheckObj
0049FEE9   >  8D8D 70FEFFFF LEA ECX,DWORD PTR SS:[EBP-190]
0049FEEF   .  FF15 20134000 CALL DWORD PTR DS:[<&msvbvm60.__vbaFreeO>;  msvbvm60.__vbaFreeObj
0049FEF5   .  E9 92040000   JMP JgClockX.004A038C
0049FEFA   >  8D85 54FEFFFF LEA EAX,DWORD PTR SS:[EBP-1AC]
0049FF00   .  50            PUSH EAX
0049FF01   .  FF15 00134000 CALL DWORD PTR DS:[<&msvbvm60.rtcGetPres>;  msvbvm60.rtcGetPresentDate
0049FF07   .  C785 ECFDFFFF>MOV DWORD PTR SS:[EBP-214],JgClockX.0041>;  UNICODE "yyyy-mm-dd"
0049FF11   .  C785 E4FDFFFF>MOV DWORD PTR SS:[EBP-21C],8
0049FF1B   .  8D95 E4FDFFFF LEA EDX,DWORD PTR SS:[EBP-21C]
0049FF21   .  8D8D 44FEFFFF LEA ECX,DWORD PTR SS:[EBP-1BC]
0049FF27   .  FFD6          CALL ESI
0049FF29   .  6A 01         PUSH 1
0049FF2B   .  6A 01         PUSH 1
0049FF2D   .  8D8D 44FEFFFF LEA ECX,DWORD PTR SS:[EBP-1BC]
0049FF33   .  51            PUSH ECX
0049FF34   .  8D95 54FEFFFF LEA EDX,DWORD PTR SS:[EBP-1AC]
0049FF3A   .  52            PUSH EDX
0049FF3B   .  FF15 E4124000 CALL DWORD PTR DS:[<&msvbvm60.rtcBstrFro>;  msvbvm60.rtcBstrFromFormatVar
0049FF41   .  8BD0          MOV EDX,EAX                              ;  当前时间,改内存就行了(4)
0049FF43   .  8D8D 84FEFFFF LEA ECX,DWORD PTR SS:[EBP-17C]
0049FF49   .  FFD7          CALL EDI
0049FF4B   .  50            PUSH EAX
0049FF4C   .  FF15 D4114000 CALL DWORD PTR DS:[<&msvbvm60.__vbaDateS>;  msvbvm60.__vbaDateStr
0049FF52   .  DD9D 7CFCFFFF FSTP QWORD PTR SS:[EBP-384]
0049FF58   .  A1 CCF04B00   MOV EAX,DWORD PTR DS:[4BF0CC]
0049FF5D   .  50            PUSH EAX
0049FF5E   .  FF15 D4114000 CALL DWORD PTR DS:[<&msvbvm60.__vbaDateS>;  msvbvm60.__vbaDateStr
0049FF64   .  DCAD 7CFCFFFF FSUBR QWORD PTR SS:[EBP-384]
0049FF6A   .  DFE0          FSTSW AX
0049FF6C   .  A8 0D         TEST AL,0D
0049FF6E   .  0F85 07050000 JNZ JgClockX.004A047B

功力太浅,注册码找不出来了,只能爆破。
以上4个地方爆破就完成了,用SMC了,1简单,234可以先jmp到空地址,再在空地址上修改内存,具体自己动手实现吧:P
保险点就用工具加个SECTION,代码放在那里,234可以先JMP到那里       
今天帮朋友修硬盘,结果中午应该完成的到晚上才搞定……

--------------------------------------------------------------------------------
【破解总结】

功能是没有限制了,但美中不足的是右键的下拉菜单里面注册一项还是亮的,我不会了
-------------------------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

[课程]Linux pwn 探索篇!

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 319
活跃值: (951)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
支持
2004-9-22 11:39
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
..........不会用ollydbg不过还是支持。学习中!
2004-9-22 16:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持!!也是学习中
2004-9-22 19:53
0
游客
登录 | 注册 方可回帖
返回
//