- UID
- 2887
注册时间2005-8-25
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
【软件名称】半仙算命 V2005 build 08.01
【下载地址】http://www2.skycn.com/soft/7818.html
【应用平台】Win9x/NT/2000/XP
【软件大小】1667KB
【软件限制】未知
【破解作者】ayan
【破解声明】破解只是感兴趣,无其它目的。失误之处敬请诸位大侠赐教!
【破解工具】flyOD
【软件简介】〖神算刘半仙〗软件是一个优秀的算命软件。 一个软件集成了多种测算选项,测算内容、测算项目极其丰富。
包括姓名吉凶测算、命运推算、科学起名向导、生男生女查询以及万年历、农历查询等。 软件功能强大,使用简单、绿色、
环保。 只要你正确选择好出生的日期,即可自动转换为农历、属相、星座等然后软件将依此进行命运推算、姓名推算等等。======================================================================
【分析过程】
这个软件没有注册成功或失败的提示,但不输入名字或注册码提示“注册信息没有填写齐全”,好根据这一点漏洞
我们来破解它,用OD载入后查找字符串“注册信息没有填写齐全”,双击来到005319E7 处,向上看在00531953
处下断,运行程序,注册,被拦下F8单步向下走
00531953 |. 51 push ecx //在此下断,
00531954 |. 53 push ebx
00531955 |. 56 push esi
00531956 |. 57 push edi
00531957 |. 8BD8 mov ebx,eax
00531959 |. 33C0 xor eax,eax
0053195B |. 55 push ebp
0053195C |. 68 0F1C5300 push ssbx.00531C0F
00531961 |. 64:FF30 push dword ptr fs:[eax]
00531964 |. 64:8920 mov dword ptr fs:[eax],esp
00531967 |. B2 01 mov dl,1
00531969 |. A1 FC764A00 mov eax,dword ptr ds:[4A76FC]
0053196E |. E8 895EF7FF call ssbx.004A77FC
00531973 |. 8BF0 mov esi,eax
00531975 |. BA 02000080 mov edx,80000002
0053197A |. 8BC6 mov eax,esi
0053197C |. E8 1B5FF7FF call ssbx.004A789C
00531981 |. B1 01 mov cl,1
00531983 |. BA 281C5300 mov edx,ssbx.00531C28 ; ASCII "SOFTWARE\Microsoft\Yhds"
00531988 |. 8BC6 mov eax,esi
0053198A |. E8 715FF7FF call ssbx.004A7900
0053198F |. 68 80000000 push 80 ; /BufSize = 80 (128.)
00531994 |. 8D85 7BFFFFFF lea eax,dword ptr ss:[ebp-85] ; |
0053199A |. 50 push eax ; |Buffer
0053199B |. E8 2459EDFF call <jmp.&kernel32.GetSystemDirec>; \GetSystemDirectoryA
005319A0 |. 8D45 FC lea eax,dword ptr ss:[ebp-4]
005319A3 |. 8D95 7BFFFFFF lea edx,dword ptr ss:[ebp-85]
005319A9 |. B9 81000000 mov ecx,81
005319AE |. E8 3932EDFF call ssbx.00404BEC
005319B3 |. 8D95 74FFFFFF lea edx,dword ptr ss:[ebp-8C]
005319B9 |. 8B83 34030000 mov eax,dword ptr ds:[ebx+334]
005319BF |. E8 EC46F1FF call ssbx.004460B0
005319C4 |. 83BD 74FFFFFF 0>cmp dword ptr ss:[ebp-8C],0 //是否输入注册码
005319CB |. 74 1A je short ssbx.005319E7
005319CD |. 8D95 70FFFFFF lea edx,dword ptr ss:[ebp-90]
005319D3 |. 8B83 2C030000 mov eax,dword ptr ds:[ebx+32C]
005319D9 |. E8 D246F1FF call ssbx.004460B0
005319DE |. 83BD 70FFFFFF 0>cmp dword ptr ss:[ebp-90],0 //是否输入用户名
005319E5 |. 75 0F jnz short ssbx.005319F6
005319E7 |> B8 481C5300 mov eax,ssbx.00531C48 //双击“注册信息没有填写齐全”后来到这里,向上
在00531953处下断
005319EC |. E8 97D7F0FF call ssbx.0043F188
005319F1 |. E9 97010000 jmp ssbx.00531B8D
005319F6 |> 8D95 6CFFFFFF lea edx,dword ptr ss:[ebp-94]
005319FC |. 8B83 34030000 mov eax,dword ptr ds:[ebx+334]
00531A02 |. E8 A946F1FF call ssbx.004460B0
00531A07 |. 8B85 6CFFFFFF mov eax,dword ptr ss:[ebp-94]
00531A0D |. 50 push eax
00531A0E |. 8D95 64FFFFFF lea edx,dword ptr ss:[ebp-9C]
00531A14 |. 8B83 2C030000 mov eax,dword ptr ds:[ebx+32C]
00531A1A |. E8 9146F1FF call ssbx.004460B0
00531A1F |. 8B85 64FFFFFF mov eax,dword ptr ss:[ebp-9C]
00531A25 |. E8 4E7BEDFF call ssbx.00409578
00531A2A |. B9 E1100000 mov ecx,10E1
00531A2F |. 99 cdq
00531A30 |. F7F9 idiv ecx
00531A32 |. 8BC2 mov eax,edx
00531A34 |. 8D95 68FFFFFF lea edx,dword ptr ss:[ebp-98]
00531A3A |. E8 D57AEDFF call ssbx.00409514
00531A3F |. 8D85 68FFFFFF lea eax,dword ptr ss:[ebp-98]
00531A45 |. 50 push eax
00531A46 |. 8D95 58FFFFFF lea edx,dword ptr ss:[ebp-A8]
00531A4C |. 8B83 2C030000 mov eax,dword ptr ds:[ebx+32C]
00531A52 |. E8 5946F1FF call ssbx.004460B0
00531A57 |. 8B85 58FFFFFF mov eax,dword ptr ss:[ebp-A8]
00531A5D |. E8 167BEDFF call ssbx.00409578
00531A62 |. 8D95 5CFFFFFF lea edx,dword ptr ss:[ebp-A4]
00531A68 |. E8 0FFBFFFF call ssbx.0053157C
00531A6D |. 8B85 5CFFFFFF mov eax,dword ptr ss:[ebp-A4]
00531A73 |. E8 007BEDFF call ssbx.00409578
00531A78 |. 8D95 60FFFFFF lea edx,dword ptr ss:[ebp-A0]
00531A7E |. E8 D9FBFFFF call ssbx.0053165C
00531A83 |. 8B95 60FFFFFF mov edx,dword ptr ss:[ebp-A0]
00531A89 |. 58 pop eax
00531A8A |. E8 B531EDFF call ssbx.00404C44
00531A8F |. 8B95 68FFFFFF mov edx,dword ptr ss:[ebp-98]
00531A95 |. 58 pop eax
00531A96 |. E8 E532EDFF call ssbx.00404D80 //在此可看到真码,可做内存注册机
00531A9B |. 0F85 DF000000 jnz ssbx.00531B80 //跳走OVER
00531AA1 |. A1 78E65400 mov eax,dword ptr ds:[54E678]
========================================================================================
【分析总结】
有兴趣的可以分析一下算法,我没有跟踪!
另外,该作者的另外一款软件和这个的算法一样,用这个注册机同样能算出的注册码注册该软件也能成功!
========================================================================================
【版权信息】只作为交流,转载请保持文章完整,谢谢!
2005-8-26 |
|