fly 发表于 2007-9-17 19:18:55

UpK脱壳问答 [随时更新]



中国软件安全组织

http://www.unpack.cn/images/default/logo.gif
『 一蓑烟雨 』软件安全社区
www.unpack.cn
UpK论坛专注于软件安全领域
以软件安全研究和软件安全工具共享为特色
理性宽容
与人为善


此贴收录脱壳中某些常见问题的解答
欢迎大家推荐,可以PM或者在某贴下标注

? 哪些压缩壳比较好?
http://www.unpack.cn/viewthread.php?tid=13690
压缩壳以压缩率、运行效率、兼容性为要素,UPX V2.X/NsPack V3.7/ASPack V2.12为2006年压缩壳前三甲
UnPacKcN.The.King.Of.PE.Compressor 排行榜
http://www.unpack.cn/viewthread.php?tid=13690
解答:fly

? PEiD新特征库哪里有?
UnPacKcN.PEiD.Sign 会及时更新
http://www.unpack.cn/viewthread.php?tid=1333
解答:fly

? 是什么组织?
是UnPacKcN论坛官方于2007年9月9日成立的中国脱壳组织,研究脱壳技术和保护技术。
Founder: fly、shoooo、forgot、fxyang、heXer                    Leader : fly
是非商业的纯软件安全技术研究组织,精益求精和宁缺毋滥是审核新成员的基本准则,加入只是你软件安全生涯的新起点,不断追求进步才是你真正的目标。欢迎大家加入,但不需要无意义的挂牌,不做无聊的游戏,需要大家一起创造我们的精彩!
http://www.unpack.cn/viewthread.php?tid=17260
解答:fly

? ASProtect脱壳的软件如何重新加ASProtect壳
http://www.unpack.cn/viewthread.php?tid=4831
ASProtect 壳标记在PE结构的Reserved中,第一个区段名应在位置之前2个字节
000001F4    00001000    DD 00100000  ;  Reserved
10 00 --> 00 00 即可重新使用ASProtect加壳
解答:fly

? Armadillo脱壳后重新加Armadillo壳的问题
http://www.unpack.cn/viewthread.php?tid=4142
PETools->PE Ediotr打开脱壳后文件->Optional Header->修改Major Linker Version、Minor Linker Version为00、00
解答:fly

? 某些Armadillo脱壳后PEiD依旧显示有壳问题的解决
http://www.unpack.cn/viewthread.php?tid=1542
解答:fly

? 用Armadillo加注册后如何自己算注册码
http://www.unpack.cn/viewthread.php?tid=5974
打开Armadillo\Examples\30days.ARM看看是如何设置工程的
Encryption Template第一个用默认的,第二个可以自己定义
解答:fly

? ACProtect脱壳后重新加ACProtect壳的问题
http://www.unpack.cn/viewthread.php?tid=17509
把脱壳后文件的最后一个区段名.perplex修改为其他字符即可
解答:fly

? ACProtect脱壳后重新加ACProtect壳无法运行
http://www.unpack.cn/viewthread.php?tid=17509
以前修复的不完美则重新加ACPr不一定可以运行的;另外调低强度试试
解答:fly

? 脱壳时F8步过LoadLibraryA就异常的问题
http://www.unpack.cn/viewthread.php?tid=17519
卡巴斯基用驱动Hook了几个Api,所以直接F8可能会异常,写脚本时要注意处理这些,在下条指令下断后Shift+F9即可
解答:fly

? 有能跑起来EXECrypt的OllyDBG吗?
http://www.unpack.cn/viewthread.php?tid=16176
The0DBG+HideToolz
解答:unppnu

? 有能跑起来Themida/WinLicense V1.9.3.0的OllyDBG吗?
http://www.unpack.cn/viewthread.php?tid=16176
The0DBG+HideToolz+HideOD
解答:fly

? 反调试(AntiDebug)情况收集
《Windows反调试参考》angeljyt翻译
http://www.unpack.cn/viewthread.php?tid=17508
Windows Anti-Debug Reference
http://www.unpack.cn/viewthread.php?tid=17419
解答:fly

? 无法定位程序输入点RestoreLastError于动态链接库kernel32.dll上的问题如何解决
大家在WinXP下脱壳的文件有的在Win98/2K平台上无法运行,最出名的就是这个RestoreLastError函数问题,修改kernel32.dll RestoreLastError -> kernel32.dll SetLastError即可
解答:fly

? 输出转向函数如何确定
使用IDA分析kernel32.dll 可以获得以下内容,即为相关的API直接输出转向列表
http://www.unpack.cn/viewthread.php?tid=16207&page=2#pid153453
解答:zhuwg

问题:跨平台运行——脱壳修复输入表函数收集
链接:http://www.unpack.cn/viewthread.php?tid=16207
答者:fly

问题:Art of Unpacking
链接:http://www.unpack.cn/viewthread.php?tid=16126
答者:shoooo

问题:[翻译]脱壳的艺术
链接:http://www.unpack.cn/viewthread.php?tid=16606
答者:hawking

问题:PEiD V0.94不能识别Themida/WinLicense?
解答:使用UnPacKcN PEiD Sign即可识别Themida/WinLicense
答者:fly

问题:Themida和winlicence为什么是分开的?而有的壳PEID显示为Themida/winlicence是什么意思?两个混用吗,还是不确定?
链接:http://www.unpack.cn/viewthread.php?tid=19313
解答:Themida和Winlicence其实是相同的壳,Winlicence是Themida+注册功能,相当于Themida高级版吧
答者:fly
日期:2008.01.19

问题:Themida/WinLicense V1.8.2.0 +  -> Oreans Technologies   * Sign.By.fly * 加壳程序用原版OllyDBG载入后就出错
链接:http://www.unpack.cn/viewthread.php?tid=21521
解答:调试可以试试以下插件和修改版OllyDBG
可以调试EXECryptor、Private exe Protector、Themida的超强Anit Anti插件:PhantOm
http://www.unpack.cn/viewthread.php?tid=19262
The0DBG——让OllyDBG+HideToolz可以正常调试Themida V1.9.3.0
http://www.unpack.cn/viewthread.php?tid=16176
2008戊子春节@10礼物——Immunity.Debugger.V1.3.完整绿色版.Modify.By.fly
http://www.unpack.cn/viewthread.php?tid=21252
答者:fly
日期:2008.01.19

问题:ArmaDetach.v1.31_RES_tool如何使用?
链接:http://www.unpack.cn/viewthread.php?tid=21220
答者:fly

问题:何谓脱壳的最佳时机?
解答:手动脱壳理想的最佳dump时机是指壳已经把程序代码包括资源等数据全部解密、输入表等数据还原但还未填充系统函数地址、DLL则还未重定位,此时dump出来的文件只需修正OEP、ImportTableRVA等信息即可正常运行完成脱壳。
答者:fly
日期:2008.01.23

问题:WinLicense怎么实现一机器一注册码
链接:http://www.unpack.cn/viewthread.php?tid=21802
解答:首先要启用硬件绑定功能。%machineid  获取 HardwareID
答者:xknt
日期:2008.01.29

解答:WinLicense一机一码加壳方式图解
链接:http://www.unpack.cn/redirect.php?tid=21927
答者:fly
日期:2008.02.02

问题:OllyDBG如何带源码调试
链接:http://www.unpack.cn/viewthread.php?tid=11429
解答:VC为例 test.vcproj,Debug方式编译生成test.exe,OllyDbg 载入编译后文件,View->Source File->test.cpp,可以在源码中F2设断,也可以双击某行源码直接跳至OllyDbg反汇编窗口中相应代码处,以后就可以View->Source察看了
答者:fly
日期:2007.03.28

问题:ImmunityDebugger与OllyDBG有何不同
链接:http://www.unpack.cn/viewthread.php?tid=21453
解答:Immunity Debugger是Immunity公司购买OllyDBG源码后继续开发的调试器,相当于OllyDBG最大的改变是集成了Python作为其内置的脚本插件,另外还修改了OllyDBG V1.10的某些bug
答者:fly
日期:2008.01.16

问题:EXECryptor加壳Delphi程序时如何使用Protect Entry Point功能
链接:http://www.unpack.cn/viewthread.php?tid=22550
解答:Delphi程序需要在源代码级处理后才能启用保护入口功能,要启用 "保护入口点" 功能,要添加 EXECryptor.pas 到你的方案中。已经编译好的Delphi的exe程序无法启用此功能。EXECryptor加壳BC++程序也如此
答者:exky
日期:2008.02.24

问题:有自动脱ASPack壳的工具吗?
链接:http://www.unpack.cn/viewthread.php?tid=23067
解答:这个ASPack脱壳机很棒:ASPack All Versions UnPacKer.By.PE_Kill(http://www.unpack.cn/viewthread.php?tid=3821)
答者:fly
日期:2008.03.14

问题:Armadillo加壳程序的机器码如何修改?
链接:http://www.unpack.cn/viewthread.php?tid=23594
解答:请查阅以下相关教程
Fixing.Armadillo.3.xx-4.xx.Hardware.FingerPrint.By.newbie_cracker
http://www.unpack.cn/viewthread.php?tid=7124
Armadillo_5.xx_(Hardware_FingerPrint_+_CopyMem_2)
http://www.unpack.cn/viewthread.php?tid=22547
FingerPrint Changer For Armadillo 5.xx.By.SUB Z3R0
http://www.unpack.cn/viewthread.php?tid=22824
Armadillo 3.xx - 5.xx Fingerprint Patcher v0.1 by LCF-AT@tuts4you
http://www.unpack.cn/viewthread.php?tid=23396
Armadillo 3.xx - 5.xx (Hardware Fingerprint Part 2)
http://www.unpack.cn/viewthread.php?tid=23372
答者:fly
日期:2008.04.02

问题:特定码
解答:在壳解压和处理输入表等脱壳调试过程中可以找到某些特定的指令,这些指令对于某壳某些版本来说是固定的可以被反复使用,借助这些特定码可以大大简化对此壳的脱壳流程。
答者:fly
日期:2009.01.29
教程:
        特定码——用OllyDBG手脱Enigma Protector V1.12加壳的试炼品
        http://www.unpack.cn/viewthread.php?tid=3981
        特定码——用OllyDBG手脱 ORiEN V1.03+V2.11+V2.12 加壳的试炼品
        http://www.unpack.cn/viewthread.php?tid=11085

问题:ESP定律为何一定要用硬件断点?
链接:http://www.unpack.cn/viewthread.php?tid=29601
解答:你要看是什么壳,有些壳防内存断点,有些壳防硬件断点,OD内存断点有两种类型,一种是内存访问断点,一种是内存写入断点,硬件断点有三种类型,一种硬件访问断点,一种是硬件写入断点,还有一种是硬件执行断点,这些断点类型有byte类型,也有dword类型,内存断点是改写代码页属性引发异常后由调试器捕获的一种断点类型,而硬件断点利用的是调试寄存器来设置的断点类型.esp定律是利用堆栈平衡的规律来下断点的.下断点因壳而异,当然,在下不了内存断点的情况下,下硬件断点是比较有效的方法,但不能一概而论
答者:layper
日期:20081022

问题:OllyDbg快捷键CTRL+F9和ALT+F9的区别是什么?
链接:http://www.unpack.cn/viewthread.php?tid=36549
解答:
        0.F9 - 让程序继续执行。
        1.Ctrl+F9 - 执行直到返回,跟踪程序直到遇到返回,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条命令执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。
        2.Alt+F9 - 执行直到返回到用户代码段,跟踪程序直到指令所属于的模块不在系统目录中,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。
        3.Shift+F9 - 与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理。如:你设置OllyDBG不忽略所有异常,载入Asprotect加壳文件,F9的话会一直在某异常处,Shift+F9会运行到下个异常处
答者:fly
日期:20090601

问题:附加数据(Overlay)是什么?
链接:http://www.unpack.cn/viewthread.php?tid=35370
解答:Overlay:附加数据,附加在PE文件后面的不被映射到内存空间中的数据。PE文件最后一个区段的ROffser+RSize是Overlay开始处。
答者:fly
日期:20090602

问题:AsPack的壳标记 是什么?
链接:http://www.unpack.cn/viewthread.php?tid=36609
解答:PEsignature+0F6的10Byte就是AsPack的壳标记
答者:fly
日期:20090602








继续补充、更新……


http://www.unpack.cn/LoGo/UnPacKcN.gifUpK软件安全社区
2004-2010 UnPacKcN. All Rights Reserved.
UpK管理团队
http://www.unpack.cn
2007.09.17

fly 发表于 2007-9-18 09:57:23

预留

fly 发表于 2007-9-18 09:57:35

预留

fly 发表于 2007-9-18 09:57:47

预留

fly 发表于 2007-9-18 09:57:52

预留

fly 发表于 2007-9-18 09:59:51

此主题打开,欢迎大家根贴常见问题和解答
格式如同首楼,注明答案和链接(如果有)
有价值的我会统一整理到首楼里面,谢谢

daxia2002 发表于 2007-9-18 12:35:38

支持+预留。。。。。。

goastship 发表于 2007-9-19 08:14:45

非常庆幸自己在此论坛注册,并遇到一位非常好的老师.

angeljyt 发表于 2007-9-20 13:11:07

:( 老大好像还忘了一样好东东哦.看雪上已经有人翻译出来了脱壳的艺术

fly 发表于 2007-9-20 15:42:34

《脱壳的艺术》可以整理进去
谢谢

啊cr 发表于 2007-9-22 19:35:32

支持。


我想如果规模再大一些的话 就将成为壳界的葵花宝典

做成电子书怎么样?

魔法光圈 发表于 2007-9-27 13:37:12

支持制作电子书,可以作为经典收藏啊!

glts 发表于 2007-10-29 20:40:59

程序进程 在ImportREC进程选项中 找不到怎么处理? 先摆个摊位

wowcra 发表于 2007-11-1 23:35:39

学习

enjon 发表于 2007-11-5 16:08:32

FLY 辛苦了,谢谢FLY分享:P
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: UpK脱壳问答 [随时更新]