|
|
本帖最后由 taizhong 于 2018-2-25 18:35 编辑
微软公开的api函数头前5个字节通常是:
mov edi,edi
mov ebp,esp
push esp
"mov ebp,esp push esp"用于建立栈帧,但是"mov edi,edi"是什么鬼呢?
其实是预留出的位置,给用户HOOK占坑用的,作用只是起凑数作用;
既然函数头前5个字节集通常固定,那么我们就可以自定义一个函数,绕过函数头,
1 先定义全局变量,存放"MessageBoxA"+5的地址:
2 自定义我们的中转函数:
3 定义自己的MessageBoxA函数
如果真 (addr_msg = 0 ) INI_MSG () 调试输出 (取十六进制文本 (addr_msg )) TMP_MSG (参_句柄, 参_标题, 参_内容, 参_类型, addr_msg)置入代码 ({ 201, 194, 20, 0 })
好了,这样就可以了,放一个按钮试一试
注意:易语言的文本型变量比较特殊,处理起来比较麻烦,
将内容和标题定义成整数型才可以正常运行附上源码
自定义函数头.e
(5.44 KB, 下载次数: 62)
|
评分
-
查看全部评分
|