论坛首页 密码学讨论区 阅读主题

Windows脱壳基础知识入门及FAQ

138 浏览 24 回复
#1 楼主 2026-06-01 21:09:00
标 题: 脱壳基础知识入门及FAQ

作 者: kanxue

时 间: 2006-01-14 17:20

链 接: http://bbs.pediy.com/showthread.php?t=20366


声明:本篇文章个人用户可以免费的收藏、参考,但是谢绝任何商业网站及传统媒体(如出版物)摘编转载!


    现在加解密发展己形成2个分支了,一个就是传统的算法,另一个就是加密壳。越来越多的软件采用了密码学相关算法,现在要做出一个软件注册机己不象前几年那么容易,这就要求解密者必须要有一定的数学功底和密码学知识,而这些在短时间内是不容易掌握的。除了密码学的应用,越来越多的软件加壳了,因此要求解密者必须掌握一些脱壳技术,这就使得壳成了解密必须迈过的一个门槛。壳发展到今天,强度越来越高了,将许多人挡在门外,使得大家望壳兴叹。另外,论坛现在两极分化比较严重,高手讨论的脱壳技术新手看不懂,很多人想学脱壳,但看到壳这么难,只好放弃了,造成新手与高手间一个断档,为了鼓励更多新人加入脱壳的行列,很有必要将壳有关知识总结一下。37bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4@1f1@1i4@1t1^5i4@1u0n7i4@1f1&6i4@1p5I4i4@1t1#2i4@1f1$3i4K6S2r3i4K6V1H3i4@1f1@1i4@1u0q4i4K6W2n7i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1$3i4K6V1#2i4K6V1&6i4@1f1#2i4@1q4p5i4@1p5$3i4@1f1%4i4@1p5I4i4@1q4q4i4@1f1#2i4@1q4q4i4K6W2q4i4@1f1$3i4K6W2o6i4K6R3&6i4@1f1%4i4K6R3J5i4@1t1&6i4@1f1^5i4@1u0r3i4K6R3%4i4@1f1$3i4K6V1%4i4@1t1$3i4@1f1@1i4@1u0m8i4K6R3$3i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4@1t1%4i4@1t1I4i4@1f1#2i4K6R3^5i4@1t1H3i4@1f1&6i4K6W2p5i4K6W2q4i4@1f1$3i4K6W2n7i4@1t1@1i4@1f1$3i4K6V1$3i4@1t1H3i4@1f1@1i4@1t1^5i4K6S2p5i4@1f1#2i4K6S2r3i4@1q4r3i4@1f1@1i4@1u0m8i4K6R3$3i4@1f1K6i4K6R3H3i4K6R3J5i4@1f1@1i4@1t1^5i4@1u0m8i4@1f1$3i4@1q4p5i4@1p5@1i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1$3i4K6V1#2i4@1t1@1i4@1f1%4i4K6V1H3i4K6R3$3i4@1f1^5i4@1u0r3i4K6V1&6i4@1f1%4i4@1q4r3i4K6R3%4i4@1f1^5i4K6R3@1i4@1t1I4i4@1f1#2i4@1p5K6i4@1t1K6i4@1f1#2i4K6R3#2i4@1p5#2i4@1f1&6i4K6V1%4i4@1p5^5i4@1f1$3i4K6S2o6i4K6R3%4i4@1f1#2i4@1q4r3i4@1u0o6i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1$3i4K6V1$3i4K6R3%4i4@1f1%4i4@1q4n7i4@1p5H3i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1$3i4K6V1$3i4@1t1&6i4@1f1@1i4@1u0q4i4@1u0r3i4@1f1^5i4K6R3@1i4@1t1I4i4@1f1#2i4@1p5K6i4@1t1K6i4@1f1$3i4K6V1$3i4@1t1H3i4@1f1$3i4K6R3&6i4K6S2n7i4@1f1@1i4@1u0n7i4@1q4o6i4@1f1#2i4@1q4p5i4@1p5$3i4@1f1@1i4@1t1&6i4@1p5H3i4@1f1K6i4K6R3H3i4K6R3J5i4@1f1%4i4K6W2n7i4@1t1^5i4@1f1#2i4@1q4r3i4@1t1&6i4@1f1@1i4@1u0m8i4K6S2q4i4@1f1#2i4@1q4r3i4K6R3$3i4@1f1%4i4@1p5H3i4K6R3I4i4@1f1#2i4@1q4p5i4@1p5$3i4@1f1%4i4@1q4q4i4K6V1%4i4@1f1$3i4@1t1K6i4K6V1#2i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1^5i4K6R3@1i4@1t1I4i4@1f1#2i4@1p5K6i4@1t1K6i4@1f1#2i4@1t1&6i4@1t1$3i4@1f1@1i4@1t1^5i4K6S2p5i4@1f1&6i4K6W2m8i4@1u0q4i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4K6S2r3i4@1q4m8i4@1f1^5i4@1p5$3i4K6R3I4i4@1f1^5i4K6R3J5i4@1q4r3i4@1f1^5i4K6S2m8i4@1t1I4i4@1f1$3i4K6V1%4i4@1t1$3i4@1f1&6i4K6V1%4i4@1t1@1i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1%4i4K6W2r3i4@1q4p5i4@1f1$3i4K6W2o6i4K6W2r3i4@1f1#2i4K6R3$3i4K6R3#2i4@1f1^5i4@1u0r3i4K6V1^5i4@1f1$3i4K6V1^5i4@1q4r3i4@1f1$3i4@1q4r3i4K6V1@1i4@1f1^5i4@1u0q4i4K6R3K6i4@1f1#2i4@1q4q4i4@1t1&6i4@1f1$3i4K6V1^5i4K6V1K6i4@1f1#2i4K6S2r3i4K6V1$3i4@1f1#2i4@1u0q4i4K6V1%4i4@1f1$3i4K6R3^5i4K6V1H3i4@1f1%4i4@1u0n7i4@1p5&6i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1K6i4K6R3H3i4K6R3J5

   但是,不建议那些加解密刚入门,调试一个普通软件都费劲的朋友来脱壳。至少要等你有一定的调试技能再来学脱壳。也就是说必须掌握这篇文章所讲的东西:新手入门必读(FAQ)


     在本篇文章没完成前,不欢迎转载!我会利用业余时间不断更新中,为保持文章连续性,因此锁帖,如学习过程中有问题请开新帖大家一起交流。这篇入门教学将长期置顶,以代替原来脱壳版块的FAQ,收集一些常见的脱壳问题。希望更多的朋友一起参与进来,如果想参与进来请告诉我撰写的主题,我会开通你跟此帖的权限。


注:本人水平有限,因此这篇文章只是负责将新手领进门,更深入技术的请参考论坛中的精华文章。


第一课 PE格式................

...(已截断)

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-20366.htm
#2 2026-06-01 21:09:00
第十二课 ASProtect 2.x壳


下载:ASProtect unpacker by PE_Kill


PE_Kill出品的ASProtect自动脱壳机,功能非常的强大,能自动修复SDK,ASProtect 2.x之前的版本完全支持。

下载:VolX的Aspr2.XX_unpacker_v1.0


VolX这个脚本其实是一个ASProtect脱壳机了,支持Asprotect 1.32, 1.33, ,1.35, 1.4, 2.0, 2.1, 2.11, 2.2beta, 2.2, 2.3


1.Ollydbg 1.1

2.Odbgscript 1.47 或以上的版本(OD插件,一般集成OD都有)

3.Import Reconstructor


运行Ollydbg打开目标程序,单击OD菜单“插件/Odbgscript/运行脚本”,打开VolX这个脚本:Aspr2.XX_unpacker_v1.0SC.osc


然后按着脚本提示操作就可。

脚本跑完,会在目标软件的目录生成一个de_文件名.exe,OD的记录窗口(按Alt+L)打开显示了OEP,IAT等信息,如:


IAT 的地址 = 00405000
IAT 的相对地址 = 00005000
IAT 的大小 = 000000BC
00A70042 断点位于 00A70042
OEP 的地址 = 00401D2B
OEP 的相对地址 = 00001D2B


接下来,你再用Import Reconstructor修复输入表即可,最后Fix Dump时选中de_文件名.exe.

一般情况下,用ASProtect unpacker by PE_Kill就能脱Asprotect了。如果你要手工脱壳,如下文章可参考:


nspack3.5主程序脱壳分析(Aspr SKE 2.X) (输入表)
Asprotect SKE 2.2 的Advanced Import protection保护技术 (输入表)

莱鸟脱Aspr2.11 SKE+修复stolen (Dump法对付stolen OEP)

ASProtect.SKE.2.11 stolen code解密 (ASProtect 2.11的stolen与SDK修复技术 )
ASProtect_SKE_2.3Beta_Build0319 stolen code分析 (ASProtect 2.22/2.23的stolen与SDK修复技术 )

ASProtect SKE 2.2 SDK中的API修复


附ASProtect脱壳机:

ASProtect1.2以前版本,可以用CASPR v1.10

ASProtect1.2x,可以用Stripper 2.07ht

ASProtect 1.3~ASProtect 2.0 ,可以用Stripper 2.11

ASProtect SKE 2.11以前版本,可以用stripper v2.13 (last beta)

ASProtect 所有版本,包括 SKE 2.2/2.3  下载:ASProtect unpacker by PE_Kill
#3 2026-06-01 21:09:00
好贴
#4 2026-06-01 21:09:00
这篇帖子很不错哟,谢谢楼主!
#5 2026-06-01 21:09:00
谢谢楼主分享,很详细
#6 2026-06-01 21:09:00
先收藏,慢慢化解
#7 2026-06-01 21:09:00
好详细啊  慢慢的看看……。
#8 2026-06-01 21:09:00
楼主:我有个东西您能帮忙看看是怎么加密的吗
#9 2026-06-01 21:09:00
谢谢分享,学到了很多
#10 2026-06-01 21:09:00
谢谢分享
#11 2026-06-01 21:09:00
谢谢分享
#12 2026-06-01 21:09:00
test
#13 2026-06-01 21:09:00
其他更多内容,请查看此帖:http://bbs.pediy.com/showthread.php?t=52042
#14 2026-06-01 21:09:00
第一课 PE格式

   要想学脱壳,第一步就得掌握PE格式,PE是Portable Executable File Format(可移植的执行体)简写,它是目前Windows平台上的主流可执行文件格式。

Microsoft Visual C++提供的WINNT.H里有PE数据结构的完整定义。
推荐文档:
  ah007翻译的“PE文件格式”1.9版
  qduwg翻译的PE文件格式   
  Iczelion's 的PE文件格式
  微软官方提供的PE文档(英文)(Revision 8.1- March 27, 2008)
  微软官方提供的PE文档(Revision 8.1)(zhzhtst翻译成中文)
  探索PE文件内幕—— Win32可移植可执行文件格式之旅(zhzhtst翻译)
  深入剖析Win32可移植可执行文件格式(zhzhtst翻译)   
  PE结构各字段偏移参考

   学习PE格式的方法是自己先准备一个十六进制工具,如HexWorkshop,WinHex,用这些工具打开一个EXE文件对照着学。强烈推荐你用
Stud_PE v.2.6.1.0这款工具辅助学习PE格式。PE格式学习的重点是在输入表(Import Table)这块。
Stud_PE工具界面:
PE结构图:


最后于 2020-7-4 22:08
被kanxue编辑

,原因:
#15 2026-06-01 21:09:00
第十一课 Armadillo壳


辅助工具

相应工具下载页面:798K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4K6u0r3N6r3!0G2L8s2y4Q4x3V1k6#2L8Y4m8S2j5$3E0W2M7W2)9J5k6h3S2@1L8b7`.`.


Armadillo find protected:检测 Armadillo版本号及其保护类型

dilloDIE:一款脱 Armadillo 4.xx 的脱壳机

ArmaGUI:Armadillo 3.xx/4.xx 脱壳机

ArmInline:辅助处理Armadillo壳,其中Code Splicing修复的很完美。输入表混淆修复感觉有些问题,建议手工修复。


手动脱壳教学

试玩armadillo3.50a一点心得 (基础知识)


Armadillo COPYMEMEII之DUMP的一个LOADPE小插件 (利用插件Dump取COPYMEMEII保护的程序)

Armadillo 3.6主程序脱壳   (Dump取COPYMEMEII保护的程序另一方法)


Patch 修复 Armadillo 的IAT乱序 (处理IAT乱序)


Armadillo中code splicing的几种处理方法 (手工修复Code Splicing)

Armadillo客户版Code Splicing+Import (利用ArmInline工具修复Code Splicing)


浅谈Armadillo V.3.75 与 V.3.78的保护 (Nanomites原理概念,即CC保护)

Blaze Media Pro5.05脱壳+基本修复CC(int3)+破解 (修复CC)

Armadillo V4.40主程序脱壳 (目前处理CC很好的一个方法)


带key脱壳:

http://bbs.pediy.com/showthread.php?threadid=23174
#16 2026-06-01 21:09:00
第十课 DLL文件脱壳

DLL文件脱壳


第十一课 优化与自校验去除


1.浅谈程序脱壳后的优化  


2.常见自校检分析实例
‹ 上一页 1 2 下一页 ›

请登录后参与讨论

立即登录 注册账号