飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5834|回复: 15

[原创] 发个简单的算法分析,适合新手,高手不宜。

  [复制链接]
  • TA的每日心情
    擦汗
    2019-5-7 09:43
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    发表于 2017-4-23 18:52:45 | 显示全部楼层 |阅读模式
    本帖最后由 jzyjd 于 2017-4-23 19:01 编辑

    PDF to Word Converter 3.1 算法分析
    下载地址:http://www.verypdf.com/app/pdf-to-word/index.html
    国外的软件,呵呵。
    查壳,无壳。
    运行后,会提示注册,进入试用。
    然后再次进行注册。
    点注册提示:Your registration key is wrong……
    查找字串。来到:
    00406716   > \A1 343D7F00   mov eax,dword ptr ds:[0x7F3D34]
    0040671B   .  894424 08     mov dword ptr ss:[esp+0x8],eax
    0040671F   .  68 402A5E00   push pdf2word.005E2A40                   ;  Your registration key is wrong, please double check following issues:\n
    00406724   .  8D4C24 0C     lea ecx,dword ptr ss:[esp+0xC]
    00406728   .  C78424 E40000>mov dword ptr ss:[esp+0xE4],0x0
    00406733   .  E8 A4F61900   call pdf2word.005A5DDC
    00406738   .  68 E4295E00   push pdf2word.005E29E4                   ;  1. Please copy and paste your registration key into PDF2Word to avoid spelling mistake.\n
    往上翻发现是004066D0   . /74 44         je short pdf2word.00406716               ; 跳过来的。
    再往上翻,来到关键CALL 
    004066C6   .  E8 95F8FFFF   call pdf2word.00405F60                   ;  关键CALL
    重新进行注册。分析代码
    00405F76  |.  83F9 14       cmp ecx,0x14                             ;  检测注册码位数 20位
    00405F79  |.  74 07         je short pdf2word.00405F82               ;  位数不对,直接跳走返回。
    改成20位假码:12345678901234567890.继续注册
    算法分析:
    00405F76  |.  83F9 14       cmp ecx,0x14                             ;  检测注册码位数 20位
    00405F79  |.  74 07         je short pdf2word.00405F82               ;  位数对继续,位数不对,返回。
    00405F7B  |.  5F            pop edi                                  ;  pdf2word.007F0033
    00405F7C  |.  5E            pop esi                                  ;  pdf2word.007F0033
    00405F7D  |.  5B            pop ebx                                  ;  pdf2word.007F0033
    00405F7E  |.  83C4 18       add esp,0x18
    00405F81  |.  C3            retn
    00405F82  |>  8A06          mov al,byte ptr ds:[esi]                 ;  取假码第一位
    00405F84  |.  8A4E 01       mov cl,byte ptr ds:[esi+0x1]             ;  取假码第二位
    00405F87  |.  8D5424 0C     lea edx,dword ptr ss:[esp+0xC]
    00405F8B  |.  32DB          xor bl,bl
    00405F8D  |.  52            push edx
    00405F8E  |.  884424 1C     mov byte ptr ss:[esp+0x1C],al
    00405F92  |.  885C24 1D     mov byte ptr ss:[esp+0x1D],bl
    00405F96  |.  884C24 10     mov byte ptr ss:[esp+0x10],cl
    00405F9A  |.  885C24 11     mov byte ptr ss:[esp+0x11],bl
    00405F9E  |.  E8 B4A61800   call pdf2word.00590657
    00405FA3  |.  8BF8          mov edi,eax
    00405FA5  |.  8D4424 1C     lea eax,dword ptr ss:[esp+0x1C]
    00405FA9  |.  50            push eax
    00405FAA  |.  E8 A8A61800   call pdf2word.00590657
    00405FAF  |.  03F8          add edi,eax                              ;  第一位加第二位
    00405FB1  |.  83C4 08       add esp,0x8
    00405FB4  |.  83FF 0B       cmp edi,0xB                              ;  和与0B即11进行比较
    00405FB7  |.  74 09         je short pdf2word.00405FC2               ;  相等继续,不相等返回。
    00405FB9  |.  5F            pop edi                                  ;  pdf2word.007F0033
    00405FBA  |.  5E            pop esi                                  ;  pdf2word.007F0033
    00405FBB  |.  33C0          xor eax,eax
    00405FBD  |.  5B            pop ebx                                  ;  pdf2word.007F0033
    00405FBE  |.  83C4 18       add esp,0x18
    00405FC1  |.  C3            retn
    00405FC2  |>  8A4E 12       mov cl,byte ptr ds:[esi+0x12]            ;  取19位
    00405FC5  |.  8A56 13       mov dl,byte ptr ds:[esi+0x13]            ;  取最后一位 20位
    00405FC8  |.  8D4424 0C     lea eax,dword ptr ss:[esp+0xC]
    00405FCC  |.  884C24 18     mov byte ptr ss:[esp+0x18],cl
    00405FD0  |.  50            push eax
    00405FD1  |.  885C24 1D     mov byte ptr ss:[esp+0x1D],bl
    00405FD5  |.  885424 10     mov byte ptr ss:[esp+0x10],dl
    00405FD9  |.  885C24 11     mov byte ptr ss:[esp+0x11],bl
    00405FDD  |.  E8 75A61800   call pdf2word.00590657
    00405FE2  |.  8D4C24 1C     lea ecx,dword ptr ss:[esp+0x1C]
    00405FE6  |.  8BF8          mov edi,eax
    00405FE8  |.  51            push ecx
    00405FE9  |.  E8 69A61800   call pdf2word.00590657
    00405FEE  |.  03F8          add edi,eax                              ;  19位+20位
    00405FF0  |.  83C4 08       add esp,0x8
    00405FF3  |.  83FF 0D       cmp edi,0xD                              ;  要等于0D,即13
    00405FF6  |.  74 09         je short pdf2word.00406001               ;  相等继续,不相等返回
    00405FF8  |.  5F            pop edi                                  ;  pdf2word.007F0033
    00405FF9  |.  5E            pop esi                                  ;  pdf2word.007F0033
    00405FFA  |.  33C0          xor eax,eax
    00405FFC  |.  5B            pop ebx                                  ;  pdf2word.007F0033
    00405FFD  |.  83C4 18       add esp,0x18
    00406000  |.  C3            retn
    00406001  |>  8A56 05       mov dl,byte ptr ds:[esi+0x5]             ;  第5位(如果从0开数就是第6位,呵呵)
    00406004  |.  8A46 0D       mov al,byte ptr ds:[esi+0xD]             ;  第13位(如果从0开数就是第14位,反正我喜欢从1开始呵呵)
    00406007  |.  8D4C24 0C     lea ecx,dword ptr ss:[esp+0xC]
    0040600B  |.  885424 18     mov byte ptr ss:[esp+0x18],dl
    0040600F  |.  51            push ecx
    00406010  |.  885C24 1D     mov byte ptr ss:[esp+0x1D],bl
    00406014  |.  884424 10     mov byte ptr ss:[esp+0x10],al
    00406018  |.  885C24 11     mov byte ptr ss:[esp+0x11],bl
    0040601C  |.  E8 36A61800   call pdf2word.00590657
    00406021  |.  8D5424 1C     lea edx,dword ptr ss:[esp+0x1C]
    00406025  |.  8BF8          mov edi,eax
    00406027  |.  52            push edx
    00406028  |.  E8 2AA61800   call pdf2word.00590657
    0040602D  |.  03F8          add edi,eax                              ;  第5位与第13位加起来
    0040602F  |.  83C4 08       add esp,0x8
    00406032  |.  83FF 09       cmp edi,0x9                              ;  和必须等于9
    00406035  |.  74 09         je short pdf2word.00406040               ;  相等继续,不相等返回。
    00406037  |.  5F            pop edi                                  ;  pdf2word.007F0033
    00406038  |.  5E            pop esi                                  ;  pdf2word.007F0033
    00406039  |.  33C0          xor eax,eax
    0040603B  |.  5B            pop ebx                                  ;  pdf2word.007F0033
    0040603C  |.  83C4 18       add esp,0x18
    0040603F  |.  C3            retn
    00406040  |>  807E 0C 56    cmp byte ptr ds:[esi+0xC],0x56           ;  第十二位与V比较
    00406044  |.  74 09         je short pdf2word.0040604F               ;  不是V,就返回。
    00406046  |.  5F            pop edi                                  ;  pdf2word.007F0033
    00406047  |.  5E            pop esi                                  ;  pdf2word.007F0033
    00406048  |.  33C0          xor eax,eax
    0040604A  |.  5B            pop ebx                                  ;  pdf2word.007F0033
    0040604B  |.  83C4 18       add esp,0x18
    0040604E  |.  C3            retn
    0040604F  |>  807E 0E 33    cmp byte ptr ds:[esi+0xE],0x33           ;  第十四位必须是3
    00406053  |.  74 09         je short pdf2word.0040605E               ;  相等继续,不相等返回。
    00406055  |.  5F            pop edi                                  ;  pdf2word.007F0033
    00406056  |.  5E            pop esi                                  ;  pdf2word.007F0033
    00406057  |.  33C0          xor eax,eax
    00406059  |.  5B            pop ebx                                  ;  pdf2word.007F0033
    0040605A  |.  83C4 18       add esp,0x18
    0040605D  |.  C3            retn
    0040605E  |>  8A4E 0F       mov cl,byte ptr ds:[esi+0xF]             ;  取第十五位
    00406061  |.  33C0          xor eax,eax
    00406063  |.  80F9 32       cmp cl,0x32                              ;  必须是2
    00406066  |.  5F            pop edi                                  ;  pdf2word.007F0033
    00406067  |.  5E            pop esi                                  ;  pdf2word.007F0033
    00406068  |.  5B            pop ebx                                  ;  pdf2word.007F0033
    00406069  |.  0F94C0        sete al                                  ;  条件为真al置1
    0040606C  |.  83C4 18       add esp,0x18
    0040606F  \.  C3            retn                                     ;  返回。
    返回后:
    004066C6   .  E8 95F8FFFF   call pdf2word.00405F60                   ;  关键CALL
    004066CB   .  83C4 04       add esp,0x4
    004066CE   .  85C0          test eax,eax
    004066D0   .  74 44         je short pdf2word.00406716               ;  跳向注册码错 关键跳

    关键跳不再跳,注册成功。
    总结一下:
    这软件太他妈的给力了,简直就是为我们初学者量身定做的,初学者练习简单算法分析这软件我给全5分,只能说作者为我们初学者学习算法编写的最费心的crack me了。再次感谢作者。
    另外,这个软件注册码与注册名没有半毛钱的关系(注册名不参与计算),这也是与国内大多数软件不同之处。
    给一组注册成功的码:看图片
    写在最后,大牛们多给加分,挣PYG币不容易,我还要参加今年的学习。没钱。

    1.png
    QQ图片20170423180726.png

    评分

    参与人数 16威望 +80 飘云币 +112 收起 理由
    tree_fly + 20 使用帖子编辑器的插入代码功能可以让代码看.
    麦师傅 + 4 赞一个!
    ZMZwise + 4
    try258 + 4 + 4 很给力!
    netle8 + 4 PYG有你更精彩!
    GeekCat + 8 + 20 PYG有你更精彩!
    wgz001 + 4 + 4 赞一个!
    wkxq + 4 + 4 感谢发布原创作品!
    侠骨留香 + 4 很给力!
    Bu弃 + 5 很给力!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-1-4 14:31
  • 签到天数: 73 天

    [LV.6]常住居民II

    发表于 2017-4-23 19:07:39 | 显示全部楼层
    加油,期待给多文章与作品
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-12 10:37
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    发表于 2017-4-23 19:12:18 | 显示全部楼层
    加油,期待给多文章与作品
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    前天 00:02
  • 签到天数: 2128 天

    [LV.Master]伴坛终老

    发表于 2017-4-23 19:39:31 | 显示全部楼层
    谢谢这类的分析,比较接近地气比那些大牛表哥的好理解支持
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-26 11:14
  • 签到天数: 459 天

    [LV.9]以坛为家II

    发表于 2017-4-24 08:20:02 | 显示全部楼层
    表哥   带带我
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2023-4-8 22:21
  • 签到天数: 440 天

    [LV.9]以坛为家II

    发表于 2017-4-24 14:02:33 | 显示全部楼层
    还看不出来呀,软件作者故意为之
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 2304 天

    [LV.Master]伴坛终老

    发表于 2017-4-24 14:59:36 | 显示全部楼层
    大哥,没有成品吗?
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-5-7 09:43
  • 签到天数: 28 天

    [LV.4]偶尔看看III

     楼主| 发表于 2017-4-24 15:38:46 | 显示全部楼层
    boyving 发表于 2017-4-24 14:59
    大哥,没有成品吗?

    这不都弄清楚了吗,还要什么成品?

    点评

    呵呵,似懂非懂呀。  详情 回复 发表于 2017-4-25 08:43
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-3-20 15:56
  • 签到天数: 617 天

    [LV.9]以坛为家II

    发表于 2017-4-24 20:10:17 | 显示全部楼层
    感谢分享算法!学习了!更改前两位和后两位。
    473456789012V3327876
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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