Program : The Armadillo Software Protection
System Version2.51
Type : Software
Protection System
OS : Win9x/Me/2k
Protection : Armadillo?
Homepage
: http://www.siliconrealms.com/
Download
: http://mud.sz.jsinfo.net/per/aaron/files/protectors/win/armd250.zip
Cracked by : zombieys[CCG]
Release type
: full unpack cracked
Release date : Apr 13,2002
Release
name : cr-Armadillo251.exe (749,568 bytes)
Release Download
: http://www.fuluck.com/newpage/cr-Armadillo251.rar
技术参考:
The Armadillo Software Protection System
Version 2.51
(1)找入口:
bpx VirtualProtect,在最后一次被中断后,按大约2次f12返回Armadillo领空,按f10带过一个call,在下一个call进入,继续按f10走到call
edi处,edi里存放的就是入口地址
(2)脱壳
请参考Hying[CCG]老大的原文
首先一点是Armadillo是通过类似于调试的方法来运行程序的。
新版本Armadillo脱壳的一个难点是它的代码段是分页解密的,我估计它的做法是将代码段锁定,即将其属性设为不可读、写、执行,当被执行到时会产生一个页面保护错误,而调试程序就会捕获这个错误,将对应的页面解锁并解密,然后返回执行。
要对它脱壳的话可以考虑这样做,编一个小程序,如下:
push PAGE_READWRITE
push
MEM_COMMIT
push 100000h <-申请内存的大小,可大一点。
push 0
call VirtualAlloc <-申请内存
mov edi,eax
mov ecx,???? <-文件映象大小减1000h
mov esi,401000h <-基址加1000h,有的程序不是这个值
rep
movsb
push 80000000h
call Sleep
在原程序中找个空间,尽量不要在代码段范围内,将着这段程序放进去,然后执行它,执行完后,你申请到的内存中就放的是解密后的程序,只要DUMP出来,再加一个可用的文件头,再修复输入表什么的就可以执行了。
zombieys[CCG]
2002.04.13
- 标 题:The Armadillo Software Protection System Version2.51 full unpack cracked by zombieys (1千字)
- 作 者:zombieys
- 时 间:2002-4-13 9:27:02
- 链 接:http://bbs.pediy.com