HPKEr 发表于 2010-11-25 16:53

定时任务破解记录

本帖最后由 HPKEr 于 2010-11-26 13:27 编辑

【文章标题】: 定时任务破解记录
【文章作者】: HPKEr
【软件名称】: 定时任务
【软件大小】: 400 KB
【下载地址】: http://945520.qupan.cc/6788043.html
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OD
【操作平台】: Windows XP
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【软件说明】

名称:定时任务
版本: 1.0
时间:2010/05/01
支持:win2000/winxp/win2003/win7
适用:服务器、上班族、公共计算机、家庭用户。
说明:免费使用15天止,重新安装可继续使用,永久免费升级。
淘宝店主:wrhqq
根据<关机时间>自动关闭计算机,可设定无限个任务,空闲关机,指定关机,每次均可关机。任务类型:提醒,打开文件(可以打开mp3文件,程序,网址等),关闭程序,断开拨号,拨号连接,注销计算机,待机计算机,休眠计算机,重启计算机,关闭计算机,快速重启,快速关机。超过设定秒数不关闭提示框,则自动关闭计算机,win NT内核及其以上可设置快速关机,免费使用15天止,重新安装可继续使用。一经注册,永久使用。上班族的好选择。定时任务设置时,安装有360的用户,先退出360,设置完成后,再运行360。


【详细过程】
很多方法都可以找到按钮事件这里就不多说了......

OD暂停在:

00486ADC/.55            PUSH EBP
00486ADD|.8BEC          MOV EBP,ESP
00486ADF|.83C4 E4       ADD ESP,-1C
00486AE2|.53            PUSH EBX
00486AE3|.33C9          XOR ECX,ECX
00486AE5|.894D E4       MOV DWORD PTR SS:,ECX
00486AE8|.894D E8       MOV DWORD PTR SS:,ECX
00486AEB|.894D EC       MOV DWORD PTR SS:,ECX
00486AEE|.8BD8          MOV EBX,EAX                              ;phH入EBX
00486AF0|.33C0          XOR EAX,EAX                              ;EAX清零
00486AF2|.55            PUSH EBP
00486AF3|.68 2C6C4800   PUSH 定时任务.00486C2C
00486AF8|.64:FF30       PUSH DWORD PTR FS:
00486AFB|.64:8920       MOV DWORD PTR FS:,ESP
00486AFE|.C745 F0 01000>MOV DWORD PTR SS:,1
00486B05|.C745 F4 09000>MOV DWORD PTR SS:,9
00486B0C|.C745 F8 08000>MOV DWORD PTR SS:,8
00486B13|.C745 FC 03000>MOV DWORD PTR SS:,3
00486B1A|.8D55 EC       LEA EDX,DWORD PTR SS:            ;字符LUD入EDX
00486B1D|.8B83 00030000 MOV EAX,DWORD PTR DS:
00486B23|.E8 A0AAFCFF   CALL 定时任务.004515C8
00486B28|.8B45 EC       MOV EAX,DWORD PTR SS:            ;机器码:2575039193-3442594295入EAX
00486B2B|.8D55 F0       LEA EDX,DWORD PTR SS:
00486B2E|.E8 95F9FFFF   CALL 定时任务.004864C8                     ;关键CALL,F7跟进
00486B33|.33D2          XOR EDX,EDX
00486B35|.52            PUSH EDX
00486B36|.50            PUSH EAX
00486B37|.8D55 E8       LEA EDX,DWORD PTR SS:
00486B3A|.8B83 04030000 MOV EAX,DWORD PTR DS:
00486B40|.E8 83AAFCFF   CALL 定时任务.004515C8                     ;取假码:123456
00486B45|.8B45 E8       MOV EAX,DWORD PTR SS:
00486B48|.E8 FF17F8FF   CALL 定时任务.0040834C                     ;真假码比较CALL
00486B4D|.99            CDQ
00486B4E|.3B5424 04   CMP EDX,DWORD PTR SS:             ;定时任务.00486C2C
00486B52|.75 03         JNZ SHORT 定时任务.00486B57
00486B54      3B0424      CMP EAX,DWORD PTR SS:               ;真假码比较CALL,如果返回EAX=000B31A9,00486B59处JNZ跳转不会实现。
00486B57|>5A            POP EDX                                  ;0012F95C
00486B58|.58            POP EAX                                  ;0012F95C
00486B59      0F85 9F000000 JNZ 定时任务.00486BFE
00486B5F|.A1 20EE4800   MOV EAX,DWORD PTR DS:
00486B64|.8B00          MOV EAX,DWORD PTR DS:
00486B66|.BA 02000080   MOV EDX,80000002
00486B6B|.E8 F4BDFAFF   CALL 定时任务.00432964
00486B70|.A1 20EE4800   MOV EAX,DWORD PTR DS:
00486B75|.8B00          MOV EAX,DWORD PTR DS:
00486B77|.B1 01         MOV CL,1
00486B79|.BA 406C4800   MOV EDX,定时任务.00486C40                  ;\Software\WRHsoft\定时任务
00486B7E|.E8 21BFFAFF   CALL 定时任务.00432AA4
00486B83|.A1 20EE4800   MOV EAX,DWORD PTR DS:
00486B88|.8B00          MOV EAX,DWORD PTR DS:
00486B8A|.BA 646C4800   MOV EDX,定时任务.00486C64                  ;registry
00486B8F|.E8 90C2FAFF   CALL 定时任务.00432E24
00486B94|.84C0          TEST AL,AL
00486B96|.74 13         JE SHORT 定时任务.00486BAB
00486B98|.A1 20EE4800   MOV EAX,DWORD PTR DS:
00486B9D|.8B00          MOV EAX,DWORD PTR DS:
00486B9F|.50            PUSH EAX
00486BA0|.BA 646C4800   MOV EDX,定时任务.00486C64                  ;registry
00486BA5|.58            POP EAX                                  ;0012F95C
00486BA6|.E8 1DC0FAFF   CALL 定时任务.00432BC8
00486BAB|>8D55 E4       LEA EDX,DWORD PTR SS:
00486BAE|.8B83 04030000 MOV EAX,DWORD PTR DS:
00486BB4|.E8 0FAAFCFF   CALL 定时任务.004515C8
00486BB9|.8B45 E4       MOV EAX,DWORD PTR SS:
00486BBC|.E8 8B17F8FF   CALL 定时任务.0040834C
00486BC1|.50            PUSH EAX
00486BC2|.A1 20EE4800   MOV EAX,DWORD PTR DS:
00486BC7|.8B00          MOV EAX,DWORD PTR DS:
00486BC9|.50            PUSH EAX
00486BCA|.BA 646C4800   MOV EDX,定时任务.00486C64                  ;registry
00486BCF|.58            POP EAX                                  ;0012F95C
00486BD0|.59            POP ECX                                  ;0012F95C
00486BD1|.E8 2EC1FAFF   CALL 定时任务.00432D04
00486BD6|.A1 20EE4800   MOV EAX,DWORD PTR DS:
00486BDB|.8B00          MOV EAX,DWORD PTR DS:
00486BDD|.E8 52BDFAFF   CALL 定时任务.00432934
00486BE2|.6A 00         PUSH 0                                 ; /Style = MB_OK|MB_APPLMODAL
00486BE4|.68 706C4800   PUSH 定时任务.00486C70                     ; |欢迎
00486BE9|.68 786C4800   PUSH 定时任务.00486C78                     ; |注册成功
00486BEE|.6A 00         PUSH 0                                 ; |hOwner = NULL
00486BF0|.E8 77FEF7FF   CALL <JMP.&user32.MessageBoxA>         ; \MessageBoxA
00486BF5|.8BC3          MOV EAX,EBX
00486BF7|.E8 3470FEFF   CALL 定时任务.0046DC30
00486BFC|.EB 13         JMP SHORT 定时任务.00486C11
00486BFE|>6A 00         PUSH 0                                 ; /Style = MB_OK|MB_APPLMODAL
00486C00|.68 846C4800   PUSH 定时任务.00486C84                     ; |失败
00486C05|.68 8C6C4800   PUSH 定时任务.00486C8C                     ; |注册失败,请与销售方联系
00486C0A|.6A 00         PUSH 0                                 ; |hOwner = NULL
00486C0C|.E8 5BFEF7FF   CALL <JMP.&user32.MessageBoxA>         ; \MessageBoxA
00486C11|>33C0          XOR EAX,EAX
00486C13|.5A            POP EDX                                  ;0012F95C
00486C14|.59            POP ECX                                  ;0012F95C
00486C15|.59            POP ECX                                  ;0012F95C
00486C16|.64:8910       MOV DWORD PTR FS:,EDX
00486C19|.68 336C4800   PUSH 定时任务.00486C33
00486C1E|>8D45 E4       LEA EAX,DWORD PTR SS:
00486C21|.BA 03000000   MOV EDX,3
00486C26|.E8 29D4F7FF   CALL 定时任务.00404054
00486C2B\.C3            RETN
00486C2C   .^ E9 03CEF7FF   JMP 定时任务.00403A34
00486C31   .^ EB EB         JMP SHORT 定时任务.00486C1E
00486C33   .5B            POP EBX                                  ;0012F95C
00486C34   .8BE5          MOV ESP,EBP
00486C36   .5D            POP EBP                                  ;0012F95C
00486C37   .C3            RETN


F7跟进关键CALL 004864C8代码如下:

004864C8/$55            PUSH EBP
004864C9|.8BEC          MOV EBP,ESP
004864CB|.83C4 E0       ADD ESP,-20
004864CE|.53            PUSH EBX
004864CF|.56            PUSH ESI                                 ;定时任务.0044A4DC
004864D0|.57            PUSH EDI
004864D1|.33C9          XOR ECX,ECX                              ;user32.77D1882A
004864D3|.894D E0       MOV DWORD PTR SS:,ECX            ;user32.77D1882A
004864D6|.894D E4       MOV DWORD PTR SS:,ECX            ;user32.77D1882A
004864D9|.894D EC       MOV DWORD PTR SS:,ECX            ;user32.77D1882A
004864DC|.894D E8       MOV DWORD PTR SS:,ECX            ;user32.77D1882A
004864DF|.8955 F8       MOV DWORD PTR SS:,EDX
004864E2|.8945 FC       MOV DWORD PTR SS:,EAX
004864E5|.8B45 FC       MOV EAX,DWORD PTR SS:
004864E8|.E8 F3DFF7FF   CALL 定时任务.004044E0
004864ED|.33C0          XOR EAX,EAX
004864EF|.55            PUSH EBP
004864F0|.68 BE654800   PUSH 定时任务.004865BE
004864F5|.64:FF30       PUSH DWORD PTR FS:
004864F8|.64:8920       MOV DWORD PTR FS:,ESP
004864FB|.8D45 EC       LEA EAX,DWORD PTR SS:
004864FE|.E8 2DDBF7FF   CALL 定时任务.00404030
00486503|.8D45 E8       LEA EAX,DWORD PTR SS:
00486506|.E8 25DBF7FF   CALL 定时任务.00404030
0048650B|.8B55 FC       MOV EDX,DWORD PTR SS:
0048650E|.B8 D8654800   MOV EAX,定时任务.004865D8                  ;机器码中间部分:-
00486513|.E8 1CE1F7FF   CALL 定时任务.00404634
00486518|.8BF8          MOV EDI,EAX
0048651A|.8BDF          MOV EBX,EDI
0048651C|.4B            DEC EBX
0048651D|.85DB          TEST EBX,EBX
0048651F|.7E 23         JLE SHORT 定时任务.00486544
00486521|.BE 01000000   MOV ESI,1
00486526|>8D45 E4       /LEA EAX,DWORD PTR SS:         ;得到机器码前半部分:2575039193
00486529|.8B55 FC       |MOV EDX,DWORD PTR SS:
0048652C|.8A5432 FF   |MOV DL,BYTE PTR DS:
00486530|.E8 E3DCF7FF   |CALL 定时任务.00404218
00486535|.8B55 E4       |MOV EDX,DWORD PTR SS:
00486538|.8D45 EC       |LEA EAX,DWORD PTR SS:
0048653B|.E8 B8DDF7FF   |CALL 定时任务.004042F8
00486540|.46            |INC ESI                                 ;定时任务.0044A4DC
00486541|.4B            |DEC EBX
00486542|.^ 75 E2         \JNZ SHORT 定时任务.00486526
00486544|>8D77 01       LEA ESI,DWORD PTR DS:
00486547|.8B45 FC       MOV EAX,DWORD PTR SS:
0048654A|.E8 A1DDF7FF   CALL 定时任务.004042F0
0048654F|.8BD8          MOV EBX,EAX
00486551|.2BDE          SUB EBX,ESI                              ;定时任务.0044A4DC
00486553|.7C 1F         JL SHORT 定时任务.00486574
00486555|.43            INC EBX
00486556|>8D45 E0       /LEA EAX,DWORD PTR SS:         ;机器码后半部分:3442594295
00486559|.8B55 FC       |MOV EDX,DWORD PTR SS:
0048655C|.8A5432 FF   |MOV DL,BYTE PTR DS:
00486560|.E8 B3DCF7FF   |CALL 定时任务.00404218
00486565|.8B55 E0       |MOV EDX,DWORD PTR SS:
00486568|.8D45 E8       |LEA EAX,DWORD PTR SS:
0048656B|.E8 88DDF7FF   |CALL 定时任务.004042F8
00486570|.46            |INC ESI                                 ;定时任务.0044A4DC
00486571|.4B            |DEC EBX
00486572|.^ 75 E2         \JNZ SHORT 定时任务.00486556
00486574|>8B45 EC       MOV EAX,DWORD PTR SS:
00486577|.E8 B8FEFFFF   CALL 定时任务.00486434
0048657C|.8945 F0       MOV DWORD PTR SS:,EAX
0048657F|.8B45 E8       MOV EAX,DWORD PTR SS:
00486582|.E8 ADFEFFFF   CALL 定时任务.00486434
00486587|.8945 F4       MOV DWORD PTR SS:,EAX
0048658A|.8B55 F8       MOV EDX,DWORD PTR SS:
0048658D|.8D45 F0       LEA EAX,DWORD PTR SS:
00486590|.E8 07FCFFFF   CALL 定时任务.0048619C                     ;算法CALL,F7跟进
00486595|.8B5D F0       MOV EBX,DWORD PTR SS:            ;计算出十六进制值:000B319B入EBX
00486598|.035D F4       ADD EBX,DWORD PTR SS:             ;000B319B+E=000B31A9其实此值是真码
0048659B|.33C0          XOR EAX,EAX
0048659D|.5A            POP EDX                                  ;定时任务.00486B33
0048659E|.59            POP ECX                                  ;定时任务.00486B33
0048659F|.59            POP ECX                                  ;定时任务.00486B33
004865A0|.64:8910       MOV DWORD PTR FS:,EDX
004865A3|.68 C5654800   PUSH 定时任务.004865C5
004865A8|>8D45 E0       LEA EAX,DWORD PTR SS:
004865AB|.BA 04000000   MOV EDX,4
004865B0|.E8 9FDAF7FF   CALL 定时任务.00404054
004865B5|.8D45 FC       LEA EAX,DWORD PTR SS:
004865B8|.E8 73DAF7FF   CALL 定时任务.00404030
004865BD\.C3            RETN

F7跟进算法CALL 0048619C代码如下:

0048619C/$53            PUSH EBX
0048619D|.56            PUSH ESI
0048619E|.57            PUSH EDI
0048619F|.55            PUSH EBP
004861A0|.83C4 EC       ADD ESP,-14
004861A3|.890424      MOV DWORD PTR SS:,EAX
004861A6|.8B0C24      MOV ECX,DWORD PTR SS:               ;定时任务.00486595
004861A9|.8B09          MOV ECX,DWORD PTR DS:
004861AB|.8B1C24      MOV EBX,DWORD PTR SS:               ;定时任务.00486595
004861AE|.8B5B 04       MOV EBX,DWORD PTR DS:
004861B1|.BE 2037EFC6   MOV ESI,C6EF3720                         ;固定值
004861B6|.B8 B979379E   MOV EAX,9E3779B9                         ;固定值
004861BB|.8B3A          MOV EDI,DWORD PTR DS:
004861BD|.897C24 04   MOV DWORD PTR SS:,EDI             ;1
004861C1|.8B7A 04       MOV EDI,DWORD PTR DS:
004861C4|.897C24 08   MOV DWORD PTR SS:,EDI             ;9
004861C8|.8B7A 08       MOV EDI,DWORD PTR DS:
004861CB|.897C24 0C   MOV DWORD PTR SS:,EDI             ;8
004861CF|.8B52 0C       MOV EDX,DWORD PTR DS:
004861D2|.895424 10   MOV DWORD PTR SS:,EDX            ;3
004861D6|.BA E0FFFFFF   MOV EDX,-20
004861DB|>8BF9          /MOV EDI,ECX
004861DD|.C1E7 04       |SHL EDI,4                               ;997BFAD9逻辑左移4位相当于997BFAD9*10=97BFAD90
004861E0|.8B6C24 0C   |MOV EBP,DWORD PTR SS:
004861E4|.33E9          |XOR EBP,ECX
004861E6|.03FD          |ADD EDI,EBP
004861E8|.8BE9          |MOV EBP,ECX
004861EA|.C1ED 05       |SHR EBP,5                               ;EBP/20
004861ED|.33EE          |XOR EBP,ESI
004861EF|.03FD          |ADD EDI,EBP
004861F1|.037C24 10   |ADD EDI,DWORD PTR SS:
004861F5|.2BDF          |SUB EBX,EDI
004861F7|.8BFB          |MOV EDI,EBX
004861F9|.C1E7 04       |SHL EDI,4                               ;EDI*10
004861FC|.8B6C24 04   |MOV EBP,DWORD PTR SS:
00486200|.33EB          |XOR EBP,EBX
00486202      03FD          |ADD EDI,EBP
00486204      8BEB          |MOV EBP,EBX
00486206      C1ED 05       SHR EBP,5                              ;EBP/20
00486209      33EE          |XOR EBP,ESI
0048620B|.03FD          |ADD EDI,EBP
0048620D|.037C24 08   |ADD EDI,DWORD PTR SS:            ;定时任务.004865BE
00486211|.2BCF          |SUB ECX,EDI
00486213|.2BF0          |SUB ESI,EAX
00486215|.42            |INC EDX
00486216|.^ 75 C3         \JNZ SHORT 定时任务.004861DB               ;循环16次,跳出
00486218|.8B0424      MOV EAX,DWORD PTR SS:               ;定时任务.00486595
0048621B|.8908          MOV DWORD PTR DS:,ECX
0048621D|.8B0424      MOV EAX,DWORD PTR SS:               ;定时任务.00486595
00486220|.8958 04       MOV DWORD PTR DS:,EBX
00486223|.83C4 14       ADD ESP,14
00486226|.5D            POP EBP                                  ;定时任务.00486595
00486227|.5F            POP EDI                                  ;定时任务.00486595
00486228|.5E            POP ESI                                  ;定时任务.00486595
00486229|.5B            POP EBX                                  ;定时任务.00486595
0048622A\.C3            RETN

我电脑上机器码和注册码:

机器码:2575039193-3442594295
注册码:733609

注册成功图:



主程序运行图:



--------------------------------------------------------------------------------
【经验总结】
1.算法部分:机器码前半部分和后半部分分别与两个固定值:C6EF3720、9E3779B9和1983参与运算,结果再加上0E得到真码
,只需将它转换成十进制即可。
2.爆破此软件非常简单,而且方法很多。如修改跳转指令,修改寄存器值等等。
3.此软件有个Bug,一但注册信息被写入注册表,以后启动程序将已注册版运行。我们可以通过伪造注册信息,达到欺骗软
件的目的(利用软件将注册信息写入注册表后,就不会再对机器码进行运算检测的Bug。)
4.我制作了2个破解补丁和一个伪造注册信息一并打包。
5.运行破解补丁和运行注册表导出文件效果一样,都可以变成注册版。

--------------------------------------------------------------------------------
【版权声明】: 本文原创于吾爱破解技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
                                                       2010年11月25日 下午 04:46:50

Hmily 发表于 2010-11-25 17:02

代码用上代码框会很好看.

aqqwiyth 发表于 2010-11-25 17:09

很久没来52了,摆渡博客什么的老烦了

yuzf 发表于 2010-11-25 17:12

学习学习

rijian325 发表于 2010-11-25 17:18

这个不错,谢谢分享了

tcwjw 发表于 2010-11-25 17:39

支持楼主!

31461 发表于 2010-11-25 20:04

这软件适合新手练习吗?

nichole 发表于 2010-11-26 02:21

破解不懂,呵呵,支持!

井跳蛙 发表于 2010-11-26 08:17

学习破解!:)eee

q13774748552 发表于 2010-11-26 09:41

这是干嘛用的哦……
页: [1] 2 3 4 5 6 7 8
查看完整版本: 定时任务破解记录