定时任务破解记录
本帖最后由 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 代码用上代码框会很好看. 很久没来52了,摆渡博客什么的老烦了 学习学习 这个不错,谢谢分享了 支持楼主! 这软件适合新手练习吗? 破解不懂,呵呵,支持! 学习破解!:)eee 这是干嘛用的哦……