Word to PDF Converter v3.0 算法分析及注册机

Word to PDF Converter v3.0算法分析及注册机

--------------------------------------------------------------------------------
【详细过程】

1,主程序在C:/Program Files/doc2pdf/DOC2PDF.dll,PEID查壳为ASProtect 1.23 RC1 -> Alexey Solodovnikov
对于ASPR,低版本的用看雪tool提供的脱壳机,高版本的用VOLX大侠的脚本,没有SDK和VM,这壳就比ESP要稍稍等上那么一会

2,新建空白DOC,运行之。看到插件已经加载,点击"SAVE AS PDF",弹出未注册提示和注册框[第一次还会提示下个什么driver,得按照他的意思去下]

3,OD挂接(一作附加),弹窗直接API下断,其他的下断方式还有很多种,略过。
堆栈显示:

代码:
0012E370   1001E168  /CALL 到 MessageBoxA 来自 DOC2PDF.1001E162
0012E374   00060850  |hOwner = 00060850 ('Registration',class='#32770',parent=00380062)
0012E378   10031A08  |Text = "Registration failed, please check the code and try again!"
0012E37C   01EB3B08  |Title = "Word to PDF Converter"
0012E380   00000010  /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL

调用堆栈显示[OD上的K按钮]:

代码:
调用堆栈
地址       堆栈       程序过程 / 参数                       调用来自                      结构
0012E370   1001E168   user32.MessageBoxA                    DOC2PDF.1001E162              0012E3C0
0012E374   00060850     hOwner = 00060850 ('Registration',
0012E378   10031A08     Text = "Registration failed, pleas
0012E37C   01EB3B08     Title = "Word to PDF Converter"
0012E380   00000010     Style = MB_OK|MB_ICONHAND|MB_APPLM
0012E388   1000CECC   DOC2PDF.1001E13A                      DOC2PDF.1000CEC7
0012E38C   10031A08     Arg1 = 10031A08 ASCII "Registratio
0012E390   01EB3B08     Arg2 = 01EB3B08 ASCII "Word to PDF
0012E394   00000010     Arg3 = 00000010

跟随地址,来到:

代码:
1000CE5A   .  E8 77020000   CALL 1000D0D6                            ;  关键CALL
1000CE5F   .  85C0          TEST EAX,EAX
1000CE61   .  74 43         JE SHORT 1000CEA6                        ;  注册判断跳转
........
1000CE73   .  6A 40         PUSH 40
1000CE75   .  50            PUSH EAX
1000CE76   .  68 441A0310   PUSH 10031A44                            ;  ASCII "Registration successed, thank for your registration!"
1000CE7B   .  8BCE          MOV ECX,ESI
1000CE7D   .  C745 FC 03000>MOV DWORD PTR SS:[EBP-4],3
1000CE84   .  E8 B1120100   CALL 1001E13A                            ;  调用MessageBoxA
........
1000CEB9   .  68 081A0310   PUSH 10031A08                            ;  ASCII "Registration failed, please check the code and try again!"
1000CEBE   .  8BCE          MOV ECX,ESI
1000CEC0   .  C745 FC 04000>MOV DWORD PTR SS:[EBP-4],4
1000CEC7   .  E8 6E120100   CALL 1001E13A                            ;  调用MessageBoxA

 

跟进关键CALL:

 
代码:
1000D0D6  /$  B8 D84F0210   MOV EAX,10024FD8
........
1000D100  |.  E8 52F5FFFF   CALL 1000C657                            ;  用户名小于2位则加上"AA",取其前两位。有字母就转为大写,再与"3wefr23rw"组合为新字串。为节省篇幅,就不写跟进过程了- -!
........
1000D127  |.  50            PUSH EAX
1000D128  |.  E8 D5C0FFFF   CALL 10009202                            ;  MD5加密组合字串的32位输出
........
1000D15E  |.  E8 BDD20000   CALL 1001A420                            ;  MD5输出的前16位

........
1000D176  |.  E8 3C250000   CALL 1000F6B7                            ;  比较真假码,局部调用来自 1000880B, 1000D176
1000D17B  |.  59            POP ECX
1000D17C  |.  85C0          TEST EAX,EAX
1000D17E  |.  59            POP ECX
1000D17F  |.  75 03         JNZ SHORT 1000D184                       ;  跳过标志位置1
1000D181  |.  6A 01         PUSH 1
1000D183  |.  5B            POP EBX                                  ;  相当于 MOV EBX,1
1000D184  |>  834D FC FF    OR DWORD PTR SS:[EBP-4],FFFFFFFF
1000D188  |.  8D4D F0       LEA ECX,DWORD PTR SS:[EBP-10]
1000D18B  |.  E8 A3D10000   CALL 1001A333                            ;  CALL A333
1000D190  |.  8B4D F4       MOV ECX,DWORD PTR SS:[EBP-C]
1000D193  |.  8BC3          MOV EAX,EBX                              ;  EBX --> EAX
1000D195  |.  5E            POP ESI
1000D196  |.  5B            POP EBX
1000D197  |.  64:890D 00000>MOV DWORD PTR FS:[0],ECX
1000D19E  |.  C9            LEAVE
1000D19F  /.  C2 0800       RETN 8

 

附:在点SAVE AS PDF按钮会被断下,说明此时会进行判断...:


算法分析:
1,取用户名,不足两位的加"AA",再取前两位,是字母的话转换成大写
2,和固定字符串"3wefr23rw"组成新字符串
3,标准MD5加密该字符串
4, 取前16位得到注册码


JS注册机源码[简单算法,各位见笑了]:

代码:
<script language="javascript" src="md5.js"></script>
<script language="JavaScript" type="text/javascript">
//No copyright (C) 11/21/2009   ty1921

function getCode(user) {
         var s0="";
         if (user.length<2)
         { user += "AA"; }                       //取用户名,不足两位的加"AA"
          user = user.substring(0,2);            //用户名截取   
          user = user.toUpperCase();             //用户名大写
          user += "3wefr23rw";                   //和固定字符串"3wefr23rw"组成新字符串
          s0 = MD5(user);                        //标准MD5加密
          ty.passwd.value = s0.substring(0,16);  //取前16位,得到注册码   
}
</script>
<form name="ty">
<table align="center">
    <tr>
         <td> user: <input  name="user" /></td>
    </tr>
    <tr>
         <td> code: <input readonly="readonly"  name="passwd" /></td>
    </tr>
    <tr>
         <td> <hr> </td>
    </tr>
    <tr>
         <td align="center"> <input type="button"  value=" get  it  " onclick="javascript:getCode(user.value)" /></td>
    </tr>
         <td align="center">
             <br>
             <font color="#808080" size="2">
                 <a href="http://bbs.chinaPYG.com" style="text-decoration: none">bbs.chinaPYG.com</a>  ty1921^_^
             </font>
        </td>
    </tr>
</table>
</form>

总结:
1,算法很简单,适合我等新手学习,比上一个屏幕保护那软件有很大的差别
2,注册信息保存在HKEY_USERS/S-1-5-21-1343024091-57989841-1417001333-500/Software/Pdf-convert/word2pdf/DataInfo下,如果找不到,请在注册表中直接搜索你输入的用户名或注册码
3,标准的MD5.JS请在网上搜素下载。[因为不能上传附件,(⊙o⊙)]

4,最新下载的V3.0版本算法没有改变,但字符串已经更改,在这里提供两组注册码,一组不行换另外一组:

 

用户名/注册码: ty1921/ef0f2eba70c7a00d

                或: ty1921/1e43681f1ea3a064

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
::软件简介:: PDF to Word 3.0.1中文版 (含注册码) 中文名: PDF to Word 3.0.1 英文名: AnyBizSoft PDF to Word 3.0.1 资源格式: 压缩包 版本: 免费简体中文版/注册版 发行时间: 2010年08月13日 制作发行: AnyBizSoft地区: 美国 语言: 简体中文, 英文 版本说明: 为您提供最快捷最精准的PDF文件到Word文档的转换方案- 完全免费! 支持加密PDF文件的转换 转换后的Word文档可以精准地保留原PDF文件的所有页面元素和排版 支持批量转换,一次可最多可转换200个PDF文件 可选定PDF文件中的任意页面进行转换 支持右键转换(免运行程序) 特别申明:此免费版PDF to Word仅授权于个人用户,不得用于任何商业用途、任何非赢利或产生收入的业务活动或任何政府组织 软件介绍 AnyBizSoft PDF to Word是一款专业的PDFWord格式的转换软件。它可以帮助您生成一个与原PDF文件一模一样的Word格式文档,这个Word文档完好地保留了原有的排版及所有元素,如文字、图片、链接、图表、表格、样式。通过把PDF文件转换成Word文档,您可以方便地修改或重新使用PDF文件里的文字、图片等等元素,非常便捷! 转换精确 AnyBizSoft PDF to Word在转换过程中,可以精准地保留原PDF文件中所有的文字、图片、链接、图表、表格、样式与排版。 转换效果示例: Word文档 简单易用 AnyBizSoft PDF to Word非常的简单易用。您只需要把PDF文件拖入程序窗口,设置好输出路径,点击开始转换按钮即可。稍等片刻转换完成后,点击状态栏的链接可以直接打开转换后的Word文件。 支持加密文件的转换 AnyBizSoft PDF to Word支持加密的文件转换,其中: 对于有复制和打印限制的PDF文件:AnyBizSoft PDF to Word可以直接对这种文件进行转换,不需要输入任何密码; 对于有打开密码的PDF文件:须在导入PDF文件后输入正确的打开密码进行解密后再进行转换。(说明:导入这种加密文件后在文件前方有一个小锁的图标,请点击这个图标,在弹出的对话框输入正确的打开密码即可解锁进行后续的转换;若解锁不成功,AnyBizSoft PDF to Word会自动跳过此文件的转换) 三种转换模式 批量文件转换:AnyBizSoft PDF to Word可以帮助您一次转换多达200个PDF文件; 部分选定页面转换:对于多页的PDF文件,AnyBizSoft PDF to Word可以让您自定义指定的页码或页码范围来进行转换,进而提高转换效率; 右键转换:在安装 AnyBizSoft PDF to Word的时候若勾选了将程序添加到快捷菜单的选项,可直接右键点击单个PDF文件,在弹出菜单中选择使用AnyBizSoft PDF to Word转换,便可迅速将该PDF文件转换成Word文档,而无须运行程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值