找回密码
 注册
搜索
热搜: 回贴

用Softice脱Aspack 2.1的壳,Aspack,脱壳技术

2010-1-30 18:21| 发布者: admin| 查看: 80| 评论: 0|原作者: 夙玉


用Softice脱Aspack 2.1的壳,Aspack,脱壳技术
2008年06月23日 星期一 下午 05:27
工具: softice,procdump, SoftICE Backdoor Keeper, frogsice 0.43, icedump

SoftICE Backdoor Keeper 到这边抓

http://protools.exit.de/files/debuggers/ex-sibdk1.zip

他说这个应该是适合所有的 softice 版本,我用 softice 4.05 测试没问题



前言:



这个档案也是用 asprotect 保护的

此版的 asprotect 会检测 softice, 且还会用 int 3 去检测

只用 frogsice 是无效的, 因此要配合 SoftICE Backdoor Keeper

把ex-sibdk1 解开,放到 softice 的目录,运行他,他为去改 winice.exe

改完了再重开机,就可以 下 bpint 3 了

若没有运行这个,下 bpint 3 是拦不到 int 3 的

还有一点,这个程序,未进入 OEP 之前

地址每次运行都会变,所以我写的地址,当然叶丝谕你的不一样

这个要注意的.



ok, go!!



1: 先用 procdump 观看一下 aspack,

size of image 是 0007A000

image og base 是 00400000

看一下 section

.idata 的 visual offset 是 46000

这个应该是放 import table 的地方



2: 运行 frogsice,还有icedump, 按 ctrl-d 进入 softice, 下 bpint 3

就是要拦截 int 3, 因为有运行过

运行 aspack2.1

aspack2.1 会检测 sice 和 ntice

sice 要去欺骗他, ntice 不要欺骗他,不然会当机

到了拦截 int 3 时 , 就是这边,下 e eip 0

故意让他生成例外.在下 bpm 446000

为什么要下 446000 ? 是因为 400000 46000 = 446000



014F:004D2AD5 CC INT 3 ; 光标停在这边

014F:004D2AD6 EB02 JMP 004D2ADA

014F:004D2AD8 E9025DEB02 JMP 033887DF

014F:004D2ADD E9FF33C05A JMP 5B0D5EE1

014F:004D2AE2 59 POP ECX

014F:004D2AE3 59 POP ECX

014F:004D2AE4 648910 MOV FS:[EAX],EDX

014F:004D2AE7 EB0A JMP 004D2AF3

014F:004D2AE9 E9121AFFFF JMP 004C4500

014F:004D2AEE E8791BFFFF CALL 004C466C

014F:004D2AF3 8A154C8F4D00 MOV DL,[004D8F4C]

014F:004D2AF9 8B45F4 MOV EAX,[EBP-0C]



3:

下完了 bpm 446000 , 不要按 F10 或 F8, 直接按 F5,

按 四次 F5,仔细看一下 ds:446000 的下方, 此时 import table 应该是

正确的 import table 了, 可以 dump 出来了,

用 icedump 来 dump, 下 pagein d 446000 2000 c:\temp\aspack.import

名字可以自定.



再按 2 次 F12,按第一次 F12 会等约10~20 秒才回到 softice

我也不知道为什么

按完了两次, 会到这边



014F:004BEDB4 33C0 XOR EAX,EAX

014F:004BEDB6 5A POP EDX

014F:004BEDB7 59 POP ECX

014F:004BEDB8 59 POP ECX

014F:004BEDB9 648910 MOV FS:[EAX],EDX

014F:004BEDBC EB13 JMP 004BEDD1 ; 若过期了,当到了这边可下

r eip 004BEE50 (当然,我的地址一定和你的地址不一样)



014F:004BEDBE E96914FFFF JMP 004B022C

014F:004BEDC3 66B80D00 MOV AX,000D

014F:004BEDC7 E870F1FFFF CALL 004BDF3C

014F:004BEDCC E8C715FFFF CALL 004B0398

014F:004BEDD1 33C0 XOR EAX,EAX

014F:004BEDD3 55 PUSH EBP

014F:004BEDD4 68F1ED4B00 PUSH 004BEDF1

014F:004BEDD9 64FF30 PUSH DWORD PTR FS:[EAX]

014F:004BEDDC 648920 MOV FS:[EAX],ESP

014F:004BEDDF 8B4508 MOV EAX,[EBP 08]

014F:004BEDE2 E80DFCFFFF CALL 004BE9F4 ; 会跑出过期的消息,

014F:004BEDE7 33C0 XOR EAX,EAX

014F:004BEDE9 5A POP EDX

014F:004BEDEA 59 POP ECX

014F:004BEDEB 59 POP ECX

014F:004BEDEC 648910 MOV FS:[EAX],EDX

014F:004BEDEF EB13 JMP 004BEE04

014F:004BEDF1 E93614FFFF JMP 004B022C

014F:004BEDF6 66B81100 MOV AX,0011

014F:004BEDFA E83DF1FFFF CALL 004BDF3C

014F:004BEDFF E89415FFFF CALL 004B0398

014F:004BEE04 33C0 XOR EAX,EAX

014F:004BEE06 55 PUSH EBP

014F:004BEE07 683DEE4B00 PUSH 004BEE3D

014F:004BEE0C 64FF30 PUSH DWORD PTR FS:[EAX]

014F:004BEE0F 648920 MOV FS:[EAX],ESP

014F:004BEE12 B83CDF4B00 MOV EAX,004BDF3C

014F:004BEE17 50 PUSH EAX

014F:004BEE18 8B4508 MOV EAX,[EBP 08]

014F:004BEE1B 8B4810 MOV ECX,[EAX 10]

014F:004BEE1E 8B4508 MOV EAX,[EBP 08]

014F:004BEE21 8B5004 MOV EDX,[EAX 04]

014F:004BEE24 8B4508 MOV EAX,[EBP 08]

014F:004BEE27 8B00 MOV EAX,[EAX]

014F:004BEE29 E80AF6FFFF CALL 004BE438

014F:004BEE2E A2305D4C00 MOV [004C5D30],AL

014F:004BEE33 33C0 XOR EAX,EAX

014F:004BEE35 5A POP EDX

014F:004BEE36 59 POP ECX

014F:004BEE37 59 POP ECX

014F:004BEE38 648910 MOV FS:[EAX],EDX

014F:004BEE3B EB13 JMP 004BEE50

014F:004BEE3D E9EA13FFFF JMP 004B022C

014F:004BEE42 66B80E00 MOV AX,000E

014F:004BEE46 E8F1F0FFFF CALL 004BDF3C

014F:004BEE4B E84815FFFF CALL 004B0398

014F:004BEE50 8B4508 MOV EAX,[EBP 08] SS:006AFE14=00465C57

014F:004BEE53 8D4818 LEA ECX,[EAX 18]

014F:004BEE56 8B4508 MOV EAX,[EBP 08]

014F:004BEE59 8B10 MOV EDX,[EAX]

014F:004BEE5B 8B4508 MOV EAX,[EBP 08]

014F:004BEE5E 8B401C MOV EAX,[EAX 1C]

014F:004BEE61 E85EF6FFFF CALL 004BE4C4 ; 按 F8,追进去

014F:004BEE66 5F POP EDI

014F:004BEE67 5E POP ESI

014F:004BEE68 5B POP EBX

014F:004BEE69 59 POP ECX

014F:004BEE6A 59 POP ECX





在 cs:014F:004BEE61 CALL 004BE4C4

追进去之后, 就可以看到 POPAD

PUSH EAX ; 此时 eax = 442238

CALL xxxxxxxx ; 按 F8 追进去





所以 OEP 是 442238

看要用 icedump 或是 procdump 来 dump 都可以

dump 完了之后

把刚刚的 import table 的信息覆盖到不正确的 import table

用 procdump 去改刚刚 dump 出来的 exe

改 Entry point = 42238 , Import table 的 RVA = 46000,

若是用 icedump dump 的,

还要多一个步骤

把 所有的 section 的

PSize = VSize

offset = RVA

改完了,应该就没问题了,也没有过期了, 检测 softice 了


最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 21:17 , Processed in 0.289083 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部