对Advanced Import Protection的一些想法

正常情况下调用API有两种方式:call  [aaaaaaaa] 和JMP[aaaaaaaa]其中aaaaaaaa这个地址中保存的是API入口地址;对Advanced  Import  Protection的个人理解是对前面两种API调用的变形。

变形1、call  bbbbbbbb其中bbbbbbbb是处于壳利用VirtualAlloc申请的内存中,call   bbbbbbbb完成对API的调用,然后回到用户模块接着执行call   bbbbbbbb的下一句;

变形2、还有就是call  bbbbbbbb中完成对其本身“call  bbbbbbbb”的修改,修改为call  cccccccc或者JMP  cccccccc,其中cccccccc也是处于壳利用VirtualAlloc申请的另一块内存中,然后回到call  cccccccc或者JMP  cccccccc接着执行,最后加到用户模块的位置不确定;

 

 

对于ASProtect 在申请的内存中找不到对API函数的调用。

猜想:偷取标准API函数入口的一些代码放到VirtualAlloc申请的内存中然后再跳转到kernel32等标准DLL中的被偷取的下一句执行?

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

pppppppppppppp