飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 6427|回复: 10

[原创] AutoDWG PDF Converter V3.2.2.3简单分析

[复制链接]
  • TA的每日心情
    慵懒
    2018-2-11 09:23
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2008-10-15 18:34:19 | 显示全部楼层 |阅读模式
    【破文标题】AutoDWG PDF Converter V3.2.2.3简单分析
    【破文作者】冰糖[BST]
    【作者邮箱】[email protected]
    【作者主页】http://bbs.thulu.com
    破解工具】peid0.94+OD
    【破解平台】XPsp3
    【软件名称】AutoDWG DWG2PDF Converter
    【软件大小】6.66 MB
    【原版下载】http://www.skycn.com//soft/22012.html
    【保护方式】注册码
    【软件简介】AutoDWG DWG to PDF Converter allows you to convert DWG to PDF, DXF to PDF, DWF to PDF directly, NO AutoCAD required, batch conversion supported.
    【破解声明】本文仅供研究学习,本人对因这篇文章而导致的一切后果,不承担任何法律责任。本文中的不足之处
    ------------------------------------------------------------------------
    【破解过程】好久没破解,今天想把自己的CAD图纸转换成PDF格式的,就百度到这个软件,15天试用限制

    准备好工具,下面开始动工

    PEID查找无壳,Microsoft Visual C++ 6.0

    OD载入,运行,输入假码确定,弹出窗口提示“register failed!”
    查找字符串,双击进入
    0041518E  /.  55              push    ebp                              ;  F2下断
    0041518F  |.  8BEC            mov     ebp, esp
    00415191  |.  51              push    ecx
    00415192  |.  894D FC         mov     dword ptr [ebp-4], ecx
    00415195  |.  6A 01           push    1
    00415197  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    0041519A  |.  E8 7DBA4600     call    <jmp.&MFC42.#6334>
    0041519F  |.  6A 00           push    0
    004151A1  |.  68 384BAB00     push    00AB4B38
    004151A6  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    004151A9  |.  81C1 B0030000   add     ecx, 3B0
    004151AF  |.  E8 88BB4600     call    <jmp.&MFC42.#6877>
    004151B4  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    004151B7  |.  81C1 B4030000   add     ecx, 3B4
    004151BD  |.  E8 FEC8FEFF     call    00401AC0
    004151C2  |.  85C0            test    eax, eax                         ;  是否输入EMAIL检测
    004151C4  |.  74 19           je      short 004151DF
    004151C6  |.  6A 00           push    0
    004151C8  |.  68 3C4BAB00     push    00AB4B3C                         ;  autodwgdwg2pdf
    004151CD  |.  68 4C4BAB00     push    00AB4B4C                         ;  please input your email!
    004151D2  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    004151D5  |.  E8 D8BD4600     call    <jmp.&MFC42.#4224>
    004151DA  |.  E9 F8000000     jmp     004152D7
    004151DF  |>  6A 00           push    0
    004151E1  |.  68 684BAB00     push    00AB4B68                         ;  @
    004151E6  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    004151E9  |.  81C1 B4030000   add     ecx, 3B4
    004151EF  |.  E8 B8BD4600     call    <jmp.&MFC42.#6663>
    004151F4  |.  85C0            test    eax, eax                         ;  EMAIL格式检测
    004151F6  |.  7F 14           jg      short 0041520C
    004151F8  |.  6A 00           push    0
    004151FA  |.  68 6C4BAB00     push    00AB4B6C                         ;  autodwgdwg2pdf
    004151FF  |.  68 7C4BAB00     push    00AB4B7C                         ;  please input correct email address.
    00415204  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    00415207  |.  E8 A6BD4600     call    <jmp.&MFC42.#4224>
    0041520C  |>  8B4D FC         mov     ecx, dword ptr [ebp-4]
    0041520F  |.  81C1 B0030000   add     ecx, 3B0
    00415215  |.  E8 A6C8FEFF     call    00401AC0
    0041521A  |.  85C0            test    eax, eax                         ;  是否输入注册码检测
    0041521C  |.  74 19           je      short 00415237
    0041521E  |.  6A 00           push    0
    00415220  |.  68 A04BAB00     push    00AB4BA0                         ;  autodwgdwg2pdf
    00415225  |.  68 B04BAB00     push    00AB4BB0                         ;  please input the register code!
    0041522A  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    0041522D  |.  E8 80BD4600     call    <jmp.&MFC42.#4224>
    00415232  |.  E9 A0000000     jmp     004152D7
    00415237  |>  8B4D FC         mov     ecx, dword ptr [ebp-4]
    0041523A  |.  E8 EFB94600     call    <jmp.&MFC42.#1669>
    0041523F  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    00415242  |.  81C1 B0030000   add     ecx, 3B0
    00415248  |.  E8 23C9FEFF     call    00401B70
    0041524D  |.  50              push    eax                              ;  假码98765432101234567890123456
    0041524E  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    00415251  |.  81C1 B4030000   add     ecx, 3B4
    00415257  |.  E8 14C9FEFF     call    00401B70
    0041525C  |.  50              push    eax                              ;  我的EMAIL:[email protected]
    0041525D  |.  E8 08A60300     call    0044F86A                         ;  算法CALL   F7跟入
    00415262  |.  83C4 08         add     esp, 8
    00415265  |.  25 FF000000     and     eax, 0FF
    0041526A  |.  85C0            test    eax, eax
    0041526C  |.  74 4D           je      short 004152BB
    0041526E  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    00415271  |.  E8 94B94600     call    <jmp.&MFC42.#4853>
    00415276  |.  8B45 FC         mov     eax, dword ptr [ebp-4]
    00415279  |.  C780 B8030000 0>mov     dword ptr [eax+3B8], 1
    00415283  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    00415286  |.  83B9 B8030000 0>cmp     dword ptr [ecx+3B8], 0
    0041528D  |.  74 16           je      short 004152A5
    0041528F  |.  6A 00           push    0
    00415291  |.  68 D04BAB00     push    00AB4BD0                         ;  autodwgdwg2pdf
    00415296  |.  68 E04BAB00     push    00AB4BE0                         ;  thank you, registered succeed !
    0041529B  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    0041529E  |.  E8 0FBD4600     call    <jmp.&MFC42.#4224>
    004152A3  |.  EB 14           jmp     short 004152B9
    004152A5  |>  6A 00           push    0
    004152A7  |.  68 004CAB00     push    00AB4C00                         ;  autodwgdwg2pdf
    004152AC  |.  68 104CAB00     push    00AB4C10                         ;  thank you, registered fail !
    004152B1  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    004152B4  |.  E8 F9BC4600     call    <jmp.&MFC42.#4224>
    004152B9  |>  EB 1C           jmp     short 004152D7
    004152BB  |>  6A 00           push    0
    004152BD  |.  68 304CAB00     push    00AB4C30                         ;  autodwgdwg2pdf
    004152C2  |.  68 404CAB00     push    00AB4C40                         ;  register failed!
    004152C7  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    004152CA  |.  E8 E3BC4600     call    <jmp.&MFC42.#4224>
    004152CF  |.  8B4D FC         mov     ecx, dword ptr [ebp-4]
    004152D2  |.  E8 4BB94600     call    <jmp.&MFC42.#2652>
    004152D7  |>  8BE5            mov     esp, ebp
    004152D9  |.  5D              pop     ebp
    004152DA  \.  C3              retn



    0044F86A  /$  55              push    ebp
    0044F86B  |.  8BEC            mov     ebp, esp
    0044F86D  |.  6A FF           push    -1
    0044F86F  |.  68 2BD49500     push    0095D42B                         ;  SE 处理程序安装
    0044F874  |.  64:A1 00000000  mov     eax, dword ptr fs:[0]
    0044F87A  |.  50              push    eax
    0044F87B  |.  64:8925 0000000>mov     dword ptr fs:[0], esp
    0044F882  |.  83EC 14         sub     esp, 14
    0044F885  |.  C645 EC 01      mov     byte ptr [ebp-14], 1
    0044F889  |.  8B45 0C         mov     eax, dword ptr [ebp+C]           ;  假码98765432101234567890123456
    0044F88C  |.  50              push    eax
    0044F88D  |.  8D4D F0         lea     ecx, dword ptr [ebp-10]
    0044F890  |.  E8 B1164300     call    <jmp.&MFC42.#537>
    0044F895  |.  C745 FC 0000000>mov     dword ptr [ebp-4], 0
    0044F89C  |.  8B4D 0C         mov     ecx, dword ptr [ebp+C]
    0044F89F  |.  51              push    ecx
    0044F8A0  |.  E8 36040000     call    0044FCDB                         ;  算法关键CALL
    0044F8A5  |.  83C4 04         add     esp, 4
    0044F8A8  |.  25 FF000000     and     eax, 0FF
    0044F8AD  |.  85C0            test    eax, eax
    0044F8AF  |.  75 19           jnz     short 0044F8CA
    0044F8B1  |.  8B55 0C         mov     edx, dword ptr [ebp+C]
    0044F8B4  |.  52              push    edx
    0044F8B5  |.  E8 C3130000     call    00450C7D
    0044F8BA  |.  83C4 04         add     esp, 4
    0044F8BD  |.  85C0            test    eax, eax
    0044F8BF  |.  75 09           jnz     short 0044F8CA                   ;  不跳就死
    0044F8C1  |.  C645 EC 00      mov     byte ptr [ebp-14], 0
    0044F8C5      E9 A8000000     jmp     0044F972
    0044F8CA  |>  8D4D E8         lea     ecx, dword ptr [ebp-18]
    0044F8CD  |.  E8 8E15FDFF     call    00420E60
    0044F8D2  |.  C645 FC 01      mov     byte ptr [ebp-4], 1
    0044F8D6  |.  6A 00           push    0
    0044F8D8  |.  6A 00           push    0
    0044F8DA  |.  68 3F000F00     push    0F003F
    0044F8DF  |.  6A 00           push    0                                ;  下面把注册信息保存到注册表
    0044F8E1  |.  6A 00           push    0
    0044F8E3  |.  68 88A1AB00     push    00ABA188                         ;  software\autodwg\dwg_pdf_conver
    0044F8E8  |.  68 02000080     push    80000002
    0044F8ED  |.  8D4D E8         lea     ecx, dword ptr [ebp-18]
    0044F8F0  |.  E8 DB180000     call    004511D0
    0044F8F5  |.  85C0            test    eax, eax
    0044F8F7  |.  75 19           jnz     short 0044F912
    0044F8F9  |.  68 A8A1AB00     push    00ABA1A8                         ;  key
    0044F8FE  |.  8B45 0C         mov     eax, dword ptr [ebp+C]
    0044F901  |.  50              push    eax
    0044F902  |.  8D4D E8         lea     ecx, dword ptr [ebp-18]
    0044F905  |.  E8 36190000     call    00451240
    0044F90A  |.  85C0            test    eax, eax
    0044F90C  |.  74 04           je      short 0044F912
    0044F90E  |.  C645 EC 00      mov     byte ptr [ebp-14], 0
    0044F912  |>  8D4D E4         lea     ecx, dword ptr [ebp-1C]
    0044F915  |.  E8 4615FDFF     call    00420E60
    0044F91A  |.  C645 FC 02      mov     byte ptr [ebp-4], 2
    0044F91E  |.  6A 00           push    0
    0044F920  |.  6A 00           push    0
    0044F922  |.  68 3F000F00     push    0F003F
    0044F927  |.  6A 00           push    0
    0044F929  |.  6A 00           push    0
    0044F92B  |.  68 ACA1AB00     push    00ABA1AC                         ;  software\autodwg\dwg_pdf_conver
    0044F930  |.  68 01000080     push    80000001
    0044F935  |.  8D4D E4         lea     ecx, dword ptr [ebp-1C]
    0044F938  |.  E8 93180000     call    004511D0
    0044F93D  |.  85C0            test    eax, eax
    0044F93F  |.  75 19           jnz     short 0044F95A
    0044F941  |.  68 CCA1AB00     push    00ABA1CC                         ;  key
    0044F946  |.  8B4D 0C         mov     ecx, dword ptr [ebp+C]
    0044F949  |.  51              push    ecx

    0044FCDB  /$  55              push    ebp
    0044FCDC  |.  8BEC            mov     ebp, esp
    0044FCDE  |.  6A FF           push    -1
    0044FCE0  |.  68 85D49500     push    0095D485                         ;  SE 处理程序安装
    0044FCE5  |.  64:A1 00000000  mov     eax, dword ptr fs:[0]
    0044FCEB  |.  50              push    eax
    0044FCEC  |.  64:8925 0000000>mov     dword ptr fs:[0], esp
    0044FCF3  |.  83EC 24         sub     esp, 24
    0044FCF6  |.  8B45 08         mov     eax, dword ptr [ebp+8]
    0044FCF9  |.  50              push    eax                              ; /s
    0044FCFA  |.  E8 F7174300     call    <jmp.&MSVCRT.strlen>             ; \strlen
    0044FCFF  |.  83C4 04         add     esp, 4
    0044FD02  |.  83F8 1A         cmp     eax, 1A                          ;  注册码是否等于26位
    0044FD05      74 07           je      short 0044FD0E                   ;  不跳就死
    0044FD07  |.  32C0            xor     al, al
    0044FD09  |.  E9 BF000000     jmp     0044FDCD
    0044FD0E  |>  8B4D 08         mov     ecx, dword ptr [ebp+8]
    0044FD11  |.  51              push    ecx
    0044FD12  |.  8D4D F0         lea     ecx, dword ptr [ebp-10]
    0044FD15  |.  E8 2C124300     call    <jmp.&MFC42.#537>
    0044FD1A  |.  C745 FC 0000000>mov     dword ptr [ebp-4], 0
    0044FD21  |.  8D4D EC         lea     ecx, dword ptr [ebp-14]
    0044FD24  |.  E8 870E4300     call    <jmp.&MFC42.#540>
    0044FD29  |.  C645 FC 01      mov     byte ptr [ebp-4], 1
    0044FD2D  |.  51              push    ecx
    0044FD2E  |.  8BCC            mov     ecx, esp
    0044FD30  |.  8965 E8         mov     dword ptr [ebp-18], esp
    0044FD33  |.  8D55 F0         lea     edx, dword ptr [ebp-10]
    0044FD36  |.  52              push    edx
    0044FD37  |.  E8 EC0E4300     call    <jmp.&MFC42.#535>
    0044FD3C  |.  8945 D8         mov     dword ptr [ebp-28], eax
    0044FD3F  |.  8D45 E4         lea     eax, dword ptr [ebp-1C]
    0044FD42  |.  50              push    eax
    0044FD43  |.  E8 C40B0000     call    0045090C                         ;  用户输入注册码的变换CALL
    0044FD48  |.  83C4 08         add     esp, 8
    0044FD4B  |.  8945 D4         mov     dword ptr [ebp-2C], eax
    0044FD4E  |.  8B4D D4         mov     ecx, dword ptr [ebp-2C]
    0044FD51  |.  894D D0         mov     dword ptr [ebp-30], ecx
    0044FD54  |.  C645 FC 02      mov     byte ptr [ebp-4], 2
    0044FD58  |.  8B55 D0         mov     edx, dword ptr [ebp-30]
    0044FD5B  |.  52              push    edx
    0044FD5C  |.  8D4D EC         lea     ecx, dword ptr [ebp-14]
    0044FD5F  |.  E8 D00E4300     call    <jmp.&MFC42.#858>
    0044FD64  |.  C645 FC 01      mov     byte ptr [ebp-4], 1
    0044FD68  |.  8D4D E4         lea     ecx, dword ptr [ebp-1C]
    0044FD6B  |.  E8 280E4300     call    <jmp.&MFC42.#800>
    0044FD70  |.  68 4CA2AB00     push    00ABA24C                         ;  结果比较字符串"&d#2*P"
    0044FD75  |.  8D45 EC         lea     eax, dword ptr [ebp-14]
    0044FD78  |.  50              push    eax
    0044FD79  |.  E8 2265FCFF     call    004162A0                         ;  关键比较,比较用户输入的注册码变换后转换成字符串是否和"&d#2*P"相同
    0044FD7E  |.  25 FF000000     and     eax, 0FF
    0044FD83  |.  85C0            test    eax, eax
    0044FD85  |.  74 24           je      short 0044FDAB                   ;  跳就死
    0044FD87  |.  C645 E0 01      mov     byte ptr [ebp-20], 1


    0045090C  /$  55              push    ebp
    0045090D  |.  8BEC            mov     ebp, esp
    0045090F  |.  6A FF           push    -1
    00450911  |.  68 47D59500     push    0095D547                         ;  SE 处理程序安装
    00450916  |.  64:A1 00000000  mov     eax, dword ptr fs:[0]
    0045091C  |.  50              push    eax
    0045091D  |.  64:8925 0000000>mov     dword ptr fs:[0], esp
    00450924  |.  83EC 14         sub     esp, 14
    00450927  |.  C745 E4 0000000>mov     dword ptr [ebp-1C], 0
    0045092E  |.  C745 FC 0100000>mov     dword ptr [ebp-4], 1
    00450935  |.  8D4D F0         lea     ecx, dword ptr [ebp-10]
    00450938  |.  E8 73024300     call    <jmp.&MFC42.#540>
    0045093D  |.  C645 FC 02      mov     byte ptr [ebp-4], 2
    00450941  |.  6A 00           push    0
    00450943  |.  68 10A3AB00     push    00ABA310
    00450948  |.  8D4D 0C         lea     ecx, dword ptr [ebp+C]
    0045094B  |.  E8 EC034300     call    <jmp.&MFC42.#6877>
    00450950  |.  51              push    ecx
    00450951  |.  8BCC            mov     ecx, esp
    00450953  |.  8965 E8         mov     dword ptr [ebp-18], esp
    00450956  |.  68 14A3AB00     push    00ABA314                         ;  ASCII "*2%^W#g@"
    0045095B  |.  E8 E6054300     call    <jmp.&MFC42.#537>
    00450960  |.  8945 E0         mov     dword ptr [ebp-20], eax
    00450963  |.  8D45 0C         lea     eax, dword ptr [ebp+C]
    00450966  |.  50              push    eax                              ;  假吗98765432101234567890123456
    00450967  |.  E8 8BCFFCFF     call    0041D8F7                         ;  算法变换CALL,变换结果ASCII "b05281811c1ae5211d96c6a7"
    0045096C  |.  83C4 08         add     esp, 8
    0045096F  |.  C745 EC 0000000>mov     dword ptr [ebp-14], 0
    00450976  |.  EB 09           jmp     short 00450981
    00450978  |>  8B4D EC         /mov     ecx, dword ptr [ebp-14]         ;  算法变换结果隔两位取两位
    0045097B  |.  83C1 02         |add     ecx, 2
    0045097E  |.  894D EC         |mov     dword ptr [ebp-14], ecx
    00450981  |>  837D EC 0C       cmp     dword ptr [ebp-14], 0C
    00450985  |.  7D 17           |jge     short 0045099E
    00450987  |.  8B55 EC         |mov     edx, dword ptr [ebp-14]
    0045098A  |.  52              |push    edx
    0045098B  |.  8D4D 0C         |lea     ecx, dword ptr [ebp+C]
    0045098E  |.  E8 DDE2FCFF     |call    0041EC70
    00450993  |.  50              |push    eax
    00450994  |.  8D4D F0         |lea     ecx, dword ptr [ebp-10]
    00450997  |.  E8 E8064300     |call    <jmp.&MFC42.#940>
    0045099C  |.^ EB DA           \jmp     short 00450978
    0045099E  |>  8D45 F0         lea     eax, dword ptr [ebp-10]          ;  上面计算结果 B0 81 1C E5 1D C6
    004509A1  |.  50              push    eax
    004509A2  |.  8B4D 08         mov     ecx, dword ptr [ebp+8]
    004509A5  |.  E8 7E024300     call    <jmp.&MFC42.#535>
    004509AA  |.  8B4D E4         mov     ecx, dword ptr [ebp-1C]
    004509AD  |.  83C9 01         or      ecx, 1
    004509B0  |.  894D E4         mov     dword ptr [ebp-1C], ecx
    004509B3  |.  C645 FC 01      mov     byte ptr [ebp-4], 1
    004509B7  |.  8D4D F0         lea     ecx, dword ptr [ebp-10]
    004509BA  |.  E8 D9014300     call    <jmp.&MFC42.#800>
    004509BF  |.  C645 FC 00      mov     byte ptr [ebp-4], 0
    004509C3  |.  8D4D 0C         lea     ecx, dword ptr [ebp+C]
    004509C6  |.  E8 CD014300     call    <jmp.&MFC42.#800>
    004509CB  |.  8B45 08         mov     eax, dword ptr [ebp+8]


    ------------------------------------------------------------------------
    【破解总结】本软件是固定注册码的,与用户EMAIL无关

    把输入的注册码经过一个算法变换和一个固定的字符串比较,爆破起来简单,既然固定注册码的,算法分析太麻烦,说不定还是不可逆算法,得不偿失

    验证部分,
    tt=固定算法(输入注册码)
    For i = 1 To Len(tt) Step 4
    a = Mid(tt, i, 2)
    b = Val("&h" & a)
    c = Chr(b)
    TT2 = TT2 & c
    Next i

    如果TT2 和 “&d#2*P”相等,那么就注册成功了
    ------------------------------------------------------------------------
    【版权声明】来自于BBS.THULU.COM 转载请注明作者并保持文章的完整, 谢谢!

    [ 本帖最后由 冰糖 于 2008-10-15 22:11 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-15 18:38:26 | 显示全部楼层
    冰糖的作品,支持一下/:good
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-15 22:03:18 | 显示全部楼层
    顶你啊,冰糖老大,分析的很详细
    PYG19周年生日快乐!
  • TA的每日心情

    2016-6-2 20:34
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2008-10-15 22:48:49 | 显示全部楼层
    爆破方便,整个系列也是同样的加密方式
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-16 08:37:36 | 显示全部楼层
    秒暴,o(∩_∩)o...哈哈,算法再看看
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-16 08:46:19 | 显示全部楼层
    后面的版本就差不到字符串了。呵呵
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-12-18 12:34
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2008-10-16 16:49:26 | 显示全部楼层
    向冰糖老大学习。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-5-1 14:44
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-10-16 18:59:00 | 显示全部楼层
    原帖由 lixy8888 于 2008-10-16 08:46 发表
    后面的版本就差不到字符串了。呵呵



    可以看见的/:L ,push那个地址里有
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-12-1 21:33
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    发表于 2008-10-16 20:32:18 | 显示全部楼层
    分析的很详细,谢谢!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-17 00:57:37 | 显示全部楼层
    哇  好东西...有时间拿来研究下...嘿
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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