yiyi110 发表于 2010-11-27 08:47

新手巧用ESP定律脱Xtreme-Protector v1.05壳

本帖最后由 yiyi110 于 2010-11-27 09:19 编辑

昨天到手一软件,peid一查壳,壳为Xtreme-Protector v1.05,哈,以前没见过这样的壳,试试手吧
俺用的小生工具包,首先打开OD,载入程序,汗,自动关闭。。。。
不怕,继续,打开小生专用版---小生我怕怕,载入程序,嘿嘿,不敢自动关闭了吧
00481993 >E8 21000000   call 请脱壳我.004819B9(F7步入,别问我为啥F7,你按下F8就知道了)
00481998    53            push ebx
00481999    61            popad
0048199A    66:65:6E      outs dx,byte ptr es:
0048199D    67:696E 65 204C>imul ebp,dword ptr ss:,63694C20
004819A5    65:6E         outs dx,byte ptr es:
004819A7    73 6F         jnb short 请脱壳我.00481A18
004819A9    72 20         jb short 请脱壳我.004819CB
004819AB    44            inc esp
004819AC    65:6D         ins dword ptr es:,dx
004819AE    6F            outs dx,dword ptr es:
004819AF    2076 31         and byte ptr ds:,dh
004819B2    2E:382E         cmp byte ptr cs:,ch
004819B5    302E            xor byte ptr ds:,ch
004819B7    3000            xor byte ptr ds:,al
004819B9    8D6424 04       lea esp,dword ptr ss:    (程序走到这里,看了下ESp数值,变动了,哈,试试ESP定律看看)
004819BD    60            pushad
进入时代码如上代码,后面跟有步骤

俺给新手讲讲ESP定律步骤,老手别嫌我烦:查看右边寄存器里面的ESP---点右键--数据窗口中跟随---左下窗口--下断点--硬件访问---word

下了断点,俺按F9执行,一直按一直按一直按,注意代码,走到这里
0040FC92    6A 58         push 58   (是不是好像很熟悉,OEP?咱试试看,脱壳)
0040FC94    68 B8614100   push 请脱壳我.004161B8
0040FC99    E8 D6030000   call 请脱壳我.00410074
0040FC9E    33DB            xor ebx,ebx
0040FCA0    895D E4         mov dword ptr ss:,ebx
0040FCA3    895D FC         mov dword ptr ss:,ebx
0040FCA6    8D45 98         lea eax,dword ptr ss:
0040FCA9    50            push eax
0040FCAA    FF15 38204100   call dword ptr ds:               ; kernel32.GetStartupInfoA
0040FCB0    C745 FC FEFFFFF>mov dword ptr ss:,-2
0040FCB7    C745 FC 0100000>mov dword ptr ss:,1
0040FCBE    64:A1 18000000mov eax,dword ptr fs:
0040FCC4    8B70 04         mov esi,dword ptr ds:
0040FCC7    BF 78B94100   mov edi,请脱壳我.0041B978
0040FCCC    6A 00         push 0
0040FCCE    56            push esi
0040FCCF    57            push edi

右键使用插件脱壳,入口点地址修正为FC92--点脱壳,运行一下,运行不了,查下壳Microsoft Visual C++ v7.0,恩,已经没壳了,试着修复下先
进入OD,
0040FC92    6A 58         push 58
0040FC94    68 B8614100   push 请脱壳我.004161B8
0040FC99    E8 D6030000   call 请脱壳我.00410074  (F8走到这里,右键数据窗口跟随--选择)
注意左下框里面的数据,调整为HEX数据,查看ASCII值,拉动滚动条,一直拉,拉到HEX数据全部是00的地方,和有数据的交接处
俺这个软件直接拉到地址401000了,呵呵,看不到00 00 00
现在开始修复了,打开IMportREc,附加到一个活动进程里面选择你要脱壳的程序,输入刚才的OEP:FC92,点自动查找IAT,呵呵俺顺手点的
看是不是和我找到的一样,如果是俺就不用输入了不是(懒人。。),汗,不对,手动输入RVA数值:1000,大小28000,再点获取输入表
点--显示无效函数---然后剪切指针-----修复转存文件---找到刚才脱壳出来的程序---搞定
打开程序----哈哈,运行起来了--查下壳---壳没有了

新手第一次发帖,各位大大多多指导,谢谢
以下内容回复可见(更绝密的东西,嘿嘿)
**************************

俺上传个文件吧

2666fff 发表于 2010-11-27 09:22

牛人,膜拜啊

npc22pk 发表于 2010-11-27 09:51

跟着26后面,继续膜拜。。

lixiang1977 发表于 2010-11-27 10:31

学习一下!

yuzf 发表于 2010-11-27 10:48

不错哦

yjd333 发表于 2010-11-27 10:50

建议楼主以后贴代码记得用code那个标签,这样代码很乱看不清楚。

yiyi110 发表于 2010-11-27 11:08

回复 6# yjd333


    OK,第一次发脱壳贴,呵呵

ck13 发表于 2010-11-27 23:29

能脱这壳的人不多

ck13 发表于 2010-11-27 23:30

附件是脱壳的还是没脱的?

ck13 发表于 2010-11-28 00:03



我看到的这个是什么?
页: [1] 2 3 4
查看完整版本: 新手巧用ESP定律脱Xtreme-Protector v1.05壳