首页
社区
课程
招聘
[原创]闲来无聊破解一下金山快译2006(有图版)
2013-7-9 22:13 4206

[原创]闲来无聊破解一下金山快译2006(有图版)

2013-7-9 22:13
4206
没啥技术含量。。。大神莫笑哦。。。。

嗯。。大家有玩过侠盗猎车手罪恶都市吧。。。
不过我不是说那游戏。。。
因为里面其实还有一个小游戏。名字忘了。。
那时电脑还是很早的。。
玩不动大型游戏所以只能玩这个小游戏了
说说文件夹里面游戏的内容吧

界面很普通。。连个动画都没有
但是可以偷车抢车。。不过都是用文字表述出来。。

因为那游戏全英文看不懂。。
所以一般我都用金山快译2006翻译一下
其实在那时已经有用reg注册破解版本了。。

所以那时没去研究这软件。。
今日无聊回忆当初玩的时候这款东东。。
所以操起大刀挥向金山快译2006

好了。。聊到这进入正题。。。
===========我是万恶的分割线=============

直接拉到 OD
运行看看。。
嗯。。。一运行就弹个窗。。。

我不想注册点取消
发现直接退出了。。。。。。
获得信息。。。思路很简单。。。绕过注册对话框并且不退出就好了。。。

下  ExitProcess和ZwTerminateProcess  断点。。。



重复刚刚步骤。。。断下来后回溯一下



看到关键跳了没。。。不过我不是很想改这里。。我比较倾向于连注册框直接跳过
then。。。段首下断。。。重新运行一遍。。
断在这里。。。。
004376D3  /$  55            push ebp

单步走。。。看看啥时候出来框框。。有木有可以跳过的
好吧。。。发现弹出的框框就在刚刚那不退出进程的关键跳前面的哪个call

004377D2  |.  FF92 B8000000 call dword ptr ds:[edx+0xB8]

冤家路窄啊。。。。。

好吧。。知道这个框框是这个弹出来的。。。
那。。。不理他。。看看有木有可以跳过的。。。
还别说真有哈。。。。



004376D3     55            push ebp
004376D4     8BEC          mov ebp,esp
004376D6     81EC 00020000 sub esp,0x200
004376DC     56            push esi
004376DD     57            push edi
004376DE     898D 00FEFFFF mov [local.128],ecx
004376E4     8B85 00FEFFFF mov eax,[local.128]
004376EA     83B8 74050000>cmp dword ptr ds:[eax+0x574],0x0
004376F1     74 05         je XFastAIT.004376F8

004376F3   E9 09030000   jmp FastAIT.00437A01          //<<=====我很明显

004376F8  > 8B8D 00FEFFFF mov ecx,[local.128]
004376FE     C781 98040000>mov dword ptr ds:[ecx+0x498],0x0
00437708     68 F4010000   push 0x1F4

看看这个。。。多明显的jmp啊。。。
直接nop掉jmp上面的je
试试效果。。。

嗯。。。可以用了。。。但是总感觉卡卡滴。。。貌似很奇怪。。
看看段首谁调用的看看原因。。。

发现出来后一直在循环里面
并且循环里面有这个二货

00424E86  68 D0070000   push 0x7D0                       ; /Timeout = 2000. ms
00424E8B  FF15 CC424800 |call dword ptr ds:[<&KERNEL32.Sleep>]   Sleep

那就看看有木有可以跳过的

好吧。。。看到结尾这句。。。
00424EA6  |> \68 00F94900   push FastAIT.0049F900                    ; /in for end

注释都告诉我们了。。。end
看看上面有木有关键地方



事实告诉我们。。。
00424DF8     /75 1C         |jnz XFastAIT.00424E16                   ;  nop掉
就好了。。。

嗯。。保存所有修改。。。运行一下。。
ok。。。可以用。。。。差不多啦。。。

今天就到这里啦。。。
嗯,金山快译已经放在附件里了。。大家有空可以看看

嘿嘿。。不求加分,只各位英雄看完给个回复

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 163
活跃值: (1233)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
学编程 1 2013-7-10 10:11
2
0
经实践有一个更简单的方法。
004377D2  |.  FF92 B8000000 call dword ptr ds:[edx+0xB8]
修改为 mov eax,1
雪    币: 3295
活跃值: (1078)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
CRoot 2013-7-10 10:58
3
0
快译?很老了吧?怎么不用词典?
雪    币: 16
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rone 2013-7-10 12:18
4
0
[QUOTE=学编程;1197311]经实践有一个更简单的方法。
004377D2  |.  FF92 B8000000 call dword ptr ds:[edx+0xB8]
修改为 mov eax,1[/QUOTE]

嘿嘿。。。也算一种方法啦。。。
经过实践证明。。。。会遇到文章内容所出现的问题
======================================================
发现出来后一直在循环里面
并且循环里面有这个二货

00424E86  68 D0070000   push 0x7D0                       ; /Timeout = 2000. ms
00424E8B  FF15 CC424800 |call dword ptr ds:[<&KERNEL32.Sleep>]   Sleep

======================================================

刚刚测试一下貌似这个验证很奇葩。。。跳过很多东西都可以用
00424AA6      55            push ebp
00424AA6      C3            retn
把这个调用直接返回照样运行ing
雪    币: 223
活跃值: (61)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
一身惆怅 2013-7-10 20:37
5
0
“不过我不是很想改这里。。我比较倾向于连注册框直接跳过”

整个剧情都歪了啊哈哈哈
雪    币: 16
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rone 2013-7-10 23:17
6
0
伤心ing。。。回复好少。。。。
是不是我做的不好啊。。。
能提个意见不。。。。我改。。。
游客
登录 | 注册 方可回帖
返回