- UID
- 5592
注册时间2005-12-21
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 慵懒 2019-1-18 17:27 |
---|
签到天数: 30 天 [LV.5]常住居民I
|
【破文标题】数字翻译器 2.0.0.3 解码分析
【破文作者】lzq1973[PYG][CZG][OCN][DFCG][D4.s]
【作者邮箱】[email protected]
【作者主页】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 "[email protected]")
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
.计次循环尾 ()
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢! |
|