好友
阅读权限30
听众
最后登录1970-1-1
|
晚上睡不着,出来冒个泡。一直以来想说说关于脱壳的事儿,今天就发发牢骚吧~
我是个完美主义者,对一切都追求完美。当然对脱壳也不例外。
下面是个人观点,仅代表自己的看法。欢迎拍砖!
我喜欢把脱壳划分成几个阶段。
1,照教程。
2,了解原理和流程。
3,完美脱壳。
对于第一点,或许是现在最多的一种。无论是教程还是视频,很多都是告诉你怎么做,这样做,然后那样就做。就OK了。可是没有人告诉你为什么要这么做。原理是什么。这也是为什么有很多人学脱壳到现在还是新手的原因。为什么不去想想其中的道理呢?所谓万变不离其宗,无论是什么壳,总有法所依,有理所据。其实只要你想想。你的天空会晴朗不少的。我这里毫不客气的说一句,对于任何一个壳,如果你对它的认识仅仅是停留在这个阶段的话。抱歉,请不要说你会脱这个壳!
对于第二点。记得之前,Nisy跟我说过,高手在脱某个壳的时候,基本都是逆出一个壳的。不管这种说法是否夸张,这至少说明了一种态度。对于壳,就要追求女生一样,你需要去了解她,需要去剖析她。如果你想把她追到手,就不能放过任何一个细节。深入分析她!我对会脱某个壳的定义是:拿到任何一个这个壳的样品,首先头脑里面要有壳结构的清晰的轮廓,而不是想着去下什么断点,用什么方法。当你有了这样一个轮廓后,脱壳时,无论代码停在哪里,经过简单的分析,你都能够很快的确定这段代码的功能和含义。这才能真正学到东西。所以,我想说的是,如果你没有对一个壳做过全程分析的话,请不要说你会脱这个壳。
对于第三点。我觉得是建立对于壳很深的理解上的。所谓完美是什么呢?让程序尽可能的恢复到加壳前的状态:Dump点越早越好,最好不用ImportREC,最好把输入表建立在某个区段里面,最后能恢复所有区段名的原始状态。。。。或许这些要求有些过于苛刻,但是我认为这是对于能力的训练有很大的益处。这也是我追求的最高境界。
几个建议:
1,如果你想写脱文的话,请写思路,而不要写怎么做。更苛刻的要求是,边写文章边问自己问题,如果遇到连自己都无法的解释的问题,请先弄明白了以后再发文章。简而言之就是,你的文章至少要保证自己能看懂。
2,多做做全程分析,你的收获会很大的。
3,IDA很适合做全程分析。没了
啰嗦完了,希望对新手朋友能有些启示。
PS: 好想默默的说……
有意见的话,请提,我们开开心心的讨论。
原文地址: http://www.unpack.cn/viewthread.php?tid=35889&extra=page%3D1
对脱壳的态度阐述的非常的棒,坚持做到第2点,哈哈
评论也相当有意思,哈哈 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|