Smoke 发表于 2011-10-1 13:57

简单SMC破解

本帖最后由 Smoke 于 2011-10-1 13:58 编辑

【文章标题】: 简单SMC破解
【文章作者】: Smoke
【使用工具】: OllyDbg,peid
【操作平台】: WinXp sp3
【附件下载】: http://dl.dbank.com/c0rwovw6x6
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
PEiD侦查为 UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
我等新手看到UPX壳,就想到SMC有戏了,强壳不会啊 o(︶︿︶)o
载入OllyDbg
代码如下:
00ABDCC0 > 60 pushad //F8单步
00ABDCC1 BE 00604800 mov esi, 00486000 //单步到这,发现寄存器esp变红色 [使用esp定律,F9运行]
00ABDCC6 8DBE 00B0F7FF lea edi, dword ptr
00ABDCCC 57 push edi
00ABDCCD EB 0B jmp short 00ABDCDA运行后来到此处,代码如下:
00ABDE5F 8D4424 80 lea eax, dword ptr
00ABDE63 6A 00 push 0
00ABDE65 39C4 cmp esp, eax
00ABDE67 ^ 75 FA jnz short 00ABDE63
00ABDE69 83EC 80 sub esp, -80
00ABDE6C ^ E9 F8999DFF jmp 00497869 //F2下断 F9运行 o(∩_∩)o 跳向光明之巅了.OEP来到00ABDE6C后,取消断点,删除硬件断点 F8单步 来到oep
来到此处,代码如下:
00497869 55 push ebp (记录下,一会要用到的.)
0049786A 8BEC mov ebp, esp
0049786C 6A FF push -1
0049786E 68 88DFA200 push 00A2DF88
00497873 68 64A14900 push 0049A164
00497878 64:A1 00000000 mov eax, dword ptr fs:
0049787E 50 push eax找到关键跳,代码如下:(记录下,一会要用到的.)
004255A4 /0F84 63000000 je 0042560D
je改成jnz,代码如下:
004255A4 /0F85 63000000 jnz 0042560D修改完毕后,我们运行试试,看是否能登录进去.
经测试,任意输入帐号密码可以登录 看来关键处是找对的o(∩_∩)o
接下来我们就来SMC o(∩_∩)o
SMC实现过程如下:
原来:壳--->程序
现在:壳--->SMC--->程序
为了不破坏壳的代码,都在壳代码执行完后执行SMC。
SMC中修改的是程序中注册机制的关键点。
重新载入OllyDbg
代码如下:
00ABDCC0 > 60 pushad
00ABDCC1 BE 00604800 mov esi, 00486000
00ABDCC6 8DBE 00B0F7FF lea edi, dword ptr
00ABDCCC 57 push edi使用esp定律来到以下代码处:
00ABDE6C ^\E9 F8999DFF jmp 00497869
00ABDE71 0000 add byte ptr , al
00ABDE73 0000 add byte ptr , al
00ABDE75 0000 add byte ptr , al选个空白的代码处,作为我们SMC的地方.
我选择此处吧,代码如下:
00ABDE79 0000 add byte ptr , al
00ABDE7B 0000 add byte ptr , al
00ABDE7D 0000 add byte ptr , al
00ABDE7F 0000 add byte ptr , al
00ABDE81 0000 add byte ptr , al
00ABDE83 0000 add byte ptr , al00ABDE6C ^\E9 F8999DFF jmp 00497869
改成
00ABDE6C /EB 0B jmp short 00ABDE79
00ABDE6E |90 nop
00ABDE6F |90 nop
00ABDE70 |90 nop然后在00ABDE79处写代码
MOV BYTE PTR DS:,85
jmp 00497869保存出来.
经测试,能够登录!并未出错.(*^__^*)
此菜鸟文章就到此结束.o(∩_∩)o


--------------------------------------------------------------------------------
【版权声明】: 本文原创于Smoke, 转载请注明作者并保持文章的完整, 谢谢!
                                                       2011年10月01日 13:46:44










Shiny 发表于 2011-10-1 13:59

膜拜一下smoke大大 期待VMP一类的SMC

yun135 发表于 2011-10-1 14:29

不错的LZ

Charlie 发表于 2011-10-1 15:28

膜拜 Smoke大大...

qq649959252 发表于 2011-10-1 16:05

额 学习了smc了。。

dreamemperor 发表于 2011-10-1 17:43

支持一下了!!

pk8500 发表于 2011-10-13 23:27

[吾爱破解]因你更精彩感谢发布作品
认真看了

yikuaidao 发表于 2011-11-9 07:27

多谢共享

3765999 发表于 2012-1-11 12:09

谢谢分享

happy168 发表于 2012-2-20 12:58

谢谢分析了,菜鸟进来学习一下了
页: [1]
查看完整版本: 简单SMC破解