首页
社区
课程
招聘
[原创]硬盘自动播出系统2.0算法分析(算法如此简单)
发表于: 2005-2-15 16:15 10617

[原创]硬盘自动播出系统2.0算法分析(算法如此简单)

2005-2-15 16:15
10617

【破解作者】 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期)

收藏
免费 7
支持
分享
最新回复 (9)
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
硬盘数字视频播出系统(以下简称硬盘播出系统),采用DVD解压从计算机硬盘上播出数字视频节目。播放平稳、不“死机”、

不“卡带”

如此_?挠锞洌
2005-2-15 16:23
0
雪    币: 225
活跃值: (146)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
顶啊----------
2005-2-15 16:56
0
雪    币: 12484
活跃值: (4205)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习!学习!
2005-2-15 17:18
0
雪    币: 298
活跃值: (566)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
5
算法简单也许是作者推广软件的一种方法呢?
2005-2-15 17:35
0
雪    币: 238
活跃值: (250)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
6
同意楼上的说法!
2005-2-15 17:37
0
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢,向楼主学习,
但是有点不明白,能否指点一下?
为什么"DEDE载入后找到句柄,在004BA04C处下断"
2005-2-15 18:38
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
严重支持
2005-2-15 21:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
支持 作者的原创  谢谢
2005-2-16 12:20
0
雪    币: 98761
活跃值: (201039)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
10
支持...
2005-2-16 12:28
0
游客
登录 | 注册 方可回帖
返回
//