吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3654|回复: 6

[C/C++] APIHOOK学习笔记(二)

[复制链接]
李沉舟 发表于 2016-3-11 19:51 | 显示全部楼层 |阅读模式

HOOK MessageBoxA这个API
笔记一:https://www.52hb.com/thread-20831-1-1.html
看代码
#include <iostream>
#include <windows.h>

using namespace std;



void MyApi(int Phwnd,LPCSTR lpText,LPCSTR lpCaption,int Style)
{
        cout << "拦截到MessageBoxA函数调用" << endl;
        cout << "窗口句柄:" << Phwnd << endl ;
        cout << "窗口内容:" << lpText << endl ;
        cout << "窗口标题:" << lpCaption << endl ;
    cout << "窗口风格:" << Style << endl;
}

int main()
{
        HMODULE h;
        int pt;
        h = LoadLibrary("user32.dll"); ///装载user32.dll
        pt = int(GetProcAddress(h,"MessageBoxA")); ///得到MessageBoxA的地址
        unsigned char code[7] = {184,0,0,0,0,255,224}; ///mov eax,0000 jmp eax
        unsigned char oldcode[7]; ///保留原始代码,等下还原
        int addr = int(&MyApi); ///取我们自己的子程序的地址
        memcpy (&code[1],&addr,4); ///把我们mov eax,0000的0000换成我们自己的子程序地址
        VirtualProtect (LPVOID(pt),7,PAGE_EXECUTE_READWRITE,0); ///修改虚拟保护,7个字节就够了
        ReadProcessMemory (HANDLE(-1),LPVOID(pt),&oldcode[0],7,0); ///先保留原始代码,留着还原
        WriteProcessMemory (HANDLE(-1),LPVOID(pt),&code[0],7,0); ///修改MessageBoxA的函数头部为 mov eax,我们的子程序 jmp eax
    MessageBoxA(0,"Hello Wolrd","APIHOOK Is Very Good",0); ///调用MessageBoxA函数,OK HOOK成功
        WriteProcessMemory (HANDLE(-1),LPVOID(pt),&oldcode[0],7,0); ///还原函数头部,等下你再写个MessageBoxA就可以正确调用了
        return 0;
}

1.png

评分

参与人数 13HB +27 THX +8 收起 理由
消逝的过去 + 1
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
VipDongle + 1
agan8888 + 1
ding520 + 1 &amp;lt;span class=&amp;quot;text2Link&amp;quot;&amp;gt;[吾爱汇编论坛&amp;lt;a target=&amp;quot;_blank&amp;quot;&amp;gt;52HB.COM&amp;lt;/a&amp;gt;]-学破解防破解,知进攻懂防守!&amp;lt;/span&amp;gt;.
hc777 + 5 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
springwillow + 1 2017,让我们17学破解!
圈瞳 + 1 + 1 分享精神,是最值得尊敬的!
小菜一碟 + 1 + 1 分享精神,是最值得尊敬的!
1973597427 + 1 + 1 新人评分,虽然我会
徐小熙 + 1 + 1 分享精神,是最值得尊敬的!
zby03772015 + 2 + 1 分享精神,是最值得尊敬的!
Shark恒 + 10 + 1 分享精神,是最值得尊敬的!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2016-3-11 20:33 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
zby03772015 发表于 2016-3-11 20:36 | 显示全部楼层

666,前排支持点赞!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
0×Ret 发表于 2016-3-11 21:55 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
菜鸟中的菜鸟 发表于 2016-3-12 01:06 | 显示全部楼层

楼主最好写个文章用到实战上,比方说逆向某软件,如何写HOOK函数,如何注入,如何兼容。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
小星星168 发表于 2016-3-13 09:00 来自手机端 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
xkey 发表于 2016-12-13 20:15 | 显示全部楼层

支持一下,虽然菜鸟不会
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表