• 标 题:NT下的tELock 0.90手动脱壳 (945字)
  • 作 者:blowfish
  • 时 间:2002-3-16 13:48:43
  • 链 接:http://bbs.pediy.com

先看看旧帖子:
http://www.chat001.com/forum/crackforum/40418.html
http://www.chat001.com/forum/crackforum/23607.html
http://www.chat001.com/forum/crackforum/24002.html
....


1、找OEP:

仍然是BPX VirtualProtectEx,中断下来后再手动跳过几个SEH就和旧版本的一样,直接到达OEP。参看精华区中关于旧版本的脱壳文章。

2、从内存中dump IT:

先找准IT的起始位置,一般就是.idata段的起始处。找IT的其它方法参看精华区。假定找到的位置为XXXXXXXX,然后“bpx VirtualAlloc do "dd XXXXXXXX",每次中断后注意看数据区中的内容,看看telock什么时候把解压出来的完整的IT表放在那个位置。一旦发现IT/IAT已经完整解压出来,小心地在它破坏IT之前将其dump出来即可。那段破坏代码和旧版本的一样,很容易找到。

之后的修复就不用说了。

注意:
1、telock用调试器寄存器来做CRC检查,所以不要设BPM断点
2、设BPX断点时最好不要把断点设在API函数的第一条指令上,比如“BPX VirtualProtectEx”可以设为“BPX VirtualProtectEx+1”等,因为telock会检查某些API函数入口处有无0xCC(int 3)。