Stolen Code的一些想法

偷取过程中会偷入口处和中间任意处;执行被偷取的代码时还会加入花指令。偷的过程:在对Code段解密后把被偷的地方不放回去,而不是从被偷的地方直接复制到申请内存中再清00的过程。
识别被偷:
偷入口,执行到原始Code段时不是明显的某种语言的入口标志;偷中间,执行到原始Code段后在某处又跳转到申请的内存中执行一些代码又回来Code段。
针对偷入口,识别各种语言入口标志,把偷的复制回来;针对偷中间,执行到原始Code段后对申请的内存下段,加到申请的内存处执行的代码就是被偷的,同样复制回来。

如果怀疑某处是被偷的入口点的话,可以查看当前各个寄存器的值,对于程序入口,系统对各个寄存器的初值有一定的规律。。。。

只是对几个程序的入口做了一下比较:

相同的:EAX=00000000    ECX=0012FFB0   EDX=7C92E514  ntdll.KiFastSystemCallRet    EBP=0012FFF0     ESI=FFFFFFFF   EDI=7C930228  ntdll.7C930228

不同的:EBX   和  ESP

posted @ 2012-12-16 21:07  deeeeeed  阅读(155)  评论(0编辑  收藏  举报

pppppppppppppp