找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 322|回复: 0

SMC玩转《时代翻译通V4.5》

[复制链接]

271

主题

757

回帖

2876

牛毛

二级牛人

梦想督察办公室 主任

积分
3527
发表于 2006-10-23 10:07:50 | 显示全部楼层 |阅读模式 来自 山东省青岛市
破文标题】:SMC玩转《时代翻译通V4.5》

【破文作者】:KuNgBiM{BCG}{DFCG}{DCM}{DCT}{SLT}{NCPH}

【作者邮箱】:kungbim@163.com

【软件名称】:时代翻译通V4.5(原名:大众翻译软件)

【软件大小】:828 KB

【软件版本】:4.5 (2006年5月19日更新!)

【保护方式】:功能限制 + 提示框 + 试用时间限制

【加密保护】:ASPack 2.12 -> Alexey Solodovnikov

【编译语言】:Borland Delphi 6.0 - 7.0

【作者声明】:初学Crack,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

【软件简介】:

一款软件2个简介:

下载地址:http://www.t1333.com/xdfyt/

  时代翻译通的最大特点是迅速和便捷,您只需输入所需翻译的内容,就能马上得到翻译结果,支持中、英、法、德、俄、日、韩、荷兰、西班牙、意大利、葡萄牙等国家之间的语言互译,是翻译短小文章的最佳选择。

下载地址:http://www.t1333.com/

大众翻译软件是一款迅速.便捷.高效.准确的迷你即时翻译工具,程序采用快速的动态翻译技术,可以帮助你将短文翻译成中文、英文、日文、韩文、德文、俄文等十二种语言互译。她拥有超小的体积,强大的功能,使你在使用过程中更有效率,更得心应手,超乎你的想像!同时是翻译短小文章的最佳选择。

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

【破解过程】

1.用PEiD查壳,ASPack 2.12 -> Alexey Solodovnikov,是简单的压缩壳,地球人都知道,所以脱壳过程我就不写了,因此这段略过,呵呵~~

2.用Ollydbg载入,跟踪分析破解。

程序分析:

【爆破点A】(试用时间限制)分析:

004F0D9C 80B8 89030000 01 cmp byte ptr ds:[eax+389],1
004F0DA3 0F85 C4000000 jnz translat.004F0E6D ; 【爆破点】原版这里是跳了的,有问题F2设断!
004F0DA9 8D55 D4 lea edx,dword ptr ss:[ebp-2C]
004F0DAC 8B45 FC mov eax,dword ptr ss:[ebp-4]
004F0DAF 8B80 20030000 mov eax,dword ptr ds:[eax+320]
004F0DB5 E8 3AA5FBFF call translat.004AB2F4
004F0DBA 8B45 D4 mov eax,dword ptr ss:[ebp-2C]
004F0DBD 50 push eax
004F0DBE 8D55 D0 lea edx,dword ptr ss:[ebp-30]
004F0DC1 8B45 FC mov eax,dword ptr ss:[ebp-4]
004F0DC4 8B80 1C030000 mov eax,dword ptr ds:[eax+31C]
004F0DCA E8 25A5FBFF call translat.004AB2F4
004F0DCF 8B55 D0 mov edx,dword ptr ss:[ebp-30]
004F0DD2 58 pop eax
004F0DD3 E8 9837F1FF call translat.00404570
004F0DD8 0F84 8F000000 je translat.004F0E6D ; 怎么和上面地址跳转一样?加深疑惑!
004F0DDE 8B45 FC mov eax,dword ptr ss:[ebp-4]
004F0DE1 8B80 78030000 mov eax,dword ptr ds:[eax+378]
004F0DE7 E8 8870FFFF call translat.004E7E74
004F0DEC 84C0 test al,al
004F0DEE 75 7D jnz short translat.004F0E6D ; 锁定它了!!^_^
004F0DF0 8B45 FC mov eax,dword ptr ss:[ebp-4]
004F0DF3 8B98 8C030000 mov ebx,dword ptr ds:[eax+38C]
004F0DF9 83FB 0B cmp ebx,0B
004F0DFC 7D 40 jge short translat.004F0E3E
004F0DFE 66:A1 E80E4F00 mov ax,word ptr ds:[4F0EE8]
004F0E04 50 push eax
004F0E05 6A 00 push 0
004F0E07 68 440F4F00 push translat.004F0F44 ; 试用期还剩
004F0E0C 8D55 C8 lea edx,dword ptr ss:[ebp-38]
004F0E0F 8BC3 mov eax,ebx
004F0E11 E8 A6DBFFFF call translat.004EE9BC
004F0E16 FF75 C8 push dword ptr ss:[ebp-38]
004F0E19 68 600F4F00 push translat.004F0F60 ; 天请考虑注册使用!
004F0E1E 8D45 CC lea eax,dword ptr ss:[ebp-34]
004F0E21 BA 03000000 mov edx,3
004F0E26 E8 5531F1FF call translat.00403F80

【爆破点B、C】(显示已经注册成功信息/弹出的注册提示窗体)分析:

004F15EA E8 8568FFFF call translat.004E7E74
004F15EF 84C0 test al,al
004F15F1 74 1E je short translat.004F1611 ; 【爆破点】这里当然不能跳咯~
004F15F3 66:A1 38184F00 mov ax,word ptr ds:[4F1838]
004F15F9 50 push eax
004F15FA 6A 00 push 0
004F15FC 8B45 FC mov eax,dword ptr ss:[ebp-4]
004F15FF 8B80 30030000 mov eax,dword ptr ds:[eax+330]
004F1605 B1 02 mov cl,2
004F1607 BA 44184F00 mov edx,translat.004F1844 ; 谢谢您的支持,您已成功注册了!
004F160C E8 030CFFFF call translat.004E2214
004F1611 8B45 FC mov eax,dword ptr ss:[ebp-4]
004F1614 8B80 78030000 mov eax,dword ptr ds:[eax+378]
004F161A E8 5568FFFF call translat.004E7E74 ; 注册成功后,是否加载一个窗体(注册提示窗)?
004F161F 84C0 test al,al
004F1621 0F85 D9010000 jnz translat.004F1800 ; 【爆破点】不跳就加载,跳则安之~
004F1627 8B4D FC mov ecx,dword ptr ss:[ebp-4]
004F162A B2 01 mov dl,1
004F162C A1 B8CB4E00 mov eax,dword ptr ds:[4ECBB8]
004F1631 E8 A249F5FF call translat.00445FD8

================================================================================
【爆破点总结】

第一处:

004F15F1 /74 1E je short translat.004F1611 ; nop掉

改为:

004F15F1 90 nop
004F15F2 90 nop

第二处:

004F1621 /0F85 D9010000 jnz _transla.004F1800 ; 一定要跳!

改为:

004F1621 90 nop
004F1622 E9 D9010000 jmp translat.004F1800


第三处:

004F0DA3 /0F85 C4000000 jnz _transla.004F0E6D ; 一定要跳!

改为:

004F0DA3 90 nop
004F0DA4 E9 C4000000 jmp translat.004F0E6D

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

因为这次是利用壳自身解压原理,填充补丁数据,所以我们下步则需要修改程序。这就是通常所说的SMC技术原理。

确定补丁位置:

首先,我们要得到壳解压完毕后返回程序OEP的那一瞬间作为跳板。

第一处:(跳到SMC补丁数据地址)

005543AF 61 popad ; 找到这里
005543B0 75 08 jnz short translat.005543BA ; ★补丁地址★
005543B2 B8 01000000 mov eax,1
005543B7 C2 0C00 retn 0C
005543BA 68 00000000 push 0 ; 返回程序OEP值
005543BF C3 retn ; 飞向光明之颠 ~_~

修改为:

005543B0 /E9 B9350000 jmp translat.0055796E ; 强制跳到补丁数据0055796E处
005543B5 |90 nop
005543B6 |90 nop
005543B7 |C2 0C00 retn 0C
005543BA |68 50254F00 push translat.004F2550
005543BF |C3 retn

---------------

找到一块空地,然后写入补丁数据(这里我找的是:0055796E)修改为:

0055796E 66:C705 F1154F00 9090 mov word ptr ds:[4F15F1],9090 ; 【作用】显示已经注册成功信息
00557977 66:C705 21164F00 E990 mov word ptr ds:[4F1621],90E9 ; 【作用】去除弹出的注册提示窗体
00557980 66:C705 A30D4F00 E990 mov word ptr ds:[4F0DA3],90E9 ; 【作用】去除试用时间限制
00557989 ^ E9 2CCAFFFF jmp translat.005543BA ; 返回OEP处
0055798E 90 nop
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-3-14 11:51 , Processed in 0.138262 second(s), 30 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表