首页
社区
课程
招聘
[求助]面对未知壳,如果要手动脱的话,应该怎么做?
发表于: 2007-6-29 14:27 5809

[求助]面对未知壳,如果要手动脱的话,应该怎么做?

2007-6-29 14:27
5809
小弟初学脱壳,想问问,如果拿到一个完全看不出名字来的未知壳,如果要手动脱的话,是不是就是本着一条原则:  

只能让程序F4往前运行,不能让程序JMP 回去绕进壳的加密循环里,然后当 F4 到一定程度的时候,凭经验和特定的语言的OEP 的特征码来判断是不是到 可以DUMP的脱壳点了。。。。大原则是这样的么?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 44
活跃值: (24)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
来个水贴,希望大大们见谅!
我想问问题啊。。。
2007-7-1 05:48
0
雪    币: 295
活跃值: (346)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
3
压缩壳可以那样.

加密壳一般不行.

对未知加密壳一般如下:

1.  先去掉反调试, 使程序能在调试器的控制下运行:

  1.1  先用调试器OD/softice等 载入, 在无单步/断点的情况下看能否顺利运行. 如不能运行, 表明有反调试;

  1.2  简单的用OD的HideOD 插件就可以搞定. 复杂的要具体分析, 要比较熟悉常用的反调试及怎么反-反调试.

  1.3  如果知道是什么样的反调试,不会跳过, 那是基本功的问题, 在看雪精华中总可以找到参考的例子.

  1.4  如果是特别新的反调试,普通人是搞不定的. 大虾一般都对新的挑战感兴趣, 只能等大虾出马.

  1.5  使程序能在调试器的控制下运行, 即可以设置断点, 该断下就断下, 该运行就运行.

2. 找OEP 和 DUMP 程序内存 IMAGE

  2.1 找OEP一般可用二次或多次内存断点大法. 到OEP先判断有无 stolen code, 有的话就要修复.

  2.2 如果只是在OEP处有少量的 stolen code, 可跟踪带壳程序, 找到原来的代码, 要靠经验.

  2.3 如果 stolen code 很多,且不仅仅只在OE处, 则一般需要补区段.

  2.4 一般的加密壳可在OEP DUMP, 猛壳一般都不行.

  2.5 在 OEP DUMP的如果不行, 表明程序不是一次完全解密的. 有的是还没完全解密, 有的是又重新加密回去了.

  2.6 如果不能DUMP, 表明有anti-DUMP, 则一般都要经过DEBUG找到anto-DUMP在哪, 又是基本功了

3. 修复IAT, 资源, 如果是DLL, 一般还要修复重定位.

4. 补附加数据,去暗桩

多余的话:

1. 未知壳一般都不会是猛壳, 压缩壳就不说了,加密壳参考上面就可搞定.

2. 新出名的猛壳, 又大量应用的, 在看雪肯定是热门话题.

3. 应用较少的猛壳,或一些高手的超猛壳, 带 SDK 的, 还是放弃吧, 何苦和自己过不去.

4. 对未知猛壳都能拿下的话,是不用看上面几条的,请分享你的经验.
2007-7-3 01:39
0
雪    币: 210
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Ls回答的很是详细,谢谢了。
2007-7-15 23:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
来点水帖我想问下本站有陪训的吗?
2007-7-16 00:55
0
游客
登录 | 注册 方可回帖
返回
//