【2012-12-21】小米脱壳——通用脱壳机v1.04 世界末日版(保存OVERLAY)
本帖最后由 Niucool 于 2012-12-24 23:21 编辑感谢大家对小米脱壳的支持,先前的小米脱壳版本发表在这个帖子里:
http://www.52pojie.cn/thread-153693-1-1.html
【2012-12-21】世界末日版
1. 在脱壳时保存加壳文件的OVERLAY
12-24附件更新了下。
【2012-11-3】
1. 升级内置的userdb.txt
2. 修复 xinerqu 和binke发现的BUG
3. 增强了IAT修复的算法(但是binke提供的那个aspack的壳仍然无法完全修复IAT。)
4. 增加了命令行功能
5. 增加了自动检测更新按钮
【2012-10-12】
修复了wofan发现的BUG
修复了shenjingde发现的BUG
【2012-09-26】
在众位的鼓动下,终于把DLL重定位的问题修复了,提前发出来祝大家国庆节快乐!如有任何问题请留言。
1. 支持动态库脱壳
2. 强力修复导入表 (新功能,可能有BUG!)
3. 修改几个小BUG
请到小米脱壳官网查看更新或者直接从此贴附件下载v1.0.0.1
下面来说说小米脱壳的功能:
1. 脱壳
目前可脱壳种类包括但不仅限于以下壳:
UPX
NSPACK
eXpressor
FSG
telock
ReCrypt
Orien
Aspack
telock
ReCrypt
AcProtect
MEW
Molebox
mpress
EXE STEALTH
VPacker
yoda's cryptor 1.2
WinUpack 0.39 final
PECompact
PETITE 2.2
Morphnah Beta
2. 检测壳类型
采用PEID的USERDB.TXT来检测壳类型,小米脱壳内置一份USERDB.TXT,您也可以在小米脱壳目录下放置USERDB.TXT的最新版本以替代之。
常见问题:
Q: 什么是脱壳机?
A: 就是软件用加壳软件加了壳,另外有人写了针对这个壳的脱壳程序,就是脱壳机。
Q: 什么是通用脱壳机,通用脱壳机和专用脱壳机有什么区别?
A: 通用脱壳机能通用于多种加壳软件的脱壳机,专用脱壳机一般只针对一种壳或者一种壳的特定版本进行脱壳。
Q: 通用脱壳机是如何实现的呢?
A: 通用脱壳机一般是通过运行加壳程序,通过多种规则识别加壳程序的实际入口,转储程序内存,然后修复加壳程序的PE文件结构,使文件尽量恢复到未加壳以前的状态。
运行加壳程序方法有两种,一种是以调试方式实际运行加壳程序;另一种是虚拟机方式,即构建一个虚拟环境模拟Windows装载和执行加壳程序。小米脱壳采用虚拟机方式实现脱壳。
Q: 小米脱壳的脱壳能力如何?
A: 经测试小米脱壳能脱绝大多数压缩壳,能脱少量加密壳,因为加密壳需要的特殊处理很多,作为通用脱壳软件小米脱壳没有针对每种壳进行特殊处理。
Q: 小米脱壳的壳识别能力如何?
A: 小米脱壳的壳识别采用PEiD的特征库,与小米脱壳是两个独立的功能。能不能识别壳和能不能脱壳没有任何关系。
Q: 运行小米脱壳来对一个文件脱壳为什么没有生成脱壳文件?
A: 可能有很多原因,如
1. 目标文件不正确,如不是PE文件,或文件没加壳。
2. 小米脱壳无法定位加壳文件的原始入口。
3. 小米脱壳的虚拟机运行不正确或者程序有BUG。
Q: 运行小米脱壳来对一个文件脱壳生成了脱壳文件,但为什么运行直接CRASH?
A: 应该是文件恢复不正确,如导入表,入口,内部代码等没有完全恢复。绝大多数情况下,如果能生成脱壳文件,说明小米脱壳已经成功找到原始入口并DUMP内存文件,这类文件可以用手工方式进行修复。总之,如能生成文件,离文件的完美脱壳已经不远了。
Q: 小米脱壳还欠缺哪些功能?
A:
1. 不能脱强加密壳,如VMP,THEMIDA等.
2. V1.0不处理code replace.
Q: 能不能帮忙帮我脱个壳?
A: 由于精力和水平有限,没有办法帮你给一个特定的程序脱壳。但如果发现一个加壳工具,小米脱壳能生成文件,但是运行不正确,可将此加壳工具发给我,我会安排时间进行分析,并告诉你是否可以支持此脱壳工具。
Q: 如何联系作者?
A: 请发邮件至epocsoft@gmail.com.
这个很强大哈!好东西收下了! 这个要用到,谢谢LZ。 厄。强烈支持哈。 感谢楼主分享 非常有必要顶一下 沙发谢谢分享!!!加分我哈 先顶下,问问朋友要不要这东东 沙发谢谢分享 测试去。、。。 绝对用得到,谢谢分享