吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 16027|回复: 29
收起左侧

[原创] 五步暴力拆解Word to PDF(去NAG+去时间限制+去水印+转换文件提示试用版...)

[复制链接]
freewold 发表于 2011-4-27 22:43
本帖最后由 freewold 于 2011-4-28 10:23 编辑

五步暴力拆解Word to PDF(去NAG+去时间限制+去水印+转换文件提示试用版...
【文章标题】: 五步暴力拆解Word to PDF(去NAG+去时间限制+去水印+转换文件提示试用版...
【文章作者】: freewold
【作者邮箱】: freewold @126.com
【作者主页】:
【软件名称】: Word to PDF 7.8
【下载地址】: http://www.skycn.com/soft/44098.html
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  软件介绍: Word to PDF 是一个易用和强大的PDF转换器。
  你能转换MS Word, RTF, HTML, Htm, XML, TEXT,CSS IMAGESPDF. Word to PDF(DOC), Word to PDF(RTF),Word to PDF Converter, Html to PDF(Html,Htm), XML TO PDF(Xml), Text to PDF(Txt), CSS to PDF(Css), PNG to PDF, Jpg to PDF, Jpeg to PDF, Bmp to PDF, Gif to PDF
  
  运行软件后发现,这是一个 试用软件,根本没有提示输入用户名和注册码的地方,我晕,算法分析无门 ~_-!!!
  由于这软件太好用了,准备暴力拆解,看能不能把它变相为无功能限制的免费版。后来发现了可行性,必须要突破其各种限制了。
  我们需要解决的问题有

1
脱壳

2
、去注册NAG

3
、去时间限制

4
、去未注册字符

5
、去水印限制
  挺繁琐的,但也非常有趣,需要准备的工具有PEdi, DEDE, OD, C32ASM,PE Explorer等,开工!
  

===================
第一步:脱壳 ==================
  
  这一步非常简单,ASPack 2.12 -> Alexey Solodovnikov 压缩壳,想怎么脱就怎么脱。
  

===================
第二步:去注册NAG =============
  
  每次启动都会先出现一个Splash窗口,显示“UnRegistered”字样,  需要把Splash窗口干掉。
  搜索“UnRegistered
004E0A9F
0F85 D7000000 JNZ 004E0B7C
// NOP
004E0AA5
.
A1 7C2E4E00
MOV EAX,DWORD PTR DS:[4E2E7C]
004E0AAA
.
8B00
MOV EAX,DWORD PTR DS:[EAX]
004E0AAC
.
8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
004E0AB2
.
BA B40B4E00
MOV EDX,004E0BB4
Registered ;

004E0A9F
0F85 D7000000 JNZ 004E0B7C
修改为:
004E0A9F
/0F85 00000000 JNZ 004E0AA5
  就可以实现把不显示NAG窗口了。
  

===================
第三步:去时间限制 =============
  
  程序运行后发现主窗口标题栏有“……UnRegistered (6 days remaining)”等字样,明显是利用了时间比较来
  计算使用天数。这里有两种可能。
  一种是同时获得系统当前时间 和 自身文件时间,进行相减运算得出使用天数
  另一种是同可能把程序安装时的时间保存在某文件或注册表中,然后用当前时间减去它就得出已使用天数。
  但无论用哪种方法,到达这个算法过程最简便的方法是 查ASCII “days remaining”字样,定位到  
004DA8FA
|.
68 17B74D00
PUSH 004DB717
004DA8FF
|.
64:FF30
PUSH DWORD PTR FS:[EAX]
004DA902
|.
64:8920
MOV DWORD PTR FS:[EAX],ESP
004DA905
|.
8BC3
MOV EAX,EBX
004DA907
E8 34FFFFFF
CALL 004DA840
计算使用天数CALL
004DA90C
|.
8D45 F8
LEA EAX,DWORD PTR SS:[EBP-8]
004DA90F
|.
E8 DC9AF2FF
CALL 004043F0
复制代码Delphi程序反汇编出来的程序就是简洁明了,比VB程序容易理解多啦 ~~~ I Love Delphi!!
  明显程序是通过读取系统目录下一个叫wordwinf20.dll的文件的创建时间,调用了

<JMP.&kernel32.FileTimeToLocalFileTime>

<JMP.&kernel32.FileTimeToDosDateTime>

<JMP.&kernel32.FileTimeToDosDateTime>
  系列函数来计算出已经使用的天数。
  

004DA907
E8 34FFFFFF
CALL 004DA840
计算使用天数CAL
把这个CALL
NOP
填充掉就可以了
复制代码保存起来看看效果,把日期改成2010年看看有没有提示过期??
  果然,显示:“未注册”字样..证明时限给搞定了。
  
  

===================
第四步:去未注册字符 =============
  
  我们目的是要变为破解免费版本,当然绝对不能出现类似“未注册”之类的讨厌字眼,必须把它去掉。
  DEDE找到激活主窗体的事件代码处下断:004DA8DC
/.
55
PUSH EBP
  运行来到:
004DACED
|. /0F84 29040000 JE 004DB11C
004DACF3
|. |8B83 1C040000 MOV EAX,DWORD PTR DS:[EBX+41C]
004DACF9
|. |E8 FE14FDFF
CALL 004AC1FC
004DACFE
|. |83F8 06
CMP EAX,6
---------------------------

004DACED
|. /0F84 29040000 JE 004DB11C
修改为:
004DACED
|. /0F84 29040000 JMP 004DB11C
来到:
004DB13A
|.
FF2485 41B14D>JMP DWORD PTR DS:[EAX*4+4DB141]
004DB141
|.
5DB14D00
DD WordtoPD.004DB15D
004DB145
|.
F5B14D00
DD WordtoPD.004DB1F5
004DB149
|.
93B24D00
DD WordtoPD.004DB293
004DB14D
|.
31B34D00
DD WordtoPD.004DB331
004DB151
|.
CFB34D00
DD WordtoPD.004DB3CF
004DB155
|.
6DB44D00
DD WordtoPD.004DB46D
004DB159
|.
0BB54D00
DD WordtoPD.004DB50B
004DB15D
|>
68 88B84D00
PUSH 004DB888
--------------------------------------
004DB13A
|.
FF2485 41B14D>JMP DWORD PTR DS:[EAX*4+4DB141]
修改为:004DB13A
|.
FF2485 41B14D>JMP 004DB15D
往下走到:
004DB1A9
|.
FFB5 40FFFFFF PUSH DWORD PTR SS:[EBP-C0]
这里出现“UnRegistered
004DB1AF
|.
68 BCB84D00
PUSH 004DB8BC
004DB1B4
|.
8D95 3CFFFFFF LEA EDX,DWORD PTR SS:[EBP-C4]
--------------------------------------
004DB1A9
|.
FFB5 40FFFFFF PUSH DWORD PTR SS:[EBP-C0]
修改为:004DB1A9
|.
FFB5 40FFFFFF PUSH 4E0BB4
004E0AB2
.
BA B40B4E00
MOV EDX,004E0BB4
;
Registered
Registered“可以自己修改:我修改为:”--已注册

=====================
第五步:去水印及转换文件提示试用版================
  
  讲了这么多,这才是最重要,也是困难的一步了。由于这是个试用版,在生成PDF文件时,总会插入一个提示未注册
  的背景图片,非常令人讨厌。如果这一步不搞定,前面做那么多都没有任何意义。
  还是第一次弄水印,没有任何经验,但判断可能是用了某个图片文件作背景引入到生成的PDF文件中,因此可能用到

004DD378
/$
55
PUSH EBP
这里是打水印的地方,去除的方法很简单。
004DD3AE
/0F84 44010000 JE 004DD4F8
004DD3B4
|. |BA 8C000000
MOV EDX,8C
004DD3B9
|. |8B9E 48040000 MOV EBX,DWORD PTR DS:[ESI+448]
---------中间代码省略
004DD781
|> \33C0
XOR EAX,EAX
-----------------------------------------
004DD3AE
/0F84 44010000 JE 004DD4F8
修改为直接跳到004DD781
|> \33C0
XOR EAX,EAX
这句,这样就直接跳过了打水印的地方及转换文件提示试用版。
  至此手工。
--------------------------------------------------------------------------------
【版权声明】: 未命名.jpg 转载请注明作者并保持文章的完整, 谢谢!

2011
0427 12:56:46

免费评分

参与人数 1热心值 +1 收起 理由
热火朝天 + 1 精品文章!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

oxoxx01 发表于 2011-4-27 23:13
说的很抽象,看不明白啊
 楼主| freewold 发表于 2011-4-27 22:59
写的比较粗糙,需要自己去调试一下才有感觉。
头像被屏蔽
zsmlc 发表于 2011-4-27 22:54
热火朝天 发表于 2011-4-27 23:58
水印那里好像讲得最少了
gry8686 发表于 2011-4-28 00:14
近来学习一下,支持楼主的分享
assume 发表于 2011-4-28 08:19
以前在PYG写的文章?
头像被屏蔽
892644330 发表于 2011-4-28 09:09
提示: 作者被禁止或删除 内容自动屏蔽
下雪天 发表于 2011-4-28 09:18
路过支持个,汇编菜鸟!~~
wxc6688 发表于 2011-4-28 09:54
楼主发下软件用用吗
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 22:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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