【破解作者】 zmw1224
【作者邮箱】 zmw1224@yahoo.com.cn
【使用工具】 OD,PEiD,DEDE
【破解平台】 Win9x/NT/2000/XP
【软件名称】 硬盘自动播出系统2.0
【下载地址】 http://www.sharebank.net/soft/soft_view.php?id=12133
【软件简介】 硬盘数字视频播出系统(以下简称硬盘播出系统),采用DVD解压从计算机硬盘上播出数字视频节目。播放平稳、不“死机”、
不“卡带”,操作方便,性价比高。和非线性编辑系统配合使用,是电视台理想的视频播出系统。中、小电视台告别录象机的数字时代已经来
到。
播出不丢帧
一个播出节目表可包含200条节目记录
节目之间间隙不大于20毫秒,不黑屏
按节目表定时或顺序播出节目
可实时编辑节目表内容,操作一目了然
可自动记录播出历史
可统计查询打印播出内容,管理信息化
提供通讯播出功能,便于和其他自动播出系统集成联网播出
提供自动加载节目表的功能,简化工作人员的操作,也便于自动播出
自动播出的同时,可人工控制播出过程
播出时可以控制左右声道、音量大小、暂停、前后定位等
可以设定提前加载下一节目的时间长度
硬盘视频播出系统包括两个软件:硬盘视频播出和统计查询软件。前者负责节目表的安排和播出,后者提供播出内容查询、打印功能,便于电
视台的信息化管理。
系统运行在Windows 98的32位视窗操作系统中
【软件大小】 8586kb
【加壳方式】 无
【破解声明】 本笔记只用于学习交流,初学Crack,只是感兴趣技术,没有其他目的,如有有妥之处,希望作者谅解。
--------------------------------------------------------------------------------
【破解内容】
首先查壳无,Delphi 6.0 - 7.0,心中暗喜,省去不少麻烦事,OD载入后,查中文字符串没找到什么可用信息,
不急,我们还有DEDE没出面,DEDE载入后找到句柄,在004BA04C处下断。
输入相关信息:
系列号:1234567890abcd(这是在后面分析知,位数必须为14位。保护方式只有一个系列号认证,又省去不少麻烦事^_^)
确认后断在下面:
004BA04C /. 55 PUSH EBP
004BA04D |. 8BEC MOV EBP,ESP
004BA04F |. 6A 00 PUSH 0
004BA051 |. 6A 00 PUSH 0
004BA053 |. 53 PUSH EBX
004BA054 |. 8BD8 MOV EBX,EAX
004BA056 |. 33C0 XOR EAX,EAX
004BA058 |. 55 PUSH EBP
004BA059 |. 68 DFA04B00 PUSH YpTvbc.004BA0DF
004BA05E |. 64:FF30 PUSH DWORD PTR FS:[EAX]
004BA061 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004BA064 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
004BA067 |. 8B83 FC020000 MOV EAX,DWORD PTR DS:[EBX+2FC]
004BA06D |. E8 76A6F9FF CALL YpTvbc.004546E8 获取假系列号"1234567890abcd"
004BA072 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4] 并送到EAX里
004BA075 |. 8BC3 MOV EAX,EBX
004BA077 |. E8 F4010000 CALL YpTvbc.004BA270 关键CALL
004BA07C |. 84C0 TEST AL,AL
004BA07E |. 75 25 JNZ SHORT YpTvbc.004BA0A5 (有经验的人一眼就看出来了,这是关键跳转,所以上面CALL就是算法。)
004BA080 |. 8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C]
004BA086 |. 8B40 68 MOV EAX,DWORD PTR DS:[EAX+68]
004BA089 |. BA FFFF0000 MOV EDX,0FFFF
004BA08E |. E8 F988F6FF CALL YpTvbc.0042298C
004BA093 |. BA F4A04B00 MOV EDX,YpTvbc.004BA0F4
004BA098 |. 8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C]
004BA09E |. E8 85A6F9FF CALL YpTvbc.00454728
004BA0A3 |. EB 1F JMP SHORT YpTvbc.004BA0C4
004BA0A5 |> 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
004BA0A8 |. 8B83 FC020000 MOV EAX,DWORD PTR DS:[EBX+2FC]
004BA0AE |. E8 35A6F9FF CALL YpTvbc.004546E8
004BA0B3 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
004BA0B6 |. 8BC3 MOV EAX,EBX
004BA0B8 |. E8 57000000 CALL YpTvbc.004BA114
004BA0BD |. 8BC3 MOV EAX,EBX
004BA0BF |. E8 ACD6FBFF CALL YpTvbc.00477770
004BA0C4 |> 33C0 XOR EAX,EAX
004BA0C6 |. 5A POP EDX
004BA0C7 |> 59 POP ECX
004BA0C8 |. 59 POP ECX
004BA0C9 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
004BA0CC |. 68 E6A04B00 PUSH YpTvbc.004BA0E6
004BA0D1 |> 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
004BA0D4 |. BA 02000000 MOV EDX,2
004BA0D9 |. E8 F6A8F4FF CALL YpTvbc.004049D4
004BA0DE \. C3 RETN
关键CALL:
004BA270 /$ 55 PUSH EBP
004BA271 |. 8BEC MOV EBP,ESP
004BA273 |. 83C4 F8 ADD ESP,-8
004BA276 |. 53 PUSH EBX
004BA277 |. 56 PUSH ESI
004BA278 |. 33C9 XOR ECX,ECX
004BA27A |. 894D F8 MOV DWORD PTR SS:[EBP-8],ECX
004BA27D |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
004BA280 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004BA283 |. E8 D8ABF4FF CALL YpTvbc.00404E60
004BA288 |. 33C0 XOR EAX,EAX
004BA28A |. 55 PUSH EBP
004BA28B |. 68 E9A24B00 PUSH YpTvbc.004BA2E9
004BA290 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
004BA293 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004BA296 |. 33DB XOR EBX,EBX
004BA298 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
004BA29B |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
004BA29E |. E8 A5A7F4FF CALL YpTvbc.00404A48
004BA2A3 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004BA2A6 |. E8 C5A9F4FF CALL YpTvbc.00404C70 ; 获取?系列号长度,EAX=E
004BA2AB |. 83F8 0E CMP EAX,0E ; 比较假系列号是否为14位,不是下面就跳走,然后OVER。(这是
系列号必须为14位原因)
004BA2AE |. 75 1E JNZ SHORT YpTvbc.004BA2CE
004BA2B0 |. B9 60030000 MOV ECX,360 ; 一个重要的赋值。ECX=360
004BA2B5 |. 33D2 XOR EDX,EDX ; EDX清0
004BA2B7 |. 33C0 XOR EAX,EAX ; EAX清0
004BA2B9 |> 8B75 F8 /MOV ESI,DWORD PTR SS:[EBP-8] ; 把14位假系列号送到ESI里
004BA2BC |. 0FB63406 |MOVZX ESI,BYTE PTR DS:[ESI+EAX] ; 取假系列号的第一位送入ESI,ESI=31
004BA2C0 |. 03D6 |ADD EDX,ESI ; EDX=EDX(0)+ESI(31)(算法核心)
004BA2C2 |. 40 |INC EAX ; EAX为记数器,EAX=EAX+1
004BA2C3 |. 83F8 0E |CMP EAX,0E ; EAX是否等E,不是就继续循环。
004BA2C6 |.^ 75 F1 \JNZ SHORT YpTvbc.004BA2B9 ; 从上面可看出,逐个取系列号,并把它们的ASCii值,相加。即
SUM=CODE(1)+CODE(2)……+CODE(14)
004BA2C8 |. 3BD1 CMP EDX,ECX ; 这是关键,把SUM和360比较,SUM=360就注册成功,SUM=!360就
OVER了。是不是很简单!^_^
004BA2CA |. 75 02 JNZ SHORT YpTvbc.004BA2CE
004BA2CC |. B3 01 MOV BL,1 ; 成功的话,为真,1移到BL,BL=1
004BA2CE |> 33C0 XOR EAX,EAX ; 当累加值加到13位的时候,EDX=333,也就是说,14位凑个数
CODE(14)=360-333=2D(注意,这是十六进制运算,错拿十进制运算就出错了(27)),查ASCii表得,“-”。
004BA2D0 |. 5A POP EDX ; 真码为:-1234567890abc(因位上无特别限制,所以可任意颠倒
。^_^,最简单的真码就产生了。)
004BA2D1 |. 59 POP ECX
004BA2D2 |. 59 POP ECX
004BA2D3 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
004BA2D6 |. 68 F0A24B00 PUSH YpTvbc.004BA2F0
004BA2DB |> 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
004BA2DE |. BA 02000000 MOV EDX,2
004BA2E3 |. E8 ECA6F4FF CALL YpTvbc.004049D4
004BA2E8 \. C3 RETN
--------------------------------------------------------------------------------
【破解总结】
14个数的ASCii值累加等于360就注册成功了。没想到2800大洋的软件,算法如此简单,真是
汗!注册机就不写了,自己拿WINDOW计算器加下就出来了。感谢你看完全文!^_^
--------------------------------------------------------------------------------
【用户名、密码】
系列号:-1234567890abc
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)