飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2791|回复: 0

magei申请(2)

[复制链接]

该用户从未签到

发表于 2005-8-1 00:55:19 | 显示全部楼层 |阅读模式
破解作者】 magei
【作者邮箱】 [email protected]
【使用工具】 od c32asm
【破解平台】 Win9x/NT/2000/XP
【软件名称】  南方周易程序
【下载地址】 http://www.nfbazi.com/
【软件简介】  南方周易程序是面向周易及数术的基础和专业软件,目前有子平八字类、周易断卦类、姓名类、风水类、星座类、六壬课类、择吉类等
【软件大小】 4.7m
【破解声明】 我是一只小菜鸟,只为了加入PYG,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】


用GetVBRes载入主程序,找到"注册码不对"字样,把他修改为magei
用od载入,搜查文本字符"magei"找到
文本字符串参考位于 Name:.text,项目 968
地址=00481315
反汇编=mov eax,Name.004168FC
文本字符串=UNICODE "magei "
双击到
00481315      B8 FC684100           mov eax,Name.004168FC                 ; UNICODE "magei "
0048131A      83EC 10               sub esp,10
0048131D      B9 08000000           mov ecx,8
对照c32asm 找到跳转
::004810A9::  83F8 06                  CMP EAX,6                               比较假码是不是大于6位
::004810AC::  0F8C 63020000            JL 00481315                             \:JMPDOWN,小于出错
::004810B2::  8D45 E8                  LEA EAX,[EBP-18]                        
::004810B5::  8D4D E4                  LEA ECX,[EBP-1C]                        
::004810B8::  50                       PUSH EAX                                
::004810B9::  51                       PUSH ECX                                
::004810BA::  E8 B12CFFFF              CALL 00473D70                           \:JMPUP 关键CALL 跟进
::004810BF::  66:3D FFFF               CMP AX,FFFF                             
::004810C3::  0F85 4C020000            JNZ 00481315                            \:JMPDOWN

关键CALL 跟进
00473D70      83EC 10               sub esp,10
00473D73      53                    push ebx
00473D74      55                    push ebp
00473D75      56                    push esi
00473D76      8B7424 24             mov esi,dword ptr ss:[esp+24]
00473D7A      57                    push edi
00473D7B      8B3D C8104000         mov edi,dword ptr ds:[<&MSVBVM60.__vb>; MSVBVM60.__vbaStrCmp  
00473D81      8B06                  mov eax,dword ptr ds:[esi]
00473D83      C74424 10 00000000    mov dword ptr ss:[esp+10],0
00473D8B      50                    push eax
00473D8C      68 780C4100           push Name.00410C78
00473D91      FFD7                  call edi                         /验证有没有输入假码
00473D93      8BE8                  mov ebp,eax
00473D95      8B5C24 24             mov ebx,dword ptr ss:[esp+24]
00473D99      F7DD                  neg ebp
00473D9B      8B0B                  mov ecx,dword ptr ds:[ebx]
00473D9D      1BED                  sbb ebp,ebp
00473D9F      51                    push ecx
00473DA0      68 780C4100           push Name.00410C78
00473DA5      F7DD                  neg ebp
00473DA7      FFD7                  call edi                     /验证有没有机器码
00473DA9      F7D8                  neg eax
00473DAB      1BC0                  sbb eax,eax
00473DAD      F7D8                  neg eax
00473DAF      85E8                  test eax,ebp
00473DB1      74 7D                 je short Name.00473E30
00473DB3      8B3D E4104000         mov edi,dword ptr ds:[<&MSVBVM60.#561>; MSVBVM60.rtcIsNumeric
00473DB9      8D5424 10             lea edx,dword ptr ss:[esp+10]
00473DBD      BD 08400000           mov ebp,4008
00473DC2      52                    push edx
00473DC3      897424 1C             mov dword ptr ss:[esp+1C],esi
00473DC7      896C24 14             mov dword ptr ss:[esp+14],ebp
00473DCB      FFD7                  call edi
00473DCD      66:85C0               test ax,ax
00473DD0      74 31                 je short Name.00473E03
00473DD2      8B06                  mov eax,dword ptr ds:[esi]
00473DD4      8B35 9C114000         mov esi,dword ptr ds:[<&MSVBVM60.__vb>; MSVBVM60.__vbaI4Str  /把假码转换为16进制
00473DDA      50                    push eax
00473DDB      FFD6                  call esi
00473DDD      8B0B                  mov ecx,dword ptr ds:[ebx]
00473DDF      8BF8                  mov edi,eax
00473DE1      81EF E3D22700         sub edi,27D2E3                             /转换为16进制假码-27d2e3
00473DE7      51                    push ecx          /压入机器码
00473DE8      70 52                 jo short Name.00473E3C
00473DEA      FFD6                  call esi         /把机器码转为16进制
00473DEC      33F8                  xor edi,eax      /异或上面的两个数据
00473DEE      81FF B4503E00         cmp edi,3E50B4      /得到的值是不是3e50b4                     
00473DF4      75 3A                 jnz short Name.00473E30  
0
--------------------------------------------------------------------------------
【破解总结】


算法过程:转换16位(假码)=(转换16位(机器码) XOR 3E50B4)-27d2e3

--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! ,本想上传注册机,可传不上
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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