好友
阅读权限30
听众
最后登录1970-1-1
|
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:[EBP-1C],ECX
00486AE8 |. 894D E8 MOV DWORD PTR SS:[EBP-18],ECX
00486AEB |. 894D EC MOV DWORD PTR SS:[EBP-14],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:[EAX]
00486AFB |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00486AFE |. C745 F0 01000>MOV DWORD PTR SS:[EBP-10],1
00486B05 |. C745 F4 09000>MOV DWORD PTR SS:[EBP-C],9
00486B0C |. C745 F8 08000>MOV DWORD PTR SS:[EBP-8],8
00486B13 |. C745 FC 03000>MOV DWORD PTR SS:[EBP-4],3
00486B1A |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14] ; 字符LUD入EDX
00486B1D |. 8B83 00030000 MOV EAX,DWORD PTR DS:[EBX+300]
00486B23 |. E8 A0AAFCFF CALL 定时任务.004515C8
00486B28 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] ; 机器码:2575039193-3442594295入EAX
00486B2B |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
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:[EBP-18]
00486B3A |. 8B83 04030000 MOV EAX,DWORD PTR DS:[EBX+304]
00486B40 |. E8 83AAFCFF CALL 定时任务.004515C8 ; 取假码:123456
00486B45 |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
00486B48 |. E8 FF17F8FF CALL 定时任务.0040834C ; 真假码比较CALL
00486B4D |. 99 CDQ
00486B4E |. 3B5424 04 CMP EDX,DWORD PTR SS:[ESP+4] ; 定时任务.00486C2C
00486B52 |. 75 03 JNZ SHORT 定时任务.00486B57
00486B54 3B0424 CMP EAX,DWORD PTR SS:[ESP] ; 真假码比较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:[48EE20]
00486B64 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
00486B66 |. BA 02000080 MOV EDX,80000002
00486B6B |. E8 F4BDFAFF CALL 定时任务.00432964
00486B70 |. A1 20EE4800 MOV EAX,DWORD PTR DS:[48EE20]
00486B75 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
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:[48EE20]
00486B88 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
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:[48EE20]
00486B9D |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
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:[EBP-1C]
00486BAE |. 8B83 04030000 MOV EAX,DWORD PTR DS:[EBX+304]
00486BB4 |. E8 0FAAFCFF CALL 定时任务.004515C8
00486BB9 |. 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C]
00486BBC |. E8 8B17F8FF CALL 定时任务.0040834C
00486BC1 |. 50 PUSH EAX
00486BC2 |. A1 20EE4800 MOV EAX,DWORD PTR DS:[48EE20]
00486BC7 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
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:[48EE20]
00486BDB |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
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:[EAX],EDX
00486C19 |. 68 336C4800 PUSH 定时任务.00486C33
00486C1E |> 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C]
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:[EBP-20],ECX ; user32.77D1882A
004864D6 |. 894D E4 MOV DWORD PTR SS:[EBP-1C],ECX ; user32.77D1882A
004864D9 |. 894D EC MOV DWORD PTR SS:[EBP-14],ECX ; user32.77D1882A
004864DC |. 894D E8 MOV DWORD PTR SS:[EBP-18],ECX ; user32.77D1882A
004864DF |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
004864E2 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
004864E5 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
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:[EAX]
004864F8 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004864FB |. 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
004864FE |. E8 2DDBF7FF CALL 定时任务.00404030
00486503 |. 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
00486506 |. E8 25DBF7FF CALL 定时任务.00404030
0048650B |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
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:[EBP-1C] ; 得到机器码前半部分:2575039193
00486529 |. 8B55 FC |MOV EDX,DWORD PTR SS:[EBP-4]
0048652C |. 8A5432 FF |MOV DL,BYTE PTR DS:[EDX+ESI-1]
00486530 |. E8 E3DCF7FF |CALL 定时任务.00404218
00486535 |. 8B55 E4 |MOV EDX,DWORD PTR SS:[EBP-1C]
00486538 |. 8D45 EC |LEA EAX,DWORD PTR SS:[EBP-14]
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:[EDI+1]
00486547 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
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:[EBP-20] ; 机器码后半部分:3442594295
00486559 |. 8B55 FC |MOV EDX,DWORD PTR SS:[EBP-4]
0048655C |. 8A5432 FF |MOV DL,BYTE PTR DS:[EDX+ESI-1]
00486560 |. E8 B3DCF7FF |CALL 定时任务.00404218
00486565 |. 8B55 E0 |MOV EDX,DWORD PTR SS:[EBP-20]
00486568 |. 8D45 E8 |LEA EAX,DWORD PTR SS:[EBP-18]
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:[EBP-14]
00486577 |. E8 B8FEFFFF CALL 定时任务.00486434
0048657C |. 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX
0048657F |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
00486582 |. E8 ADFEFFFF CALL 定时任务.00486434
00486587 |. 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX
0048658A |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
0048658D |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00486590 |. E8 07FCFFFF CALL 定时任务.0048619C ; 算法CALL,F7跟进
00486595 |. 8B5D F0 MOV EBX,DWORD PTR SS:[EBP-10] ; 计算出十六进制值:000B319B入EBX
00486598 |. 035D F4 ADD EBX,DWORD PTR SS:[EBP-C] ; 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:[EAX],EDX
004865A3 |. 68 C5654800 PUSH 定时任务.004865C5
004865A8 |> 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
004865AB |. BA 04000000 MOV EDX,4
004865B0 |. E8 9FDAF7FF CALL 定时任务.00404054
004865B5 |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
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:[ESP],EAX
004861A6 |. 8B0C24 MOV ECX,DWORD PTR SS:[ESP] ; 定时任务.00486595
004861A9 |. 8B09 MOV ECX,DWORD PTR DS:[ECX]
004861AB |. 8B1C24 MOV EBX,DWORD PTR SS:[ESP] ; 定时任务.00486595
004861AE |. 8B5B 04 MOV EBX,DWORD PTR DS:[EBX+4]
004861B1 |. BE 2037EFC6 MOV ESI,C6EF3720 ; 固定值
004861B6 |. B8 B979379E MOV EAX,9E3779B9 ; 固定值
004861BB |. 8B3A MOV EDI,DWORD PTR DS:[EDX]
004861BD |. 897C24 04 MOV DWORD PTR SS:[ESP+4],EDI ; 1
004861C1 |. 8B7A 04 MOV EDI,DWORD PTR DS:[EDX+4]
004861C4 |. 897C24 08 MOV DWORD PTR SS:[ESP+8],EDI ; 9
004861C8 |. 8B7A 08 MOV EDI,DWORD PTR DS:[EDX+8]
004861CB |. 897C24 0C MOV DWORD PTR SS:[ESP+C],EDI ; 8
004861CF |. 8B52 0C MOV EDX,DWORD PTR DS:[EDX+C]
004861D2 |. 895424 10 MOV DWORD PTR SS:[ESP+10],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:[ESP+C]
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:[ESP+10]
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:[ESP+4]
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:[ESP+8] ; 定时任务.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:[ESP] ; 定时任务.00486595
0048621B |. 8908 MOV DWORD PTR DS:[EAX],ECX
0048621D |. 8B0424 MOV EAX,DWORD PTR SS:[ESP] ; 定时任务.00486595
00486220 |. 8958 04 MOV DWORD PTR DS:[EAX+4],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 |
免费评分
-
查看全部评分
|