【破文标题】数字翻译器 2.0.0.3 解码分析
【破文标题】数字翻译器 2.0.0.3 解码分析【破文作者】lzq1973
【作者邮箱】[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:
004B9C87|.64:8920 mov fs:, esp
004B9C8A|.8D55 F8 lea edx,
004B9C8D|.8B83 D4040>mov eax,
004B9C93|.E8 C4E1F8F>call 00447E5C
004B9C98|.837D F8 00 cmp dword ptr , 0
004B9C9C|.75 2F jnz short 004B9CCD
004B9C9E|.8B83 D4040>mov eax,
004B9CA4|.8B10 mov edx,
004B9CA6|.FF92 C4000>call
004B9CAC|.6A 40 push 40
004B9CAE|.68 609F4B0>push 004B9F60 ;提示
004B9CB3|.68 689F4B0>push 004B9F68 ;用户名不能为!
004B9CB8|.A1 68214C0>mov eax,
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,
004B9CD0|.8B83 D8040>mov eax,
004B9CD6|.E8 81E1F8F>call 00447E5C
004B9CDB|.837D F4 00 cmp dword ptr , 0
004B9CDF|.75 2F jnz short 004B9D10
004B9CE1|.8B83 D8040>mov eax,
004B9CE7|.8B10 mov edx,
004B9CE9|.FF92 C4000>call
004B9CEF|.6A 40 push 40
004B9CF1|.68 609F4B0>push 004B9F60 ;提示
004B9CF6|.68 789F4B0>push 004B9F78 ;邮箱不能为空!
004B9CFB|.A1 68214C0>mov eax,
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,
004B9D13|.8B83 DC040>mov eax,
004B9D19|.E8 3EE1F8F>call 00447E5C
004B9D1E|.837D F0 00 cmp dword ptr , 0
004B9D22|.75 2F jnz short 004B9D53
004B9D24|.8B83 DC040>mov eax,
004B9D2A|.8B10 mov edx,
004B9D2C|.FF92 C4000>call
004B9D32|.6A 40 push 40
004B9D34|.68 609F4B0>push 004B9F60 ;提示
004B9D39|.68 889F4B0>push 004B9F88 ;注册码不能为空!
004B9D3E|.A1 68214C0>mov eax,
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,
004B9D56|.8B83 D8040>mov eax,
004B9D5C|.E8 FBE0F8F>call 00447E5C
004B9D61|.8B45 EC mov eax, ;(ASCII "[email protected]")
004B9D64|.E8 F7B0FFF>call 004B4E60
004B9D69|.84C0 test al, al
004B9D6B|.0F84 78010>je 004B9EE9
004B9D71|.8D55 E8 lea edx,
004B9D74|.B8 A09F4B0>mov eax, 004B9FA0 ;c:\
004B9D79|.E8 2EB2FFF>call 004B4FAC
004B9D7E|.8D45 E8 lea eax,
004B9D81|.50 push eax
004B9D82|.8D55 DC lea edx,
004B9D85|.8B83 D4040>mov eax,
004B9D8B|.E8 CCE0F8F>call 00447E5C
004B9D90|.8B45 DC mov eax, ;用户名(ASCII "Administrator")
004B9D93|.8D55 E0 lea edx,
004B9D96|.E8 95B1FFF>call 004B4F30
004B9D9B|.8B45 E0 mov eax, ;(ASCII "s!#s#&#F#*#F$h$s$@#!$s#f$@")
004B9D9E|.8D55 E4 lea edx,
004B9DA1|.E8 8AB1FFF>call 004B4F30
004B9DA6|.8B55 E4 mov edx, ;(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, ;(ASCII "5F44B466$h@!@h$h@h@#@hs#@h@L@hs#@s#%@s$h@ss~@h@!@s$h@h##@ss~")
004B9DB2|.8D55 FC lea edx,
004B9DB5|.E8 76B1FFF>call 004B4F30
004B9DBA|.8D55 D8 lea edx,
004B9DBD|.8B83 DC040>mov eax,
004B9DC3|.E8 94E0F8F>call 00447E5C
004B9DC8|.8B45 D8 mov eax,
004B9DCB|.8B55 FC mov edx, ;(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,
004B9DEA|.E8 BD48F9F>call 0044E6AC
004B9DEF|.50 push eax ; |hOwner
004B9DF0|.E8 C7D6F4F>call <jmp.&USER32.MessageBoxA> ; \MessageBoxA
004B9DF5|.C705 C8224>mov dword ptr , -1
004B9DFF|.BA B89F4B0>mov edx, 004B9FB8 ;已注册,无限制
004B9E04|.8B83 BC040>mov eax,
004B9E0A|.E8 7DE0F8F>call 00447E8C
004B9E0F|.B2 01 mov dl, 1
004B9E11|.8B83 D4040>mov eax,
004B9E17|.E8 1843F8F>call 0043E134
004B9E1C|.B2 01 mov dl, 1
004B9E1E|.8B83 D8040>mov eax,
004B9E24|.E8 0B43F8F>call 0043E134
004B9E29|.B2 01 mov dl, 1
004B9E2B|.8B83 DC040>mov eax,
004B9E31|.E8 FE42F8F>call 0043E134
004B9E36|.33D2 xor edx, edx
004B9E38|.8B83 E8040>mov eax,
004B9E3E|.8B08 mov ecx,
004B9E40|.FF51 64 call
004B9E43|.B2 01 mov dl, 1
004B9E45|.A1 BC6A430>mov eax,
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,
004B9E6E|.8B83 D4040>mov eax,
004B9E74|.E8 E3DFF8F>call 00447E5C
004B9E79|.8B4D D4 mov ecx,
004B9E7C|.BA 08A04B0>mov edx, 004BA008 ;pname
004B9E81|.8BC6 mov eax, esi
004B9E83|.E8 34D3F7F>call 004371BC
004B9E88|.8D55 D0 lea edx,
004B9E8B|.8B83 D8040>mov eax,
004B9E91|.E8 C6DFF8F>call 00447E5C
004B9E96|.8B4D D0 mov ecx,
004B9E99|.BA 18A04B0>mov edx, 004BA018 ;pemail
004B9E9E|.8BC6 mov eax, esi
004B9EA0|.E8 17D3F7F>call 004371BC
004B9EA5|.8D55 CC lea edx,
004B9EA8|.8B83 DC040>mov eax,
004B9EAE|.E8 A9DFF8F>call 00447E5C
004B9EB3|.8B4D CC mov ecx,
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,
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,
004B9EFA|.E8 AD47F9F>call 0044E6AC
004B9EFF|.50 push eax ; |hOwner
004B9F00|.E8 B7D5F4F>call <jmp.&USER32.MessageBoxA> ; \MessageBoxA
004B9F05|.8B83 D8040>mov eax,
004B9F0B|.8B10 mov edx,
004B9F0D|.FF92 C4000>call
004B9F13|>33C0 xor eax, eax
004B9F15|.5A pop edx
004B9F16|.59 pop ecx
004B9F17|.59 pop ecx
004B9F18|.64:8910 mov fs:, edx
004B9F1B|.68 579F4B0>push 004B9F57
004B9F20|>8D45 CC lea eax,
004B9F23|.BA 0500000>mov edx, 5
004B9F28|.E8 A3A8F4F>call 004047D0
004B9F2D|.8D45 E0 lea eax,
004B9F30|.BA 0300000>mov edx, 3
004B9F35|.E8 96A8F4F>call 004047D0
004B9F3A|.8D45 EC lea eax,
004B9F3D|.BA 0400000>mov edx, 4
004B9F42|.E8 89A8F4F>call 004047D0
004B9F47|.8D45 FC lea eax,
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, ;当前字符(倒取)
004B4F69|.80E1 0F |and cl, 0F
004B4F6C|.81E1 FF000>|and ecx, 0FF
004B4F72|.8A89 88034>|mov cl, ;奇数位字符 4C0388=~!@hsh#$%FLY^&*f
004B4F78|.884C10 FF|mov , 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,
004B4F8B|.80E1 F0 |and cl, 0F0
004B4F8E|.81E1 FF000>|and ecx, 0FF
004B4F94|.C1E9 04 |shr ecx, 4
004B4F97|.8A89 88034>|mov cl, ;偶数位字符
004B4F9D|.884C10 FE|mov , 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
.计次循环尾 ()
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢! 向楼主学习啊,楼主的易学得好快 破文写的不错,学习一下。
页:
[1]