• 标 题:浅述yoda's Crypter V1.2壳
  • 作 者:loveboom
  • 时 间:2003年9月25日 09:24
  • 链 接:http://bbs.pediy.com

跟了几个yoda'scrypter v1.2的壳并参考了一下fly兄的脱壳文章(非常感谢fly),
现总结一下这个壳的脱壳要点.总的来说这个壳的保护只是一般,anti-debug的方法过于普通(用createFilea), 壳也没有多少花指令,脱壳要点:
一般加壳后你一直按f8(第一个call也是一样,这点和aspack之类的有点不同),到了如下地方就要f4下一行跳过:
 loopd short XXXXXXXX
跳过后就来到anti-debug处了,怎么知道是哪里呢,一般看到很多如:
0040C191   E8 74000000      CALL D2K2_CRK.0040C20A
0040C196   8985 44274000    MOV DWORD PTR SS:[EBP+402744],EAX
0040C19C   8D85 48274000    LEA EAX,DWORD PTR SS:[EBP+402748]
call载入相关api时就要小心了按F8到了出现Createfilea(当然你也可以直接下bpx createfilea了)的下一行又一个经典cmp eax,-1这里的eax为8,改成-1就跳过了,再f8可以看到又一个经典
0040C345   8D85 A3214000    LEA EAX,DWORD PTR SS:[EBP+4021A3]
0040C34B   50               PUSH EAX
这里可以说是这个壳的标志吧??(这个不会因程序的变化而变化)
这后的ret 到的地方的下一行
0040C41C   039D 68254000    ADD EBX,DWORD PTR SS:[EBP+402568]

就push了oep
EBX=oep