也是我写的,就是时间早了点
利用做API跳转及其应用
PS:呵呵,还是潜水好。不敢“胆大妄为”了:)另外高手先闪了吧留给和我一样的菜鸟看,到时候失望不是我的错..
看到这个题目,是不是觉得特别吃惊?用API也能做跳转?当然,WINDOWS下面不可能有直接跳转的API,但我们可以用SEH和API互相搭建一个。
比如说MessageBoxExA,我们先简单编一个小程序
.386
.model flat, stdcall
option casemap :none
include XXXXXXXXXXc
include XXXXXXXXXc
includelib XXXXXXXXXb
.code
start:
invoke MessageBox,0,231123,123123,MB_OK
end start
运行一下。居然出错了!错误发生在77D215F7
再看一下出错代码:
但就在这段代码中,M$忘了加SEH,使得我们可以趁机在外层加个SEH,然后直接跳出来
我写了个函数,给大虾们抛砖引玉
使用示例:
呵呵,这样不知道的人就很难看懂了。何况如果再加上一些扰乱的代码呢?
另外一种就是自己做一个JMP
当然了,你还能自己修改一个API函数(用VirtualProtect),再运行。总之一般人是不会跟进API的,用API来隐藏JMP我觉得是可行的