飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4171|回复: 2

[原创] 【破文标题】数字翻译器 2.0.0.3 解码分析

[复制链接]
  • TA的每日心情
    慵懒
    2019-1-18 17:27
  • 签到天数: 30 天

    [LV.5]常住居民I

    发表于 2007-12-15 17:30:53 | 显示全部楼层 |阅读模式
    【破文标题】数字翻译器 2.0.0.3 解码分析
    【破文作者】lzq1973[PYG][CZG][OCN][DFCG][D4.s]
    【作者邮箱】lzq9888@126.com
    【作者主页】http://my.winzheng.com/?455397
    破解工具】OD、PEiD、C32Asm
    【破解平台】WinXP
    【软件名称】数字翻译器 2.0.0.3
    【软件大小】405KB
    【原版下载】http://www.sharebank.com.cn/soft/SoftView_23565.htm

    【保护方式】SN
    【软件简介】  本软件能快捷地将15位以下的数值翻译为英文、英文金额及中文大写金额表达,减少人工输入的失误。
        因币种及习惯不同,英文金额表达方式有所不同,本软件只根据香港公司商务英语惯用方式自动生成英文金额。
      中文金额根据现行会计金额规则自动翻译。
        一键复制,随处可贴。

    【破解声明】俺是只小小鸟,纯为学习,愿与大家分享!
    ------------------------------------------------------------------------
    【破解过程】    OD载入,断在这里

    004B9C68  /.  55         push    ebp
    004B9C69  |.  8BEC       mov     ebp, esp
    004B9C6B  |.  B9 0600000>mov     ecx, 6
    004B9C70  |>  6A 00      /push    0
    004B9C72  |.  6A 00      |push    0
    004B9C74  |.  49         |dec     ecx
    004B9C75  |.^ 75 F9      \jnz     short 004B9C70
    004B9C77  |.  51         push    ecx
    004B9C78  |.  53         push    ebx
    004B9C79  |.  56         push    esi
    004B9C7A  |.  8BD8       mov     ebx, eax
    004B9C7C  |.  33C0       xor     eax, eax
    004B9C7E  |.  55         push    ebp
    004B9C7F  |.  68 509F4B0>push    004B9F50
    004B9C84  |.  64:FF30    push    dword ptr fs:[eax]
    004B9C87  |.  64:8920    mov     fs:[eax], esp
    004B9C8A  |.  8D55 F8    lea     edx, [ebp-8]
    004B9C8D  |.  8B83 D4040>mov     eax, [ebx+4D4]
    004B9C93  |.  E8 C4E1F8F>call    00447E5C
    004B9C98  |.  837D F8 00 cmp     dword ptr [ebp-8], 0
    004B9C9C  |.  75 2F      jnz     short 004B9CCD
    004B9C9E  |.  8B83 D4040>mov     eax, [ebx+4D4]
    004B9CA4  |.  8B10       mov     edx, [eax]
    004B9CA6  |.  FF92 C4000>call    [edx+C4]
    004B9CAC  |.  6A 40      push    40
    004B9CAE  |.  68 609F4B0>push    004B9F60                         ;  提示
    004B9CB3  |.  68 689F4B0>push    004B9F68                         ;  用户名不能为!
    004B9CB8  |.  A1 68214C0>mov     eax, [4C2168]
    004B9CBD  |.  E8 EA49F9F>call    0044E6AC
    004B9CC2  |.  50         push    eax                              ; |hOwner
    004B9CC3  |.  E8 F4D7F4F>call    <jmp.&USER32.MessageBoxA>        ; \MessageBoxA
    004B9CC8  |.  E9 4602000>jmp     004B9F13
    004B9CCD  |>  8D55 F4    lea     edx, [ebp-C]
    004B9CD0  |.  8B83 D8040>mov     eax, [ebx+4D8]
    004B9CD6  |.  E8 81E1F8F>call    00447E5C
    004B9CDB  |.  837D F4 00 cmp     dword ptr [ebp-C], 0
    004B9CDF  |.  75 2F      jnz     short 004B9D10
    004B9CE1  |.  8B83 D8040>mov     eax, [ebx+4D8]
    004B9CE7  |.  8B10       mov     edx, [eax]
    004B9CE9  |.  FF92 C4000>call    [edx+C4]
    004B9CEF  |.  6A 40      push    40
    004B9CF1  |.  68 609F4B0>push    004B9F60                         ;  提示
    004B9CF6  |.  68 789F4B0>push    004B9F78                         ;  邮箱不能为空!
    004B9CFB  |.  A1 68214C0>mov     eax, [4C2168]
    004B9D00  |.  E8 A749F9F>call    0044E6AC
    004B9D05  |.  50         push    eax                              ; |hOwner
    004B9D06  |.  E8 B1D7F4F>call    <jmp.&USER32.MessageBoxA>        ; \MessageBoxA
    004B9D0B  |.  E9 0302000>jmp     004B9F13
    004B9D10  |>  8D55 F0    lea     edx, [ebp-10]
    004B9D13  |.  8B83 DC040>mov     eax, [ebx+4DC]
    004B9D19  |.  E8 3EE1F8F>call    00447E5C
    004B9D1E  |.  837D F0 00 cmp     dword ptr [ebp-10], 0
    004B9D22  |.  75 2F      jnz     short 004B9D53
    004B9D24  |.  8B83 DC040>mov     eax, [ebx+4DC]
    004B9D2A  |.  8B10       mov     edx, [eax]
    004B9D2C  |.  FF92 C4000>call    [edx+C4]
    004B9D32  |.  6A 40      push    40
    004B9D34  |.  68 609F4B0>push    004B9F60                         ;  提示
    004B9D39  |.  68 889F4B0>push    004B9F88                         ;  注册码不能为空!
    004B9D3E  |.  A1 68214C0>mov     eax, [4C2168]
    004B9D43  |.  E8 6449F9F>call    0044E6AC
    004B9D48  |.  50         push    eax                              ; |hOwner
    004B9D49  |.  E8 6ED7F4F>call    <jmp.&USER32.MessageBoxA>        ; \MessageBoxA
    004B9D4E  |.  E9 C001000>jmp     004B9F13
    004B9D53  |>  8D55 EC    lea     edx, [ebp-14]
    004B9D56  |.  8B83 D8040>mov     eax, [ebx+4D8]
    004B9D5C  |.  E8 FBE0F8F>call    00447E5C
    004B9D61  |.  8B45 EC    mov     eax, [ebp-14]                    ;  (ASCII "123@123.com")
    004B9D64  |.  E8 F7B0FFF>call    004B4E60
    004B9D69  |.  84C0       test    al, al
    004B9D6B  |.  0F84 78010>je      004B9EE9
    004B9D71  |.  8D55 E8    lea     edx, [ebp-18]
    004B9D74  |.  B8 A09F4B0>mov     eax, 004B9FA0                    ;  c:\
    004B9D79  |.  E8 2EB2FFF>call    004B4FAC
    004B9D7E  |.  8D45 E8    lea     eax, [ebp-18]
    004B9D81  |.  50         push    eax
    004B9D82  |.  8D55 DC    lea     edx, [ebp-24]
    004B9D85  |.  8B83 D4040>mov     eax, [ebx+4D4]
    004B9D8B  |.  E8 CCE0F8F>call    00447E5C
    004B9D90  |.  8B45 DC    mov     eax, [ebp-24]                    ;  用户名(ASCII "Administrator")
    004B9D93  |.  8D55 E0    lea     edx, [ebp-20]
    004B9D96  |.  E8 95B1FFF>call    004B4F30
    004B9D9B  |.  8B45 E0    mov     eax, [ebp-20]                    ;  (ASCII "s!#s#&#F#*#F$h$s$@#!$s#f$@")
    004B9D9E  |.  8D55 E4    lea     edx, [ebp-1C]
    004B9DA1  |.  E8 8AB1FFF>call    004B4F30
    004B9DA6  |.  8B55 E4    mov     edx, [ebp-1C]                    ;  (ASCII "$h@!@h$h@h@#@hs#@h@L@hs#@s#%@s$h@ss~@h@!@s$h@h##@ss~")
    004B9DA9  |.  58         pop     eax
    004B9DAA  |.  E8 C5ACF4F>call    00404A74
    004B9DAF  |.  8B45 E8    mov     eax, [ebp-18]                    ;  (ASCII "5F44B466$h@!@h$h@h@#@hs#@h@L@hs#@s#%@s$h@ss~@h@!@s$h@h##@ss~")
    004B9DB2  |.  8D55 FC    lea     edx, [ebp-4]
    004B9DB5  |.  E8 76B1FFF>call    004B4F30
    004B9DBA  |.  8D55 D8    lea     edx, [ebp-28]
    004B9DBD  |.  8B83 DC040>mov     eax, [ebx+4DC]
    004B9DC3  |.  E8 94E0F8F>call    00447E5C
    004B9DC8  |.  8B45 D8    mov     eax, [ebp-28]
    004B9DCB  |.  8B55 FC    mov     edx, [ebp-4]                     ;  (ASCII "hhs#hshss@hsh#h#@s#%s~@!s~#%@s#%s~#%s~@hs~#%$h@hs~#%s~s^s~#%$h@hs~$h@h@hs~$h@s#%s~$h$h$*s~#%s~@!s~$h@s#%s~#%@h@hs~$h$h$*")
    004B9DCE  |.  E8 E5ADF4F>call    00404BB8
    004B9DD3  |.  0F85 F2000>jnz     004B9ECB
    004B9DD9  |.  6A 40      push    40
    004B9DDB  |.  68 609F4B0>push    004B9F60                         ;  提示
    004B9DE0  |.  68 A49F4B0>push    004B9FA4                         ;  注册成功!
    004B9DE5  |.  A1 68214C0>mov     eax, [4C2168]
    004B9DEA  |.  E8 BD48F9F>call    0044E6AC
    004B9DEF  |.  50         push    eax                              ; |hOwner
    004B9DF0  |.  E8 C7D6F4F>call    <jmp.&USER32.MessageBoxA>        ; \MessageBoxA
    004B9DF5  |.  C705 C8224>mov     dword ptr [4C22C8], -1
    004B9DFF  |.  BA B89F4B0>mov     edx, 004B9FB8                    ;  已注册,无限制
    004B9E04  |.  8B83 BC040>mov     eax, [ebx+4BC]
    004B9E0A  |.  E8 7DE0F8F>call    00447E8C
    004B9E0F  |.  B2 01      mov     dl, 1
    004B9E11  |.  8B83 D4040>mov     eax, [ebx+4D4]
    004B9E17  |.  E8 1843F8F>call    0043E134
    004B9E1C  |.  B2 01      mov     dl, 1
    004B9E1E  |.  8B83 D8040>mov     eax, [ebx+4D8]
    004B9E24  |.  E8 0B43F8F>call    0043E134
    004B9E29  |.  B2 01      mov     dl, 1
    004B9E2B  |.  8B83 DC040>mov     eax, [ebx+4DC]
    004B9E31  |.  E8 FE42F8F>call    0043E134
    004B9E36  |.  33D2       xor     edx, edx
    004B9E38  |.  8B83 E8040>mov     eax, [ebx+4E8]
    004B9E3E  |.  8B08       mov     ecx, [eax]
    004B9E40  |.  FF51 64    call    [ecx+64]
    004B9E43  |.  B2 01      mov     dl, 1
    004B9E45  |.  A1 BC6A430>mov     eax, [436ABC]
    004B9E4A  |.  E8 D9CDF7F>call    00436C28
    004B9E4F  |.  8BF0       mov     esi, eax
    004B9E51  |.  BA 0100008>mov     edx, 80000001
    004B9E56  |.  8BC6       mov     eax, esi
    004B9E58  |.  E8 A7CEF7F>call    00436D04
    004B9E5D  |.  B1 01      mov     cl, 1
    004B9E5F  |.  BA D09F4B0>mov     edx, 004B9FD0                    ;  software\microsoft\windows\currentversion\nt
    004B9E64  |.  8BC6       mov     eax, esi
    004B9E66  |.  E8 DDCFF7F>call    00436E48
    004B9E6B  |.  8D55 D4    lea     edx, [ebp-2C]
    004B9E6E  |.  8B83 D4040>mov     eax, [ebx+4D4]
    004B9E74  |.  E8 E3DFF8F>call    00447E5C
    004B9E79  |.  8B4D D4    mov     ecx, [ebp-2C]
    004B9E7C  |.  BA 08A04B0>mov     edx, 004BA008                    ;  pname
    004B9E81  |.  8BC6       mov     eax, esi
    004B9E83  |.  E8 34D3F7F>call    004371BC
    004B9E88  |.  8D55 D0    lea     edx, [ebp-30]
    004B9E8B  |.  8B83 D8040>mov     eax, [ebx+4D8]
    004B9E91  |.  E8 C6DFF8F>call    00447E5C
    004B9E96  |.  8B4D D0    mov     ecx, [ebp-30]
    004B9E99  |.  BA 18A04B0>mov     edx, 004BA018                    ;  pemail
    004B9E9E  |.  8BC6       mov     eax, esi
    004B9EA0  |.  E8 17D3F7F>call    004371BC
    004B9EA5  |.  8D55 CC    lea     edx, [ebp-34]
    004B9EA8  |.  8B83 DC040>mov     eax, [ebx+4DC]
    004B9EAE  |.  E8 A9DFF8F>call    00447E5C
    004B9EB3  |.  8B4D CC    mov     ecx, [ebp-34]
    004B9EB6  |.  BA 28A04B0>mov     edx, 004BA028                    ;  psn
    004B9EBB  |.  8BC6       mov     eax, esi
    004B9EBD  |.  E8 FAD2F7F>call    004371BC
    004B9EC2  |.  8BC6       mov     eax, esi
    004B9EC4  |.  E8 0F9BF4F>call    004039D8
    004B9EC9  |.  EB 48      jmp     short 004B9F13
    004B9ECB  |>  6A 40      push    40
    004B9ECD  |.  68 609F4B0>push    004B9F60                         ;  提示
    004B9ED2  |.  68 2CA04B0>push    004BA02C                         ;  请核对作者提供的注册资料!
    004B9ED7  |.  A1 68214C0>mov     eax, [4C2168]
    004B9EDC  |.  E8 CB47F9F>call    0044E6AC
    004B9EE1  |.  50         push    eax                              ; |hOwner
    004B9EE2  |.  E8 D5D5F4F>call    <jmp.&USER32.MessageBoxA>        ; \MessageBoxA
    004B9EE7  |.  EB 2A      jmp     short 004B9F13
    004B9EE9  |>  6A 40      push    40
    004B9EEB  |.  68 609F4B0>push    004B9F60                         ;  提示
    004B9EF0  |.  68 48A04B0>push    004BA048                         ;  email格式不正确!
    004B9EF5  |.  A1 68214C0>mov     eax, [4C2168]
    004B9EFA  |.  E8 AD47F9F>call    0044E6AC
    004B9EFF  |.  50         push    eax                              ; |hOwner
    004B9F00  |.  E8 B7D5F4F>call    <jmp.&USER32.MessageBoxA>        ; \MessageBoxA
    004B9F05  |.  8B83 D8040>mov     eax, [ebx+4D8]
    004B9F0B  |.  8B10       mov     edx, [eax]
    004B9F0D  |.  FF92 C4000>call    [edx+C4]
    004B9F13  |>  33C0       xor     eax, eax
    004B9F15  |.  5A         pop     edx
    004B9F16  |.  59         pop     ecx
    004B9F17  |.  59         pop     ecx
    004B9F18  |.  64:8910    mov     fs:[eax], edx
    004B9F1B  |.  68 579F4B0>push    004B9F57
    004B9F20  |>  8D45 CC    lea     eax, [ebp-34]
    004B9F23  |.  BA 0500000>mov     edx, 5
    004B9F28  |.  E8 A3A8F4F>call    004047D0
    004B9F2D  |.  8D45 E0    lea     eax, [ebp-20]
    004B9F30  |.  BA 0300000>mov     edx, 3
    004B9F35  |.  E8 96A8F4F>call    004047D0
    004B9F3A  |.  8D45 EC    lea     eax, [ebp-14]
    004B9F3D  |.  BA 0400000>mov     edx, 4
    004B9F42  |.  E8 89A8F4F>call    004047D0
    004B9F47  |.  8D45 FC    lea     eax, [ebp-4]
    004B9F4A  |.  E8 5DA8F4F>call    004047AC
    004B9F4F  \.  C3         retn
    004B9F50   .^ E9 D7A1F4F>jmp     0040412C
    004B9F55   .^ EB C9      jmp     short 004B9F20
    004B9F57   .  5E         pop     esi
    004B9F58   .  5B         pop     ebx
    004B9F59   .  8BE5       mov     esp, ebp
    004B9F5B   .  5D         pop     ebp
    004B9F5C   .  C3         retn

    ==============004B9D96  |.  E8 95B1FFF>call    004B4F30================

    004B4F30  /$  55         push    ebp                              ;  ——》来到这里
    004B4F31  |.  8BEC       mov     ebp, esp
    004B4F33  |.  53         push    ebx
    004B4F34  |.  56         push    esi
    004B4F35  |.  57         push    edi
    004B4F36  |.  8BFA       mov     edi, edx
    004B4F38  |.  8BF0       mov     esi, eax                         ;  新的字符串(ASCII "5F44B466$h@!@h$h@h@#@hs#@h@L@hs#@s#%@s$h@ss~@h@!@s$h@h##@ss~")
    004B4F3A  |.  8BC6       mov     eax, esi
    004B4F3C  |.  E8 2BFBF4F>call    00404A6C
    004B4F41  |.  8BD0       mov     edx, eax                         ;  新字符串的长度
    004B4F43  |.  03D2       add     edx, edx                         ;  EDX=EDX+EDX
    004B4F45  |.  8BC7       mov     eax, edi
    004B4F47  |.  E8 ACFEF4F>call    00404DF8
    004B4F4C  |.  8BC6       mov     eax, esi
    004B4F4E  |.  E8 19FBF4F>call    00404A6C
    004B4F53  |.  8BD8       mov     ebx, eax
    004B4F55  |.  83FB 01    cmp     ebx, 1
    004B4F58  |.  7C 4C      jl      short 004B4FA6
    004B4F5A  |>  8BC7       /mov     eax, edi
    004B4F5C  |.  E8 63FDF4F>|call    00404CC4
    004B4F61  |.  8BD3       |mov     edx, ebx
    004B4F63  |.  03D2       |add     edx, edx
    004B4F65  |.  8A4C1E FF  |mov     cl, [esi+ebx-1]                 ;  当前字符(倒取)
    004B4F69  |.  80E1 0F    |and     cl, 0F
    004B4F6C  |.  81E1 FF000>|and     ecx, 0FF
    004B4F72  |.  8A89 88034>|mov     cl, [ecx+4C0388]                ;  奇数位字符            4C0388=~!@hsh#$%FLY^&*f
    004B4F78  |.  884C10 FF  |mov     [eax+edx-1], cl
    004B4F7C  |.  8BC7       |mov     eax, edi
    004B4F7E  |.  E8 41FDF4F>|call    00404CC4
    004B4F83  |.  8BD3       |mov     edx, ebx
    004B4F85  |.  03D2       |add     edx, edx
    004B4F87  |.  8A4C1E FF  |mov     cl, [esi+ebx-1]
    004B4F8B  |.  80E1 F0    |and     cl, 0F0
    004B4F8E  |.  81E1 FF000>|and     ecx, 0FF
    004B4F94  |.  C1E9 04    |shr     ecx, 4
    004B4F97  |.  8A89 88034>|mov     cl, [ecx+4C0388]                ;  偶数位字符
    004B4F9D  |.  884C10 FE  |mov     [eax+edx-2], cl
    004B4FA1  |.  4B         |dec     ebx
    004B4FA2  |.  85DB       |test    ebx, ebx
    004B4FA4  |.^ 75 B4      \jnz     short 004B4F5A
    004B4FA6  |>  5F         pop     edi
    004B4FA7  |.  5E         pop     esi
    004B4FA8  |.  5B         pop     ebx
    004B4FA9  |.  5D         pop     ebp
    004B4FAA  \.  C3         retn


    ------------------------------------------------------------------------
    【破解总结】
    1、常里字串~!@hsh#$%FLY^&*f;
    2、用户名取当前计算机用户;
       依次取用户名的奇数位字符ASCII十进制与15进行与运算后值再与255进行与运算的值,在常量串取相应位数字符;
       依次取用户名的偶数位字符ASCII十进制与240进行与运算后值再与255进行与运算的值,在常量串取相应位数字符;
       奇偶数字所对应的字符组成新的字串。
    3、再用新的字串依上述方法生成新字串;
    4、机器码+新字串,组成另一新字串;
    5、再用新的字串依上述方法生成新字串就是注册码。

    注册机源码:

    .版本 2

    用户名 = 编辑框3.内容
    len = 取文本长度 (用户名)
    字串量1 = “~!@hsh#$%FLY^&*f”
    ebx = len
    .计次循环首 (len, i)  ' 用户名参与运算
        ebx = ebx + ebx
        ' 下面的是奇数位字符
        c = 取代码 (用户名, len - i + 1)
        c = 位与 (c, 15)
        c = 位与 (c, 255)
        sn1 = 取文本中间 (字串量1, c + 1, 1) + sn1
        ' 下面的是偶数位字符
        c = 取代码 (用户名, len - i + 1)
        c = 位与 (c, 240)
        c = 位与 (c, 255)
        c = 右移 (c, 4)
        sn1 = 取文本中间 (字串量1, c + 1, 1) + sn1
        ebx = ebx - 1
    .计次循环尾 ()
    ' 第二次,用第一次产生的字符串参与运算
    Sn = sn1
    sn1 = “”
    len = 取文本长度 (Sn)
    ebx = len
    .计次循环首 (len, i)
        ebx = ebx + ebx
        ' 下面的是奇数位字符
        c = 取代码 (Sn, len - i + 1)
        c = 位与 (c, 15)
        c = 位与 (c, 255)
        sn1 = 取文本中间 (字串量1, c + 1, 1) + sn1
        ' 下面的是偶数位字符
        c = 取代码 (Sn, len - i + 1)
        c = 位与 (c, 240)
        c = 位与 (c, 255)
        c = 右移 (c, 4)
        sn1 = 取文本中间 (字串量1, c + 1, 1) + sn1
        ebx = ebx - 1
    .计次循环尾 ()
    Sn = 编辑框1.内容 + sn1

    ' 第三次,用第二次产生的字符串参与运算
    ' Sn = sn1
    sn1 = “”
    len = 取文本长度 (Sn)
    ebx = len
    .计次循环首 (len, i)
        ebx = ebx + ebx
        ' 下面的是奇数位字符
        c = 取代码 (Sn, len - i + 1)
        c = 位与 (c, 15)
        c = 位与 (c, 255)
        sn1 = 取文本中间 (字串量1, c + 1, 1) + sn1
        ' 下面的是偶数位字符
        c = 取代码 (Sn, len - i + 1)
        c = 位与 (c, 240)
        c = 位与 (c, 255)
        c = 右移 (c, 4)
        sn1 = 取文本中间 (字串量1, c + 1, 1) + sn1
        ebx = ebx - 1
    .计次循环尾 ()

    ------------------------------------------------------------------------
    【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!
    PYG19周年生日快乐!
  • TA的每日心情

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

    [LV.3]偶尔看看II

    发表于 2007-12-15 21:18:32 | 显示全部楼层
    向楼主学习啊,楼主的易学得好快
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-11-7 21:14
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2007-12-16 10:00:15 | 显示全部楼层
    破文写的不错,学习一下。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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