脱壳的入门篇.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
脱壳的入门篇

脱壳的入门篇 前 言 细细回忆,学习Crack技术已经快2个月了,期间我学会的东西远比我以前任何一年内学的东西都多(专指计算机程序及系统了解情况) 说到学脱壳也是最近一个月的时间,开始总是到处询问学习脱壳的方法,大多的答案就是看雪老大的书,谁也没有正面回答过.于是就自己摸索,略有一点思路,老大们估计是认为理所当然,对于我们小菜来说还是说白了比较合适. 在这里我就班门弄斧一回,其实主要也是帮助一些朋友能更快的摸到门,不至于对只会照猫画虎,这些也是我当初我想问的那些问题的答案,都是些很基础的东西,说得不好还请高手指正. 在此感谢看雪老大提供了如此之好论坛供大家学习交流,还写了一本很好的书指导像我这样的菜鸟,也感谢网上众多高手贡献出自己的脱壳手记,特别感谢heXer老大对本菜鸟的细心指点! 顺便说一句,脱壳特别需要的是兴趣和耐心,如果没有耐心就......;) 废话了一堆,我们下面进入正题:) 结合娃娃Wom的新KG说说一般面对一个壳的简单分析方法 一、找OEP 脱壳的一般流程是:查壳-寻找OEP-Dump-修复 查壳没什么好说的,FI和PEiD,不幸的是FI和PEiD都不能识别出这个壳:) 我找OEP的一般思路如下: 先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常,找到对应的popad后就能到入口,跳到入口的方式一般为 1、 jmp OEP 2、 push OEP ret 3、 call OEP 当然也有其他的,如 je OEP等等,一般都是段之间的大跳转,OD的反汇编窗口里都是同一个段的内容,所以更好区别是否是段间跳转 『这里我说说关于F8(Step Over)和F7(Step in)的一般方法,粗跟的时候一般都是常用F8走,但是有些call是变形的Jmp,此时就需要F7代过,区别是否是变形Jmp的一个简单方法是比较call的目标地址和当前地址,如果两者离的很近,一般就是变形Jmp了,用F7走 』 对于加密壳,我的方法一般是用OD载入,钩掉所有异常(不忽略任何异常,有时由于异常过多可以适当忽略一些异常),运行,数着用了多少次Shift+F9程序运行,显然最后一次异常后,程序会从壳跳到OEP开始执行,这就是我们寻找OEP的一个关键,而对于这个壳可知是加密壳,Shift+F9 16次后运行,重来,Shift+F1 15次后到这 0042CBD3 ^\73 DC jnb short kill_luj.0042CBB1 0042CBD5 CD 20 int 20 0042CBD7 64:67:8F06 0000 pop dword ptr fs:[0] ---这里 一般的处理方法是找到pop fs:[0]处下断点或者是[esp+4]处下断点,如果学习一下SEH的处理会更好些 0012FF58 0012FFE0 Pointer to next SEH record 0012FF5C 0042CBB7 SE handler ---这里一般包含Anti-Debug的代码 0012FF60 0042CB8A RETURN to kill_luj.0042CB8A from kill_luj.0042CB90 我首选第一种,在0042CBD7处下断之后,耐心的用F7走,因为变形call太多了...,关键注意一下往回跳的跳转,寻找合适的位置跳出循环,有耐心的话你就能这样走到OEP了;) 当然你也可以用另一个好东西——Trace,在Command里来个tc eip42b000 (42b000是当前段的起始位置,滚动条拖到最上面就能看到了,一般程序编译的基地址为400000),OK,稍等一会我们就会停在这了(如果是ASPr可能要几分钟了) 00419F68 55 push ebp ----停在这 00419F69 8BEC mov ebp, esp 00419F6B 83C4 F0 add esp, -10 呵呵,OEP找到了;) 当然,这个用PEiD就能找到OEP,比较一下,是不是一样:D,对于用PEiD找到的OEP可以直接G到OEP 此时就可以Dump了,用LordPE来Dump吧,由于有Anti-Dump,所以要先Correct Imagesize一下再Dump 二、修复IAT 由于加密壳对输入表进行了重定位,所以现在的文件还不能正常使用,我们的目标就是恢复它,先用ImportREC,填入正确的OEP, IAT AutoSearch, Get

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档