首页
社区
课程
招聘
开心辞典XP V5.0 破解过程
发表于: 2005-1-22 15:24 9762

开心辞典XP V5.0 破解过程

2005-1-22 15:24
9762
【破解说明】 这是一个 2002 年度推出的老程序了(我一般只破解当天推出的新程序),因为看雪论坛有位网友说多日无法破解《开心辞典XP V2.0》,另一位网友还骂他说可以去死了,就感觉这个程序破解起来不会太麻烦。但按那位网友的指引实在下载不到 V2.0版,只在天空找到了 V5.0 版,只好拿这个开刀。

本人实在是刚刚入门的菜鸟,在看雪,一般只能提问题学技术,断不敢发什么破解教程的,只能说是破解过程。各位高手请不要见笑。

【破解作者】 侠盗
【作者邮箱】 mr.zhs@163.com
【使用工具】 PEID,UPXSHELLXP,DBPE-UNPACKER,OD
【破解平台】 Win9x/NT/2000/XP
【软件名称】 开心辞典XP V5.0
【下载地址】 http://www4.skycn.com/soft/8122.html
【软件简介】 本软件模拟开心辞典网上答题的形式,收集了绝大部分的网上答题的题目,闲暇时可在不

上网的情况下模拟答题,自娱自乐。在上网时,使用本软件具有5大自动功能:1、连接到网上参赛后,可

自动保存题库中没有的题目;2、不知道答案的题目,可自动生成答题选项并记录是否正确,直到找到答

案;3、已有正确答案的题目,可自动找出答案并提示; 4、每轮答题,可自动填答案并自动提交,不需

人工干预;5、当答题错误时,可自动开始新一轮的答题。非注册的用户在网上答题时最高能得到200分的

正确答案提示和自动提交。注册用户没有提示答案分数的限制。
【软件大小】 1.46 M
【加壳方式】 UPX,DBPE,ASPACK
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
这个软件加了三层壳,是我破解过的程序中加壳最多的。
安装程序,来到安装目录,PEID 检测主程序壳为:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus &

Laszlo,用UPXSHELL V1.9、UPXmend V1.23 和UPX-Ripper V1.3都无法脱壳,最后用 UPX ShellEX V1.0

RC7 顺利脱壳。脱壳后用 OD 加载,居然提示有壳,再用 PEID V0.92查壳,这次是:DBPE 2.33 -> Ding

Boy,用 DBPE Unparcker V1.06 顺利脱壳,再用 OD 加载,仍然提示有壳,晕,再用 PEID V0.92查壳,

为 ASPack 2.12 -> Alexey Solodovnikov,别看这么简单的壳,用我一惯使用的UnAspack V1.2.1.3 居

然脱不掉,说不是 ASPACK 压缩的,最后用 PEID V0.92 带的插件脱壳成功,再用 PEID 查看为:

Borland Delphi 6.0 - 7.0,呵呵,开心了!大老鼠曾教导小老鼠说多学几门外语总是有好处的,对于我

们破解菜鸟来说,多准备几种工具总是不错的。一种工具脱不掉的壳,要多试试别的工具。

OD 载入完全脱壳后的程序,用字符串插件查找字符串,在可疑处下断,F9运行程序,尚未显出界面,立

即中断在这儿:

004E0638    6A 00           PUSH 0
004E063A    8D85 3CFFFFFF   LEA EAX,DWORD PTR SS:[EBP-C4]
004E0640    50              PUSH EAX
004E0641    B9 90084E00     MOV ECX,unpacked.004E0890                ; ASCII "nzdm"
004E0646    BA 70084E00     MOV EDX,unpacked.004E0870                ; ASCII "setup"
004E064B    8BC6            MOV EAX,ESI
004E064D    8B30            MOV ESI,DWORD PTR DS:[EAX]
004E064F    FF16            CALL DWORD PTR DS:[ESI]
004E0651    8B85 3CFFFFFF   MOV EAX,DWORD PTR SS:[EBP-C4]
004E0657    E8 D48BF2FF     CALL unpacked.00409230
004E065C    8BD0            MOV EDX,EAX
004E065E    8B83 08030000   MOV EAX,DWORD PTR DS:[EBX+308]
004E0664    8B08            MOV ECX,DWORD PTR DS:[EAX]
004E0666    FF91 A0010000   CALL DWORD PTR DS:[ECX+1A0]
004E066C    8D85 38FFFFFF   LEA EAX,DWORD PTR SS:[EBP-C8]
004E0672    B9 A0084E00     MOV ECX,unpacked.004E08A0                ; ASCII "\koat1l.tlb"
004E0677    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-4]
004E067A    E8 D545F2FF     CALL unpacked.00404C54
004E067F    8B85 38FFFFFF   MOV EAX,DWORD PTR SS:[EBP-C8]
004E0685    E8 C28EF2FF     CALL unpacked.0040954C                   ; 检测是否已经注册的

CALL
004E068A    3C 01           CMP AL,1
004E068C    75 12           JNZ SHORT unpacked.004E06A0
004E068E    BA B4084E00     MOV EDX,unpacked.004E08B4                ; 软件已注册
004E0693    8B83 B8030000   MOV EAX,DWORD PTR DS:[EBX+3B8]
004E0699    E8 3AB1F5FF     CALL unpacked.0043B7D8
004E069E    EB 10           JMP SHORT unpacked.004E06B0
004E06A0    BA C8084E00     MOV EDX,unpacked.004E08C8                ; 软件未注册
004E06A5    8B83 B8030000   MOV EAX,DWORD PTR DS:[EBX+3B8]

可以看出,004E0685 处的 CALL 是检测程序是否已经注册的,要暴破的话,这儿是暴破点之一;不管它

,我的目的是找到注册码。
F9继续运行程序,点“软件注册”,填写入“解认码”为:12345678,“注册码”为:9876543210,再点

“确认注册”按钮。以下为整个破解过程:

004DF778    50              PUSH EAX                                 ; 按“确认注册”按钮中

断在这里。
004DF779    E8 B27AF2FF     CALL <JMP.&KERNEL32.GetSystemDirectoryA>
004DF77E    8D45 FC         LEA EAX,DWORD PTR SS:[EBP-4]
004DF781    8D95 7BFFFFFF   LEA EDX,DWORD PTR SS:[EBP-85]
004DF787    B9 81000000     MOV ECX,81
004DF78C    E8 2754F2FF     CALL unpacked.00404BB8
004DF791    8D95 74FFFFFF   LEA EDX,DWORD PTR SS:[EBP-8C]
004DF797    A1 FC584E00     MOV EAX,DWORD PTR DS:[4E58FC]
004DF79C    8B00            MOV EAX,DWORD PTR DS:[EAX]
004DF79E    8B80 B8030000   MOV EAX,DWORD PTR DS:[EAX+3B8]
004DF7A4    E8 FFBFF5FF     CALL unpacked.0043B7A8
004DF7A9    8B85 74FFFFFF   MOV EAX,DWORD PTR SS:[EBP-8C]
004DF7AF    BA 1CFA4D00     MOV EDX,unpacked.004DFA1C                ; 软件已注册
004DF7B4    E8 9355F2FF     CALL unpacked.00404D4C
004DF7B9    75 0F           JNZ SHORT unpacked.004DF7CA
004DF7BB    B8 1CFA4D00     MOV EAX,unpacked.004DFA1C                ; 软件已注册
004DF7C0    E8 BF5AF5FF     CALL unpacked.00435284
004DF7C5    E9 C2010000     JMP unpacked.004DF98C
004DF7CA    8D95 70FFFFFF   LEA EDX,DWORD PTR SS:[EBP-90]
004DF7D0    8B83 3C030000   MOV EAX,DWORD PTR DS:[EBX+33C]
004DF7D6    E8 CDBFF5FF     CALL unpacked.0043B7A8
004DF7DB    83BD 70FFFFFF 0>CMP DWORD PTR SS:[EBP-90],0              ; 检测确认码是否为空
004DF7E2    74 1A           JE SHORT unpacked.004DF7FE
004DF7E4    8D95 6CFFFFFF   LEA EDX,DWORD PTR SS:[EBP-94]
004DF7EA    8B83 40030000   MOV EAX,DWORD PTR DS:[EBX+340]
004DF7F0    E8 B3BFF5FF     CALL unpacked.0043B7A8
004DF7F5    83BD 6CFFFFFF 0>CMP DWORD PTR SS:[EBP-94],0              ; 检测注册码是否为空
004DF7FC    75 29           JNZ SHORT unpacked.004DF827
004DF7FE    B8 30FA4D00     MOV EAX,unpacked.004DFA30
004DF803    E8 7C5AF5FF     CALL unpacked.00435284
004DF808    33D2            XOR EDX,EDX
004DF80A    8B83 3C030000   MOV EAX,DWORD PTR DS:[EBX+33C]
004DF810    E8 C3BFF5FF     CALL unpacked.0043B7D8
004DF815    33D2            XOR EDX,EDX
004DF817    8B83 40030000   MOV EAX,DWORD PTR DS:[EBX+340]
004DF81D    E8 B6BFF5FF     CALL unpacked.0043B7D8
004DF822    E9 65010000     JMP unpacked.004DF98C
004DF827    8D95 68FFFFFF   LEA EDX,DWORD PTR SS:[EBP-98]
004DF82D    8B83 40030000   MOV EAX,DWORD PTR DS:[EBX+340]
004DF833    E8 70BFF5FF     CALL unpacked.0043B7A8
004DF838    8B85 68FFFFFF   MOV EAX,DWORD PTR SS:[EBP-98]
004DF83E    50              PUSH EAX
004DF83F    8D95 60FFFFFF   LEA EDX,DWORD PTR SS:[EBP-A0]
004DF845    8B83 3C030000   MOV EAX,DWORD PTR DS:[EBX+33C]
004DF84B    E8 58BFF5FF     CALL unpacked.0043B7A8
004DF850    8B85 60FFFFFF   MOV EAX,DWORD PTR SS:[EBP-A0]
004DF856    E8 D599F2FF     CALL unpacked.00409230
004DF85B    B9 6F000000     MOV ECX,6F
004DF860    99              CDQ
004DF861    F7F9            IDIV ECX
004DF863    8BC2            MOV EAX,EDX
004DF865    8D95 64FFFFFF   LEA EDX,DWORD PTR SS:[EBP-9C]
004DF86B    E8 5C99F2FF     CALL unpacked.004091CC
004DF870    8D85 64FFFFFF   LEA EAX,DWORD PTR SS:[EBP-9C]
004DF876    50              PUSH EAX
004DF877    8D95 54FFFFFF   LEA EDX,DWORD PTR SS:[EBP-AC]
004DF87D    8B83 3C030000   MOV EAX,DWORD PTR DS:[EBX+33C]
004DF883    E8 20BFF5FF     CALL unpacked.0043B7A8
004DF888    8B85 54FFFFFF   MOV EAX,DWORD PTR SS:[EBP-AC]
004DF88E    E8 9D99F2FF     CALL unpacked.00409230                   ; 多次调用此 CALL,为检

测是否是合法的字符串
004DF893    8D95 58FFFFFF   LEA EDX,DWORD PTR SS:[EBP-A8]
004DF899    E8 F2FAFFFF     CALL unpacked.004DF390
004DF89E    8B85 58FFFFFF   MOV EAX,DWORD PTR SS:[EBP-A8]            ; 弹出一串字符,怀疑为

确认码或者假码的变型码
004DF8A4    E8 8799F2FF     CALL unpacked.00409230
004DF8A9    8D95 5CFFFFFF   LEA EDX,DWORD PTR SS:[EBP-A4]
004DF8AF    E8 BCFBFFFF     CALL unpacked.004DF470
004DF8B4    8B95 5CFFFFFF   MOV EDX,DWORD PTR SS:[EBP-A4]            ; 又弹出一串字符串,怀

疑仍然为变型码。
004DF8BA    58              POP EAX
004DF8BB    E8 5053F2FF     CALL unpacked.00404C10
004DF8C0    8B95 64FFFFFF   MOV EDX,DWORD PTR SS:[EBP-9C]            ; 这儿是真正的注册码入

EDX。
004DF8C6    58              POP EAX                                  ; 注册机断点。
004DF8C7    E8 8054F2FF     CALL unpacked.00404D4C                   ; 对比真假注册码
004DF8CC    0F85 96000000   JNZ unpacked.004DF968                    ; 不对就跳到注册失败处
004DF8D2    B8 50FA4D00     MOV EAX,unpacked.004DFA50                ; 注册成功,谢谢您的注

册!
004DF8D7    E8 A859F5FF     CALL unpacked.00435284

--------------------------------------------------------------------------------
【破解总结】

注册机断点:004DF8C6
中断次数:1
第一字节:58
指令长度:1
寄存器:EDX
地址指针:1层
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (22)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢楼主!
2005-1-22 21:28
0
雪    币: 12342
活跃值: (4055)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持 收下学习
2005-1-22 22:01
0
雪    币: 97697
活跃值: (200839)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
看看...
2005-1-22 22:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我是菜菜鸟,还是不明白,找到这些点后又怎么做呢。
2005-1-22 22:31
0
雪    币: 176
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
不明白楼主的脱壳步骤
我用od手脱
一次就脱干净了
而且是常规的脱upx的步骤
2005-1-22 23:10
0
雪    币: 176
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
刚刚用了
UPXShellExE RC7
Peid 0.92 插件
分别对happygame.exe进行脱壳
都是一次性脱壳成功
OEP:4AA8DC
不相信的同志们可以测试一下
对楼主的技术文章保持怀疑
对楼主不实事求是研究问题的态度表示BS
2005-1-22 23:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼主,按你提供的破解总结 ,用keymake做的内存注册,得不到正确的注册码呀。
2005-1-23 04:28
0
雪    币: 176
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
,我的目的是找到注册码。
F9继续运行程序,点“软件注册”,填写入“解认码”为:12345678,“注册码”为:9876543210


注册过程并非如此
说的也太悬了。。。
2005-1-23 07:44
0
雪    币: 209
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我脱壳一次就成功了

Borland Delphi 6.0 - 7.0
2005-1-23 10:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
最初由 larblue 发布


注册过程并非如此
说的也太悬了。。。


能给出内存注册的信息来么?
2005-1-23 15:04
0
雪    币: 210
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
http://happygame.nease.net/
2005-1-23 15:14
0
雪    币: 210
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
可疑处在哪里?谢谢!
2005-1-23 16:02
0
雪    币: 205
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
TO larblue:
我都说过了,我是菜鸟,根本不会手动脱壳,只会用工具。我的脱壳步骤确实是我写的那样,我甚至可以做一个视频来看。

您的第二个疑问:F9继续运行程序,点“软件注册”,填写入“解认码”为:12345678,“注册码”为:9876543210……

这是我在填写所谓的试练码,有什么不对吗?
2005-1-23 22:47
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
15
按照楼主留的下载地址,当回来的是一个1.14版的开心辞典,所以大家说脱壳过程不一样,可能根本大家弄的就不是同一个程序
2005-1-23 23:12
0
雪    币: 205
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
最初由 larblue 发布
刚刚用了
UPXShellExE RC7
Peid 0.92 插件
分别对happygame.exe进行脱壳
都是一次性脱壳成功
........


不用再说了,我破解的是 V5.0,主程序是 kxcd.exe,你测试的是 V2.0,主程序是:happygame.exe,根本不是一回事。

你对于 V2.0 的两种脱壳方法我都试过,看上去很美,但你用 OD 一加载就知道,根本没有完全脱掉壳,注册失败的字符串你能找到吗?

正是因为我没能完全脱壳,才没有办法破解掉 V2.0 的开心辞典。

请把你脱壳后的 happygame.exe 发给我吧,我看一下跟我脱的有何不同。
mr.zhs@163.com
2005-1-23 23:19
0
雪    币: 205
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
最初由 clide2000 发布
按照楼主留的下载地址,当回来的是一个1.14版的开心辞典,所以大家说脱壳过程不一样,可能根本大家弄的就不是同一个程序


不对的嘛,按我给的下载地址应该下回来的是 V5.0 版才正确。
2005-1-23 23:31
0
雪    币: 210
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
顶上去!请教高手指教!
2005-1-24 00:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
最初由 侠盗 发布


不对的嘛,按我给的下载地址应该下回来的是 V5.0 版才正确。


对的,可惜你破解的是开心词典 2004 10.15。 这和v5.0根本就是两个不同的软件
2005-1-24 00:27
0
雪    币: 205
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
最初由 tlbboy 发布



对的,可惜你破解的是开心词典 2004 10.15。 这和v5.0根本就是两个不同的软件


汗!抓图给你看,是哪个版本的!
2005-1-24 02:04
0
雪    币: 176
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
21
最初由 侠盗 发布


不用再说了,我破解的是 V5.0,主程序是 kxcd.exe,你测试的是 V2.0,主程序是:happygame.exe,根本不是一回事。

你对于 V2.0 的两种脱壳方法我都试过,看上去很美,但你用 OD 一加载就知道,根本没有完全脱掉壳,注册失败的字符串你能找到吗?
........


偶然下到的已经删除了
仿佛2.0的是没有失败字符串的
应该可以用dede分析吧
让你重起而已
看来是个误会
俺向你道歉
2005-1-24 07:50
0
雪    币: 205
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
不必道歉,您水平比俺高太多了,俺得向您学习。
2005-1-25 01:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
最初由 侠盗 发布
不必道歉,您水平比俺高太多了,俺得向您学习。


你破解的的确不是开心词典xp ,而是开心词典2004 .10.01,你自己看看你贴的几张图就知道了。当然发破解还是谢谢你的。
2005-1-27 00:25
0
游客
登录 | 注册 方可回帖
返回
//