【破文标题】针对FSG 2.0的壳简单脱法和脱壳后的输入表手工修复
【破解工具】PEDI、OD、loadpe、ImportREC、windows自带计算器
【任 务】找到FSG 2.0更好的脱壳方法,并且脱壳后ImportREC无法正确修复时要做的手工修复输入表(此点很重要)
【破文作者】风尘
【破解声明】我只是一只小小的菜鸟,当有点开心的破文时我想把我的喜悦和心得与大家分享,并与众多菜鸟一起成长:)
【破解平台】 win 2000 sp4
【时 间】2006-04-07
【破解过程】
大家好,我是风尘,我又来了
今天有网友问我关于FSG 2.0的壳怎么那么难脱,其实这个壳我以前也没碰过。没办法先上网查查,没想到关于这个壳的教程或者动画少得很,而且都不是很详尽的(最主要的是后来的修复问题),对于我们这样的菜鸟根本就没办法完成。今天既然有人问就试试看,也找到了一点心得,所以做了个动画,以方便以后自己学习参考,并希望能给菜鸟们一点点提示,互相学习学习。
这个软件是 局域网查看工具V1.60,我自己用FSG 2.0压缩后再来脱壳
好,我们先用PEID查壳,FSG 2.0 -> bart/xt,当然不会错了
我们用OD载入程序,载入后,我们先用F8步过,当碰到返回跳转时,我们就往下跳,一会我就告诉你们哪里是重要的位置,好看操作
好,我们一直F8和F4(这个组合老来干扰
)来到这里,注意了
004001CC 40 inc eax
004001CD ^ 78 F3 js short 局域网查.004001C2
004001CF 75 03 jnz short 局域网查.004001D4
004001D1 FF63 0C jmp dword ptr ds:[ebx+C] //这个跳转其实是FSG的通用特征,看网上的破文都知道
004001D4 50 push eax
004001D5 55 push ebp
但是在这个重要的跳转前面并没有直接跳过来,所以我们就采用别的方法了,方法很多,我现在说比较合适的方法
我们直接在004001D1 FF63 0C jmp dword ptr ds:[ebx+C]下断,然后运行程序,看看一会有什么发现
好,被断下了,这时我们要按F8继续
不好意思,其实第一次分析的时候不是这么显示的,不过不管怎么显示,你只要重新分析一次就变成我这样了
好,已经第一次脱完了,我们试试运行程序看,程序错误,当然了一般情况是会错误的,除非简单的程序,比如记事本可能第一次脱完就OK了
好,先打开IM,输入刚才复制的OEP:A5714,看看只有这么点东西很显然输入表的位置和大小都不对了,但是IM自动跟踪到的RVA还是有用的
因为一会我们要用到它这个RVA:A928C,好,我们现在开始手工修复输入表了,还用OD,直接定位到RVA+基码=4A928C,
定位以后我们看到了输入表的一部分,但是肯定IM没定位到正确的位置,所以我们手工找它,先往上看,一直看到很多00000那就是开始位置了
我们记下有第一个数据的地址:4A91A4,好,现在往下找要找到输入表的结尾,
004A995C FF db FF
004A995D FF db FF
004A995E FF db FF
004A995F FF db FF ; 这里就是结尾了,看内容看得出来的,当然我们要记下的代码是下面的那个,因为一会要运算
004A9960 . 6B 65 72 6E 65 6C>ascii "kernel32.dll",0
004A996D 00 db 00
004A996E 00 db 00
好,记下4A9960,现在我们来运算SIZE的大小,其实就是最后的代码减4A9960刚才第一个代码4A91A4,即4A9960-4A91A4=???
有人肯定会喊不会算,那就用系统自带的计算器吧(真懒
),把计算器换到十六进制,四字节,
晕,看错第一个代码了,嘿嘿,结果就是7BC,好了,新的RAV地址我们已经知道了:4A91A4,SIZE也知道了:7BC,那现在就把这两个值输入IM中,有无效代码,我们点显示无效指针,把无效指针剪切掉,都是有效的指针了,我们可以修复了,保存成功,我们试试看
哈哈:)……………………
搞定了,就那么简单
总结:其实刚开始脱壳时,用OD载入后我们可以通过搜索代码直接找到那个重要的JMP的,用CTRL+B然后输入FF630C,然后下断,运行择优很快就可以到达OEP了,修复输入表主要看开始和结尾,然后运算出大小,把两个正确值填入IM中再修复第一次脱壳后的文件,因为IM把RAV和大小给搞错了(这个小子有时候也会犯迷糊的^_^)
好了,今天就到这了,肚子都叫了,嘿嘿,我要撤咯
有意见或建议请CALL:355386339
风尘
2006.04.07
动画附件:
FSG 2.0的壳简单脱法和脱壳后的输入表手工修复
另外一个是YS168的,可是上传实在太慢,已经上传完毕
FS168分流战:
FSG 2.0的壳简单脱法和脱壳后的输入表手工修复
[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界