飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 11814|回复: 30

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

  [复制链接]

该用户从未签到

发表于 2011-4-27 22:37:29 | 显示全部楼层 |阅读模式
本帖最后由 freewold 于 2011-4-29 10:50 编辑

五步暴力拆解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 和 IMAGES到PDF. 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
--------------------------------------------------------------------------------
【版权声明】: 转载请注明作者并保持文章的完整, 谢谢!
Word to PDF.rar (1.8 MB, 下载次数: 76)
动画下载地址:http://u.115.com/file/t1204d6367#

                                                      2011年04月27日 12:56:46

评分

参与人数 1飘云币 +40 收起 理由
月之精灵 + 40 您的贴子很精彩,希望能再次分享!

查看全部评分

PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-11-19 11:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2011-4-28 10:49:48 | 显示全部楼层
    有点小问题,看左边的工具栏缺了一块。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-11-19 11:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2011-4-28 11:01:58 | 显示全部楼层
    应该存在注册功能的:
    wtp.png
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-11-19 11:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2011-4-28 11:13:29 | 显示全部楼层
    WTP到期.png

    爆破之后的问题!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-5-9 01:01
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2011-4-28 14:36:42 | 显示全部楼层
    分析和破解都很祥细,学习了。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-5-9 01:01
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2011-4-28 14:36:54 | 显示全部楼层
    分析和破解都很祥细,学习了。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-3 23:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2011-4-28 16:46:09 | 显示全部楼层
    本帖最后由 月之精灵 于 2011-4-28 16:55 编辑

    写得很详细,谢谢分享

    2、3、4楼的 DaShanRen 反映的情况请楼主看下
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2021-7-30 21:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2011-4-28 18:55:15 | 显示全部楼层
    楼主厉害,学习了
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2011-4-29 10:32:15 | 显示全部楼层
    写得很详细,谢谢分享

    2、3、4楼的 DaShanRen 反映的情况请楼主看下
    月之精灵 发表于 2011-4-28 16:46


    我没有出现这个情况
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2011-4-29 10:34:11 | 显示全部楼层
    附件已经上传
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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