飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2332|回复: 4

[转贴] 脱壳那点儿破事儿

[复制链接]

该用户从未签到

发表于 2010-2-2 12:11:19 | 显示全部楼层 |阅读模式
本文来自: UPK软件安全社区 作者: hyperchem 日期: 2010-1-27 08:45

隔壁的女人还在肆无忌惮的笑。。。 我继续无语。。。。

欢迎讨论,谢绝喷壶。

早就想写点儿东西,一直没腾出空来,也没有整理好自己的思绪。趁这段时间静一下,整理下自己。
记得冯巩的小品中的一句话说到:“你能把你的人生感悟做一个的阶段性的梳理和总结,对别人是一种激励,而对自己是一种慰藉”,但愿如此吧。

好了,废话不多说了。
东西还是很乱,想到哪里就说到哪里,大家将就着看吧。

最近这段时间没有精力管理论坛,也就是跑过来灌灌水,发发文章之类的。这段时间看到最多的就是:“哪位大侠告诉我如何入门啊?”之类的问题。
或许这是个问题,或许这也不是个问题。想想当年的那些牛人在资料及其缺乏,信息交流不畅的年代如何成长为大牛的,或许我们就能有些启示了:
我总觉得,世界的不成功的只有两种人,一种是笨人,一种是懒人。
笨人就是那种智商奇低,基本属于弱智的人。这种人的数量,按照高斯分布,基本跟天才的数量是一样的,所以你,我,他基本都不是。剩下的就是懒人了。这种人基本是到处皆是。
举个例子,经常看到有人求助xxx如何脱。你是菜鸟,求助当然无可厚非。但是,你要的脱的那个壳的详细教程就在你发帖的那页,你是不是应该抽空看一下呢?
记得以前刚入门的时候,在看雪的精华集上看到的第一篇文章就是<提问的智慧>:
1. 通读手册,试着自己找答案。
2. 在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。
3. 在网上搜索(个人推荐google~~~)。
4. 向你身边精于此道的朋友打听。


我真的很希望那些的准备的提问的朋友,能不能花一点儿时间把你的问题在网上搜一下呢?其实很多东西通过你自己努力得到的,比问别人得到的要影响深的多。

这里就不得不说到另一个问题。之前跟天草MM聊天的时候,他提到一个观点:学脱壳是需要天赋的。或许我可以把这个天赋换一个词:思维习惯。我不敢把脱壳说成一种科学研究,但它至少是一个智力游戏。就像象棋,围棋一样。如果你想学好,那么就要学会自己思考。其实有的时候,思想上的懒人比身体上的残疾还要可怕。很多人就是为了脱壳而脱壳,天天想知道的是这个壳如何脱,那个壳如何脱,到头来学到的东西就是这个壳应该参照这样的步骤脱,那个壳应该参照那样的步骤脱。问其为什么,他说不出个所以然来。这或许是很多人现在的状态。虽然是五十步笑百步,请允许我对这样的事儿多说几句;如果你在学习的时候能把更多的精力放在去想别人这样做是为什么,原理是什么的话,对你的帮助会很大。还有就是,学习脱壳是个循序渐进的过程,不要上来就要脱TMD,wl。这种初生牛犊不怕虎的精神我们鼓励,但是还是要量力而行,我还是那句话:如果你的基础不到的话,就算把这些壳的脱文放在你面前你也看不懂。记得当年我看天草的脱壳教程的时候,看了几遍,到最后还是没有明白道理,到最后自己从头到尾F7了一遍穿山甲的shell,对壳的认识提高了不少。很多东西,都是这样的,不亲自实践过,就永远都不明白。

再啰嗦几句,就算发发牢骚吧。把三件事情放在一起说:
1,JDProtect
2,DTDEBUG
3,飓风视频加密

技术层次我不做评论,因为我根本不懂编程。这三个软件有个共同的特点:**了不是自己的东西。JDProtect**了免费版的VMP;dtdebug**了VMWARE的驱动;飓风视频加密**了molebox(据说还是盗版的)。而且,**的这三个东西在上述三个产品的功能上都处于核心位置。我想这已经不再是个案的问题了。我想说的是,人心浮躁,急功近利。放在脱壳上也一样,放眼望去,遍地都是求助如何脱某某版本壳,如果快速入门,如何xxx等等的帖子;要不然就是瞧不起别人,谩骂,嘲讽的帖子。拜托,正常一点,就不能以一个平和的心态交流么?你不会的话,就静静的看,会的话也不要炫耀,你总有问人家问题时候。现在太少的人会潜下心来耐心的去研究,去钻研了。这不仅仅反映在脱壳这个小小的方面,国内大学的学术的气氛也好不到哪里去(请不要怀疑,这种事情我经历的很多)。如果上述三个软件的作者能够真正做出自己的东西来,我想就不至于是现在这个局面了。我真的希望看到的时候designed in china,而不是made in china。

上面的话只是我个人的牢骚,你说我唱高调也好,唱低调也罢,都只是我个人的一点点感受,你可以说我是个愤世嫉俗的人,也可以说我是个虚伪的爱国主义者,但是请不要谩骂。

最后说点儿壳的那点儿破事儿。我个人的忠告是:知道自己在做什么,要做什么!
具体说来,当你拿到一个加壳文件的时候,跑一边文件,你要知道,怎么才能脱壳:什么时候解码完全,需要修复什么:IAT,tls,资源表,输入表,重定位表,PE头。代码,sdk等等。。。。当你遇到新的问题的时候知道自己该如何分析。
举个例子:
当你拿到一个加壳文件,一般来说脱壳的思路是在代码解码完成的基础上还原IAT,然后重建输入表。但是如果这些工作你都做了,但是还是不能运行,就要考虑是不是资源被偷了?tls里面有自校验?PE头有问题?是不是有些代码被壳搬走了?还有没有没修复好的IAT呢?antidump? 脱壳自校验?等等问题,然后自己一一的去解决。
上面这段貌似说的像是废话,但是我喜欢你看了以后能开始自己的学习之旅,然后过一段时候再回来看一下,希望你能有些收获。
PYG19周年生日快乐!
  • TA的每日心情

    8 小时前
  • 签到天数: 2170 天

    [LV.Master]伴坛终老

    发表于 2010-2-3 15:29:21 | 显示全部楼层
    /:QQ3
    哦只看看,不说话地呢
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-6-6 01:55:47 | 显示全部楼层
    我觉得说的很好.
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2021-7-30 21:39
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2010-7-21 10:42:39 | 显示全部楼层
    我是新菜鸟,至于脱壳我是一窍不通,希望一段时间后,我能做到,脱壳也不是那么神秘!这个可能就是进步!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-6-30 21:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2010-7-28 21:44:07 | 显示全部楼层
    真的是受益非浅。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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