|
发表于 2007-12-25 22:48:54
|
显示全部楼层
执业药师(中药)资格考试宝典7.0 SMC补丁及破文
这软件问题肯定及,因网上下的没注册的话是没及几道题的,作者说的很清楚!我只感兴趣SMC它,正在学这。
下面我们来SMC执业药师(中药)资格考试宝典7.0,用的是ASPACK加的壳,不脱壳,不用外部补丁程序直接PATCH它
做了个动画,但附件一直传不上来,破解过程在下面!
这是原程序运行的结果
这是我已SMC好的,看看加的壳都是一样的,文件大小也是一样的
下面我们来练习一下,我也是刚学的,呵呵!
这是前面已分析好的
0059A413 68 88A45900 push 59A488
0059A418 64:FF30 push dword ptr fs:[eax]
0059A41B 64:8920 mov dword ptr fs:[eax],esp
0059A41E 8B45 FC mov eax,dword ptr ss:[ebp-4]
0059A421 E8 AA87F7FF call 00512BD0 关键CALL,进入这里 ; ExamBibl.00512BD0
0059A426 84C0 test al,al
0059A428 74 1C je short 0059A446 ; ExamBibl.0059A446
0059A42A 8D45 F4 lea eax,dword ptr ss:[ebp-C]
0059A42D B9 C0A45900 mov ecx,59A4C0 ; [已注册]
0059A432 8B55 F8 mov edx,dword ptr ss:[ebp-8] ; kernel32.7C816FE0
0059A435 E8 EAAFE6FF call 00405424 ; ExamBibl.00405424
0059A43A 8B55 F4 mov edx,dword ptr ss:[ebp-C] ; kernel32.7C839AA8
0059A43D 8BC3 mov eax,ebx
0059A43F E8 1827F2FF call 004BCB5C ; ExamBibl.004BCB5C
0059A444 EB 1F jmp short 0059A465 ; ExamBibl.0059A465
0059A446 8D45 F0 lea eax,dword ptr ss:[ebp-10]
0059A449 B9 D4A45900 mov ecx,59A4D4 ; [未注册]
00512E46 68 602E5100 push 512E60
00512E4B 8D45 F4 lea eax,dword ptr ss:[ebp-C]
00512E4E BA 03000000 mov edx,3
00512E53 E8 C822EFFF call 00405120 ; ExamBibl.00405120
00512E58 C3 retn
00512E59 ^ E9 121BEFFF jmp 00404970 ; ExamBibl.00404970
00512E5E ^ EB EB jmp short 00512E4B ; ExamBibl.00512E4B
00512E60 8BC3 mov eax,ebx **************这里改成B001就成功爆破,不改此时的EBX为0,赋值给了EAX,导至跳至未注册那里,SMC的目标就是在程序入口处把00512E60 由 MOV EAX,EBX ,改为MOV AL,1
00512E62 5E pop esi ; ExamBibl.00512BD5
00512E63 5B pop ebx ; ExamBibl.00512BD5
00512E64 8BE5 mov esp,ebp
00512E66 5D pop ebp ; ExamBibl.00512BD5
00512E67 C3 retn 到这里就返回上面的判断了
这里是跳到OEP前的代码
006283B0 /75 08 jnz short 006283BA 这里跳转
006283B2 |B8 01000000 mov eax, 1
006283B7 |C2 0C00 retn 0C
006283BA \68 D8B25900 push 0059B2D8 跳到这,0059B2D8为OEP
006283BF C3 retn
006283C0 8B85 26040000 mov eax, dword ptr [ebp+426]
上面代码修改为
006283B0 E9 354C0000 jmp 0062CFEA 这里跳到我们修改代码的地方 ; ExamBibl.0062CFEA
006283B5 90 nop
006283B6 90 nop
006283B7 C2 0C00 retn 0C
006283BA 68 D8B25900 push 59B2D8 修改后返回到这
006283BF C3 retn
段未的空间,这改这
0062CFF0 0000 add byte ptr [eax], al
0062CFF2 0000 add byte ptr [eax], al
0062CFF4 0000 add byte ptr [eax], al
0062CFF6 0000 add byte ptr [eax], al
0062CFF8 0000 add byte ptr [eax], al
0062CFFA 0000 add byte ptr [eax], al
0062CFFC 0000 add byte ptr [eax], al
0062CFFE 0000 add byte ptr [eax], al
上面的代码改成
0062CFF0 66:C705 602E5100 B001 mov word ptr ds:[512E60],1B0
0062CFF9 ^ E9 BCB3FFFF jmp 006283BA ; ExamBibl.006283BA
0062CFFE 0000 add byte ptr ds:[eax],al
好了,SMC成功,和大家分享下!
[ 本帖最后由 backboy 于 2007-12-25 22:55 编辑 ] |
-
-
|